From 55eb8dbe2521c0e9d895c3e47fbe4255a52c3596 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A1=B0=EC=8A=B9=ED=9B=84?= Date: Fri, 20 Jan 2023 23:03:36 +0900 Subject: [PATCH 1/2] =?UTF-8?q?=EC=A0=9C=EB=B0=9C=EB=93=A4=EC=96=B4?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/pull_request_template.md | 28 + .gitignore | 49 + README.md | 206 +- package-lock.json | 32547 ++++++++++++++++ package.json | 48 + public/data/VideoComment.json | 2252 ++ public/data/VideoDetail.json | 651 + public/data/channel.json | 43 + public/data/hotTrend.json | 1565 + public/data/hyewonTest.json | 110 + public/data/relatedVideo.json | 221 + public/data/relatedVideoList.json | 1648 + public/data/search.json | 862 + public/data/videoInfo.json | 2025 + public/favicon.ico | Bin 0 -> 4286 bytes public/index.html | 42 + public/logo192.png | Bin 0 -> 5347 bytes public/logo512.png | Bin 0 -> 9664 bytes public/manifest.json | 25 + public/robots.txt | 3 + src/.prettierrc.js | 10 + src/App.css | 48 + src/App.js | 32 + src/App.test.js | 8 + src/Router.jsx | 31 + src/api/FakeYoutubeApi.js | 42 + src/api/axios.js | 8 + src/api/youtube.js | 38 + src/assets/images/no-result.png | Bin 0 -> 219633 bytes src/assets/images/userImage.png | Bin 0 -> 2805 bytes src/components/ChannelInfo/ChannelInfo.jsx | 18 + .../ChannelInfo/ChannelInfo.module.scss | 17 + src/components/CommentCard/CommentCard.jsx | 56 + .../CommentCard/CommentCard.module.scss | 54 + src/components/Comments/Comments.jsx | 30 + src/components/Comments/Comments.module.scss | 26 + src/components/Header/Header.jsx | 108 + src/components/Header/Header.module.scss | 216 + .../Header/assets/formFocusIcon.svg | 1 + src/components/Header/assets/logo.png | Bin 0 -> 7438 bytes src/components/Header/headerLeftLogomenu.jsx | 6 + src/components/Player/Player.jsx | 19 + src/components/Player/Player.module.scss | 6 + .../RelatedVideoInVideoDetail.jsx | 55 + .../RelatedVideoInVideoDetail.module.scss | 77 + .../relatedVideo.json | 1635 + .../RelatedVideoInVideoDetail/videoInfo.json | 2012 + src/components/Sidebar/Sidebar.jsx | 32 + src/components/Sidebar/Sidebar.module.scss | 170 + src/components/Sidebar/SidebarLarge.jsx | 151 + src/components/Sidebar/SidebarModal.jsx | 49 + src/components/Sidebar/SidebarSmall.jsx | 28 + src/components/Sidebar/assets/youtube.png | Bin 0 -> 8618 bytes .../Sidebar/assets/youtube_kids.png | Bin 0 -> 1412 bytes .../Sidebar/assets/youtube_music.svg | 1 + src/components/Sidebar/assets/youtube_tv.png | Bin 0 -> 3555 bytes src/components/VideoCard/VideoCard.jsx | 33 + .../VideoCard/VideoCard.module.scss | 25 + src/components/VideoInfo/VideoInfo.jsx | 124 + .../VideoInfo/VideoInfo.module.scss | 98 + src/components/VideoPlay/VideoPlay.jsx | 18 + .../VideoStatistics/VideoStatistics.jsx | 21 + .../VideoStatistics.module.scss | 12 + src/components/mainPage/HoverVideo.jsx | 106 + .../mainPage/HoverVideo.module.scss | 76 + src/components/mainPage/HoverVideoMenu.jsx | 25 + .../mainPage/HoverVideoMenu.module.scss | 22 + src/components/mainPage/VideoCard.jsx | 32 + src/components/mainPage/VideoCard.module.scss | 22 + src/components/mainPage/VideoCards.jsx | 67 + .../mainPage/VideoCards.module.scss | 6 + src/components/mainPage/VideoInfo.jsx | 34 + src/components/mainPage/VideoInfo.module.scss | 30 + src/components/mainPage/VideoMenu.jsx | 25 + src/components/mainPage/VideoMenu.module.scss | 22 + src/components/mainPage/VideoPlayer.jsx | 60 + .../mainPage/VideoPlayer.module.scss | 26 + src/context/YoutubeApiContext.jsx | 0 src/global.css | 14 + src/index.js | 14 + src/pages/NotFound.jsx | 5 + src/pages/VideoDetail.module.scss | 14 + src/pages/VideoDetail/VideoDetail.jsx | 28 + src/pages/VideoDetail/VideoDetail.module.scss | 11 + src/pages/VideoSearch/VideoSearch.jsx | 38 + src/pages/VideoSearch/VideoSearch.module.scss | 31 + src/pages/Videos.jsx | 8 + src/reportWebVitals.js | 13 + src/reset.css | 145 + src/setupTests.js | 5 + src/util/date.js | 5 + src/util/numberToKorean.js | 22 + src/util/timeToDay.js | 45 + src/util/videoTime.js | 7 + src/util/view.js | 14 + 95 files changed, 48556 insertions(+), 56 deletions(-) create mode 100644 .github/pull_request_template.md create mode 100644 .gitignore create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 public/data/VideoComment.json create mode 100644 public/data/VideoDetail.json create mode 100644 public/data/channel.json create mode 100644 public/data/hotTrend.json create mode 100644 public/data/hyewonTest.json create mode 100644 public/data/relatedVideo.json create mode 100644 public/data/relatedVideoList.json create mode 100644 public/data/search.json create mode 100644 public/data/videoInfo.json create mode 100644 public/favicon.ico create mode 100644 public/index.html create mode 100644 public/logo192.png create mode 100644 public/logo512.png create mode 100644 public/manifest.json create mode 100644 public/robots.txt create mode 100644 src/.prettierrc.js create mode 100644 src/App.css create mode 100644 src/App.js create mode 100644 src/App.test.js create mode 100644 src/Router.jsx create mode 100644 src/api/FakeYoutubeApi.js create mode 100644 src/api/axios.js create mode 100644 src/api/youtube.js create mode 100644 src/assets/images/no-result.png create mode 100644 src/assets/images/userImage.png create mode 100644 src/components/ChannelInfo/ChannelInfo.jsx create mode 100644 src/components/ChannelInfo/ChannelInfo.module.scss create mode 100644 src/components/CommentCard/CommentCard.jsx create mode 100644 src/components/CommentCard/CommentCard.module.scss create mode 100644 src/components/Comments/Comments.jsx create mode 100644 src/components/Comments/Comments.module.scss create mode 100644 src/components/Header/Header.jsx create mode 100644 src/components/Header/Header.module.scss create mode 100644 src/components/Header/assets/formFocusIcon.svg create mode 100644 src/components/Header/assets/logo.png create mode 100644 src/components/Header/headerLeftLogomenu.jsx create mode 100644 src/components/Player/Player.jsx create mode 100644 src/components/Player/Player.module.scss create mode 100644 src/components/RelatedVideoInVideoDetail/RelatedVideoInVideoDetail.jsx create mode 100644 src/components/RelatedVideoInVideoDetail/RelatedVideoInVideoDetail.module.scss create mode 100644 src/components/RelatedVideoInVideoDetail/relatedVideo.json create mode 100644 src/components/RelatedVideoInVideoDetail/videoInfo.json create mode 100644 src/components/Sidebar/Sidebar.jsx create mode 100644 src/components/Sidebar/Sidebar.module.scss create mode 100644 src/components/Sidebar/SidebarLarge.jsx create mode 100644 src/components/Sidebar/SidebarModal.jsx create mode 100644 src/components/Sidebar/SidebarSmall.jsx create mode 100644 src/components/Sidebar/assets/youtube.png create mode 100644 src/components/Sidebar/assets/youtube_kids.png create mode 100644 src/components/Sidebar/assets/youtube_music.svg create mode 100644 src/components/Sidebar/assets/youtube_tv.png create mode 100644 src/components/VideoCard/VideoCard.jsx create mode 100644 src/components/VideoCard/VideoCard.module.scss create mode 100644 src/components/VideoInfo/VideoInfo.jsx create mode 100644 src/components/VideoInfo/VideoInfo.module.scss create mode 100644 src/components/VideoPlay/VideoPlay.jsx create mode 100644 src/components/VideoStatistics/VideoStatistics.jsx create mode 100644 src/components/VideoStatistics/VideoStatistics.module.scss create mode 100644 src/components/mainPage/HoverVideo.jsx create mode 100644 src/components/mainPage/HoverVideo.module.scss create mode 100644 src/components/mainPage/HoverVideoMenu.jsx create mode 100644 src/components/mainPage/HoverVideoMenu.module.scss create mode 100644 src/components/mainPage/VideoCard.jsx create mode 100644 src/components/mainPage/VideoCard.module.scss create mode 100644 src/components/mainPage/VideoCards.jsx create mode 100644 src/components/mainPage/VideoCards.module.scss create mode 100644 src/components/mainPage/VideoInfo.jsx create mode 100644 src/components/mainPage/VideoInfo.module.scss create mode 100644 src/components/mainPage/VideoMenu.jsx create mode 100644 src/components/mainPage/VideoMenu.module.scss create mode 100644 src/components/mainPage/VideoPlayer.jsx create mode 100644 src/components/mainPage/VideoPlayer.module.scss create mode 100644 src/context/YoutubeApiContext.jsx create mode 100644 src/global.css create mode 100644 src/index.js create mode 100644 src/pages/NotFound.jsx create mode 100644 src/pages/VideoDetail.module.scss create mode 100644 src/pages/VideoDetail/VideoDetail.jsx create mode 100644 src/pages/VideoDetail/VideoDetail.module.scss create mode 100644 src/pages/VideoSearch/VideoSearch.jsx create mode 100644 src/pages/VideoSearch/VideoSearch.module.scss create mode 100644 src/pages/Videos.jsx create mode 100644 src/reportWebVitals.js create mode 100644 src/reset.css create mode 100644 src/setupTests.js create mode 100644 src/util/date.js create mode 100644 src/util/numberToKorean.js create mode 100644 src/util/timeToDay.js create mode 100644 src/util/videoTime.js create mode 100644 src/util/view.js diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000..7617316 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,28 @@ +## ✔️ 체크사항 + +- [ ] 가장 최근 merge를 pull 받고 진행하는 것이 맞나요? 👉[최근 pr 확인 링크](https://github.com/react-toyproject-team5/react-youtube-clone/pulls?q=is%3Apr+is%3Aclosed)👈 +- [ ] merge 하는 곳이 develop 브랜치가 맞나요? +- [ ] 노션 진행상황 및 라이브러리 업데이트를 진행했나요? 👉[노션 진행상황](https://www.notion.so/1cfe09da512544fa8a3456d82ae3ead9?v=d4e172e861894c86a7f96c971bf6e5f1) / [노션 라이브러리](https://www.notion.so/e8afec87227a4e5283b0a6397ed62f6c)👈 + +## 🔊 팀원들에게 알릴 사항 + +- 알릴사항 1 +- 알릴사항 2 + +## 🌐 담당 구역 작업 + +[페이지명] + +- 작업내용 1 +- 작업내용 2 + +## 🌐 담당 이외 작업 + +[작업제목] + +## 🌐 공통 폴더 구조 및 파일에서 변경된 것 + +[작업제목] + +- 작업내용 +- 작업내용 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b1f59a6 --- /dev/null +++ b/.gitignore @@ -0,0 +1,49 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# production +/build + +# misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# etc +testss.md +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# production +/build + +# misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* diff --git a/README.md b/README.md index b737bcc..9a30fe6 100644 --- a/README.md +++ b/README.md @@ -1,77 +1,171 @@ -유튜브 앱 작성 +

+ +

-유튜브앱 설명자료: -https://docs.google.com/document/d/1vHlO8lgIo1oXBYiecpE8TbG2tHnr3Hmv25UxK_7a5_g/edit# +

Front-End : React Youtube Clone

+

🔗 YouTube 페이지

+

🔗 Team5 배포 페이지

+

🔗 Team5 Git Repository

+

🔗 Team5 Notion

-목표: 유튜브 앱을 만든다. +
-수행 기간: 오늘 ~ 2023.01.20(금) 까지 -리뷰 기간: -제출 방법: -main 혹은 다른 사람의 브랜치로 절대 병합하지 않도록 주의하세요! -혹시 문제가 발생한 경우, 바로 강사에게 알려주세요! -현재 깃헙 저장소를 클론! -확인 가능하도록 본명으로 브랜치 생성! -과제 수행 후 원격 저장소로 푸시! -현재 깃헙 저장소에서 main 브랜치로 Pull Request 생성하면 제출 완료! -Pull Request 설명을 꼼꼼하게 작성! +## 🦖 팀 소개
-요구사항 -다음 요구사항은 필수로 구현하고 그 외 기능은 마음대로 추가할 수 있다. -유튜브 api를 사용해서 유튜브 데이터를 가져옵니다. +![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/grass.png) -- 유튜브 Api 사용 방법 (API KEY 생성하는 법) -https://console.cloud.google.com/ Google cloud console로 이동하기 -Youtube Data API 활성화 시키기 -API KEY 생성하기 +| 김지영 | 이은영 | 조승후 | 홍혜원 | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 김지영 | 이은영 | 조승후 | 홍혜원 | +| 메인페이지 | 헤더 및 사이드바 | 영상 상세 페이지 | 검색 페이지 | - - 유튜브 API 요청 방법 +
-baseURL : https://youtube.googleapis.com/youtube/v3 +## 🦖 프로젝트 기간 -검색어로 인한 비디오 데이터: -/search?part=snippet&maxResults=10&q={검색어} +![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/grass.png) -특정 비디오 데이터 : -/videos?part=snippet&part=contentDetails&part=player&part=statistics&id={videoId} +2023.01.23(월) ~ 2023.01.20(금) -특정 채널 정보 데이터: -/channels?part=snippet&part=statistics&part=contentDetails&id={channelId} +
-댓글 데이터: -/commentThreads?part=snippet&videoId={videoId} +## 🦖 기술 스택 -관련 비디오 데이터: -/search?part=snippet&maxResults=10&relatedToVideoId=${videoId}&type=video +![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/grass.png) +
+
- - 요청 주의 사항 - -a. 하루에 하나의 api_key에 할당된 요청 수가 있습니다. -그 이상 넘어가면 더 이상 요청을 못하게 되기 때문에 데이터를 가져오면 localStorage에 넣어서 localStorage에 이미 데이터가 있으면 요청을 보내지 말고 그 데이터를 이용해서 앱을 개발해 줍니다. + -b. 를 없애도 개발을 해주세요. (요청이 두 번씩 가서 더 많은 api 호출을 하게 됩니다.) +Html CSS3 JavaScript React
Post CSS SASS .env Html Netlify
Github Prettier +
-UI 구현 예시 -예시를 참고로 자유롭게 구현한다. +
-- 메인 화면 -youtube api 를 이용해서 원하는 검색어에 맞는 비디오 데이터를 가져옵니다. -가져온 데이터를 이용해서 아래와 같은 UI를 보여줍니다. -Navigation bar (위쪽 부분) side bar (왼쪽 부분)의 UI를 조건에 따라 처리해줍니다. +
-- 비디오 화면 -youtube api 를 이용해서 특정 비디오, 댓글, 관련 비디오 데이터를 가져옵니다. -가져온 데이터를 이용해서 아래와 같은 UI를 보여줍니다. +## 🦖 작업 상세 내용 -- 검색 화면 -youtube api 를 이용해서 원하는 검색어에 맞는 비디오 데이터를 가져옵니다. -가져온 데이터를 이용해서 아래와 같은 UI를 보여줍니다. +![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/grass.png) -주의 사항 -컴포넌트를 올바르게 나누기 -반응형 스타일도 신경 쓰되 스타일보다는 기능 위주로 개발하기 -최대한 이해하기 쉬운 변수명, 파일명, 컴포넌트명 사용하기 -어떠한 부분(데이터)을 위해서 State 관리 라이브러리를 사용해야 할지 생각해 보기 -React-router-dom api의 중첩 라우팅을 이용해서 레이아웃을 만들어주기 +### 👩‍💻김지영 + +
+[메인페이지] + +- 비디오카드 생성 + - 비디오카드 호버링 시 3초 후 비디오 재생 +- 무한 스크롤 가능 +
+ +
+[페이지명] + +- 설명1 + + - 설명2 +
+ + ### 👩‍💻이은영 + +
+[헤더 및 사이드바] + +- 검색바 반응형 +- 사이드바 윈도우 창 크기별 반응형 +- 사이드바 태블릿 및 모바일에서는 모달 사이드바 +- 구현 못한 것 + + - 모바일일 때, 검색 버튼 누르면 확장된 검색바 나오기 + - 모달창 버튼 닫기 안됨 + +
+ + ### 👩‍💻조승후 + +
+[영상플레이어] + +- 설명1 + + - 설명2 +
+ +
+[댓글리스트] + +- 설명1 + + - 설명2 +
+ +[관련영상리스트] + +- 설명1 + + - 설명2 + + + ### 👩‍💻홍혜원 + +
+검색페이지 + +- 해당 키워드에 관한 영상 나오기 + - header 컴포넌트 input에서 value값 받아오기 + - 채널 이미지 불러오기 + - 동영상 조회수 불러오기 + - 레이아웃 +
+ +
+상세페이지 + +- 댓글창 부분 컴포넌트화 +
+ +
+ +## 🦖 피드백 받고 싶은 부분/아쉽거나 어려웠던 부분 + +![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/grass.png) + +
+👩‍💻김지영 + +- 동영상 시간이 무조건 2숫자씩 되게 했습니다. 하지만, 10분 이하인 동영상인 경우, 분이 2글자일 필요가 없는데 더 좋은 방법이 있을지 궁급합니다. +- 조회수 함수를 더 좋게 만들 방법이 있을 지 궁금합니다. +- 시간 관계 상 필터와 미니 플레이어를 넣지 못해서 아쉽습니다. +- 무한 스크롤를 위해 axios를 불러와 데이터를 usestate에 넣었는데, 더 좋은 방법이 있을지 고민이 됩니다. + +
+
+👩‍💻이은영 + +- 피드백 받고 싶은 점 + + - 페이지 공통 레이아웃 + - 헤더와 사이드바를 fixed로 설정했고 outlet은 헤더와 사이드바만큼 반응형마다 다르게 margin을 줬습니다. 괜찮은 방법인지 궁금합니다. 혹은 fixed된 공통 컴포넌트와 아웃렛을 margin을 주지 않고도 겹치지 않게 설정할 수 있는 방법이 있는지 궁금합니다. + - img src 대신 import로 이미지 불러오기 + - 이미지를 img src로 불러오는 것이 안돼서 import 하였습니다. 혹시 원인에 대해 아시는 것이 있으면 알려주시면 감사하겠습니다. + - 사이드바 + - 창크기별로 반응형을 만들고, 창크기별로 버튼에 다른 모션을 주는 것이 어려웠습니다. 버튼을 누르면 확장형 사이드바가 없어지거나 모달 사이드바가 뜨는 것에 대해, state를 하나로 하여 작업하다가 두 개로 변경하여 작업했습니다. 이 과정에서 헤더와 사이드바, app.js 전체 레이아웃 등 고려해야할 것이 많아 어려웠습니다. useContext를 사용해야 했는지 궁금합니다. + +- 어려웠던 점 + + - useRef - useRef 사용하는 것이 어려웠고, 수정하여 없어진 부분이나 자식 컴포넌트로 ref prop을 넘겨주는 것이 불가능 해 fowardRef 를 사용하려 했습니다. 하지만 에러가 났는데 해결하지 못해 사용하지 못했습니다. +
+
+ 👩‍💻조승후 + +- 설명1 +- 설명2 +
+
+👩‍💻홍혜원 + +- 설명1 +- 설명2 +
diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..e874ee7 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,32547 @@ +{ + "name": "react-youtube-clone", + "version": "0.1.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "react-youtube-clone", + "version": "0.1.0", + "dependencies": { + "@tanstack/react-query": "^4.22.0", + "@testing-library/jest-dom": "^5.16.5", + "@testing-library/react": "^13.4.0", + "@testing-library/user-event": "^13.5.0", + "axios": "^1.2.2", + "node-sass": "^7.0.3", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-icons": "^4.7.1", + "react-intersection-observer": "^9.4.1", + "react-responsive": "^9.0.2", + "react-router-dom": "^6.6.2", + "react-scripts": "5.0.1", + "react-tooltip": "^5.5.1", + "react-youtube": "^10.1.0", + "timeago.js": "^4.0.2", + "web-vitals": "^2.1.4" + } + }, + "node_modules/@adobe/css-tools": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.0.2.tgz", + "integrity": "sha512-Fx6tYjk2wKUgLi8uMANZr8GNZx05u44ArIJldn9VxLvolzlJVgHbTUCbwhMd6bcYky178+WUSxPHO3DAtGLWpw==" + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.20.10", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.10.tgz", + "integrity": "sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.20.12", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.12.tgz", + "integrity": "sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==", + "dependencies": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.7", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helpers": "^7.20.7", + "@babel/parser": "^7.20.7", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.12", + "@babel/types": "^7.20.7", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/eslint-parser": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.19.1.tgz", + "integrity": "sha512-AqNf2QWt1rtu2/1rLswy6CDP7H9Oh3mMhk177Y67Rg8d7RD9WfOLLv8CGn6tisFvS2htm86yIe1yLF6I1UDaGQ==", + "dependencies": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || >=14.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.11.0", + "eslint": "^7.5.0 || ^8.0.0" + } + }, + "node_modules/@babel/eslint-parser/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/@babel/eslint-parser/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.7.tgz", + "integrity": "sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==", + "dependencies": { + "@babel/types": "^7.20.7", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", + "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", + "dependencies": { + "@babel/helper-explode-assignable-expression": "^7.18.6", + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", + "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", + "dependencies": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.20.12", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.12.tgz", + "integrity": "sha512-9OunRkbT0JQcednL0UFvbfXpAsUXiGjUk0a7sN8fUXX7Mue79cUSMjHGDRRi/Vz9vYlpIhLV5fMD5dKoMhhsNQ==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-member-expression-to-functions": "^7.20.7", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-replace-supers": "^7.20.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/helper-split-export-declaration": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.20.5.tgz", + "integrity": "sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "regexpu-core": "^5.2.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", + "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", + "dependencies": { + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0-0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-explode-assignable-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", + "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "dependencies": { + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.20.7.tgz", + "integrity": "sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw==", + "dependencies": { + "@babel/types": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz", + "integrity": "sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.10", + "@babel/types": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", + "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", + "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-wrap-function": "^7.18.9", + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz", + "integrity": "sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.20.7", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.7", + "@babel/types": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "dependencies": { + "@babel/types": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", + "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", + "dependencies": { + "@babel/types": "^7.20.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz", + "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==", + "dependencies": { + "@babel/helper-function-name": "^7.19.0", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.7.tgz", + "integrity": "sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA==", + "dependencies": { + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.7", + "@babel/types": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.7.tgz", + "integrity": "sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", + "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz", + "integrity": "sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-proposal-optional-chaining": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-proposal-async-generator-functions": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", + "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-static-block": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.20.7.tgz", + "integrity": "sha512-AveGOoi9DAjUYYuUAG//Ig69GlazLnoyzMw68VCDux+c1tsnnH/OkYcpz/5xzMkEFC6UxjR5Gw1c+iY2wOGVeQ==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.20.7.tgz", + "integrity": "sha512-JB45hbUweYpwAGjkiM7uCyXMENH2lG+9r3G2E+ttc2PRXAoEkpfd/KW5jDg4j8RS6tLtTG1jZi9LbHZVSfs1/A==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-replace-supers": "^7.20.7", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/plugin-syntax-decorators": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-dynamic-import": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", + "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-export-namespace-from": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", + "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-json-strings": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", + "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz", + "integrity": "sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", + "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", + "dependencies": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-catch-binding": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", + "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.20.7.tgz", + "integrity": "sha512-T+A7b1kfjtRM51ssoOfS1+wbyCVqorfyZhT99TvxxLMirPShD8CzKMRepMlCBGM5RpHMbn8s+5MMHnPstJH6mQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.20.5.tgz", + "integrity": "sha512-Vq7b9dUA12ByzB4EjQTPo25sFhY+08pQDBSZRtUAkj7lb7jahaHR5igera16QZ+3my1nYR4dKsNdYj5IjPHilQ==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-unicode-property-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", + "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.19.0.tgz", + "integrity": "sha512-xaBZUEDntt4faL1yN8oIFlhfXeQAWJW7CLKYsHTUqriCUbj8xOra8bfxxKGi/UwExPFBuPdH4XfHc9rGQhrVkQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-flow": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.18.6.tgz", + "integrity": "sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", + "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", + "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz", + "integrity": "sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz", + "integrity": "sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz", + "integrity": "sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==", + "dependencies": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", + "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.11.tgz", + "integrity": "sha512-tA4N427a7fjf1P0/2I4ScsHGc5jcHPbb30xMbaTke2gxDuWpUfXDuX1FEymJwKk4tuGUvGcejAR6HdZVqmmPyw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.7.tgz", + "integrity": "sha512-LWYbsiXTPKl+oBlXUGlwNlJZetXD5Am+CyBdqhPsDVjM9Jc8jwBJFrKhHf900Kfk2eZG1y9MAG3UNajol7A4VQ==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-replace-supers": "^7.20.7", + "@babel/helper-split-export-declaration": "^7.18.6", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz", + "integrity": "sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/template": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.7.tgz", + "integrity": "sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", + "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", + "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", + "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-flow-strip-types": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.19.0.tgz", + "integrity": "sha512-sgeMlNaQVbCSpgLSKP4ZZKfsJVnFnNQlUSk6gPYzR/q7tzCgQF2t8RBKAP6cKJeZdveei7Q7Jm527xepI8lNLg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/plugin-syntax-flow": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", + "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", + "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", + "dependencies": { + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", + "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", + "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz", + "integrity": "sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==", + "dependencies": { + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.20.11.tgz", + "integrity": "sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw==", + "dependencies": { + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-simple-access": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz", + "integrity": "sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==", + "dependencies": { + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-validator-identifier": "^7.19.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", + "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", + "dependencies": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz", + "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", + "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", + "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.7.tgz", + "integrity": "sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", + "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-constant-elements": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.20.2.tgz", + "integrity": "sha512-KS/G8YI8uwMGKErLFOHS/ekhqdHhpEloxs43NecQHVgo2QuQSyJhGIY1fL8UGl9wy5ItVwwoUL4YxVqsplGq2g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.18.6.tgz", + "integrity": "sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.20.7.tgz", + "integrity": "sha512-Tfq7qqD+tRj3EoDhY00nn2uP2hsRxgYGi5mLQ5TimKav0a9Lrpd4deE+fcLXU8zFYRjlKPHZhpCvfEA6qnBxqQ==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-jsx": "^7.18.6", + "@babel/types": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz", + "integrity": "sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==", + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.6.tgz", + "integrity": "sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz", + "integrity": "sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "regenerator-transform": "^0.15.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", + "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.6.tgz", + "integrity": "sha512-PRH37lz4JU156lYFW1p8OxE5i7d6Sl/zV58ooyr+q1J1lnQPyg5tIiXlIwNVhJaY4W3TmOtdc8jqdXQcB1v5Yw==", + "dependencies": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.19.0", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", + "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz", + "integrity": "sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", + "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", + "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", + "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.20.7.tgz", + "integrity": "sha512-m3wVKEvf6SoszD8pu4NZz3PvfKRCMgk6D6d0Qi9hNnlM5M6CFS92EgF4EiHVLKbU0r/r7ty1hg7NPZwE7WRbYw==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-typescript": "^7.20.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", + "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", + "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.20.2.tgz", + "integrity": "sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==", + "dependencies": { + "@babel/compat-data": "^7.20.1", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-async-generator-functions": "^7.20.1", + "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/plugin-proposal-class-static-block": "^7.18.6", + "@babel/plugin-proposal-dynamic-import": "^7.18.6", + "@babel/plugin-proposal-export-namespace-from": "^7.18.9", + "@babel/plugin-proposal-json-strings": "^7.18.6", + "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", + "@babel/plugin-proposal-numeric-separator": "^7.18.6", + "@babel/plugin-proposal-object-rest-spread": "^7.20.2", + "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", + "@babel/plugin-proposal-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-private-methods": "^7.18.6", + "@babel/plugin-proposal-private-property-in-object": "^7.18.6", + "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.20.0", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.18.6", + "@babel/plugin-transform-async-to-generator": "^7.18.6", + "@babel/plugin-transform-block-scoped-functions": "^7.18.6", + "@babel/plugin-transform-block-scoping": "^7.20.2", + "@babel/plugin-transform-classes": "^7.20.2", + "@babel/plugin-transform-computed-properties": "^7.18.9", + "@babel/plugin-transform-destructuring": "^7.20.2", + "@babel/plugin-transform-dotall-regex": "^7.18.6", + "@babel/plugin-transform-duplicate-keys": "^7.18.9", + "@babel/plugin-transform-exponentiation-operator": "^7.18.6", + "@babel/plugin-transform-for-of": "^7.18.8", + "@babel/plugin-transform-function-name": "^7.18.9", + "@babel/plugin-transform-literals": "^7.18.9", + "@babel/plugin-transform-member-expression-literals": "^7.18.6", + "@babel/plugin-transform-modules-amd": "^7.19.6", + "@babel/plugin-transform-modules-commonjs": "^7.19.6", + "@babel/plugin-transform-modules-systemjs": "^7.19.6", + "@babel/plugin-transform-modules-umd": "^7.18.6", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", + "@babel/plugin-transform-new-target": "^7.18.6", + "@babel/plugin-transform-object-super": "^7.18.6", + "@babel/plugin-transform-parameters": "^7.20.1", + "@babel/plugin-transform-property-literals": "^7.18.6", + "@babel/plugin-transform-regenerator": "^7.18.6", + "@babel/plugin-transform-reserved-words": "^7.18.6", + "@babel/plugin-transform-shorthand-properties": "^7.18.6", + "@babel/plugin-transform-spread": "^7.19.0", + "@babel/plugin-transform-sticky-regex": "^7.18.6", + "@babel/plugin-transform-template-literals": "^7.18.9", + "@babel/plugin-transform-typeof-symbol": "^7.18.9", + "@babel/plugin-transform-unicode-escapes": "^7.18.10", + "@babel/plugin-transform-unicode-regex": "^7.18.6", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.20.2", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "core-js-compat": "^3.25.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-react": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.18.6.tgz", + "integrity": "sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-transform-react-display-name": "^7.18.6", + "@babel/plugin-transform-react-jsx": "^7.18.6", + "@babel/plugin-transform-react-jsx-development": "^7.18.6", + "@babel/plugin-transform-react-pure-annotations": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz", + "integrity": "sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-transform-typescript": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.7.tgz", + "integrity": "sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==", + "dependencies": { + "regenerator-runtime": "^0.13.11" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.20.12", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.12.tgz", + "integrity": "sha512-MsIbFN0u+raeja38qboyF8TIT7K0BFzz/Yd/77ta4MsUsmP2RAnidIlwq7d5HFQrH/OZJecGV6B71C4zAgpoSQ==", + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.7", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz", + "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==", + "dependencies": { + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" + }, + "node_modules/@csstools/normalize.css": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.0.0.tgz", + "integrity": "sha512-M0qqxAcwCsIVfpFQSlGN5XjXWu8l5JDZN+fPt1LeW5SZexQTgnaEvgXAY+CeygRw0EeppWHi12JxESWiWrB0Sg==" + }, + "node_modules/@csstools/postcss-cascade-layers": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz", + "integrity": "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==", + "dependencies": { + "@csstools/selector-specificity": "^2.0.2", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-color-function": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz", + "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-font-format-keywords": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz", + "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-hwb-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz", + "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-ic-unit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz", + "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-is-pseudo-class": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz", + "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==", + "dependencies": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-nested-calc": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz", + "integrity": "sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-normalize-display-values": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", + "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-oklab-function": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz", + "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-progressive-custom-properties": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", + "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/@csstools/postcss-stepped-value-functions": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz", + "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-text-decoration-shorthand": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz", + "integrity": "sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-trigonometric-functions": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz", + "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-unset-value": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", + "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/selector-specificity": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz", + "integrity": "sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2", + "postcss-selector-parser": "^6.0.10" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz", + "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.4.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.19.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", + "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@eslint/eslintrc/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.1.0.tgz", + "integrity": "sha512-zbsLwtnHo84w1Kc8rScAo5GMk1GdecSlrflIbfnEBJwvTSj1SL6kkOYV+nHraMCPEy+RNZZUaZyL8JosDGCtGQ==" + }, + "node_modules/@floating-ui/dom": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.1.0.tgz", + "integrity": "sha512-TSogMPVxbRe77QCj1dt8NmRiJasPvuc+eT5jnJ6YpLqgOD2zXc5UA3S1qwybN+GVCDNdKfpKy1oj8RpzLJvh6A==", + "dependencies": { + "@floating-ui/core": "^1.0.5" + } + }, + "node_modules/@gar/promisify": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==" + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", + "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", + "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/console/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/console/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/console/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/console/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@jest/console/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", + "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/reporters": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^27.5.1", + "jest-config": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-resolve-dependencies": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "jest-watcher": "^27.5.1", + "micromatch": "^4.0.4", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/core/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/core/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/core/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/core/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@jest/core/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/environment": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", + "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", + "dependencies": { + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/expect-utils": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.3.1.tgz", + "integrity": "sha512-wlrznINZI5sMjwvUoLVk617ll/UYfGIZNxmbU+Pa7wmkL4vYzhV9R2pwVqUh4NWWuLQWkI8+8mOkxs//prKQ3g==", + "dependencies": { + "jest-get-type": "^29.2.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect-utils/node_modules/jest-get-type": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz", + "integrity": "sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", + "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", + "dependencies": { + "@jest/types": "^27.5.1", + "@sinonjs/fake-timers": "^8.0.1", + "@types/node": "*", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", + "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/types": "^27.5.1", + "expect": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", + "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-haste-map": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^8.1.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/reporters/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/reporters/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/reporters/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/reporters/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@jest/reporters/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/reporters/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/reporters/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/schemas": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", + "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", + "dependencies": { + "@sinclair/typebox": "^0.24.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", + "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9", + "source-map": "^0.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/source-map/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/test-result": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", + "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", + "dependencies": { + "@jest/test-result": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-runtime": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/transform/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/transform/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/transform/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/transform/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@jest/transform/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/transform/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/transform/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/types/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/types/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/types/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/types/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@jest/types/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/types/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dependencies": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", + "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", + "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "dependencies": { + "eslint-scope": "5.1.1" + } + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@npmcli/fs": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", + "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", + "dependencies": { + "@gar/promisify": "^1.0.1", + "semver": "^7.3.5" + } + }, + "node_modules/@npmcli/move-file": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", + "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", + "deprecated": "This functionality has been moved to @npmcli/fs", + "dependencies": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@npmcli/move-file/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@pmmmwh/react-refresh-webpack-plugin": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.10.tgz", + "integrity": "sha512-j0Ya0hCFZPd4x40qLzbhGsh9TMtdb+CJQiso+WxLOPNasohq9cc5SNUcwsZaRH6++Xh91Xkm/xHCkuIiIu0LUA==", + "dependencies": { + "ansi-html-community": "^0.0.8", + "common-path-prefix": "^3.0.0", + "core-js-pure": "^3.23.3", + "error-stack-parser": "^2.0.6", + "find-up": "^5.0.0", + "html-entities": "^2.1.0", + "loader-utils": "^2.0.4", + "schema-utils": "^3.0.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">= 10.13" + }, + "peerDependencies": { + "@types/webpack": "4.x || 5.x", + "react-refresh": ">=0.10.0 <1.0.0", + "sockjs-client": "^1.4.0", + "type-fest": ">=0.17.0 <4.0.0", + "webpack": ">=4.43.0 <6.0.0", + "webpack-dev-server": "3.x || 4.x", + "webpack-hot-middleware": "2.x", + "webpack-plugin-serve": "0.x || 1.x" + }, + "peerDependenciesMeta": { + "@types/webpack": { + "optional": true + }, + "sockjs-client": { + "optional": true + }, + "type-fest": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + }, + "webpack-hot-middleware": { + "optional": true + }, + "webpack-plugin-serve": { + "optional": true + } + } + }, + "node_modules/@remix-run/router": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.2.1.tgz", + "integrity": "sha512-XiY0IsyHR+DXYS5vBxpoBe/8veTeoRpMHP+vDosLZxL5bnpetzI0igkxkLZS235ldLzyfkxF+2divEwWHP3vMQ==", + "engines": { + "node": ">=14" + } + }, + "node_modules/@rollup/plugin-babel": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", + "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "dependencies": { + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "@types/babel__core": "^7.1.9", + "rollup": "^1.20.0||^2.0.0" + }, + "peerDependenciesMeta": { + "@types/babel__core": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-node-resolve": { + "version": "11.2.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", + "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@rollup/plugin-replace": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", + "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + }, + "peerDependencies": { + "rollup": "^1.20.0 || ^2.0.0" + } + }, + "node_modules/@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "dependencies": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@rollup/pluginutils/node_modules/@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" + }, + "node_modules/@rushstack/eslint-patch": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz", + "integrity": "sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==" + }, + "node_modules/@sinclair/typebox": { + "version": "0.24.51", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", + "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==" + }, + "node_modules/@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", + "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/@surma/rollup-plugin-off-main-thread": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", + "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", + "dependencies": { + "ejs": "^3.1.6", + "json5": "^2.2.0", + "magic-string": "^0.25.0", + "string.prototype.matchall": "^4.0.6" + } + }, + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", + "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", + "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", + "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", + "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", + "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", + "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-preset": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", + "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", + "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", + "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", + "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", + "@svgr/babel-plugin-transform-svg-component": "^5.5.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/core": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", + "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", + "dependencies": { + "@svgr/plugin-jsx": "^5.5.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", + "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", + "dependencies": { + "@babel/types": "^7.12.6" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-jsx": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", + "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", + "dependencies": { + "@babel/core": "^7.12.3", + "@svgr/babel-preset": "^5.5.0", + "@svgr/hast-util-to-babel-ast": "^5.5.0", + "svg-parser": "^2.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-svgo": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", + "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", + "dependencies": { + "cosmiconfig": "^7.0.0", + "deepmerge": "^4.2.2", + "svgo": "^1.2.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/webpack": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", + "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/plugin-transform-react-constant-elements": "^7.12.1", + "@babel/preset-env": "^7.12.1", + "@babel/preset-react": "^7.12.5", + "@svgr/core": "^5.5.0", + "@svgr/plugin-jsx": "^5.5.0", + "@svgr/plugin-svgo": "^5.5.0", + "loader-utils": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@tanstack/query-core": { + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.22.0.tgz", + "integrity": "sha512-OeLyBKBQoT265f5G9biReijeP8mBxNFwY7ZUu1dKL+YzqpG5q5z7J/N1eT8aWyKuhyDTiUHuKm5l+oIVzbtrjw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, + "node_modules/@tanstack/react-query": { + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-4.22.0.tgz", + "integrity": "sha512-P9o+HjG42uB/xHR6dMsJaPhtZydSe4v0xdG5G/cEj1oHZAXelMlm67/rYJNQGKgBamKElKogj+HYGF+NY2yHYg==", + "dependencies": { + "@tanstack/query-core": "4.22.0", + "use-sync-external-store": "^1.2.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-native": "*" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + } + } + }, + "node_modules/@testing-library/dom": { + "version": "8.19.1", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.19.1.tgz", + "integrity": "sha512-P6iIPyYQ+qH8CvGauAqanhVnjrnRe0IZFSYCeGkSRW9q3u8bdVn2NPI+lasFyVsEQn1J/IFmp5Aax41+dAP9wg==", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "^5.0.0", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.4.4", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@testing-library/dom/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@testing-library/dom/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@testing-library/dom/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@testing-library/dom/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@testing-library/dom/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/dom/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/jest-dom": { + "version": "5.16.5", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.16.5.tgz", + "integrity": "sha512-N5ixQ2qKpi5OLYfwQmUb/5mSV9LneAcaUfp32pn4yCnpb8r/Yz0pXFPck21dIicKmi+ta5WRAknkZCfA8refMA==", + "dependencies": { + "@adobe/css-tools": "^4.0.1", + "@babel/runtime": "^7.9.2", + "@types/testing-library__jest-dom": "^5.9.1", + "aria-query": "^5.0.0", + "chalk": "^3.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.5.6", + "lodash": "^4.17.15", + "redent": "^3.0.0" + }, + "engines": { + "node": ">=8", + "npm": ">=6", + "yarn": ">=1" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@testing-library/jest-dom/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/react": { + "version": "13.4.0", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-13.4.0.tgz", + "integrity": "sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "@testing-library/dom": "^8.5.0", + "@types/react-dom": "^18.0.0" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@testing-library/user-event": { + "version": "13.5.0", + "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-13.5.0.tgz", + "integrity": "sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==", + "dependencies": { + "@babel/runtime": "^7.12.5" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + }, + "peerDependencies": { + "@testing-library/dom": ">=7.21.4" + } + }, + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@types/aria-query": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.1.tgz", + "integrity": "sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==" + }, + "node_modules/@types/babel__core": { + "version": "7.1.20", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.20.tgz", + "integrity": "sha512-PVb6Bg2QuscZ30FvOU7z4guG6c926D9YRvOxEaelzndpMsvP+YM74Q/dAFASpg2l6+XLalxSGxcq/lrgYWZtyQ==", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.3.tgz", + "integrity": "sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w==", + "dependencies": { + "@babel/types": "^7.3.0" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.10", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", + "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", + "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/eslint": { + "version": "8.4.10", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.10.tgz", + "integrity": "sha512-Sl/HOqN8NKPmhWo2VBEPm0nvHnu2LL3v9vKo8MEq0EtbJ4eVzGPl41VNPvn5E1i5poMk4/XD8UriLHpJvEP/Nw==", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", + "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==" + }, + "node_modules/@types/express": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.15.tgz", + "integrity": "sha512-Yv0k4bXGOH+8a+7bELd2PqHQsuiANB+A8a4gnQrkRWzrkKlb6KHaVvyXhqs04sVW/OWlbPyYxRgYlIXLfrufMQ==", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.31", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.32", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.32.tgz", + "integrity": "sha512-aI5h/VOkxOF2Z1saPy0Zsxs5avets/iaiAJYznQFm5By/pamU31xWKL//epiF4OfUA2qTOc9PV6tCUjhO8wlZA==", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", + "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" + }, + "node_modules/@types/http-proxy": { + "version": "1.17.9", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.9.tgz", + "integrity": "sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "29.2.5", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.2.5.tgz", + "integrity": "sha512-H2cSxkKgVmqNHXP7TC2L/WUorrZu8ZigyRywfVzv6EyBlxj39n4C00hjXYQWsbwqgElaj/CiAeSRmk5GoaKTgw==", + "dependencies": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + } + }, + "node_modules/@types/jest/node_modules/@jest/schemas": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz", + "integrity": "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==", + "dependencies": { + "@sinclair/typebox": "^0.24.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@types/jest/node_modules/@jest/types": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.3.1.tgz", + "integrity": "sha512-d0S0jmmTpjnhCmNpApgX3jrUZgZ22ivKJRvL2lli5hpCRoNnp1f85r2/wpKfXuYu8E7Jjh1hGfhPyup1NM5AmA==", + "dependencies": { + "@jest/schemas": "^29.0.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@types/jest/node_modules/@types/yargs": { + "version": "17.0.19", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.19.tgz", + "integrity": "sha512-cAx3qamwaYX9R0fzOIZAlFpo4A+1uBVCxqpKz9D26uTF4srRXaGTTsikQmaotCtNdbhzyUH7ft6p9ktz9s6UNQ==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/jest/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@types/jest/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@types/jest/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@types/jest/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@types/jest/node_modules/diff-sequences": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.3.1.tgz", + "integrity": "sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ==", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@types/jest/node_modules/expect": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.3.1.tgz", + "integrity": "sha512-gGb1yTgU30Q0O/tQq+z30KBWv24ApkMgFUpvKBkyLUBL68Wv8dHdJxTBZFl/iT8K/bqDHvUYRH6IIN3rToopPA==", + "dependencies": { + "@jest/expect-utils": "^29.3.1", + "jest-get-type": "^29.2.0", + "jest-matcher-utils": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-util": "^29.3.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@types/jest/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@types/jest/node_modules/jest-diff": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.3.1.tgz", + "integrity": "sha512-vU8vyiO7568tmin2lA3r2DP8oRvzhvRcD4DjpXc6uGveQodyk7CKLhQlCSiwgx3g0pFaE88/KLZ0yaTWMc4Uiw==", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.3.1", + "jest-get-type": "^29.2.0", + "pretty-format": "^29.3.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@types/jest/node_modules/jest-get-type": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz", + "integrity": "sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@types/jest/node_modules/jest-matcher-utils": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.3.1.tgz", + "integrity": "sha512-fkRMZUAScup3txIKfMe3AIZZmPEjWEdsPJFK3AIy5qRohWqQFg1qrmKfYXR9qEkNc7OdAu2N4KPHibEmy4HPeQ==", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.3.1", + "jest-get-type": "^29.2.0", + "pretty-format": "^29.3.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@types/jest/node_modules/jest-message-util": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.3.1.tgz", + "integrity": "sha512-lMJTbgNcDm5z+6KDxWtqOFWlGQxD6XaYwBqHR8kmpkP+WWWG90I35kdtQHY67Ay5CSuydkTBbJG+tH9JShFCyA==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.3.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.3.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@types/jest/node_modules/jest-util": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.3.1.tgz", + "integrity": "sha512-7YOVZaiX7RJLv76ZfHt4nbNEzzTRiMW/IiOG7ZOKmTXmoGBxUDefgMAxQubu6WPVqP5zSzAdZG0FfLcC7HOIFQ==", + "dependencies": { + "@jest/types": "^29.3.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@types/jest/node_modules/pretty-format": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.3.1.tgz", + "integrity": "sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==", + "dependencies": { + "@jest/schemas": "^29.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@types/jest/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@types/jest/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + }, + "node_modules/@types/jest/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==" + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" + }, + "node_modules/@types/mime": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz", + "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==" + }, + "node_modules/@types/minimist": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==" + }, + "node_modules/@types/node": { + "version": "18.11.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz", + "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==" + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==" + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + }, + "node_modules/@types/prettier": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.2.tgz", + "integrity": "sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==" + }, + "node_modules/@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" + }, + "node_modules/@types/q": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", + "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==" + }, + "node_modules/@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" + }, + "node_modules/@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" + }, + "node_modules/@types/react": { + "version": "18.0.26", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.26.tgz", + "integrity": "sha512-hCR3PJQsAIXyxhTNSiDFY//LhnMZWpNNr5etoCqx/iUfGc5gXWtQR2Phl908jVR6uPXacojQWTg4qRpkxTuGug==", + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.0.10", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.10.tgz", + "integrity": "sha512-E42GW/JA4Qv15wQdqJq8DL4JhNpB3prJgjgapN3qJT9K2zO5IIAQh4VXvCEDupoqAwnz0cY4RlXeC/ajX5SFHg==", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" + }, + "node_modules/@types/scheduler": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", + "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" + }, + "node_modules/@types/semver": { + "version": "7.3.13", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", + "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==" + }, + "node_modules/@types/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==", + "dependencies": { + "@types/mime": "*", + "@types/node": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.33", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", + "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" + }, + "node_modules/@types/testing-library__jest-dom": { + "version": "5.14.5", + "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.5.tgz", + "integrity": "sha512-SBwbxYoyPIvxHbeHxTZX2Pe/74F/tX2/D3mMvzabdeJ25bBojfW0TyB8BHrbq/9zaaKICJZjLP+8r6AeZMFCuQ==", + "dependencies": { + "@types/jest": "*" + } + }, + "node_modules/@types/trusted-types": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.2.tgz", + "integrity": "sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg==" + }, + "node_modules/@types/ws": { + "version": "8.5.4", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.4.tgz", + "integrity": "sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.48.1.tgz", + "integrity": "sha512-9nY5K1Rp2ppmpb9s9S2aBiF3xo5uExCehMDmYmmFqqyxgenbHJ3qbarcLt4ITgaD6r/2ypdlcFRdcuVPnks+fQ==", + "dependencies": { + "@typescript-eslint/scope-manager": "5.48.1", + "@typescript-eslint/type-utils": "5.48.1", + "@typescript-eslint/utils": "5.48.1", + "debug": "^4.3.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "regexpp": "^3.2.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/experimental-utils": { + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.48.1.tgz", + "integrity": "sha512-8OoIZZuOeqsm5cxn2f01qHWtVC3M4iixSsfZXPiQUg4Sl4LiU+b5epcJFwxNfqeoLl+SGncELyi3x99zI6C0ng==", + "dependencies": { + "@typescript-eslint/utils": "5.48.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.48.1.tgz", + "integrity": "sha512-4yg+FJR/V1M9Xoq56SF9Iygqm+r5LMXvheo6DQ7/yUWynQ4YfCRnsKuRgqH4EQ5Ya76rVwlEpw4Xu+TgWQUcdA==", + "dependencies": { + "@typescript-eslint/scope-manager": "5.48.1", + "@typescript-eslint/types": "5.48.1", + "@typescript-eslint/typescript-estree": "5.48.1", + "debug": "^4.3.4" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.48.1.tgz", + "integrity": "sha512-S035ueRrbxRMKvSTv9vJKIWgr86BD8s3RqoRZmsSh/s8HhIs90g6UlK8ZabUSjUZQkhVxt7nmZ63VJ9dcZhtDQ==", + "dependencies": { + "@typescript-eslint/types": "5.48.1", + "@typescript-eslint/visitor-keys": "5.48.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.48.1.tgz", + "integrity": "sha512-Hyr8HU8Alcuva1ppmqSYtM/Gp0q4JOp1F+/JH5D1IZm/bUBrV0edoewQZiEc1r6I8L4JL21broddxK8HAcZiqQ==", + "dependencies": { + "@typescript-eslint/typescript-estree": "5.48.1", + "@typescript-eslint/utils": "5.48.1", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.48.1.tgz", + "integrity": "sha512-xHyDLU6MSuEEdIlzrrAerCGS3T7AA/L8Hggd0RCYBi0w3JMvGYxlLlXHeg50JI9Tfg5MrtsfuNxbS/3zF1/ATg==", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.1.tgz", + "integrity": "sha512-Hut+Osk5FYr+sgFh8J/FHjqX6HFcDzTlWLrFqGoK5kVUN3VBHF/QzZmAsIXCQ8T/W9nQNBTqalxi1P3LSqWnRA==", + "dependencies": { + "@typescript-eslint/types": "5.48.1", + "@typescript-eslint/visitor-keys": "5.48.1", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.48.1.tgz", + "integrity": "sha512-SmQuSrCGUOdmGMwivW14Z0Lj8dxG1mOFZ7soeJ0TQZEJcs3n5Ndgkg0A4bcMFzBELqLJ6GTHnEU+iIoaD6hFGA==", + "dependencies": { + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.48.1", + "@typescript-eslint/types": "5.48.1", + "@typescript-eslint/typescript-estree": "5.48.1", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.1.tgz", + "integrity": "sha512-Ns0XBwmfuX7ZknznfXozgnydyR8F6ev/KEGePP4i74uL3ArsKbEhJ7raeKr1JSa997DBDwol/4a0Y+At82c9dA==", + "dependencies": { + "@typescript-eslint/types": "5.48.1", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==" + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", + "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "dependencies": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + } + }, + "node_modules/acorn-node/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/address": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/adjust-sourcemap-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", + "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", + "dependencies": { + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" + }, + "engines": { + "node": ">=8.9" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/agentkeepalive": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz", + "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==", + "dependencies": { + "debug": "^4.1.0", + "depd": "^1.1.2", + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/agentkeepalive/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==" + }, + "node_modules/are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/aria-query": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "dependencies": { + "deep-equal": "^2.0.5" + } + }, + "node_modules/array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" + }, + "node_modules/array-includes": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", + "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", + "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.reduce": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.5.tgz", + "integrity": "sha512-kDdugMl7id9COE8R7MHF5jWk7Dqt/fs4Pv+JXoICnYwqpjjjbUurz6w5fT5IG6brLdJhv6/VoHB0H7oyIBXd+Q==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", + "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.1.3" + } + }, + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==" + }, + "node_modules/async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" + }, + "node_modules/async-foreach": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", + "integrity": "sha512-VUeSMD8nEGBWaZK4lizI1sf3yEC7pnAQ/mrI7pC2fBz2s/tq5jWWEngTwaf0Gruu/OoXRGLGg1XFqpYBiGTYJA==", + "engines": { + "node": "*" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.13", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz", + "integrity": "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + ], + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-lite": "^1.0.30001426", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" + }, + "node_modules/axe-core": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.6.2.tgz", + "integrity": "sha512-b1WlTV8+XKLj9gZy2DZXgQiyDp9xkkoe2a6U6UbYccScq2wgH/YwCeI2/Jq2mgo0HzQxqJOjWZBLeA/mqsk5Mg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/axios": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.2.2.tgz", + "integrity": "sha512-bz/J4gS2S3I7mpN/YZfGFTqhXTYzRho8Ay38w2otuuDR322KzFIWm/4W2K6gIwvWaws5n+mnb7D1lN9uD+QH6Q==", + "dependencies": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/axios/node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/axobject-query": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.1.1.tgz", + "integrity": "sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==", + "dependencies": { + "deep-equal": "^2.0.5" + } + }, + "node_modules/babel-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", + "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", + "dependencies": { + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-jest/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/babel-jest/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/babel-jest/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/babel-jest/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/babel-jest/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-jest/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-loader": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", + "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", + "dependencies": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "engines": { + "node": ">= 8.9" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "webpack": ">=2" + } + }, + "node_modules/babel-loader/node_modules/schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dependencies": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", + "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "node_modules/babel-plugin-named-asset-import": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz", + "integrity": "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==", + "peerDependencies": { + "@babel/core": "^7.1.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", + "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", + "dependencies": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.3", + "semver": "^6.1.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", + "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.3", + "core-js-compat": "^3.25.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", + "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-transform-react-remove-prop-types": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", + "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", + "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", + "dependencies": { + "babel-plugin-jest-hoist": "^27.5.1", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-react-app": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz", + "integrity": "sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==", + "dependencies": { + "@babel/core": "^7.16.0", + "@babel/plugin-proposal-class-properties": "^7.16.0", + "@babel/plugin-proposal-decorators": "^7.16.4", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.0", + "@babel/plugin-proposal-numeric-separator": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.16.0", + "@babel/plugin-proposal-private-methods": "^7.16.0", + "@babel/plugin-transform-flow-strip-types": "^7.16.0", + "@babel/plugin-transform-react-display-name": "^7.16.0", + "@babel/plugin-transform-runtime": "^7.16.4", + "@babel/preset-env": "^7.16.4", + "@babel/preset-react": "^7.16.0", + "@babel/preset-typescript": "^7.16.0", + "@babel/runtime": "^7.16.3", + "babel-plugin-macros": "^3.1.0", + "babel-plugin-transform-react-remove-prop-types": "^0.4.24" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/bfj": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.0.2.tgz", + "integrity": "sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw==", + "dependencies": { + "bluebird": "^3.5.5", + "check-types": "^11.1.1", + "hoopy": "^0.1.4", + "tryer": "^1.0.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "node_modules/body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/bonjour-service": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.0.tgz", + "integrity": "sha512-LVRinRB3k1/K0XzZ2p58COnWvkQknIY6sf0zF2rpErvcJXpMBttEPQSxK+HEXSS9VmpZlDoDnQWv8ftJT20B0Q==", + "dependencies": { + "array-flatten": "^2.1.2", + "dns-equal": "^1.0.0", + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" + }, + "node_modules/browserslist": { + "version": "4.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacache": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", + "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", + "dependencies": { + "@npmcli/fs": "^1.0.0", + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/cacache/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cacache/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cacache/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "dependencies": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelcase-keys/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-keys/node_modules/quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "engines": { + "node": ">=8" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001445", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001445.tgz", + "integrity": "sha512-8sdQIdMztYmzfTMO6KfLny878Ln9c2M0fc7EH60IjlP4Dc4PiCy7K2Vl3ITmWgOyPgVQKa5x+UP/KqFsxj4mBg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ] + }, + "node_modules/case-sensitive-paths-webpack-plugin": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", + "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/check-types": { + "version": "11.2.2", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.2.2.tgz", + "integrity": "sha512-HBiYvXvn9Z70Z88XKjz3AEKd4HJhBXsa3j7xFnITAzoS8+q6eIGi8qDB8FKPBAjtuxjI/zFpwuiCb8oDtKOYrA==" + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.7.1.tgz", + "integrity": "sha512-4jYS4MOAaCIStSRwiuxc4B8MYhIe676yO1sYGzARnjXkWpmzZMMYxY6zu8WYWDhSuth5zhrQ1rhNSibyyvv4/w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/cjs-module-lexer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", + "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==" + }, + "node_modules/classnames": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz", + "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==" + }, + "node_modules/clean-css": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.1.tgz", + "integrity": "sha512-lCr8OHhiWCTw4v8POJovCoh4T7I9U11yVsPjMWWnnMmp9ZowCxyad1Pathle/9HjaDp+fdQKjO9fQydE6RHTZg==", + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 10.0" + } + }, + "node_modules/clean-css/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "dependencies": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==" + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" + }, + "node_modules/colorette": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "engines": { + "node": ">= 12" + } + }, + "node_modules/common-path-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==" + }, + "node_modules/common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/compression/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/confusing-browser-globals": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==" + }, + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==" + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, + "node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "node_modules/core-js": { + "version": "3.27.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.27.1.tgz", + "integrity": "sha512-GutwJLBChfGCpwwhbYoqfv03LAfmiz7e7D/BNxzeMxwQf10GRSzqiOjx7AmtEk+heiD/JWmBuyBPgFtx0Sg1ww==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat": { + "version": "3.27.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.27.1.tgz", + "integrity": "sha512-Dg91JFeCDA17FKnneN7oCMz4BkQ4TcffkgHP4OWwp9yx3pi7ubqMDXXSacfNak1PQqjc95skyt+YBLHQJnkJwA==", + "dependencies": { + "browserslist": "^4.21.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-pure": { + "version": "3.27.1", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.27.1.tgz", + "integrity": "sha512-BS2NHgwwUppfeoqOXqi08mUqS5FiZpuRuJJpKsaME7kJz0xxuk0xkhDdfMIlP/zLa80krBqss1LtD7f889heAw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/css-blank-pseudo": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", + "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "bin": { + "css-blank-pseudo": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-declaration-sorter": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz", + "integrity": "sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w==", + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/css-has-pseudo": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", + "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "bin": { + "css-has-pseudo": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-loader": { + "version": "6.7.3", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.3.tgz", + "integrity": "sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ==", + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.19", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.3.8" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/css-mediaquery": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/css-mediaquery/-/css-mediaquery-0.1.2.tgz", + "integrity": "sha512-COtn4EROW5dBGlE/4PiKnh6rZpAPxDeFLaEEwt4i10jpDMFt2EhQGS79QmmrO+iKCHv0PU/HrOWEhijFd1x99Q==" + }, + "node_modules/css-minimizer-webpack-plugin": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", + "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", + "dependencies": { + "cssnano": "^5.0.6", + "jest-worker": "^27.0.2", + "postcss": "^8.3.5", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@parcel/css": { + "optional": true + }, + "clean-css": { + "optional": true + }, + "csso": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-prefers-color-scheme": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", + "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", + "bin": { + "css-prefers-color-scheme": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" + }, + "node_modules/css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "dependencies": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-tree/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css.escape": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", + "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==" + }, + "node_modules/cssdb": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.2.1.tgz", + "integrity": "sha512-btohrCpVaLqOoMt90aumHe6HU4c06duiYA8ymwtpGfwuZAhWKDBve/c2k+E85Jeq5iojPkeonqiKV+aLeY8QlA==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "5.1.14", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.14.tgz", + "integrity": "sha512-Oou7ihiTocbKqi0J1bB+TRJIQX5RMR3JghA8hcWSw9mjBLQ5Y3RWqEDoYG3sRNlAbCIXpqMoZGbq5KDR3vdzgw==", + "dependencies": { + "cssnano-preset-default": "^5.2.13", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-preset-default": { + "version": "5.2.13", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.13.tgz", + "integrity": "sha512-PX7sQ4Pb+UtOWuz8A1d+Rbi+WimBIxJTRyBdgGp1J75VU0r/HFQeLnMYgHiCAp6AR4rqrc7Y4R+1Rjk3KJz6DQ==", + "dependencies": { + "css-declaration-sorter": "^6.3.1", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.0", + "postcss-convert-values": "^5.1.3", + "postcss-discard-comments": "^5.1.2", + "postcss-discard-duplicates": "^5.1.0", + "postcss-discard-empty": "^5.1.1", + "postcss-discard-overridden": "^5.1.0", + "postcss-merge-longhand": "^5.1.7", + "postcss-merge-rules": "^5.1.3", + "postcss-minify-font-values": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.4", + "postcss-minify-selectors": "^5.2.1", + "postcss-normalize-charset": "^5.1.0", + "postcss-normalize-display-values": "^5.1.0", + "postcss-normalize-positions": "^5.1.1", + "postcss-normalize-repeat-style": "^5.1.1", + "postcss-normalize-string": "^5.1.0", + "postcss-normalize-timing-functions": "^5.1.0", + "postcss-normalize-unicode": "^5.1.1", + "postcss-normalize-url": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.3", + "postcss-reduce-initial": "^5.1.1", + "postcss-reduce-transforms": "^5.1.0", + "postcss-svgo": "^5.1.0", + "postcss-unique-selectors": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", + "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "node_modules/csso/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + }, + "node_modules/csstype": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dependencies": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decamelize-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", + "dependencies": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decamelize-keys/node_modules/map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" + }, + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" + }, + "node_modules/deep-equal": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.0.tgz", + "integrity": "sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw==", + "dependencies": { + "call-bind": "^1.0.2", + "es-get-iterator": "^1.1.2", + "get-intrinsic": "^1.1.3", + "is-arguments": "^1.1.1", + "is-array-buffer": "^3.0.1", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "isarray": "^2.0.5", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" + }, + "node_modules/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "engines": { + "node": ">=8" + } + }, + "node_modules/define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/defined": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", + "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==" + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + }, + "node_modules/detect-port-alt": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", + "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "dependencies": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "bin": { + "detect": "bin/detect-port", + "detect-port": "bin/detect-port" + }, + "engines": { + "node": ">= 4.2.1" + } + }, + "node_modules/detect-port-alt/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/detect-port-alt/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/detective": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", + "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", + "dependencies": { + "acorn-node": "^1.8.2", + "defined": "^1.0.0", + "minimist": "^1.2.6" + }, + "bin": { + "detective": "bin/detective.js" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + }, + "node_modules/diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + }, + "node_modules/dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" + }, + "node_modules/dns-packet": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.4.0.tgz", + "integrity": "sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g==", + "dependencies": { + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dom-accessibility-api": { + "version": "0.5.15", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.15.tgz", + "integrity": "sha512-8o+oVqLQZoruQPYy3uAAQtc6YbtSiRq5aPJBhJ82YTJRHvI6ofhYAkC81WmjFTnfUbqg6T3aCglIpU9p/5e7Cw==" + }, + "node_modules/dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dependencies": { + "utila": "~0.4" + } + }, + "node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dependencies": { + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", + "engines": { + "node": ">=10" + } + }, + "node_modules/dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "node_modules/ejs": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz", + "integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.284", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", + "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==" + }, + "node_modules/emittery": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", + "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz", + "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "dependencies": { + "stackframe": "^1.3.4" + } + }, + "node_modules/es-abstract": { + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.1.tgz", + "integrity": "sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg==", + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.1.3", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.4", + "is-array-buffer": "^3.0.1", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.10", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.2", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" + }, + "node_modules/es-get-iterator": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "is-arguments": "^1.1.1", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.7", + "isarray": "^2.0.5", + "stop-iteration-iterator": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-module-lexer": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==" + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "dependencies": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "dependencies": { + "has": "^1.0.3" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escodegen": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", + "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/escodegen/node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/escodegen/node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint": { + "version": "8.32.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.32.0.tgz", + "integrity": "sha512-nETVXpnthqKPFyuY2FNjz/bEd6nbosRgKbkgS/y1C7LJop96gYHWpiguLecMHQ2XCPxn77DS0P+68WzG6vkZSQ==", + "dependencies": { + "@eslint/eslintrc": "^1.4.1", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.1.1", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.4.0", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "regexpp": "^3.2.0", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-react-app": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz", + "integrity": "sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==", + "dependencies": { + "@babel/core": "^7.16.0", + "@babel/eslint-parser": "^7.16.3", + "@rushstack/eslint-patch": "^1.1.0", + "@typescript-eslint/eslint-plugin": "^5.5.0", + "@typescript-eslint/parser": "^5.5.0", + "babel-preset-react-app": "^10.0.1", + "confusing-browser-globals": "^1.0.11", + "eslint-plugin-flowtype": "^8.0.3", + "eslint-plugin-import": "^2.25.3", + "eslint-plugin-jest": "^25.3.0", + "eslint-plugin-jsx-a11y": "^6.5.1", + "eslint-plugin-react": "^7.27.1", + "eslint-plugin-react-hooks": "^4.3.0", + "eslint-plugin-testing-library": "^5.0.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "eslint": "^8.0.0" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", + "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.11.0", + "resolve": "^1.22.1" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", + "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==", + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-flowtype": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz", + "integrity": "sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==", + "dependencies": { + "lodash": "^4.17.21", + "string-natural-compare": "^3.0.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@babel/plugin-syntax-flow": "^7.14.5", + "@babel/plugin-transform-react-jsx": "^7.14.9", + "eslint": "^8.1.0" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.27.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.4.tgz", + "integrity": "sha512-Z1jVt1EGKia1X9CnBCkpAOhWy8FgQ7OmJ/IblEkT82yrFU/xJaxwujaTzLWqigewwynRQ9mmHfX9MtAfhxm0sA==", + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "array.prototype.flatmap": "^1.3.0", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.7", + "eslint-module-utils": "^2.7.4", + "has": "^1.0.3", + "is-core-module": "^2.11.0", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.values": "^1.1.6", + "resolve": "^1.22.1", + "semver": "^6.3.0", + "tsconfig-paths": "^3.14.1" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-jest": { + "version": "25.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", + "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", + "dependencies": { + "@typescript-eslint/experimental-utils": "^5.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^4.0.0 || ^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + }, + "jest": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz", + "integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==", + "dependencies": { + "@babel/runtime": "^7.20.7", + "aria-query": "^5.1.3", + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "ast-types-flow": "^0.0.7", + "axe-core": "^4.6.2", + "axobject-query": "^3.1.1", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "has": "^1.0.3", + "jsx-ast-utils": "^3.3.3", + "language-tags": "=1.0.5", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-jsx-a11y/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.32.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.0.tgz", + "integrity": "sha512-vSBi1+SrPiLZCGvxpiZIa28fMEUaMjXtCplrvxcIxGzmFiYdsXQDwInEjuv5/i/2CTTxbkS87tE8lsQ0Qxinbw==", + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "array.prototype.tosorted": "^1.1.1", + "doctrine": "^2.1.0", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "object.hasown": "^1.1.2", + "object.values": "^1.1.6", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.4", + "semver": "^6.3.0", + "string.prototype.matchall": "^4.0.8" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", + "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", + "dependencies": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-testing-library": { + "version": "5.9.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.9.1.tgz", + "integrity": "sha512-6BQp3tmb79jLLasPHJmy8DnxREe+2Pgf7L+7o09TSWPfdqqtQfRZmZNetr5mOs3yqZk/MRNxpN3RUpJe0wB4LQ==", + "dependencies": { + "@typescript-eslint/utils": "^5.13.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0", + "npm": ">=6" + }, + "peerDependencies": { + "eslint": "^7.5.0 || ^8.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dependencies": { + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" + } + }, + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", + "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", + "dependencies": { + "@types/eslint": "^7.29.0 || ^8.4.1", + "jest-worker": "^28.0.2", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0", + "webpack": "^5.0.0" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/jest-worker": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", + "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/eslint-webpack-plugin/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/eslint/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.19.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", + "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/espree": { + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", + "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", + "dependencies": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "dependencies": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.4.tgz", + "integrity": "sha512-U0iNYXt9wALljzfnGkhFSy5sAC6/SCR3JrHrlsdJz4kF8MvhTRQNiC59iUi1iqsitV7abrNAJWElVL9pdnoUgw==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/filesize": { + "version": "8.0.7", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", + "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" + }, + "node_modules/follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "engines": { + "node": "*" + } + }, + "node_modules/fork-ts-checker-webpack-plugin": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.2.tgz", + "integrity": "sha512-m5cUmF30xkZ7h4tWUgTAcEaKmUW7tfyUyTqNNOz7OxWJ0v1VWKTcOvH8FWHUwSjlW/356Ijc9vi3XfcPstpQKA==", + "dependencies": { + "@babel/code-frame": "^7.8.3", + "@types/json-schema": "^7.0.5", + "chalk": "^4.1.0", + "chokidar": "^3.4.2", + "cosmiconfig": "^6.0.0", + "deepmerge": "^4.2.2", + "fs-extra": "^9.0.0", + "glob": "^7.1.6", + "memfs": "^3.1.2", + "minimatch": "^3.0.4", + "schema-utils": "2.7.0", + "semver": "^7.3.2", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=10", + "yarn": ">=1.0.0" + }, + "peerDependencies": { + "eslint": ">= 6", + "typescript": ">= 2.7", + "vue-template-compiler": "*", + "webpack": ">= 4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + }, + "vue-template-compiler": { + "optional": true + } + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "dependencies": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://www.patreon.com/infusion" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs-monkey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", + "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==" + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/gaze": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", + "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", + "dependencies": { + "globule": "^1.0.0" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + }, + "node_modules/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globule": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.4.tgz", + "integrity": "sha512-OPTIfhMBh7JbBYDpa5b+Q5ptmMWKwcNcFSR/0c6t8V4f3ZAVBEsKNY37QdVqmLRYSMhOUGYrY0QhSoEpzGr/Eg==", + "dependencies": { + "glob": "~7.1.1", + "lodash": "^4.17.21", + "minimatch": "~3.0.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/globule/node_modules/glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/globule/node_modules/minimatch": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", + "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + }, + "node_modules/grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==" + }, + "node_modules/gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "dependencies": { + "duplexer": "^0.1.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" + }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "deprecated": "this library is no longer supported", + "dependencies": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/harmony-reflect": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", + "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==" + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==" + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "bin": { + "he": "bin/he" + } + }, + "node_modules/hoopy": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", + "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/hosted-git-info/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/hpack.js/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/hpack.js/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/hpack.js/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dependencies": { + "whatwg-encoding": "^1.0.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/html-entities": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", + "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==" + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" + }, + "node_modules/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/html-webpack-plugin": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz", + "integrity": "sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==", + "dependencies": { + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/html-webpack-plugin" + }, + "peerDependencies": { + "webpack": "^5.20.0" + } + }, + "node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "dependencies": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } + } + }, + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "dependencies": { + "ms": "^2.0.0" + } + }, + "node_modules/hyphenate-style-name": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz", + "integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==" + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/idb": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", + "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" + }, + "node_modules/identity-obj-proxy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", + "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", + "dependencies": { + "harmony-reflect": "^1.4.6" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/immer": { + "version": "9.0.18", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.18.tgz", + "integrity": "sha512-eAPNpsj7Ax1q6Y/3lm2PmlwRcFzpON7HSNQ3ru5WQH1/PSpnyed/HpNOELl2CxLKoj4r+bAHgdyKqW5gc2Se1A==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==" + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "node_modules/internal-slot": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.4.tgz", + "integrity": "sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==", + "dependencies": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ip": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", + "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==" + }, + "node_modules/ipaddr.js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", + "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.1.tgz", + "integrity": "sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-typed-array": "^1.1.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==" + }, + "node_modules/is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-root": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", + "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-set": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, + "node_modules/is-weakmap": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", + "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jake": { + "version": "10.8.5", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", + "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==", + "dependencies": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.1", + "minimatch": "^3.0.4" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jake/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jake/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jake/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jake/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jake/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jake/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", + "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", + "dependencies": { + "@jest/core": "^27.5.1", + "import-local": "^3.0.2", + "jest-cli": "^27.5.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-changed-files": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", + "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", + "dependencies": { + "@jest/types": "^27.5.1", + "execa": "^5.0.0", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", + "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-circus/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-circus/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-circus/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-circus/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-circus/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-cli": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", + "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", + "dependencies": { + "@jest/core": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "prompts": "^2.0.1", + "yargs": "^16.2.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-cli/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-cli/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-cli/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-cli/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-cli/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-cli/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", + "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", + "dependencies": { + "@babel/core": "^7.8.0", + "@jest/test-sequencer": "^27.5.1", + "@jest/types": "^27.5.1", + "babel-jest": "^27.5.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.9", + "jest-circus": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-jasmine2": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-config/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-config/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-config/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-config/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-config/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-diff/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-diff/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-diff/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-diff/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-diff/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-diff/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-docblock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", + "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", + "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-each/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-each/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-each/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-each/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-each/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-jsdom": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", + "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1", + "jsdom": "^16.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-node": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", + "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-jasmine2": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", + "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-jasmine2/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-jasmine2/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-jasmine2/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-jasmine2/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-leak-detector": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", + "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", + "dependencies": { + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-matcher-utils/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-matcher-utils/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-matcher-utils/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-matcher-utils/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-message-util/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-message-util/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-message-util/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-mock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", + "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", + "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", + "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", + "dependencies": { + "@jest/types": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-snapshot": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-resolve/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-resolve/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-resolve/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-resolve/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-resolve/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runner": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", + "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-leak-detector": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "source-map-support": "^0.5.6", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runner/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-runner/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-runner/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-runner/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-runner/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runner/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", + "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/globals": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-runtime/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-runtime/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-runtime/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-runtime/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-serializer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", + "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", + "dependencies": { + "@types/node": "*", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", + "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", + "dependencies": { + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.0.0", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^27.5.1", + "semver": "^7.3.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-snapshot/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-snapshot/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-snapshot/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-snapshot/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-util/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-util/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-util/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-util/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-validate": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", + "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "dependencies": { + "@jest/types": "^27.5.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "leven": "^3.1.0", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-validate/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-validate/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-validate/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-validate/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-validate/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-validate/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watch-typeahead": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz", + "integrity": "sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==", + "dependencies": { + "ansi-escapes": "^4.3.1", + "chalk": "^4.0.0", + "jest-regex-util": "^28.0.0", + "jest-watcher": "^28.0.0", + "slash": "^4.0.0", + "string-length": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "jest": "^27.0.0 || ^28.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@jest/console": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", + "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", + "dependencies": { + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^28.1.3", + "jest-util": "^28.1.3", + "slash": "^3.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@jest/console/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@jest/test-result": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", + "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", + "dependencies": { + "@jest/console": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@jest/types": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", + "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "dependencies": { + "@jest/schemas": "^28.1.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@types/yargs": { + "version": "17.0.19", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.19.tgz", + "integrity": "sha512-cAx3qamwaYX9R0fzOIZAlFpo4A+1uBVCxqpKz9D26uTF4srRXaGTTsikQmaotCtNdbhzyUH7ft6p9ktz9s6UNQ==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-watch-typeahead/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-watch-typeahead/node_modules/emittery": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", + "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-message-util": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", + "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^28.1.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^28.1.3", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-message-util/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-regex-util": { + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", + "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-util": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", + "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "dependencies": { + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-watcher": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", + "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", + "dependencies": { + "@jest/test-result": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.10.2", + "jest-util": "^28.1.3", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-watcher/node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-watcher/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watch-typeahead/node_modules/pretty-format": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", + "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "dependencies": { + "@jest/schemas": "^28.1.3", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + }, + "node_modules/jest-watch-typeahead/node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watch-typeahead/node_modules/string-length": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz", + "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==", + "dependencies": { + "char-regex": "^2.0.0", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watch-typeahead/node_modules/string-length/node_modules/char-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz", + "integrity": "sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==", + "engines": { + "node": ">=12.20" + } + }, + "node_modules/jest-watch-typeahead/node_modules/strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watcher": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", + "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", + "dependencies": { + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^27.5.1", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-watcher/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-watcher/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-watcher/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-watcher/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-watcher/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watcher/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" + }, + "node_modules/js-sdsl": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz", + "integrity": "sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/js-sdsl" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" + }, + "node_modules/jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "dependencies": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonpointer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", + "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", + "dependencies": { + "array-includes": "^3.1.5", + "object.assign": "^4.1.3" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "engines": { + "node": ">=6" + } + }, + "node_modules/klona": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", + "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/language-subtag-registry": { + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", + "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==" + }, + "node_modules/language-tags": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", + "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", + "dependencies": { + "language-subtag-registry": "~0.3.2" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz", + "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==", + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "node_modules/load-script": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/load-script/-/load-script-1.0.0.tgz", + "integrity": "sha512-kPEjMFtZvwL9TaZo0uZ2ml+Ye9HUMmPwbYRJ324qF9tqMejwykJ5ggTyvzmrbBeapCAbk98BSbTeovHEEP1uCA==" + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/lz-string": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz", + "integrity": "sha512-0ckx7ZHRPqb0oUm8zNr+90mtf9DQB60H1wMCjBtfi62Kl3a7JbHob6gA2bC+xRvZoOL+1hzUK8jeuEIQE8svEQ==", + "bin": { + "lz-string": "bin/bin.js" + } + }, + "node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/matchmediaquery": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/matchmediaquery/-/matchmediaquery-0.3.1.tgz", + "integrity": "sha512-Hlk20WQHRIm9EE9luN1kjRjYXAQToHOIAHPJn9buxBwuhfTHoKUcX+lXBbxc85DVQfXYbEQ4HcwQdd128E3qHQ==", + "dependencies": { + "css-mediaquery": "^0.1.2" + } + }, + "node_modules/mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memfs": { + "version": "3.4.13", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.13.tgz", + "integrity": "sha512-omTM41g3Skpvx5dSYeZIbXKcXoAVc/AoMNwn9TKx++L/gaen/+4TTttmu8ZSch5vfVJ8uJvGbroTsIlslRg6lg==", + "dependencies": { + "fs-monkey": "^1.0.3" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/meow": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", + "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", + "dependencies": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize": "^1.2.0", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow/node_modules/type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.2.tgz", + "integrity": "sha512-EdlUizq13o0Pd+uCp+WO/JpkLvHRVGt97RqfeGhXqAcorYo1ypJSpkV+WDT0vY/kmh/p7wRdJNJtuyK540PXDw==", + "dependencies": { + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "dependencies": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/minimist-options/node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-fetch": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", + "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", + "dependencies": { + "minipass": "^3.1.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "optionalDependencies": { + "encoding": "^0.1.12" + } + }, + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minizlib/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "dependencies": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/nan": { + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", + "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==" + }, + "node_modules/nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==" + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-gyp": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", + "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", + "dependencies": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^9.1.0", + "nopt": "^5.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": ">= 10.12.0" + } + }, + "node_modules/node-gyp/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-gyp/node_modules/make-fetch-happen": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", + "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", + "dependencies": { + "agentkeepalive": "^4.1.3", + "cacache": "^15.2.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^6.0.0", + "minipass": "^3.1.3", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.3.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.2", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^6.0.0", + "ssri": "^8.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/node-gyp/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" + }, + "node_modules/node-releases": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz", + "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==" + }, + "node_modules/node-sass": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-7.0.3.tgz", + "integrity": "sha512-8MIlsY/4dXUkJDYht9pIWBhMil3uHmE8b/AdJPjmFn1nBx9X9BASzfzmsCy0uCCb8eqI3SYYzVPDswWqSx7gjw==", + "hasInstallScript": true, + "dependencies": { + "async-foreach": "^0.1.3", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.3", + "gaze": "^1.0.0", + "get-stdin": "^4.0.1", + "glob": "^7.0.3", + "lodash": "^4.17.15", + "meow": "^9.0.0", + "nan": "^2.13.2", + "node-gyp": "^8.4.1", + "npmlog": "^5.0.0", + "request": "^2.88.0", + "sass-graph": "^4.0.1", + "stdout-stream": "^1.4.0", + "true-case-path": "^1.0.2" + }, + "bin": { + "node-sass": "bin/node-sass" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/node-sass/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/node-sass/node_modules/are-we-there-yet": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", + "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-sass/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/node-sass/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/node-sass/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/node-sass/node_modules/gauge": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", + "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.1", + "object-assign": "^4.1.1", + "signal-exit": "^3.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-sass/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/node-sass/node_modules/npmlog": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", + "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", + "dependencies": { + "are-we-there-yet": "^2.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^3.0.0", + "set-blocking": "^2.0.0" + } + }, + "node_modules/node-sass/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dependencies": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/nwsapi": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.2.tgz", + "integrity": "sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==" + }, + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "engines": { + "node": "*" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", + "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", + "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.5.tgz", + "integrity": "sha512-yDNzckpM6ntyQiGTik1fKV1DcVDRS+w8bvpWNCBanvH5LfRX9O8WTHqQzG4RZwRAM4I0oU7TV11Lj5v0g20ibw==", + "dependencies": { + "array.prototype.reduce": "^1.0.5", + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.hasown": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", + "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", + "dependencies": { + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", + "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", + "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "dependencies": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-up": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-up/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-up/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss": { + "version": "8.4.21", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", + "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + } + ], + "dependencies": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-attribute-case-insensitive": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz", + "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-browser-comments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz", + "integrity": "sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==", + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "browserslist": ">=4", + "postcss": ">=8" + } + }, + "node_modules/postcss-calc": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", + "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "dependencies": { + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + }, + "peerDependencies": { + "postcss": "^8.2.2" + } + }, + "node_modules/postcss-clamp": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", + "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=7.6.0" + }, + "peerDependencies": { + "postcss": "^8.4.6" + } + }, + "node_modules/postcss-color-functional-notation": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz", + "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-color-hex-alpha": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz", + "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-color-rebeccapurple": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz", + "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-colormin": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz", + "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==", + "dependencies": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-convert-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", + "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-custom-media": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", + "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/postcss-custom-properties": { + "version": "12.1.11", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz", + "integrity": "sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-custom-selectors": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", + "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/postcss-dir-pseudo-class": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz", + "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-discard-comments": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", + "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", + "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-empty": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", + "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", + "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-double-position-gradients": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz", + "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-env-function": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz", + "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-flexbugs-fixes": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz", + "integrity": "sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==", + "peerDependencies": { + "postcss": "^8.1.4" + } + }, + "node_modules/postcss-focus-visible": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", + "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-focus-within": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", + "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-font-variant": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", + "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-gap-properties": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", + "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-image-set-function": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz", + "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-import": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", + "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-initial": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", + "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz", + "integrity": "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.3.3" + } + }, + "node_modules/postcss-lab-function": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz", + "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "dependencies": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + }, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-loader": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", + "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", + "dependencies": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.5", + "semver": "^7.3.5" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" + } + }, + "node_modules/postcss-logical": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", + "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-media-minmax": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", + "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-merge-longhand": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", + "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-merge-rules": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.3.tgz", + "integrity": "sha512-LbLd7uFC00vpOuMvyZop8+vvhnfRGpp2S+IMQKeuOZZapPRY4SMq5ErjQeHbHsjCUgJkRNrlU+LmxsKIqPKQlA==", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.1.0", + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", + "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-gradients": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", + "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "dependencies": { + "colord": "^2.9.1", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-params": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", + "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", + "dependencies": { + "browserslist": "^4.21.4", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-selectors": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", + "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", + "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-nested": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz", + "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-nesting": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz", + "integrity": "sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==", + "dependencies": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-normalize": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-10.0.1.tgz", + "integrity": "sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==", + "dependencies": { + "@csstools/normalize.css": "*", + "postcss-browser-comments": "^4", + "sanitize.css": "*" + }, + "engines": { + "node": ">= 12" + }, + "peerDependencies": { + "browserslist": ">= 4", + "postcss": ">= 8" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", + "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", + "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-positions": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", + "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", + "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-string": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", + "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", + "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-unicode": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", + "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", + "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "dependencies": { + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-whitespace": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", + "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-opacity-percentage": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz", + "integrity": "sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==", + "funding": [ + { + "type": "kofi", + "url": "https://ko-fi.com/mrcgrtz" + }, + { + "type": "liberapay", + "url": "https://liberapay.com/mrcgrtz" + } + ], + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-ordered-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", + "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", + "dependencies": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-overflow-shorthand": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz", + "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-page-break": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", + "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", + "peerDependencies": { + "postcss": "^8" + } + }, + "node_modules/postcss-place": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz", + "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-preset-env": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz", + "integrity": "sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==", + "dependencies": { + "@csstools/postcss-cascade-layers": "^1.1.1", + "@csstools/postcss-color-function": "^1.1.1", + "@csstools/postcss-font-format-keywords": "^1.0.1", + "@csstools/postcss-hwb-function": "^1.0.2", + "@csstools/postcss-ic-unit": "^1.0.1", + "@csstools/postcss-is-pseudo-class": "^2.0.7", + "@csstools/postcss-nested-calc": "^1.0.0", + "@csstools/postcss-normalize-display-values": "^1.0.1", + "@csstools/postcss-oklab-function": "^1.1.1", + "@csstools/postcss-progressive-custom-properties": "^1.3.0", + "@csstools/postcss-stepped-value-functions": "^1.0.1", + "@csstools/postcss-text-decoration-shorthand": "^1.0.0", + "@csstools/postcss-trigonometric-functions": "^1.0.2", + "@csstools/postcss-unset-value": "^1.0.2", + "autoprefixer": "^10.4.13", + "browserslist": "^4.21.4", + "css-blank-pseudo": "^3.0.3", + "css-has-pseudo": "^3.0.4", + "css-prefers-color-scheme": "^6.0.3", + "cssdb": "^7.1.0", + "postcss-attribute-case-insensitive": "^5.0.2", + "postcss-clamp": "^4.1.0", + "postcss-color-functional-notation": "^4.2.4", + "postcss-color-hex-alpha": "^8.0.4", + "postcss-color-rebeccapurple": "^7.1.1", + "postcss-custom-media": "^8.0.2", + "postcss-custom-properties": "^12.1.10", + "postcss-custom-selectors": "^6.0.3", + "postcss-dir-pseudo-class": "^6.0.5", + "postcss-double-position-gradients": "^3.1.2", + "postcss-env-function": "^4.0.6", + "postcss-focus-visible": "^6.0.4", + "postcss-focus-within": "^5.0.4", + "postcss-font-variant": "^5.0.0", + "postcss-gap-properties": "^3.0.5", + "postcss-image-set-function": "^4.0.7", + "postcss-initial": "^4.0.1", + "postcss-lab-function": "^4.2.1", + "postcss-logical": "^5.0.4", + "postcss-media-minmax": "^5.0.0", + "postcss-nesting": "^10.2.0", + "postcss-opacity-percentage": "^1.1.2", + "postcss-overflow-shorthand": "^3.0.4", + "postcss-page-break": "^3.0.4", + "postcss-place": "^7.0.5", + "postcss-pseudo-class-any-link": "^7.1.6", + "postcss-replace-overflow-wrap": "^4.0.0", + "postcss-selector-not": "^6.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-pseudo-class-any-link": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz", + "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-reduce-initial": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.1.tgz", + "integrity": "sha512-//jeDqWcHPuXGZLoolFrUXBDyuEGbr9S2rMo19bkTIjBQ4PqkaO+oI8wua5BOUxpfi97i3PCoInsiFIEBfkm9w==", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", + "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-replace-overflow-wrap": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", + "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", + "peerDependencies": { + "postcss": "^8.0.3" + } + }, + "node_modules/postcss-selector-not": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz", + "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", + "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-svgo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", + "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/postcss-svgo/node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/postcss-svgo/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "node_modules/postcss-svgo/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-svgo/node_modules/svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/postcss-unique-selectors": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", + "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pretty-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "dependencies": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, + "node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "node_modules/promise": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "dependencies": { + "asap": "~2.0.6" + } + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==" + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/promise-retry/node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/prop-types/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-addr/node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + }, + "node_modules/punycode": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.2.0.tgz", + "integrity": "sha512-LN6QV1IJ9ZhxWTNdktaPClrNfp8xdSAYS0Zk2ddX7XsXZAxckMHPCBcHRo0cTcEIgYPRiGEkmji3Idkh2yFtYw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "dependencies": { + "performance-now": "^2.1.0" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-app-polyfill": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz", + "integrity": "sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==", + "dependencies": { + "core-js": "^3.19.2", + "object-assign": "^4.1.1", + "promise": "^8.1.0", + "raf": "^3.4.1", + "regenerator-runtime": "^0.13.9", + "whatwg-fetch": "^3.6.2" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/react-dev-utils": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", + "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", + "dependencies": { + "@babel/code-frame": "^7.16.0", + "address": "^1.1.2", + "browserslist": "^4.18.1", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.3", + "detect-port-alt": "^1.1.6", + "escape-string-regexp": "^4.0.0", + "filesize": "^8.0.6", + "find-up": "^5.0.0", + "fork-ts-checker-webpack-plugin": "^6.5.0", + "global-modules": "^2.0.0", + "globby": "^11.0.4", + "gzip-size": "^6.0.0", + "immer": "^9.0.7", + "is-root": "^2.1.0", + "loader-utils": "^3.2.0", + "open": "^8.4.0", + "pkg-up": "^3.1.0", + "prompts": "^2.4.2", + "react-error-overlay": "^6.0.11", + "recursive-readdir": "^2.2.2", + "shell-quote": "^1.7.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/react-dev-utils/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/react-dev-utils/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/react-dev-utils/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/react-dev-utils/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/react-dev-utils/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/react-dev-utils/node_modules/loader-utils": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", + "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/react-dev-utils/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/react-error-overlay": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", + "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" + }, + "node_modules/react-icons": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.7.1.tgz", + "integrity": "sha512-yHd3oKGMgm7zxo3EA7H2n7vxSoiGmHk5t6Ou4bXsfcgWyhfDKMpyKfhHR6Bjnn63c+YXBLBPUql9H4wPJM6sXw==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/react-intersection-observer": { + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/react-intersection-observer/-/react-intersection-observer-9.4.1.tgz", + "integrity": "sha512-IXpIsPe6BleFOEHKzKh5UjwRUaz/JYS0lT/HPsupWEQou2hDqjhLMStc5zyE3eQVT4Fk3FufM8Fw33qW1uyeiw==", + "peerDependencies": { + "react": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "node_modules/react-refresh": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", + "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-responsive": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/react-responsive/-/react-responsive-9.0.2.tgz", + "integrity": "sha512-+4CCab7z8G8glgJoRjAwocsgsv6VA2w7JPxFWHRc7kvz8mec1/K5LutNC2MG28Mn8mu6+bu04XZxHv5gyfT7xQ==", + "dependencies": { + "hyphenate-style-name": "^1.0.0", + "matchmediaquery": "^0.3.0", + "prop-types": "^15.6.1", + "shallow-equal": "^1.2.1" + }, + "engines": { + "node": ">=0.10" + }, + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/react-router": { + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.6.2.tgz", + "integrity": "sha512-uJPG55Pek3orClbURDvfljhqFvMgJRo59Pktywkk8hUUkTY2aRfza8Yhl/vZQXs+TNQyr6tu+uqz/fLxPICOGQ==", + "dependencies": { + "@remix-run/router": "1.2.1" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/react-router-dom": { + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.6.2.tgz", + "integrity": "sha512-6SCDXxRQqW5af8ImOqKza7icmQ47/EMbz572uFjzvcArg3lZ+04PxSPp8qGs+p2Y+q+b+S/AjXv8m8dyLndIIA==", + "dependencies": { + "@remix-run/router": "1.2.1", + "react-router": "6.6.2" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, + "node_modules/react-scripts": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz", + "integrity": "sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==", + "dependencies": { + "@babel/core": "^7.16.0", + "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", + "@svgr/webpack": "^5.5.0", + "babel-jest": "^27.4.2", + "babel-loader": "^8.2.3", + "babel-plugin-named-asset-import": "^0.3.8", + "babel-preset-react-app": "^10.0.1", + "bfj": "^7.0.2", + "browserslist": "^4.18.1", + "camelcase": "^6.2.1", + "case-sensitive-paths-webpack-plugin": "^2.4.0", + "css-loader": "^6.5.1", + "css-minimizer-webpack-plugin": "^3.2.0", + "dotenv": "^10.0.0", + "dotenv-expand": "^5.1.0", + "eslint": "^8.3.0", + "eslint-config-react-app": "^7.0.1", + "eslint-webpack-plugin": "^3.1.1", + "file-loader": "^6.2.0", + "fs-extra": "^10.0.0", + "html-webpack-plugin": "^5.5.0", + "identity-obj-proxy": "^3.0.0", + "jest": "^27.4.3", + "jest-resolve": "^27.4.2", + "jest-watch-typeahead": "^1.0.0", + "mini-css-extract-plugin": "^2.4.5", + "postcss": "^8.4.4", + "postcss-flexbugs-fixes": "^5.0.2", + "postcss-loader": "^6.2.1", + "postcss-normalize": "^10.0.1", + "postcss-preset-env": "^7.0.1", + "prompts": "^2.4.2", + "react-app-polyfill": "^3.0.0", + "react-dev-utils": "^12.0.1", + "react-refresh": "^0.11.0", + "resolve": "^1.20.0", + "resolve-url-loader": "^4.0.0", + "sass-loader": "^12.3.0", + "semver": "^7.3.5", + "source-map-loader": "^3.0.0", + "style-loader": "^3.3.1", + "tailwindcss": "^3.0.2", + "terser-webpack-plugin": "^5.2.5", + "webpack": "^5.64.4", + "webpack-dev-server": "^4.6.0", + "webpack-manifest-plugin": "^4.0.2", + "workbox-webpack-plugin": "^6.4.1" + }, + "bin": { + "react-scripts": "bin/react-scripts.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + }, + "peerDependencies": { + "react": ">= 16", + "typescript": "^3.2.1 || ^4" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/react-tooltip": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/react-tooltip/-/react-tooltip-5.5.1.tgz", + "integrity": "sha512-mx8iL4DDYUdPhN2XbcF4koHyuOOs7/gFXq0TBVfLnRWigzfll7AArMe3yUDipvowW/OASwzdGVgoBECVSMdtBA==", + "dependencies": { + "@floating-ui/dom": "^1.0.4", + "classnames": "^2.3.2" + }, + "peerDependencies": { + "react": ">=18.0.0", + "react-dom": ">=18.0.0" + } + }, + "node_modules/react-youtube": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/react-youtube/-/react-youtube-10.1.0.tgz", + "integrity": "sha512-ZfGtcVpk0SSZtWCSTYOQKhfx5/1cfyEW1JN/mugGNfAxT3rmVJeMbGpA9+e78yG21ls5nc/5uZJETE3cm3knBg==", + "dependencies": { + "fast-deep-equal": "3.1.3", + "prop-types": "15.8.1", + "youtube-player": "5.5.2" + }, + "engines": { + "node": ">= 14.x" + }, + "peerDependencies": { + "react": ">=0.14.1" + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" + }, + "node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/read-pkg/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/recursive-readdir": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", + "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", + "dependencies": { + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, + "node_modules/regenerator-transform": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", + "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regex-parser": { + "version": "2.2.11", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", + "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==" + }, + "node_modules/regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/regexpu-core": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.2.tgz", + "integrity": "sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw==", + "dependencies": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsgen": "^0.7.1", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsgen": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", + "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==" + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/renderkid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", + "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "dependencies": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^6.0.1" + } + }, + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/request/node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/request/node_modules/qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/request/node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/request/node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + }, + "node_modules/resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dependencies": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-url-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz", + "integrity": "sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==", + "dependencies": { + "adjust-sourcemap-loader": "^4.0.0", + "convert-source-map": "^1.7.0", + "loader-utils": "^2.0.0", + "postcss": "^7.0.35", + "source-map": "0.6.1" + }, + "engines": { + "node": ">=8.9" + }, + "peerDependencies": { + "rework": "1.0.1", + "rework-visit": "1.0.0" + }, + "peerDependenciesMeta": { + "rework": { + "optional": true + }, + "rework-visit": { + "optional": true + } + } + }, + "node_modules/resolve-url-loader/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "node_modules/resolve-url-loader/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/resolve-url-loader/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve.exports": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz", + "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "2.79.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", + "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + }, + "peerDependencies": { + "rollup": "^2.0.0" + } + }, + "node_modules/rollup-plugin-terser/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/rollup-plugin-terser/node_modules/jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/rollup-plugin-terser/node_modules/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/rollup-plugin-terser/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/sanitize.css": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/sanitize.css/-/sanitize.css-13.0.0.tgz", + "integrity": "sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==" + }, + "node_modules/sass-graph": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-4.0.1.tgz", + "integrity": "sha512-5YCfmGBmxoIRYHnKK2AKzrAkCoQ8ozO+iumT8K4tXJXRVCPf+7s1/9KxTSW3Rbvf+7Y7b4FR3mWyLnQr3PHocA==", + "dependencies": { + "glob": "^7.0.0", + "lodash": "^4.17.11", + "scss-tokenizer": "^0.4.3", + "yargs": "^17.2.1" + }, + "bin": { + "sassgraph": "bin/sassgraph" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/sass-graph/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/sass-graph/node_modules/yargs": { + "version": "17.6.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", + "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/sass-graph/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "engines": { + "node": ">=12" + } + }, + "node_modules/sass-loader": { + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz", + "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", + "dependencies": { + "klona": "^2.0.4", + "neo-async": "^2.6.2" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "fibers": ">= 3.1.0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", + "sass": "^1.3.0", + "sass-embedded": "*", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "fibers": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + } + } + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/scss-tokenizer": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.4.3.tgz", + "integrity": "sha512-raKLgf1LI5QMQnG+RxHz6oK0sL3x3I4FN2UDLqgLOGO8hodECNnNh5BXn7fAyBxrA8zVzdQizQ6XjNJQ+uBwMw==", + "dependencies": { + "js-base64": "^2.4.9", + "source-map": "^0.7.3" + } + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" + }, + "node_modules/selfsigned": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", + "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", + "dependencies": { + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + }, + "node_modules/serve-index/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/shallow-equal": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/shallow-equal/-/shallow-equal-1.2.1.tgz", + "integrity": "sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.4.tgz", + "integrity": "sha512-8o/QEhSSRb1a5i7TFR0iM4G16Z0vYB2OQVs4G3aAFXjn3T6yEx8AZxy1PgDF7I00LZHYA3WxaSYIf5e5sAX8Rw==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "node_modules/sister": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/sister/-/sister-3.0.2.tgz", + "integrity": "sha512-p19rtTs+NksBRKW9qn0UhZ8/TUI9BPw9lmtHny+Y3TinWlOa9jWh9xB0AtPSdmOy49NJJJSSe0Ey4C7h0TrcYA==" + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/socks": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", + "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", + "dependencies": { + "ip": "^2.0.0", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.13.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz", + "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==", + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" + }, + "node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-loader": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.2.tgz", + "integrity": "sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==", + "dependencies": { + "abab": "^2.0.5", + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "deprecated": "Please use @jridgewell/sourcemap-codec instead" + }, + "node_modules/spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz", + "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==" + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "node_modules/sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility" + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/stdout-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", + "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", + "dependencies": { + "readable-stream": "^2.0.1" + } + }, + "node_modules/stdout-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/stdout-stream/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/stdout-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/stdout-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/stop-iteration-iterator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", + "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "dependencies": { + "internal-slot": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-natural-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", + "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==" + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", + "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "regexp.prototype.flags": "^1.4.3", + "side-channel": "^1.0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "dependencies": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", + "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/style-loader": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.1.tgz", + "integrity": "sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ==", + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/stylehacks": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", + "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" + }, + "node_modules/svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.", + "dependencies": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/svgo/node_modules/css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "node_modules/svgo/node_modules/css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/svgo/node_modules/dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dependencies": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "node_modules/svgo/node_modules/domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/svgo/node_modules/domutils/node_modules/domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + }, + "node_modules/svgo/node_modules/nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dependencies": { + "boolbase": "~1.0.0" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" + }, + "node_modules/tailwindcss": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.4.tgz", + "integrity": "sha512-AhwtHCKMtR71JgeYDaswmZXhPcW9iuI9Sp2LvZPo9upDZ7231ZJ7eA9RaURbhpXGVlrjX4cFNlB4ieTetEb7hQ==", + "dependencies": { + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "color-name": "^1.1.4", + "detective": "^5.2.1", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.12", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "lilconfig": "^2.0.6", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.18", + "postcss-import": "^14.1.0", + "postcss-js": "^4.0.0", + "postcss-load-config": "^3.1.4", + "postcss-nested": "6.0.0", + "postcss-selector-parser": "^6.0.10", + "postcss-value-parser": "^4.2.0", + "quick-lru": "^5.1.1", + "resolve": "^1.22.1" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=12.13.0" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/tailwindcss/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/tar": { + "version": "6.1.13", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.13.tgz", + "integrity": "sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^4.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar/node_modules/minipass": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.0.0.tgz", + "integrity": "sha512-g2Uuh2jEKoht+zvO6vJqXmYpflPqzRBT+Th2h01DKh5z7wbY/AZ2gCQ78cP70YoHPyFdY30YBV5WxgLOEwOykw==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tar/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/temp-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", + "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/tempy": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", + "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", + "dependencies": { + "is-stream": "^2.0.0", + "temp-dir": "^2.0.0", + "type-fest": "^0.16.0", + "unique-string": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tempy/node_modules/type-fest": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", + "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dependencies": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terser": { + "version": "5.16.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.1.tgz", + "integrity": "sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw==", + "dependencies": { + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.6", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz", + "integrity": "sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.14", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0", + "terser": "^5.14.1" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + }, + "node_modules/throat": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz", + "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==" + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + }, + "node_modules/timeago.js": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/timeago.js/-/timeago.js-4.0.2.tgz", + "integrity": "sha512-a7wPxPdVlQL7lqvitHGGRsofhdwtkoSXPGATFuSOA2i1ZNQEPLrGnj68vOp2sOJTCFAQVXPeNMX/GctBaO9L2w==" + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tough-cookie": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.2.tgz", + "integrity": "sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tough-cookie/node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/true-case-path": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", + "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", + "dependencies": { + "glob": "^7.1.2" + } + }, + "node_modules/tryer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" + }, + "node_modules/tsconfig-paths": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", + "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/tsconfig-paths/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/tslib": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typescript": { + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", + "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dependencies": { + "unique-slug": "^2.0.0" + } + }, + "node_modules/unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dependencies": { + "imurmurhash": "^0.1.4" + } + }, + "node_modules/unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "dependencies": { + "crypto-random-string": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" + }, + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist-lint": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/use-sync-external-store": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", + "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-to-istanbul": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", + "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/verror/node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" + }, + "node_modules/w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dependencies": { + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/web-vitals": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-2.1.4.tgz", + "integrity": "sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==" + }, + "node_modules/webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "engines": { + "node": ">=10.4" + } + }, + "node_modules/webpack": { + "version": "5.75.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.75.0.tgz", + "integrity": "sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ==", + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.10.0", + "es-module-lexer": "^0.9.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-middleware": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", + "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/webpack-dev-middleware/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack-dev-middleware/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/webpack-dev-middleware/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/webpack-dev-middleware/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack-dev-server": { + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.11.1.tgz", + "integrity": "sha512-lILVz9tAUy1zGFwieuaQtYiadImb5M3d+H+L1zDYalYoDl0cksAB1UNyuE5MMWJrG6zR1tXkCP2fitl7yoUJiw==", + "dependencies": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.1", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.1", + "ws": "^8.4.2" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.37.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack-dev-server/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/webpack-dev-server/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/webpack-dev-server/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack-dev-server/node_modules/ws": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.12.0.tgz", + "integrity": "sha512-kU62emKIdKVeEIOIKVegvqpXMSTAMLJozpHZaJNDYqBjzlSYXQGviYwN1osDLJ9av68qHd4a2oSjd7yD4pacig==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/webpack-manifest-plugin": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz", + "integrity": "sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==", + "dependencies": { + "tapable": "^2.0.0", + "webpack-sources": "^2.2.0" + }, + "engines": { + "node": ">=12.22.0" + }, + "peerDependencies": { + "webpack": "^4.44.2 || ^5.47.0" + } + }, + "node_modules/webpack-manifest-plugin/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-manifest-plugin/node_modules/webpack-sources": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz", + "integrity": "sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==", + "dependencies": { + "source-list-map": "^2.0.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack/node_modules/@types/estree": { + "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==" + }, + "node_modules/webpack/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/webpack/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/whatwg-encoding/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/whatwg-fetch": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz", + "integrity": "sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==" + }, + "node_modules/whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" + }, + "node_modules/whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "dependencies": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "dependencies": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/workbox-background-sync": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.5.4.tgz", + "integrity": "sha512-0r4INQZMyPky/lj4Ou98qxcThrETucOde+7mRGJl13MPJugQNKeZQOdIJe/1AchOP23cTqHcN/YVpD6r8E6I8g==", + "dependencies": { + "idb": "^7.0.1", + "workbox-core": "6.5.4" + } + }, + "node_modules/workbox-broadcast-update": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.5.4.tgz", + "integrity": "sha512-I/lBERoH1u3zyBosnpPEtcAVe5lwykx9Yg1k6f8/BGEPGaMMgZrwVrqL1uA9QZ1NGGFoyE6t9i7lBjOlDhFEEw==", + "dependencies": { + "workbox-core": "6.5.4" + } + }, + "node_modules/workbox-build": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.5.4.tgz", + "integrity": "sha512-kgRevLXEYvUW9WS4XoziYqZ8Q9j/2ziJYEtTrjdz5/L/cTUa2XfyMP2i7c3p34lgqJ03+mTiz13SdFef2POwbA==", + "dependencies": { + "@apideck/better-ajv-errors": "^0.3.1", + "@babel/core": "^7.11.1", + "@babel/preset-env": "^7.11.0", + "@babel/runtime": "^7.11.2", + "@rollup/plugin-babel": "^5.2.0", + "@rollup/plugin-node-resolve": "^11.2.1", + "@rollup/plugin-replace": "^2.4.1", + "@surma/rollup-plugin-off-main-thread": "^2.2.3", + "ajv": "^8.6.0", + "common-tags": "^1.8.0", + "fast-json-stable-stringify": "^2.1.0", + "fs-extra": "^9.0.1", + "glob": "^7.1.6", + "lodash": "^4.17.20", + "pretty-bytes": "^5.3.0", + "rollup": "^2.43.1", + "rollup-plugin-terser": "^7.0.0", + "source-map": "^0.8.0-beta.0", + "stringify-object": "^3.3.0", + "strip-comments": "^2.0.1", + "tempy": "^0.6.0", + "upath": "^1.2.0", + "workbox-background-sync": "6.5.4", + "workbox-broadcast-update": "6.5.4", + "workbox-cacheable-response": "6.5.4", + "workbox-core": "6.5.4", + "workbox-expiration": "6.5.4", + "workbox-google-analytics": "6.5.4", + "workbox-navigation-preload": "6.5.4", + "workbox-precaching": "6.5.4", + "workbox-range-requests": "6.5.4", + "workbox-recipes": "6.5.4", + "workbox-routing": "6.5.4", + "workbox-strategies": "6.5.4", + "workbox-streams": "6.5.4", + "workbox-sw": "6.5.4", + "workbox-window": "6.5.4" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/workbox-build/node_modules/@apideck/better-ajv-errors": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", + "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", + "dependencies": { + "json-schema": "^0.4.0", + "jsonpointer": "^5.0.0", + "leven": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "ajv": ">=8" + } + }, + "node_modules/workbox-build/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/workbox-build/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/workbox-build/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/workbox-build/node_modules/source-map": { + "version": "0.8.0-beta.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "dependencies": { + "whatwg-url": "^7.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/workbox-build/node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/workbox-build/node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + }, + "node_modules/workbox-build/node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/workbox-cacheable-response": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.5.4.tgz", + "integrity": "sha512-DCR9uD0Fqj8oB2TSWQEm1hbFs/85hXXoayVwFKLVuIuxwJaihBsLsp4y7J9bvZbqtPJ1KlCkmYVGQKrBU4KAug==", + "dependencies": { + "workbox-core": "6.5.4" + } + }, + "node_modules/workbox-core": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.5.4.tgz", + "integrity": "sha512-OXYb+m9wZm8GrORlV2vBbE5EC1FKu71GGp0H4rjmxmF4/HLbMCoTFws87M3dFwgpmg0v00K++PImpNQ6J5NQ6Q==" + }, + "node_modules/workbox-expiration": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.5.4.tgz", + "integrity": "sha512-jUP5qPOpH1nXtjGGh1fRBa1wJL2QlIb5mGpct3NzepjGG2uFFBn4iiEBiI9GUmfAFR2ApuRhDydjcRmYXddiEQ==", + "dependencies": { + "idb": "^7.0.1", + "workbox-core": "6.5.4" + } + }, + "node_modules/workbox-google-analytics": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.5.4.tgz", + "integrity": "sha512-8AU1WuaXsD49249Wq0B2zn4a/vvFfHkpcFfqAFHNHwln3jK9QUYmzdkKXGIZl9wyKNP+RRX30vcgcyWMcZ9VAg==", + "dependencies": { + "workbox-background-sync": "6.5.4", + "workbox-core": "6.5.4", + "workbox-routing": "6.5.4", + "workbox-strategies": "6.5.4" + } + }, + "node_modules/workbox-navigation-preload": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.5.4.tgz", + "integrity": "sha512-IIwf80eO3cr8h6XSQJF+Hxj26rg2RPFVUmJLUlM0+A2GzB4HFbQyKkrgD5y2d84g2IbJzP4B4j5dPBRzamHrng==", + "dependencies": { + "workbox-core": "6.5.4" + } + }, + "node_modules/workbox-precaching": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.5.4.tgz", + "integrity": "sha512-hSMezMsW6btKnxHB4bFy2Qfwey/8SYdGWvVIKFaUm8vJ4E53JAY+U2JwLTRD8wbLWoP6OVUdFlXsTdKu9yoLTg==", + "dependencies": { + "workbox-core": "6.5.4", + "workbox-routing": "6.5.4", + "workbox-strategies": "6.5.4" + } + }, + "node_modules/workbox-range-requests": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.5.4.tgz", + "integrity": "sha512-Je2qR1NXCFC8xVJ/Lux6saH6IrQGhMpDrPXWZWWS8n/RD+WZfKa6dSZwU+/QksfEadJEr/NfY+aP/CXFFK5JFg==", + "dependencies": { + "workbox-core": "6.5.4" + } + }, + "node_modules/workbox-recipes": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.5.4.tgz", + "integrity": "sha512-QZNO8Ez708NNwzLNEXTG4QYSKQ1ochzEtRLGaq+mr2PyoEIC1xFW7MrWxrONUxBFOByksds9Z4//lKAX8tHyUA==", + "dependencies": { + "workbox-cacheable-response": "6.5.4", + "workbox-core": "6.5.4", + "workbox-expiration": "6.5.4", + "workbox-precaching": "6.5.4", + "workbox-routing": "6.5.4", + "workbox-strategies": "6.5.4" + } + }, + "node_modules/workbox-routing": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.5.4.tgz", + "integrity": "sha512-apQswLsbrrOsBUWtr9Lf80F+P1sHnQdYodRo32SjiByYi36IDyL2r7BH1lJtFX8fwNHDa1QOVY74WKLLS6o5Pg==", + "dependencies": { + "workbox-core": "6.5.4" + } + }, + "node_modules/workbox-strategies": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.5.4.tgz", + "integrity": "sha512-DEtsxhx0LIYWkJBTQolRxG4EI0setTJkqR4m7r4YpBdxtWJH1Mbg01Cj8ZjNOO8etqfA3IZaOPHUxCs8cBsKLw==", + "dependencies": { + "workbox-core": "6.5.4" + } + }, + "node_modules/workbox-streams": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.5.4.tgz", + "integrity": "sha512-FXKVh87d2RFXkliAIheBojBELIPnWbQdyDvsH3t74Cwhg0fDheL1T8BqSM86hZvC0ZESLsznSYWw+Va+KVbUzg==", + "dependencies": { + "workbox-core": "6.5.4", + "workbox-routing": "6.5.4" + } + }, + "node_modules/workbox-sw": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.5.4.tgz", + "integrity": "sha512-vo2RQo7DILVRoH5LjGqw3nphavEjK4Qk+FenXeUsknKn14eCNedHOXWbmnvP4ipKhlE35pvJ4yl4YYf6YsJArA==" + }, + "node_modules/workbox-webpack-plugin": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.5.4.tgz", + "integrity": "sha512-LmWm/zoaahe0EGmMTrSLUi+BjyR3cdGEfU3fS6PN1zKFYbqAKuQ+Oy/27e4VSXsyIwAw8+QDfk1XHNGtZu9nQg==", + "dependencies": { + "fast-json-stable-stringify": "^2.1.0", + "pretty-bytes": "^5.4.1", + "upath": "^1.2.0", + "webpack-sources": "^1.4.3", + "workbox-build": "6.5.4" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "webpack": "^4.4.0 || ^5.9.0" + } + }, + "node_modules/workbox-webpack-plugin/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/workbox-webpack-plugin/node_modules/webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dependencies": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "node_modules/workbox-window": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.5.4.tgz", + "integrity": "sha512-HnLZJDwYBE+hpG25AQBO8RUWBJRaCsI9ksQJEp3aCOFCaG5kqaToAYXFRAHxzRluM2cQbGzdQF5rjKPWPA1fug==", + "dependencies": { + "@types/trusted-types": "^2.0.2", + "workbox-core": "6.5.4" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/youtube-player": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/youtube-player/-/youtube-player-5.5.2.tgz", + "integrity": "sha512-ZGtsemSpXnDky2AUYWgxjaopgB+shFHgXVpiJFeNB5nWEugpW1KWYDaHKuLqh2b67r24GtP6HoSW5swvf0fFIQ==", + "dependencies": { + "debug": "^2.6.6", + "load-script": "^1.0.0", + "sister": "^3.0.0" + } + }, + "node_modules/youtube-player/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/youtube-player/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + }, + "dependencies": { + "@adobe/css-tools": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.0.2.tgz", + "integrity": "sha512-Fx6tYjk2wKUgLi8uMANZr8GNZx05u44ArIJldn9VxLvolzlJVgHbTUCbwhMd6bcYky178+WUSxPHO3DAtGLWpw==" + }, + "@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "requires": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "requires": { + "@babel/highlight": "^7.18.6" + } + }, + "@babel/compat-data": { + "version": "7.20.10", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.10.tgz", + "integrity": "sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==" + }, + "@babel/core": { + "version": "7.20.12", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.12.tgz", + "integrity": "sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==", + "requires": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.7", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helpers": "^7.20.7", + "@babel/parser": "^7.20.7", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.12", + "@babel/types": "^7.20.7", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "@babel/eslint-parser": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.19.1.tgz", + "integrity": "sha512-AqNf2QWt1rtu2/1rLswy6CDP7H9Oh3mMhk177Y67Rg8d7RD9WfOLLv8CGn6tisFvS2htm86yIe1yLF6I1UDaGQ==", + "requires": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "@babel/generator": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.7.tgz", + "integrity": "sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==", + "requires": { + "@babel/types": "^7.20.7", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", + "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", + "requires": { + "@babel/helper-explode-assignable-expression": "^7.18.6", + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", + "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", + "requires": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.20.12", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.12.tgz", + "integrity": "sha512-9OunRkbT0JQcednL0UFvbfXpAsUXiGjUk0a7sN8fUXX7Mue79cUSMjHGDRRi/Vz9vYlpIhLV5fMD5dKoMhhsNQ==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-member-expression-to-functions": "^7.20.7", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-replace-supers": "^7.20.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/helper-split-export-declaration": "^7.18.6" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.20.5.tgz", + "integrity": "sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "regexpu-core": "^5.2.1" + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", + "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", + "requires": { + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==" + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", + "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-function-name": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "requires": { + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.20.7.tgz", + "integrity": "sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw==", + "requires": { + "@babel/types": "^7.20.7" + } + }, + "@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-module-transforms": { + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz", + "integrity": "sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==", + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.10", + "@babel/types": "^7.20.7" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", + "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==" + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", + "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-wrap-function": "^7.18.9", + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-replace-supers": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz", + "integrity": "sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==", + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.20.7", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.7", + "@babel/types": "^7.20.7" + } + }, + "@babel/helper-simple-access": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "requires": { + "@babel/types": "^7.20.2" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", + "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", + "requires": { + "@babel/types": "^7.20.0" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==" + }, + "@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" + }, + "@babel/helper-validator-option": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==" + }, + "@babel/helper-wrap-function": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz", + "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==", + "requires": { + "@babel/helper-function-name": "^7.19.0", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5" + } + }, + "@babel/helpers": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.7.tgz", + "integrity": "sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA==", + "requires": { + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.7", + "@babel/types": "^7.20.7" + } + }, + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.7.tgz", + "integrity": "sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==" + }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", + "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz", + "integrity": "sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-proposal-optional-chaining": "^7.20.7" + } + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", + "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==", + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-class-static-block": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.20.7.tgz", + "integrity": "sha512-AveGOoi9DAjUYYuUAG//Ig69GlazLnoyzMw68VCDux+c1tsnnH/OkYcpz/5xzMkEFC6UxjR5Gw1c+iY2wOGVeQ==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-proposal-decorators": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.20.7.tgz", + "integrity": "sha512-JB45hbUweYpwAGjkiM7uCyXMENH2lG+9r3G2E+ttc2PRXAoEkpfd/KW5jDg4j8RS6tLtTG1jZi9LbHZVSfs1/A==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-replace-supers": "^7.20.7", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/plugin-syntax-decorators": "^7.19.0" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", + "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", + "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", + "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz", + "integrity": "sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==", + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", + "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", + "requires": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.20.7" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", + "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.20.7.tgz", + "integrity": "sha512-T+A7b1kfjtRM51ssoOfS1+wbyCVqorfyZhT99TvxxLMirPShD8CzKMRepMlCBGM5RpHMbn8s+5MMHnPstJH6mQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.20.5.tgz", + "integrity": "sha512-Vq7b9dUA12ByzB4EjQTPo25sFhY+08pQDBSZRtUAkj7lb7jahaHR5igera16QZ+3my1nYR4dKsNdYj5IjPHilQ==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", + "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-decorators": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.19.0.tgz", + "integrity": "sha512-xaBZUEDntt4faL1yN8oIFlhfXeQAWJW7CLKYsHTUqriCUbj8xOra8bfxxKGi/UwExPFBuPdH4XfHc9rGQhrVkQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.19.0" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-flow": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.18.6.tgz", + "integrity": "sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-syntax-import-assertions": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", + "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.19.0" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", + "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz", + "integrity": "sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.19.0" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz", + "integrity": "sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz", + "integrity": "sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==", + "requires": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", + "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.11.tgz", + "integrity": "sha512-tA4N427a7fjf1P0/2I4ScsHGc5jcHPbb30xMbaTke2gxDuWpUfXDuX1FEymJwKk4tuGUvGcejAR6HdZVqmmPyw==", + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.7.tgz", + "integrity": "sha512-LWYbsiXTPKl+oBlXUGlwNlJZetXD5Am+CyBdqhPsDVjM9Jc8jwBJFrKhHf900Kfk2eZG1y9MAG3UNajol7A4VQ==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-replace-supers": "^7.20.7", + "@babel/helper-split-export-declaration": "^7.18.6", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz", + "integrity": "sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/template": "^7.20.7" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.7.tgz", + "integrity": "sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==", + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", + "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", + "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", + "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-flow-strip-types": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.19.0.tgz", + "integrity": "sha512-sgeMlNaQVbCSpgLSKP4ZZKfsJVnFnNQlUSk6gPYzR/q7tzCgQF2t8RBKAP6cKJeZdveei7Q7Jm527xepI8lNLg==", + "requires": { + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/plugin-syntax-flow": "^7.18.6" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", + "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", + "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", + "requires": { + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", + "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", + "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz", + "integrity": "sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==", + "requires": { + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.20.11.tgz", + "integrity": "sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw==", + "requires": { + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-simple-access": "^7.20.2" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz", + "integrity": "sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==", + "requires": { + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-validator-identifier": "^7.19.1" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", + "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", + "requires": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz", + "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", + "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", + "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.6" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.7.tgz", + "integrity": "sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==", + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", + "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-react-constant-elements": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.20.2.tgz", + "integrity": "sha512-KS/G8YI8uwMGKErLFOHS/ekhqdHhpEloxs43NecQHVgo2QuQSyJhGIY1fL8UGl9wy5ItVwwoUL4YxVqsplGq2g==", + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-react-display-name": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.18.6.tgz", + "integrity": "sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-react-jsx": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.20.7.tgz", + "integrity": "sha512-Tfq7qqD+tRj3EoDhY00nn2uP2hsRxgYGi5mLQ5TimKav0a9Lrpd4deE+fcLXU8zFYRjlKPHZhpCvfEA6qnBxqQ==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-jsx": "^7.18.6", + "@babel/types": "^7.20.7" + } + }, + "@babel/plugin-transform-react-jsx-development": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz", + "integrity": "sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==", + "requires": { + "@babel/plugin-transform-react-jsx": "^7.18.6" + } + }, + "@babel/plugin-transform-react-pure-annotations": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.6.tgz", + "integrity": "sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz", + "integrity": "sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "regenerator-transform": "^0.15.1" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", + "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.6.tgz", + "integrity": "sha512-PRH37lz4JU156lYFW1p8OxE5i7d6Sl/zV58ooyr+q1J1lnQPyg5tIiXlIwNVhJaY4W3TmOtdc8jqdXQcB1v5Yw==", + "requires": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.19.0", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", + "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz", + "integrity": "sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==", + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", + "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", + "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", + "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-typescript": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.20.7.tgz", + "integrity": "sha512-m3wVKEvf6SoszD8pu4NZz3PvfKRCMgk6D6d0Qi9hNnlM5M6CFS92EgF4EiHVLKbU0r/r7ty1hg7NPZwE7WRbYw==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-typescript": "^7.20.0" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", + "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", + "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/preset-env": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.20.2.tgz", + "integrity": "sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==", + "requires": { + "@babel/compat-data": "^7.20.1", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-async-generator-functions": "^7.20.1", + "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/plugin-proposal-class-static-block": "^7.18.6", + "@babel/plugin-proposal-dynamic-import": "^7.18.6", + "@babel/plugin-proposal-export-namespace-from": "^7.18.9", + "@babel/plugin-proposal-json-strings": "^7.18.6", + "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", + "@babel/plugin-proposal-numeric-separator": "^7.18.6", + "@babel/plugin-proposal-object-rest-spread": "^7.20.2", + "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", + "@babel/plugin-proposal-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-private-methods": "^7.18.6", + "@babel/plugin-proposal-private-property-in-object": "^7.18.6", + "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.20.0", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.18.6", + "@babel/plugin-transform-async-to-generator": "^7.18.6", + "@babel/plugin-transform-block-scoped-functions": "^7.18.6", + "@babel/plugin-transform-block-scoping": "^7.20.2", + "@babel/plugin-transform-classes": "^7.20.2", + "@babel/plugin-transform-computed-properties": "^7.18.9", + "@babel/plugin-transform-destructuring": "^7.20.2", + "@babel/plugin-transform-dotall-regex": "^7.18.6", + "@babel/plugin-transform-duplicate-keys": "^7.18.9", + "@babel/plugin-transform-exponentiation-operator": "^7.18.6", + "@babel/plugin-transform-for-of": "^7.18.8", + "@babel/plugin-transform-function-name": "^7.18.9", + "@babel/plugin-transform-literals": "^7.18.9", + "@babel/plugin-transform-member-expression-literals": "^7.18.6", + "@babel/plugin-transform-modules-amd": "^7.19.6", + "@babel/plugin-transform-modules-commonjs": "^7.19.6", + "@babel/plugin-transform-modules-systemjs": "^7.19.6", + "@babel/plugin-transform-modules-umd": "^7.18.6", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", + "@babel/plugin-transform-new-target": "^7.18.6", + "@babel/plugin-transform-object-super": "^7.18.6", + "@babel/plugin-transform-parameters": "^7.20.1", + "@babel/plugin-transform-property-literals": "^7.18.6", + "@babel/plugin-transform-regenerator": "^7.18.6", + "@babel/plugin-transform-reserved-words": "^7.18.6", + "@babel/plugin-transform-shorthand-properties": "^7.18.6", + "@babel/plugin-transform-spread": "^7.19.0", + "@babel/plugin-transform-sticky-regex": "^7.18.6", + "@babel/plugin-transform-template-literals": "^7.18.9", + "@babel/plugin-transform-typeof-symbol": "^7.18.9", + "@babel/plugin-transform-unicode-escapes": "^7.18.10", + "@babel/plugin-transform-unicode-regex": "^7.18.6", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.20.2", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "core-js-compat": "^3.25.1", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/preset-react": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.18.6.tgz", + "integrity": "sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-transform-react-display-name": "^7.18.6", + "@babel/plugin-transform-react-jsx": "^7.18.6", + "@babel/plugin-transform-react-jsx-development": "^7.18.6", + "@babel/plugin-transform-react-pure-annotations": "^7.18.6" + } + }, + "@babel/preset-typescript": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz", + "integrity": "sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-transform-typescript": "^7.18.6" + } + }, + "@babel/runtime": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.7.tgz", + "integrity": "sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==", + "requires": { + "regenerator-runtime": "^0.13.11" + } + }, + "@babel/template": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" + } + }, + "@babel/traverse": { + "version": "7.20.12", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.12.tgz", + "integrity": "sha512-MsIbFN0u+raeja38qboyF8TIT7K0BFzz/Yd/77ta4MsUsmP2RAnidIlwq7d5HFQrH/OZJecGV6B71C4zAgpoSQ==", + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.7", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz", + "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==", + "requires": { + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + } + }, + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" + }, + "@csstools/normalize.css": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.0.0.tgz", + "integrity": "sha512-M0qqxAcwCsIVfpFQSlGN5XjXWu8l5JDZN+fPt1LeW5SZexQTgnaEvgXAY+CeygRw0EeppWHi12JxESWiWrB0Sg==" + }, + "@csstools/postcss-cascade-layers": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz", + "integrity": "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==", + "requires": { + "@csstools/selector-specificity": "^2.0.2", + "postcss-selector-parser": "^6.0.10" + } + }, + "@csstools/postcss-color-function": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz", + "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==", + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-font-format-keywords": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz", + "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-hwb-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz", + "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-ic-unit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz", + "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==", + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-is-pseudo-class": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz", + "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==", + "requires": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + } + }, + "@csstools/postcss-nested-calc": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz", + "integrity": "sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-normalize-display-values": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", + "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-oklab-function": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz", + "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==", + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-progressive-custom-properties": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", + "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-stepped-value-functions": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz", + "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-text-decoration-shorthand": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz", + "integrity": "sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-trigonometric-functions": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz", + "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-unset-value": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", + "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==", + "requires": {} + }, + "@csstools/selector-specificity": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz", + "integrity": "sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==", + "requires": {} + }, + "@eslint/eslintrc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz", + "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==", + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.4.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "globals": { + "version": "13.19.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", + "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", + "requires": { + "type-fest": "^0.20.2" + } + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "requires": { + "argparse": "^2.0.1" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" + } + } + }, + "@floating-ui/core": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.1.0.tgz", + "integrity": "sha512-zbsLwtnHo84w1Kc8rScAo5GMk1GdecSlrflIbfnEBJwvTSj1SL6kkOYV+nHraMCPEy+RNZZUaZyL8JosDGCtGQ==" + }, + "@floating-ui/dom": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.1.0.tgz", + "integrity": "sha512-TSogMPVxbRe77QCj1dt8NmRiJasPvuc+eT5jnJ6YpLqgOD2zXc5UA3S1qwybN+GVCDNdKfpKy1oj8RpzLJvh6A==", + "requires": { + "@floating-ui/core": "^1.0.5" + } + }, + "@gar/promisify": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==" + }, + "@humanwhocodes/config-array": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", + "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==" + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" + }, + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "requires": { + "p-limit": "^2.2.0" + } + } + } + }, + "@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==" + }, + "@jest/console": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", + "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/core": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", + "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", + "requires": { + "@jest/console": "^27.5.1", + "@jest/reporters": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^27.5.1", + "jest-config": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-resolve-dependencies": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "jest-watcher": "^27.5.1", + "micromatch": "^4.0.4", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/environment": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", + "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", + "requires": { + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1" + } + }, + "@jest/expect-utils": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.3.1.tgz", + "integrity": "sha512-wlrznINZI5sMjwvUoLVk617ll/UYfGIZNxmbU+Pa7wmkL4vYzhV9R2pwVqUh4NWWuLQWkI8+8mOkxs//prKQ3g==", + "requires": { + "jest-get-type": "^29.2.0" + }, + "dependencies": { + "jest-get-type": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz", + "integrity": "sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==" + } + } + }, + "@jest/fake-timers": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", + "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", + "requires": { + "@jest/types": "^27.5.1", + "@sinonjs/fake-timers": "^8.0.1", + "@types/node": "*", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + } + }, + "@jest/globals": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", + "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", + "requires": { + "@jest/environment": "^27.5.1", + "@jest/types": "^27.5.1", + "expect": "^27.5.1" + } + }, + "@jest/reporters": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", + "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-haste-map": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^8.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/schemas": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", + "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", + "requires": { + "@sinclair/typebox": "^0.24.1" + } + }, + "@jest/source-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", + "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "@jest/test-result": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "requires": { + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/test-sequencer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", + "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", + "requires": { + "@jest/test-result": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-runtime": "^27.5.1" + } + }, + "@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "requires": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==" + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" + }, + "@jridgewell/source-map": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", + "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" + }, + "@jridgewell/trace-mapping": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "requires": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "@leichtgewicht/ip-codec": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", + "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" + }, + "@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "requires": { + "eslint-scope": "5.1.1" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + } + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@npmcli/fs": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", + "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", + "requires": { + "@gar/promisify": "^1.0.1", + "semver": "^7.3.5" + } + }, + "@npmcli/move-file": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", + "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", + "requires": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "dependencies": { + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" + } + } + }, + "@pmmmwh/react-refresh-webpack-plugin": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.10.tgz", + "integrity": "sha512-j0Ya0hCFZPd4x40qLzbhGsh9TMtdb+CJQiso+WxLOPNasohq9cc5SNUcwsZaRH6++Xh91Xkm/xHCkuIiIu0LUA==", + "requires": { + "ansi-html-community": "^0.0.8", + "common-path-prefix": "^3.0.0", + "core-js-pure": "^3.23.3", + "error-stack-parser": "^2.0.6", + "find-up": "^5.0.0", + "html-entities": "^2.1.0", + "loader-utils": "^2.0.4", + "schema-utils": "^3.0.0", + "source-map": "^0.7.3" + } + }, + "@remix-run/router": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.2.1.tgz", + "integrity": "sha512-XiY0IsyHR+DXYS5vBxpoBe/8veTeoRpMHP+vDosLZxL5bnpetzI0igkxkLZS235ldLzyfkxF+2divEwWHP3vMQ==" + }, + "@rollup/plugin-babel": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", + "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "requires": { + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" + } + }, + "@rollup/plugin-node-resolve": { + "version": "11.2.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", + "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", + "requires": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.19.0" + } + }, + "@rollup/plugin-replace": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", + "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", + "requires": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + } + }, + "@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "requires": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "dependencies": { + "@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" + } + } + }, + "@rushstack/eslint-patch": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz", + "integrity": "sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==" + }, + "@sinclair/typebox": { + "version": "0.24.51", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", + "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==" + }, + "@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", + "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@surma/rollup-plugin-off-main-thread": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", + "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", + "requires": { + "ejs": "^3.1.6", + "json5": "^2.2.0", + "magic-string": "^0.25.0", + "string.prototype.matchall": "^4.0.6" + } + }, + "@svgr/babel-plugin-add-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==" + }, + "@svgr/babel-plugin-remove-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==" + }, + "@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", + "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==" + }, + "@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", + "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==" + }, + "@svgr/babel-plugin-svg-dynamic-title": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", + "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==" + }, + "@svgr/babel-plugin-svg-em-dimensions": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", + "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==" + }, + "@svgr/babel-plugin-transform-react-native-svg": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", + "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==" + }, + "@svgr/babel-plugin-transform-svg-component": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", + "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==" + }, + "@svgr/babel-preset": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", + "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", + "requires": { + "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", + "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", + "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", + "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", + "@svgr/babel-plugin-transform-svg-component": "^5.5.0" + } + }, + "@svgr/core": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", + "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", + "requires": { + "@svgr/plugin-jsx": "^5.5.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.0" + } + }, + "@svgr/hast-util-to-babel-ast": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", + "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", + "requires": { + "@babel/types": "^7.12.6" + } + }, + "@svgr/plugin-jsx": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", + "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", + "requires": { + "@babel/core": "^7.12.3", + "@svgr/babel-preset": "^5.5.0", + "@svgr/hast-util-to-babel-ast": "^5.5.0", + "svg-parser": "^2.0.2" + } + }, + "@svgr/plugin-svgo": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", + "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", + "requires": { + "cosmiconfig": "^7.0.0", + "deepmerge": "^4.2.2", + "svgo": "^1.2.2" + } + }, + "@svgr/webpack": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", + "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", + "requires": { + "@babel/core": "^7.12.3", + "@babel/plugin-transform-react-constant-elements": "^7.12.1", + "@babel/preset-env": "^7.12.1", + "@babel/preset-react": "^7.12.5", + "@svgr/core": "^5.5.0", + "@svgr/plugin-jsx": "^5.5.0", + "@svgr/plugin-svgo": "^5.5.0", + "loader-utils": "^2.0.0" + } + }, + "@tanstack/query-core": { + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.22.0.tgz", + "integrity": "sha512-OeLyBKBQoT265f5G9biReijeP8mBxNFwY7ZUu1dKL+YzqpG5q5z7J/N1eT8aWyKuhyDTiUHuKm5l+oIVzbtrjw==" + }, + "@tanstack/react-query": { + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-4.22.0.tgz", + "integrity": "sha512-P9o+HjG42uB/xHR6dMsJaPhtZydSe4v0xdG5G/cEj1oHZAXelMlm67/rYJNQGKgBamKElKogj+HYGF+NY2yHYg==", + "requires": { + "@tanstack/query-core": "4.22.0", + "use-sync-external-store": "^1.2.0" + } + }, + "@testing-library/dom": { + "version": "8.19.1", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.19.1.tgz", + "integrity": "sha512-P6iIPyYQ+qH8CvGauAqanhVnjrnRe0IZFSYCeGkSRW9q3u8bdVn2NPI+lasFyVsEQn1J/IFmp5Aax41+dAP9wg==", + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "^5.0.0", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.4.4", + "pretty-format": "^27.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@testing-library/jest-dom": { + "version": "5.16.5", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.16.5.tgz", + "integrity": "sha512-N5ixQ2qKpi5OLYfwQmUb/5mSV9LneAcaUfp32pn4yCnpb8r/Yz0pXFPck21dIicKmi+ta5WRAknkZCfA8refMA==", + "requires": { + "@adobe/css-tools": "^4.0.1", + "@babel/runtime": "^7.9.2", + "@types/testing-library__jest-dom": "^5.9.1", + "aria-query": "^5.0.0", + "chalk": "^3.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.5.6", + "lodash": "^4.17.15", + "redent": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@testing-library/react": { + "version": "13.4.0", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-13.4.0.tgz", + "integrity": "sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw==", + "requires": { + "@babel/runtime": "^7.12.5", + "@testing-library/dom": "^8.5.0", + "@types/react-dom": "^18.0.0" + } + }, + "@testing-library/user-event": { + "version": "13.5.0", + "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-13.5.0.tgz", + "integrity": "sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==", + "requires": { + "@babel/runtime": "^7.12.5" + } + }, + "@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" + }, + "@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==" + }, + "@types/aria-query": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.1.tgz", + "integrity": "sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==" + }, + "@types/babel__core": { + "version": "7.1.20", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.20.tgz", + "integrity": "sha512-PVb6Bg2QuscZ30FvOU7z4guG6c926D9YRvOxEaelzndpMsvP+YM74Q/dAFASpg2l6+XLalxSGxcq/lrgYWZtyQ==", + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.3.tgz", + "integrity": "sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w==", + "requires": { + "@babel/types": "^7.3.0" + } + }, + "@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "requires": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "@types/bonjour": { + "version": "3.5.10", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", + "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", + "requires": { + "@types/node": "*" + } + }, + "@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "requires": { + "@types/node": "*" + } + }, + "@types/connect-history-api-fallback": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", + "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", + "requires": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "@types/eslint": { + "version": "8.4.10", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.10.tgz", + "integrity": "sha512-Sl/HOqN8NKPmhWo2VBEPm0nvHnu2LL3v9vKo8MEq0EtbJ4eVzGPl41VNPvn5E1i5poMk4/XD8UriLHpJvEP/Nw==", + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", + "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==" + }, + "@types/express": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.15.tgz", + "integrity": "sha512-Yv0k4bXGOH+8a+7bELd2PqHQsuiANB+A8a4gnQrkRWzrkKlb6KHaVvyXhqs04sVW/OWlbPyYxRgYlIXLfrufMQ==", + "requires": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.31", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "@types/express-serve-static-core": { + "version": "4.17.32", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.32.tgz", + "integrity": "sha512-aI5h/VOkxOF2Z1saPy0Zsxs5avets/iaiAJYznQFm5By/pamU31xWKL//epiF4OfUA2qTOc9PV6tCUjhO8wlZA==", + "requires": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "@types/graceful-fs": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", + "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", + "requires": { + "@types/node": "*" + } + }, + "@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" + }, + "@types/http-proxy": { + "version": "1.17.9", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.9.tgz", + "integrity": "sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==", + "requires": { + "@types/node": "*" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/jest": { + "version": "29.2.5", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.2.5.tgz", + "integrity": "sha512-H2cSxkKgVmqNHXP7TC2L/WUorrZu8ZigyRywfVzv6EyBlxj39n4C00hjXYQWsbwqgElaj/CiAeSRmk5GoaKTgw==", + "requires": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + }, + "dependencies": { + "@jest/schemas": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz", + "integrity": "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==", + "requires": { + "@sinclair/typebox": "^0.24.1" + } + }, + "@jest/types": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.3.1.tgz", + "integrity": "sha512-d0S0jmmTpjnhCmNpApgX3jrUZgZ22ivKJRvL2lli5hpCRoNnp1f85r2/wpKfXuYu8E7Jjh1hGfhPyup1NM5AmA==", + "requires": { + "@jest/schemas": "^29.0.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "17.0.19", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.19.tgz", + "integrity": "sha512-cAx3qamwaYX9R0fzOIZAlFpo4A+1uBVCxqpKz9D26uTF4srRXaGTTsikQmaotCtNdbhzyUH7ft6p9ktz9s6UNQ==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "diff-sequences": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.3.1.tgz", + "integrity": "sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ==" + }, + "expect": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.3.1.tgz", + "integrity": "sha512-gGb1yTgU30Q0O/tQq+z30KBWv24ApkMgFUpvKBkyLUBL68Wv8dHdJxTBZFl/iT8K/bqDHvUYRH6IIN3rToopPA==", + "requires": { + "@jest/expect-utils": "^29.3.1", + "jest-get-type": "^29.2.0", + "jest-matcher-utils": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-util": "^29.3.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "jest-diff": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.3.1.tgz", + "integrity": "sha512-vU8vyiO7568tmin2lA3r2DP8oRvzhvRcD4DjpXc6uGveQodyk7CKLhQlCSiwgx3g0pFaE88/KLZ0yaTWMc4Uiw==", + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^29.3.1", + "jest-get-type": "^29.2.0", + "pretty-format": "^29.3.1" + } + }, + "jest-get-type": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz", + "integrity": "sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==" + }, + "jest-matcher-utils": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.3.1.tgz", + "integrity": "sha512-fkRMZUAScup3txIKfMe3AIZZmPEjWEdsPJFK3AIy5qRohWqQFg1qrmKfYXR9qEkNc7OdAu2N4KPHibEmy4HPeQ==", + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^29.3.1", + "jest-get-type": "^29.2.0", + "pretty-format": "^29.3.1" + } + }, + "jest-message-util": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.3.1.tgz", + "integrity": "sha512-lMJTbgNcDm5z+6KDxWtqOFWlGQxD6XaYwBqHR8kmpkP+WWWG90I35kdtQHY67Ay5CSuydkTBbJG+tH9JShFCyA==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.3.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.3.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-util": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.3.1.tgz", + "integrity": "sha512-7YOVZaiX7RJLv76ZfHt4nbNEzzTRiMW/IiOG7ZOKmTXmoGBxUDefgMAxQubu6WPVqP5zSzAdZG0FfLcC7HOIFQ==", + "requires": { + "@jest/types": "^29.3.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "pretty-format": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.3.1.tgz", + "integrity": "sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==", + "requires": { + "@jest/schemas": "^29.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" + } + } + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==" + }, + "@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" + }, + "@types/mime": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz", + "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==" + }, + "@types/minimist": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==" + }, + "@types/node": { + "version": "18.11.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz", + "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==" + }, + "@types/normalize-package-data": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==" + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + }, + "@types/prettier": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.2.tgz", + "integrity": "sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==" + }, + "@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" + }, + "@types/q": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", + "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==" + }, + "@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" + }, + "@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" + }, + "@types/react": { + "version": "18.0.26", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.26.tgz", + "integrity": "sha512-hCR3PJQsAIXyxhTNSiDFY//LhnMZWpNNr5etoCqx/iUfGc5gXWtQR2Phl908jVR6uPXacojQWTg4qRpkxTuGug==", + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "@types/react-dom": { + "version": "18.0.10", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.10.tgz", + "integrity": "sha512-E42GW/JA4Qv15wQdqJq8DL4JhNpB3prJgjgapN3qJT9K2zO5IIAQh4VXvCEDupoqAwnz0cY4RlXeC/ajX5SFHg==", + "requires": { + "@types/react": "*" + } + }, + "@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "requires": { + "@types/node": "*" + } + }, + "@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" + }, + "@types/scheduler": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", + "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" + }, + "@types/semver": { + "version": "7.3.13", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", + "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==" + }, + "@types/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", + "requires": { + "@types/express": "*" + } + }, + "@types/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==", + "requires": { + "@types/mime": "*", + "@types/node": "*" + } + }, + "@types/sockjs": { + "version": "0.3.33", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", + "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", + "requires": { + "@types/node": "*" + } + }, + "@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" + }, + "@types/testing-library__jest-dom": { + "version": "5.14.5", + "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.5.tgz", + "integrity": "sha512-SBwbxYoyPIvxHbeHxTZX2Pe/74F/tX2/D3mMvzabdeJ25bBojfW0TyB8BHrbq/9zaaKICJZjLP+8r6AeZMFCuQ==", + "requires": { + "@types/jest": "*" + } + }, + "@types/trusted-types": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.2.tgz", + "integrity": "sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg==" + }, + "@types/ws": { + "version": "8.5.4", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.4.tgz", + "integrity": "sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==", + "requires": { + "@types/node": "*" + } + }, + "@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.48.1.tgz", + "integrity": "sha512-9nY5K1Rp2ppmpb9s9S2aBiF3xo5uExCehMDmYmmFqqyxgenbHJ3qbarcLt4ITgaD6r/2ypdlcFRdcuVPnks+fQ==", + "requires": { + "@typescript-eslint/scope-manager": "5.48.1", + "@typescript-eslint/type-utils": "5.48.1", + "@typescript-eslint/utils": "5.48.1", + "debug": "^4.3.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "regexpp": "^3.2.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/experimental-utils": { + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.48.1.tgz", + "integrity": "sha512-8OoIZZuOeqsm5cxn2f01qHWtVC3M4iixSsfZXPiQUg4Sl4LiU+b5epcJFwxNfqeoLl+SGncELyi3x99zI6C0ng==", + "requires": { + "@typescript-eslint/utils": "5.48.1" + } + }, + "@typescript-eslint/parser": { + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.48.1.tgz", + "integrity": "sha512-4yg+FJR/V1M9Xoq56SF9Iygqm+r5LMXvheo6DQ7/yUWynQ4YfCRnsKuRgqH4EQ5Ya76rVwlEpw4Xu+TgWQUcdA==", + "requires": { + "@typescript-eslint/scope-manager": "5.48.1", + "@typescript-eslint/types": "5.48.1", + "@typescript-eslint/typescript-estree": "5.48.1", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.48.1.tgz", + "integrity": "sha512-S035ueRrbxRMKvSTv9vJKIWgr86BD8s3RqoRZmsSh/s8HhIs90g6UlK8ZabUSjUZQkhVxt7nmZ63VJ9dcZhtDQ==", + "requires": { + "@typescript-eslint/types": "5.48.1", + "@typescript-eslint/visitor-keys": "5.48.1" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.48.1.tgz", + "integrity": "sha512-Hyr8HU8Alcuva1ppmqSYtM/Gp0q4JOp1F+/JH5D1IZm/bUBrV0edoewQZiEc1r6I8L4JL21broddxK8HAcZiqQ==", + "requires": { + "@typescript-eslint/typescript-estree": "5.48.1", + "@typescript-eslint/utils": "5.48.1", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.48.1.tgz", + "integrity": "sha512-xHyDLU6MSuEEdIlzrrAerCGS3T7AA/L8Hggd0RCYBi0w3JMvGYxlLlXHeg50JI9Tfg5MrtsfuNxbS/3zF1/ATg==" + }, + "@typescript-eslint/typescript-estree": { + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.1.tgz", + "integrity": "sha512-Hut+Osk5FYr+sgFh8J/FHjqX6HFcDzTlWLrFqGoK5kVUN3VBHF/QzZmAsIXCQ8T/W9nQNBTqalxi1P3LSqWnRA==", + "requires": { + "@typescript-eslint/types": "5.48.1", + "@typescript-eslint/visitor-keys": "5.48.1", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.48.1.tgz", + "integrity": "sha512-SmQuSrCGUOdmGMwivW14Z0Lj8dxG1mOFZ7soeJ0TQZEJcs3n5Ndgkg0A4bcMFzBELqLJ6GTHnEU+iIoaD6hFGA==", + "requires": { + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.48.1", + "@typescript-eslint/types": "5.48.1", + "@typescript-eslint/typescript-estree": "5.48.1", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0", + "semver": "^7.3.7" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + } + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.1.tgz", + "integrity": "sha512-Ns0XBwmfuX7ZknznfXozgnydyR8F6ev/KEGePP4i74uL3ArsKbEhJ7raeKr1JSa997DBDwol/4a0Y+At82c9dA==", + "requires": { + "@typescript-eslint/types": "5.48.1", + "eslint-visitor-keys": "^3.3.0" + } + }, + "@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "requires": { + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==" + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==" + }, + "@webassemblyjs/helper-buffer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==" + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==" + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==" + }, + "@webassemblyjs/wasm-edit": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + }, + "abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + } + }, + "acorn": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", + "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==" + }, + "acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" + } + } + }, + "acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "requires": {} + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "requires": {} + }, + "acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "requires": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" + } + } + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" + }, + "address": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==" + }, + "adjust-sourcemap-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", + "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", + "requires": { + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" + } + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "requires": { + "debug": "4" + } + }, + "agentkeepalive": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz", + "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==", + "requires": { + "debug": "^4.1.0", + "depd": "^1.1.2", + "humanize-ms": "^1.2.1" + }, + "dependencies": { + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==" + } + } + }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "requires": { + "ajv": "^8.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + } + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "requires": {} + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "requires": { + "type-fest": "^0.21.3" + } + }, + "ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==" + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==" + }, + "are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + } + }, + "arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "aria-query": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "requires": { + "deep-equal": "^2.0.5" + } + }, + "array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" + }, + "array-includes": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" + } + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" + }, + "array.prototype.flat": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", + "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.flatmap": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", + "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.reduce": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.5.tgz", + "integrity": "sha512-kDdugMl7id9COE8R7MHF5jWk7Dqt/fs4Pv+JXoICnYwqpjjjbUurz6w5fT5IG6brLdJhv6/VoHB0H7oyIBXd+Q==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" + } + }, + "array.prototype.tosorted": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", + "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.1.3" + } + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==" + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, + "asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==" + }, + "ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==" + }, + "async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" + }, + "async-foreach": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", + "integrity": "sha512-VUeSMD8nEGBWaZK4lizI1sf3yEC7pnAQ/mrI7pC2fBz2s/tq5jWWEngTwaf0Gruu/OoXRGLGg1XFqpYBiGTYJA==" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" + }, + "autoprefixer": { + "version": "10.4.13", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz", + "integrity": "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==", + "requires": { + "browserslist": "^4.21.4", + "caniuse-lite": "^1.0.30001426", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + } + }, + "available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==" + }, + "aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" + }, + "axe-core": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.6.2.tgz", + "integrity": "sha512-b1WlTV8+XKLj9gZy2DZXgQiyDp9xkkoe2a6U6UbYccScq2wgH/YwCeI2/Jq2mgo0HzQxqJOjWZBLeA/mqsk5Mg==" + }, + "axios": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.2.2.tgz", + "integrity": "sha512-bz/J4gS2S3I7mpN/YZfGFTqhXTYzRho8Ay38w2otuuDR322KzFIWm/4W2K6gIwvWaws5n+mnb7D1lN9uD+QH6Q==", + "requires": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + }, + "dependencies": { + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + } + } + }, + "axobject-query": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.1.1.tgz", + "integrity": "sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==", + "requires": { + "deep-equal": "^2.0.5" + } + }, + "babel-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", + "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", + "requires": { + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "babel-loader": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", + "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", + "requires": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "dependencies": { + "schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", + "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "requires": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + } + }, + "babel-plugin-named-asset-import": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz", + "integrity": "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==", + "requires": {} + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", + "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", + "requires": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.3", + "semver": "^6.1.1" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", + "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", + "requires": { + "@babel/helper-define-polyfill-provider": "^0.3.3", + "core-js-compat": "^3.25.1" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", + "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", + "requires": { + "@babel/helper-define-polyfill-provider": "^0.3.3" + } + }, + "babel-plugin-transform-react-remove-prop-types": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", + "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" + }, + "babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "requires": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + } + }, + "babel-preset-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", + "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", + "requires": { + "babel-plugin-jest-hoist": "^27.5.1", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "babel-preset-react-app": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz", + "integrity": "sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==", + "requires": { + "@babel/core": "^7.16.0", + "@babel/plugin-proposal-class-properties": "^7.16.0", + "@babel/plugin-proposal-decorators": "^7.16.4", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.0", + "@babel/plugin-proposal-numeric-separator": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.16.0", + "@babel/plugin-proposal-private-methods": "^7.16.0", + "@babel/plugin-transform-flow-strip-types": "^7.16.0", + "@babel/plugin-transform-react-display-name": "^7.16.0", + "@babel/plugin-transform-runtime": "^7.16.4", + "@babel/preset-env": "^7.16.4", + "@babel/preset-react": "^7.16.0", + "@babel/preset-typescript": "^7.16.0", + "@babel/runtime": "^7.16.3", + "babel-plugin-macros": "^3.1.0", + "babel-plugin-transform-react-remove-prop-types": "^0.4.24" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "bfj": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.0.2.tgz", + "integrity": "sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw==", + "requires": { + "bluebird": "^3.5.5", + "check-types": "^11.1.1", + "hoopy": "^0.1.4", + "tryer": "^1.0.1" + } + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "requires": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "dependencies": { + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "bonjour-service": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.0.tgz", + "integrity": "sha512-LVRinRB3k1/K0XzZ2p58COnWvkQknIY6sf0zF2rpErvcJXpMBttEPQSxK+HEXSS9VmpZlDoDnQWv8ftJT20B0Q==", + "requires": { + "array-flatten": "^2.1.2", + "dns-equal": "^1.0.0", + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" + }, + "browserslist": { + "version": "4.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "requires": { + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" + } + }, + "bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "requires": { + "node-int64": "^0.4.0" + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==" + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==" + }, + "cacache": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", + "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", + "requires": { + "@npmcli/fs": "^1.0.0", + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + }, + "camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "requires": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" + }, + "camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" + }, + "camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "requires": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + }, + "quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==" + } + } + }, + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "requires": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "caniuse-lite": { + "version": "1.0.30001445", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001445.tgz", + "integrity": "sha512-8sdQIdMztYmzfTMO6KfLny878Ln9c2M0fc7EH60IjlP4Dc4PiCy7K2Vl3ITmWgOyPgVQKa5x+UP/KqFsxj4mBg==" + }, + "case-sensitive-paths-webpack-plugin": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", + "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==" + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==" + }, + "check-types": { + "version": "11.2.2", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.2.2.tgz", + "integrity": "sha512-HBiYvXvn9Z70Z88XKjz3AEKd4HJhBXsa3j7xFnITAzoS8+q6eIGi8qDB8FKPBAjtuxjI/zFpwuiCb8oDtKOYrA==" + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" + }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" + }, + "ci-info": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.7.1.tgz", + "integrity": "sha512-4jYS4MOAaCIStSRwiuxc4B8MYhIe676yO1sYGzARnjXkWpmzZMMYxY6zu8WYWDhSuth5zhrQ1rhNSibyyvv4/w==" + }, + "cjs-module-lexer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", + "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==" + }, + "classnames": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz", + "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==" + }, + "clean-css": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.1.tgz", + "integrity": "sha512-lCr8OHhiWCTw4v8POJovCoh4T7I9U11yVsPjMWWnnMmp9ZowCxyad1Pathle/9HjaDp+fdQKjO9fQydE6RHTZg==", + "requires": { + "source-map": "~0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==" + }, + "coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "requires": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + } + }, + "collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==" + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==" + }, + "colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" + }, + "colorette": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==" + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" + }, + "common-path-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==" + }, + "common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==" + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "confusing-browser-globals": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==" + }, + "connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==" + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==" + }, + "content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "requires": { + "safe-buffer": "5.2.1" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, + "cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "core-js": { + "version": "3.27.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.27.1.tgz", + "integrity": "sha512-GutwJLBChfGCpwwhbYoqfv03LAfmiz7e7D/BNxzeMxwQf10GRSzqiOjx7AmtEk+heiD/JWmBuyBPgFtx0Sg1ww==" + }, + "core-js-compat": { + "version": "3.27.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.27.1.tgz", + "integrity": "sha512-Dg91JFeCDA17FKnneN7oCMz4BkQ4TcffkgHP4OWwp9yx3pi7ubqMDXXSacfNak1PQqjc95skyt+YBLHQJnkJwA==", + "requires": { + "browserslist": "^4.21.4" + } + }, + "core-js-pure": { + "version": "3.27.1", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.27.1.tgz", + "integrity": "sha512-BS2NHgwwUppfeoqOXqi08mUqS5FiZpuRuJJpKsaME7kJz0xxuk0xkhDdfMIlP/zLa80krBqss1LtD7f889heAw==" + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" + }, + "css-blank-pseudo": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", + "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", + "requires": { + "postcss-selector-parser": "^6.0.9" + } + }, + "css-declaration-sorter": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz", + "integrity": "sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w==", + "requires": {} + }, + "css-has-pseudo": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", + "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", + "requires": { + "postcss-selector-parser": "^6.0.9" + } + }, + "css-loader": { + "version": "6.7.3", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.3.tgz", + "integrity": "sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ==", + "requires": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.19", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.3.8" + } + }, + "css-mediaquery": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/css-mediaquery/-/css-mediaquery-0.1.2.tgz", + "integrity": "sha512-COtn4EROW5dBGlE/4PiKnh6rZpAPxDeFLaEEwt4i10jpDMFt2EhQGS79QmmrO+iKCHv0PU/HrOWEhijFd1x99Q==" + }, + "css-minimizer-webpack-plugin": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", + "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", + "requires": { + "cssnano": "^5.0.6", + "jest-worker": "^27.0.2", + "postcss": "^8.3.5", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "css-prefers-color-scheme": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", + "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", + "requires": {} + }, + "css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + } + }, + "css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" + }, + "css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "requires": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==" + }, + "css.escape": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", + "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==" + }, + "cssdb": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.2.1.tgz", + "integrity": "sha512-btohrCpVaLqOoMt90aumHe6HU4c06duiYA8ymwtpGfwuZAhWKDBve/c2k+E85Jeq5iojPkeonqiKV+aLeY8QlA==" + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" + }, + "cssnano": { + "version": "5.1.14", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.14.tgz", + "integrity": "sha512-Oou7ihiTocbKqi0J1bB+TRJIQX5RMR3JghA8hcWSw9mjBLQ5Y3RWqEDoYG3sRNlAbCIXpqMoZGbq5KDR3vdzgw==", + "requires": { + "cssnano-preset-default": "^5.2.13", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + } + }, + "cssnano-preset-default": { + "version": "5.2.13", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.13.tgz", + "integrity": "sha512-PX7sQ4Pb+UtOWuz8A1d+Rbi+WimBIxJTRyBdgGp1J75VU0r/HFQeLnMYgHiCAp6AR4rqrc7Y4R+1Rjk3KJz6DQ==", + "requires": { + "css-declaration-sorter": "^6.3.1", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.0", + "postcss-convert-values": "^5.1.3", + "postcss-discard-comments": "^5.1.2", + "postcss-discard-duplicates": "^5.1.0", + "postcss-discard-empty": "^5.1.1", + "postcss-discard-overridden": "^5.1.0", + "postcss-merge-longhand": "^5.1.7", + "postcss-merge-rules": "^5.1.3", + "postcss-minify-font-values": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.4", + "postcss-minify-selectors": "^5.2.1", + "postcss-normalize-charset": "^5.1.0", + "postcss-normalize-display-values": "^5.1.0", + "postcss-normalize-positions": "^5.1.1", + "postcss-normalize-repeat-style": "^5.1.1", + "postcss-normalize-string": "^5.1.0", + "postcss-normalize-timing-functions": "^5.1.0", + "postcss-normalize-unicode": "^5.1.1", + "postcss-normalize-url": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.3", + "postcss-reduce-initial": "^5.1.1", + "postcss-reduce-transforms": "^5.1.0", + "postcss-svgo": "^5.1.0", + "postcss-unique-selectors": "^5.1.1" + } + }, + "cssnano-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", + "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "requires": {} + }, + "csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "requires": { + "css-tree": "^1.1.2" + }, + "dependencies": { + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + }, + "cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "requires": { + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + } + } + }, + "csstype": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" + }, + "damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "requires": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + } + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" + }, + "decamelize-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", + "requires": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==" + } + } + }, + "decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" + }, + "dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" + }, + "deep-equal": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.0.tgz", + "integrity": "sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw==", + "requires": { + "call-bind": "^1.0.2", + "es-get-iterator": "^1.1.2", + "get-intrinsic": "^1.1.3", + "is-arguments": "^1.1.1", + "is-array-buffer": "^3.0.1", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "isarray": "^2.0.5", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + } + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" + }, + "default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "requires": { + "execa": "^5.0.0" + } + }, + "define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==" + }, + "define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "requires": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "defined": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", + "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==" + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==" + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + }, + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" + }, + "detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==" + }, + "detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + }, + "detect-port-alt": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", + "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "requires": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "detective": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", + "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", + "requires": { + "acorn-node": "^1.8.2", + "defined": "^1.0.0", + "minimist": "^1.2.6" + } + }, + "didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + }, + "diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==" + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "requires": { + "path-type": "^4.0.0" + } + }, + "dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" + }, + "dns-packet": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.4.0.tgz", + "integrity": "sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g==", + "requires": { + "@leichtgewicht/ip-codec": "^2.0.1" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-accessibility-api": { + "version": "0.5.15", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.15.tgz", + "integrity": "sha512-8o+oVqLQZoruQPYy3uAAQtc6YbtSiRq5aPJBhJ82YTJRHvI6ofhYAkC81WmjFTnfUbqg6T3aCglIpU9p/5e7Cw==" + }, + "dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "requires": { + "utila": "~0.4" + } + }, + "dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" + }, + "domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "requires": { + "webidl-conversions": "^5.0.0" + }, + "dependencies": { + "webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==" + } + } + }, + "domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==" + }, + "dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" + }, + "duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "ejs": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz", + "integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==", + "requires": { + "jake": "^10.8.5" + } + }, + "electron-to-chromium": { + "version": "1.4.284", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", + "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==" + }, + "emittery": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", + "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==" + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" + }, + "encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "optional": true, + "requires": { + "iconv-lite": "^0.6.2" + } + }, + "enhanced-resolve": { + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz", + "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==", + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + }, + "env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==" + }, + "err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "requires": { + "stackframe": "^1.3.4" + } + }, + "es-abstract": { + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.1.tgz", + "integrity": "sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg==", + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.1.3", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.4", + "is-array-buffer": "^3.0.1", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.10", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.2", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.9" + } + }, + "es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" + }, + "es-get-iterator": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "is-arguments": "^1.1.1", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.7", + "isarray": "^2.0.5", + "stop-iteration-iterator": "^1.0.0" + } + }, + "es-module-lexer": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==" + }, + "es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "requires": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + } + }, + "es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "requires": { + "has": "^1.0.3" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, + "escodegen": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", + "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "requires": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "optional": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "requires": { + "prelude-ls": "~1.1.2" + } + } + } + }, + "eslint": { + "version": "8.32.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.32.0.tgz", + "integrity": "sha512-nETVXpnthqKPFyuY2FNjz/bEd6nbosRgKbkgS/y1C7LJop96gYHWpiguLecMHQ2XCPxn77DS0P+68WzG6vkZSQ==", + "requires": { + "@eslint/eslintrc": "^1.4.1", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.1.1", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.4.0", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "regexpp": "^3.2.0", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + }, + "globals": { + "version": "13.19.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", + "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", + "requires": { + "type-fest": "^0.20.2" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "requires": { + "argparse": "^2.0.1" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" + } + } + }, + "eslint-config-react-app": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz", + "integrity": "sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==", + "requires": { + "@babel/core": "^7.16.0", + "@babel/eslint-parser": "^7.16.3", + "@rushstack/eslint-patch": "^1.1.0", + "@typescript-eslint/eslint-plugin": "^5.5.0", + "@typescript-eslint/parser": "^5.5.0", + "babel-preset-react-app": "^10.0.1", + "confusing-browser-globals": "^1.0.11", + "eslint-plugin-flowtype": "^8.0.3", + "eslint-plugin-import": "^2.25.3", + "eslint-plugin-jest": "^25.3.0", + "eslint-plugin-jsx-a11y": "^6.5.1", + "eslint-plugin-react": "^7.27.1", + "eslint-plugin-react-hooks": "^4.3.0", + "eslint-plugin-testing-library": "^5.0.1" + } + }, + "eslint-import-resolver-node": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", + "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", + "requires": { + "debug": "^3.2.7", + "is-core-module": "^2.11.0", + "resolve": "^1.22.1" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-module-utils": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", + "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==", + "requires": { + "debug": "^3.2.7" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-plugin-flowtype": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz", + "integrity": "sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==", + "requires": { + "lodash": "^4.17.21", + "string-natural-compare": "^3.0.1" + } + }, + "eslint-plugin-import": { + "version": "2.27.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.4.tgz", + "integrity": "sha512-Z1jVt1EGKia1X9CnBCkpAOhWy8FgQ7OmJ/IblEkT82yrFU/xJaxwujaTzLWqigewwynRQ9mmHfX9MtAfhxm0sA==", + "requires": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "array.prototype.flatmap": "^1.3.0", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.7", + "eslint-module-utils": "^2.7.4", + "has": "^1.0.3", + "is-core-module": "^2.11.0", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.values": "^1.1.6", + "resolve": "^1.22.1", + "semver": "^6.3.0", + "tsconfig-paths": "^3.14.1" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "requires": { + "esutils": "^2.0.2" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "eslint-plugin-jest": { + "version": "25.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", + "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", + "requires": { + "@typescript-eslint/experimental-utils": "^5.0.0" + } + }, + "eslint-plugin-jsx-a11y": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz", + "integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==", + "requires": { + "@babel/runtime": "^7.20.7", + "aria-query": "^5.1.3", + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "ast-types-flow": "^0.0.7", + "axe-core": "^4.6.2", + "axobject-query": "^3.1.1", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "has": "^1.0.3", + "jsx-ast-utils": "^3.3.3", + "language-tags": "=1.0.5", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "eslint-plugin-react": { + "version": "7.32.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.0.tgz", + "integrity": "sha512-vSBi1+SrPiLZCGvxpiZIa28fMEUaMjXtCplrvxcIxGzmFiYdsXQDwInEjuv5/i/2CTTxbkS87tE8lsQ0Qxinbw==", + "requires": { + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "array.prototype.tosorted": "^1.1.1", + "doctrine": "^2.1.0", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "object.hasown": "^1.1.2", + "object.values": "^1.1.6", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.4", + "semver": "^6.3.0", + "string.prototype.matchall": "^4.0.8" + }, + "dependencies": { + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "requires": { + "esutils": "^2.0.2" + } + }, + "resolve": { + "version": "2.0.0-next.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", + "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "eslint-plugin-react-hooks": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "requires": {} + }, + "eslint-plugin-testing-library": { + "version": "5.9.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.9.1.tgz", + "integrity": "sha512-6BQp3tmb79jLLasPHJmy8DnxREe+2Pgf7L+7o09TSWPfdqqtQfRZmZNetr5mOs3yqZk/MRNxpN3RUpJe0wB4LQ==", + "requires": { + "@typescript-eslint/utils": "^5.13.0" + } + }, + "eslint-scope": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "requires": { + "eslint-visitor-keys": "^2.0.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" + } + } + }, + "eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==" + }, + "eslint-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", + "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", + "requires": { + "@types/eslint": "^7.29.0 || ^8.4.1", + "jest-worker": "^28.0.2", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "jest-worker": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", + "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + } + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "espree": { + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", + "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.3.0" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" + }, + "estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" + }, + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==" + }, + "expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "requires": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + } + }, + "express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "requires": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==" + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" + }, + "fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "requires": { + "reusify": "^1.0.4" + } + }, + "faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "requires": { + "bser": "2.1.1" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "requires": { + "flat-cache": "^3.0.4" + } + }, + "file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "requires": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + } + }, + "filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "requires": { + "minimatch": "^5.0.1" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.4.tgz", + "integrity": "sha512-U0iNYXt9wALljzfnGkhFSy5sAC6/SCR3JrHrlsdJz4kF8MvhTRQNiC59iUi1iqsitV7abrNAJWElVL9pdnoUgw==", + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "filesize": { + "version": "8.0.7", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", + "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==" + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" + }, + "follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" + }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "requires": { + "is-callable": "^1.1.3" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==" + }, + "fork-ts-checker-webpack-plugin": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.2.tgz", + "integrity": "sha512-m5cUmF30xkZ7h4tWUgTAcEaKmUW7tfyUyTqNNOz7OxWJ0v1VWKTcOvH8FWHUwSjlW/356Ijc9vi3XfcPstpQKA==", + "requires": { + "@babel/code-frame": "^7.8.3", + "@types/json-schema": "^7.0.5", + "chalk": "^4.1.0", + "chokidar": "^3.4.2", + "cosmiconfig": "^6.0.0", + "deepmerge": "^4.2.2", + "fs-extra": "^9.0.0", + "glob": "^7.1.6", + "memfs": "^3.1.2", + "minimatch": "^3.0.4", + "schema-utils": "2.7.0", + "semver": "^7.3.2", + "tapable": "^1.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + } + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "requires": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" + } + } + }, + "form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" + }, + "fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==" + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" + }, + "fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "requires": { + "minipass": "^3.0.0" + } + }, + "fs-monkey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", + "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==" + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + } + }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==" + }, + "gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "requires": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + } + }, + "gaze": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", + "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", + "requires": { + "globule": "^1.0.0" + } + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + }, + "get-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, + "get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" + }, + "get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==" + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==" + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" + }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "requires": { + "is-glob": "^4.0.3" + } + }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + }, + "global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "requires": { + "global-prefix": "^3.0.0" + } + }, + "global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "dependencies": { + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + }, + "globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "requires": { + "define-properties": "^1.1.3" + } + }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "globule": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.4.tgz", + "integrity": "sha512-OPTIfhMBh7JbBYDpa5b+Q5ptmMWKwcNcFSR/0c6t8V4f3ZAVBEsKNY37QdVqmLRYSMhOUGYrY0QhSoEpzGr/Eg==", + "requires": { + "glob": "~7.1.1", + "lodash": "^4.17.21", + "minimatch": "~3.0.2" + }, + "dependencies": { + "glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "minimatch": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", + "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "requires": { + "get-intrinsic": "^1.1.3" + } + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + }, + "grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==" + }, + "gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "requires": { + "duplexer": "^0.1.2" + } + }, + "handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==" + }, + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + } + }, + "hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==" + }, + "harmony-reflect": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", + "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==" + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "requires": { + "has-symbols": "^1.0.2" + } + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==" + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" + }, + "hoopy": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", + "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==" + }, + "hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "requires": { + "lru-cache": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "requires": { + "whatwg-encoding": "^1.0.5" + } + }, + "html-entities": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", + "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==" + }, + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" + }, + "html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "requires": { + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + } + }, + "html-webpack-plugin": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz", + "integrity": "sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==", + "requires": { + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" + } + }, + "htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" + }, + "http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + } + }, + "http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" + }, + "http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "requires": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + } + }, + "http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "requires": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" + }, + "humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "requires": { + "ms": "^2.0.0" + } + }, + "hyphenate-style-name": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz", + "integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==" + }, + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + }, + "icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "requires": {} + }, + "idb": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", + "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" + }, + "identity-obj-proxy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", + "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", + "requires": { + "harmony-reflect": "^1.4.6" + } + }, + "ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==" + }, + "immer": { + "version": "9.0.18", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.18.tgz", + "integrity": "sha512-eAPNpsj7Ax1q6Y/3lm2PmlwRcFzpON7HSNQ3ru5WQH1/PSpnyed/HpNOELl2CxLKoj4r+bAHgdyKqW5gc2Se1A==" + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + } + } + }, + "import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" + }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "internal-slot": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.4.tgz", + "integrity": "sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==", + "requires": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "ip": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", + "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==" + }, + "ipaddr.js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", + "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==" + }, + "is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-array-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.1.tgz", + "integrity": "sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-typed-array": "^1.1.10" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" + }, + "is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "requires": { + "has": "^1.0.3" + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==" + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==" + }, + "is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==" + }, + "is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" + }, + "is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==" + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==" + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" + }, + "is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==" + }, + "is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==" + }, + "is-root": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", + "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==" + }, + "is-set": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==" + }, + "is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, + "is-weakmap": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==" + }, + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-weakset": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "requires": { + "is-docker": "^2.0.0" + } + }, + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" + }, + "istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==" + }, + "istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "requires": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "istanbul-reports": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", + "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "jake": { + "version": "10.8.5", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", + "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==", + "requires": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.1", + "minimatch": "^3.0.4" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", + "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", + "requires": { + "@jest/core": "^27.5.1", + "import-local": "^3.0.2", + "jest-cli": "^27.5.1" + } + }, + "jest-changed-files": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", + "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", + "requires": { + "@jest/types": "^27.5.1", + "execa": "^5.0.0", + "throat": "^6.0.1" + } + }, + "jest-circus": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", + "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", + "requires": { + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-cli": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", + "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", + "requires": { + "@jest/core": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "prompts": "^2.0.1", + "yargs": "^16.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-config": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", + "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", + "requires": { + "@babel/core": "^7.8.0", + "@jest/test-sequencer": "^27.5.1", + "@jest/types": "^27.5.1", + "babel-jest": "^27.5.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.9", + "jest-circus": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-jasmine2": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-docblock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", + "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", + "requires": { + "detect-newline": "^3.0.0" + } + }, + "jest-each": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", + "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", + "requires": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-environment-jsdom": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", + "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", + "requires": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1", + "jsdom": "^16.6.0" + } + }, + "jest-environment-node": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", + "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", + "requires": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + } + }, + "jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" + }, + "jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "requires": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + } + }, + "jest-jasmine2": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", + "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", + "requires": { + "@jest/environment": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "throat": "^6.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-leak-detector": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", + "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", + "requires": { + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-mock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", + "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*" + } + }, + "jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "requires": {} + }, + "jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==" + }, + "jest-resolve": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", + "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", + "requires": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-resolve-dependencies": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", + "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", + "requires": { + "@jest/types": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-snapshot": "^27.5.1" + } + }, + "jest-runner": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", + "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", + "requires": { + "@jest/console": "^27.5.1", + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-leak-detector": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "source-map-support": "^0.5.6", + "throat": "^6.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-runtime": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", + "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", + "requires": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/globals": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-serializer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", + "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", + "requires": { + "@types/node": "*", + "graceful-fs": "^4.2.9" + } + }, + "jest-snapshot": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", + "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", + "requires": { + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.0.0", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^27.5.1", + "semver": "^7.3.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-validate": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", + "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "requires": { + "@jest/types": "^27.5.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "leven": "^3.1.0", + "pretty-format": "^27.5.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-watch-typeahead": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz", + "integrity": "sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==", + "requires": { + "ansi-escapes": "^4.3.1", + "chalk": "^4.0.0", + "jest-regex-util": "^28.0.0", + "jest-watcher": "^28.0.0", + "slash": "^4.0.0", + "string-length": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "dependencies": { + "@jest/console": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", + "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", + "requires": { + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^28.1.3", + "jest-util": "^28.1.3", + "slash": "^3.0.0" + }, + "dependencies": { + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + } + } + }, + "@jest/test-result": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", + "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", + "requires": { + "@jest/console": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/types": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", + "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "requires": { + "@jest/schemas": "^28.1.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "17.0.19", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.19.tgz", + "integrity": "sha512-cAx3qamwaYX9R0fzOIZAlFpo4A+1uBVCxqpKz9D26uTF4srRXaGTTsikQmaotCtNdbhzyUH7ft6p9ktz9s6UNQ==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "emittery": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", + "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "jest-message-util": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", + "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^28.1.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^28.1.3", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "dependencies": { + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + } + } + }, + "jest-regex-util": { + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", + "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==" + }, + "jest-util": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", + "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "requires": { + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "jest-watcher": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", + "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", + "requires": { + "@jest/test-result": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.10.2", + "jest-util": "^28.1.3", + "string-length": "^4.0.1" + }, + "dependencies": { + "string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "pretty-format": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", + "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "requires": { + "@jest/schemas": "^28.1.3", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" + } + } + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + }, + "slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==" + }, + "string-length": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz", + "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==", + "requires": { + "char-regex": "^2.0.0", + "strip-ansi": "^7.0.1" + }, + "dependencies": { + "char-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz", + "integrity": "sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==" + } + } + }, + "strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "requires": { + "ansi-regex": "^6.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" + } + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-watcher": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", + "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", + "requires": { + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^27.5.1", + "string-length": "^4.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" + }, + "js-sdsl": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz", + "integrity": "sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" + }, + "jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "requires": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "jsonpointer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==" + }, + "jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + }, + "jsx-ast-utils": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", + "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", + "requires": { + "array-includes": "^3.1.5", + "object.assign": "^4.1.3" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" + }, + "klona": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", + "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==" + }, + "language-subtag-registry": { + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", + "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==" + }, + "language-tags": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", + "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", + "requires": { + "language-subtag-registry": "~0.3.2" + } + }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "lilconfig": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz", + "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==" + }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "load-script": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/load-script/-/load-script-1.0.0.tgz", + "integrity": "sha512-kPEjMFtZvwL9TaZo0uZ2ml+Ye9HUMmPwbYRJ324qF9tqMejwykJ5ggTyvzmrbBeapCAbk98BSbTeovHEEP1uCA==" + }, + "loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==" + }, + "loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "requires": { + "tslib": "^2.0.3" + } + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "requires": { + "yallist": "^3.0.2" + } + }, + "lz-string": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz", + "integrity": "sha512-0ckx7ZHRPqb0oUm8zNr+90mtf9DQB60H1wMCjBtfi62Kl3a7JbHob6gA2bC+xRvZoOL+1hzUK8jeuEIQE8svEQ==" + }, + "magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "requires": { + "sourcemap-codec": "^1.4.8" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "requires": { + "tmpl": "1.0.5" + } + }, + "map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==" + }, + "matchmediaquery": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/matchmediaquery/-/matchmediaquery-0.3.1.tgz", + "integrity": "sha512-Hlk20WQHRIm9EE9luN1kjRjYXAQToHOIAHPJn9buxBwuhfTHoKUcX+lXBbxc85DVQfXYbEQ4HcwQdd128E3qHQ==", + "requires": { + "css-mediaquery": "^0.1.2" + } + }, + "mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==" + }, + "memfs": { + "version": "3.4.13", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.13.tgz", + "integrity": "sha512-omTM41g3Skpvx5dSYeZIbXKcXoAVc/AoMNwn9TKx++L/gaen/+4TTttmu8ZSch5vfVJ8uJvGbroTsIlslRg6lg==", + "requires": { + "fs-monkey": "^1.0.3" + } + }, + "meow": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", + "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", + "requires": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize": "^1.2.0", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "dependencies": { + "type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==" + } + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, + "min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==" + }, + "mini-css-extract-plugin": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.2.tgz", + "integrity": "sha512-EdlUizq13o0Pd+uCp+WO/JpkLvHRVGt97RqfeGhXqAcorYo1ypJSpkV+WDT0vY/kmh/p7wRdJNJtuyK540PXDw==", + "requires": { + "schema-utils": "^4.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + } + } + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==" + }, + "minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "dependencies": { + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==" + } + } + }, + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "requires": { + "yallist": "^4.0.0" + }, + "dependencies": { + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } + }, + "minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-fetch": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", + "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", + "requires": { + "encoding": "^0.1.12", + "minipass": "^3.1.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.0.0" + } + }, + "minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "requires": { + "minipass": "^3.0.0" + } + }, + "minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "dependencies": { + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } + }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "requires": { + "minimist": "^1.2.6" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "requires": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + } + }, + "nan": { + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", + "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==" + }, + "nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==" + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" + }, + "natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==" + }, + "negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + }, + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==" + }, + "node-gyp": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", + "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", + "requires": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^9.1.0", + "nopt": "^5.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "make-fetch-happen": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", + "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", + "requires": { + "agentkeepalive": "^4.1.3", + "cacache": "^15.2.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^6.0.0", + "minipass": "^3.1.3", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.3.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.2", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^6.0.0", + "ssri": "^8.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" + }, + "node-releases": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz", + "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==" + }, + "node-sass": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-7.0.3.tgz", + "integrity": "sha512-8MIlsY/4dXUkJDYht9pIWBhMil3uHmE8b/AdJPjmFn1nBx9X9BASzfzmsCy0uCCb8eqI3SYYzVPDswWqSx7gjw==", + "requires": { + "async-foreach": "^0.1.3", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.3", + "gaze": "^1.0.0", + "get-stdin": "^4.0.1", + "glob": "^7.0.3", + "lodash": "^4.17.15", + "meow": "^9.0.0", + "nan": "^2.13.2", + "node-gyp": "^8.4.1", + "npmlog": "^5.0.0", + "request": "^2.88.0", + "sass-graph": "^4.0.1", + "stdout-stream": "^1.4.0", + "true-case-path": "^1.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "are-we-there-yet": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", + "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "gauge": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", + "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", + "requires": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.1", + "object-assign": "^4.1.1", + "signal-exit": "^3.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.2" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "npmlog": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", + "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", + "requires": { + "are-we-there-yet": "^2.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^3.0.0", + "set-blocking": "^2.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "requires": { + "abbrev": "1" + } + }, + "normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "requires": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==" + }, + "normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "requires": { + "path-key": "^3.0.0" + } + }, + "npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "requires": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + } + }, + "nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "requires": { + "boolbase": "^1.0.0" + } + }, + "nwsapi": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.2.tgz", + "integrity": "sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==" + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + }, + "object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==" + }, + "object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" + }, + "object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + }, + "object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "object.entries": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", + "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "object.fromentries": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", + "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "object.getownpropertydescriptors": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.5.tgz", + "integrity": "sha512-yDNzckpM6ntyQiGTik1fKV1DcVDRS+w8bvpWNCBanvH5LfRX9O8WTHqQzG4RZwRAM4I0oU7TV11Lj5v0g20ibw==", + "requires": { + "array.prototype.reduce": "^1.0.5", + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "object.hasown": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", + "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", + "requires": { + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "object.values": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", + "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "open": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", + "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", + "requires": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "requires": { + "p-limit": "^3.0.2" + } + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "requires": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + }, + "param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "requires": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" + }, + "pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==" + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "requires": { + "find-up": "^4.0.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "requires": { + "p-limit": "^2.2.0" + } + } + } + }, + "pkg-up": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "requires": { + "find-up": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==" + } + } + }, + "postcss": { + "version": "8.4.21", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", + "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", + "requires": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "postcss-attribute-case-insensitive": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz", + "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==", + "requires": { + "postcss-selector-parser": "^6.0.10" + } + }, + "postcss-browser-comments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz", + "integrity": "sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==", + "requires": {} + }, + "postcss-calc": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", + "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "requires": { + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-clamp": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", + "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-color-functional-notation": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz", + "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-color-hex-alpha": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz", + "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-color-rebeccapurple": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz", + "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-colormin": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz", + "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==", + "requires": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-convert-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", + "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", + "requires": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-custom-media": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", + "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-custom-properties": { + "version": "12.1.11", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz", + "integrity": "sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-custom-selectors": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", + "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", + "requires": { + "postcss-selector-parser": "^6.0.4" + } + }, + "postcss-dir-pseudo-class": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz", + "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==", + "requires": { + "postcss-selector-parser": "^6.0.10" + } + }, + "postcss-discard-comments": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", + "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", + "requires": {} + }, + "postcss-discard-duplicates": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", + "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "requires": {} + }, + "postcss-discard-empty": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", + "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "requires": {} + }, + "postcss-discard-overridden": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", + "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "requires": {} + }, + "postcss-double-position-gradients": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz", + "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==", + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-env-function": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz", + "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-flexbugs-fixes": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz", + "integrity": "sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==", + "requires": {} + }, + "postcss-focus-visible": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", + "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", + "requires": { + "postcss-selector-parser": "^6.0.9" + } + }, + "postcss-focus-within": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", + "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", + "requires": { + "postcss-selector-parser": "^6.0.9" + } + }, + "postcss-font-variant": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", + "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", + "requires": {} + }, + "postcss-gap-properties": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", + "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==", + "requires": {} + }, + "postcss-image-set-function": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz", + "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-import": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", + "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", + "requires": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + } + }, + "postcss-initial": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", + "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", + "requires": {} + }, + "postcss-js": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz", + "integrity": "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==", + "requires": { + "camelcase-css": "^2.0.1" + } + }, + "postcss-lab-function": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz", + "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==", + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "requires": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + } + }, + "postcss-loader": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", + "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", + "requires": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.5", + "semver": "^7.3.5" + } + }, + "postcss-logical": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", + "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", + "requires": {} + }, + "postcss-media-minmax": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", + "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", + "requires": {} + }, + "postcss-merge-longhand": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", + "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", + "requires": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.1" + } + }, + "postcss-merge-rules": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.3.tgz", + "integrity": "sha512-LbLd7uFC00vpOuMvyZop8+vvhnfRGpp2S+IMQKeuOZZapPRY4SMq5ErjQeHbHsjCUgJkRNrlU+LmxsKIqPKQlA==", + "requires": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.1.0", + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-minify-font-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", + "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-gradients": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", + "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "requires": { + "colord": "^2.9.1", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-params": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", + "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", + "requires": { + "browserslist": "^4.21.4", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-selectors": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", + "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "requires": { + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "requires": {} + }, + "postcss-modules-local-by-default": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", + "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", + "requires": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "requires": { + "postcss-selector-parser": "^6.0.4" + } + }, + "postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "requires": { + "icss-utils": "^5.0.0" + } + }, + "postcss-nested": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz", + "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==", + "requires": { + "postcss-selector-parser": "^6.0.10" + } + }, + "postcss-nesting": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz", + "integrity": "sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==", + "requires": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + } + }, + "postcss-normalize": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-10.0.1.tgz", + "integrity": "sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==", + "requires": { + "@csstools/normalize.css": "*", + "postcss-browser-comments": "^4", + "sanitize.css": "*" + } + }, + "postcss-normalize-charset": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", + "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "requires": {} + }, + "postcss-normalize-display-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", + "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-positions": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", + "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-repeat-style": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", + "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-string": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", + "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-timing-functions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", + "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-unicode": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", + "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", + "requires": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", + "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "requires": { + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-whitespace": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", + "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-opacity-percentage": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz", + "integrity": "sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==", + "requires": {} + }, + "postcss-ordered-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", + "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", + "requires": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-overflow-shorthand": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz", + "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-page-break": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", + "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", + "requires": {} + }, + "postcss-place": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz", + "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-preset-env": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz", + "integrity": "sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==", + "requires": { + "@csstools/postcss-cascade-layers": "^1.1.1", + "@csstools/postcss-color-function": "^1.1.1", + "@csstools/postcss-font-format-keywords": "^1.0.1", + "@csstools/postcss-hwb-function": "^1.0.2", + "@csstools/postcss-ic-unit": "^1.0.1", + "@csstools/postcss-is-pseudo-class": "^2.0.7", + "@csstools/postcss-nested-calc": "^1.0.0", + "@csstools/postcss-normalize-display-values": "^1.0.1", + "@csstools/postcss-oklab-function": "^1.1.1", + "@csstools/postcss-progressive-custom-properties": "^1.3.0", + "@csstools/postcss-stepped-value-functions": "^1.0.1", + "@csstools/postcss-text-decoration-shorthand": "^1.0.0", + "@csstools/postcss-trigonometric-functions": "^1.0.2", + "@csstools/postcss-unset-value": "^1.0.2", + "autoprefixer": "^10.4.13", + "browserslist": "^4.21.4", + "css-blank-pseudo": "^3.0.3", + "css-has-pseudo": "^3.0.4", + "css-prefers-color-scheme": "^6.0.3", + "cssdb": "^7.1.0", + "postcss-attribute-case-insensitive": "^5.0.2", + "postcss-clamp": "^4.1.0", + "postcss-color-functional-notation": "^4.2.4", + "postcss-color-hex-alpha": "^8.0.4", + "postcss-color-rebeccapurple": "^7.1.1", + "postcss-custom-media": "^8.0.2", + "postcss-custom-properties": "^12.1.10", + "postcss-custom-selectors": "^6.0.3", + "postcss-dir-pseudo-class": "^6.0.5", + "postcss-double-position-gradients": "^3.1.2", + "postcss-env-function": "^4.0.6", + "postcss-focus-visible": "^6.0.4", + "postcss-focus-within": "^5.0.4", + "postcss-font-variant": "^5.0.0", + "postcss-gap-properties": "^3.0.5", + "postcss-image-set-function": "^4.0.7", + "postcss-initial": "^4.0.1", + "postcss-lab-function": "^4.2.1", + "postcss-logical": "^5.0.4", + "postcss-media-minmax": "^5.0.0", + "postcss-nesting": "^10.2.0", + "postcss-opacity-percentage": "^1.1.2", + "postcss-overflow-shorthand": "^3.0.4", + "postcss-page-break": "^3.0.4", + "postcss-place": "^7.0.5", + "postcss-pseudo-class-any-link": "^7.1.6", + "postcss-replace-overflow-wrap": "^4.0.0", + "postcss-selector-not": "^6.0.1", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-pseudo-class-any-link": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz", + "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==", + "requires": { + "postcss-selector-parser": "^6.0.10" + } + }, + "postcss-reduce-initial": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.1.tgz", + "integrity": "sha512-//jeDqWcHPuXGZLoolFrUXBDyuEGbr9S2rMo19bkTIjBQ4PqkaO+oI8wua5BOUxpfi97i3PCoInsiFIEBfkm9w==", + "requires": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0" + } + }, + "postcss-reduce-transforms": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", + "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-replace-overflow-wrap": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", + "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", + "requires": {} + }, + "postcss-selector-not": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz", + "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==", + "requires": { + "postcss-selector-parser": "^6.0.10" + } + }, + "postcss-selector-parser": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", + "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-svgo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", + "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "requires": { + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + }, + "dependencies": { + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" + }, + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "requires": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + } + } + } + }, + "postcss-unique-selectors": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", + "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "requires": { + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" + }, + "pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==" + }, + "pretty-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "requires": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, + "pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "requires": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" + } + } + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "promise": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "requires": { + "asap": "~2.0.6" + } + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==" + }, + "promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "requires": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "dependencies": { + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==" + } + } + }, + "prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, + "prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + }, + "dependencies": { + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + } + } + }, + "proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "dependencies": { + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" + } + } + }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + }, + "punycode": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.2.0.tgz", + "integrity": "sha512-LN6QV1IJ9ZhxWTNdktaPClrNfp8xdSAYS0Zk2ddX7XsXZAxckMHPCBcHRo0cTcEIgYPRiGEkmji3Idkh2yFtYw==" + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" + }, + "qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "requires": { + "side-channel": "^1.0.4" + } + }, + "querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + }, + "quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==" + }, + "raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "requires": { + "performance-now": "^2.1.0" + } + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "requires": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "dependencies": { + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + } + } + }, + "react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "react-app-polyfill": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz", + "integrity": "sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==", + "requires": { + "core-js": "^3.19.2", + "object-assign": "^4.1.1", + "promise": "^8.1.0", + "raf": "^3.4.1", + "regenerator-runtime": "^0.13.9", + "whatwg-fetch": "^3.6.2" + } + }, + "react-dev-utils": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", + "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", + "requires": { + "@babel/code-frame": "^7.16.0", + "address": "^1.1.2", + "browserslist": "^4.18.1", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.3", + "detect-port-alt": "^1.1.6", + "escape-string-regexp": "^4.0.0", + "filesize": "^8.0.6", + "find-up": "^5.0.0", + "fork-ts-checker-webpack-plugin": "^6.5.0", + "global-modules": "^2.0.0", + "globby": "^11.0.4", + "gzip-size": "^6.0.0", + "immer": "^9.0.7", + "is-root": "^2.1.0", + "loader-utils": "^3.2.0", + "open": "^8.4.0", + "pkg-up": "^3.1.0", + "prompts": "^2.4.2", + "react-error-overlay": "^6.0.11", + "recursive-readdir": "^2.2.2", + "shell-quote": "^1.7.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "loader-utils": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", + "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "requires": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + } + }, + "react-error-overlay": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", + "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" + }, + "react-icons": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.7.1.tgz", + "integrity": "sha512-yHd3oKGMgm7zxo3EA7H2n7vxSoiGmHk5t6Ou4bXsfcgWyhfDKMpyKfhHR6Bjnn63c+YXBLBPUql9H4wPJM6sXw==", + "requires": {} + }, + "react-intersection-observer": { + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/react-intersection-observer/-/react-intersection-observer-9.4.1.tgz", + "integrity": "sha512-IXpIsPe6BleFOEHKzKh5UjwRUaz/JYS0lT/HPsupWEQou2hDqjhLMStc5zyE3eQVT4Fk3FufM8Fw33qW1uyeiw==", + "requires": {} + }, + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "react-refresh": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", + "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==" + }, + "react-responsive": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/react-responsive/-/react-responsive-9.0.2.tgz", + "integrity": "sha512-+4CCab7z8G8glgJoRjAwocsgsv6VA2w7JPxFWHRc7kvz8mec1/K5LutNC2MG28Mn8mu6+bu04XZxHv5gyfT7xQ==", + "requires": { + "hyphenate-style-name": "^1.0.0", + "matchmediaquery": "^0.3.0", + "prop-types": "^15.6.1", + "shallow-equal": "^1.2.1" + } + }, + "react-router": { + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.6.2.tgz", + "integrity": "sha512-uJPG55Pek3orClbURDvfljhqFvMgJRo59Pktywkk8hUUkTY2aRfza8Yhl/vZQXs+TNQyr6tu+uqz/fLxPICOGQ==", + "requires": { + "@remix-run/router": "1.2.1" + } + }, + "react-router-dom": { + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.6.2.tgz", + "integrity": "sha512-6SCDXxRQqW5af8ImOqKza7icmQ47/EMbz572uFjzvcArg3lZ+04PxSPp8qGs+p2Y+q+b+S/AjXv8m8dyLndIIA==", + "requires": { + "@remix-run/router": "1.2.1", + "react-router": "6.6.2" + } + }, + "react-scripts": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz", + "integrity": "sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==", + "requires": { + "@babel/core": "^7.16.0", + "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", + "@svgr/webpack": "^5.5.0", + "babel-jest": "^27.4.2", + "babel-loader": "^8.2.3", + "babel-plugin-named-asset-import": "^0.3.8", + "babel-preset-react-app": "^10.0.1", + "bfj": "^7.0.2", + "browserslist": "^4.18.1", + "camelcase": "^6.2.1", + "case-sensitive-paths-webpack-plugin": "^2.4.0", + "css-loader": "^6.5.1", + "css-minimizer-webpack-plugin": "^3.2.0", + "dotenv": "^10.0.0", + "dotenv-expand": "^5.1.0", + "eslint": "^8.3.0", + "eslint-config-react-app": "^7.0.1", + "eslint-webpack-plugin": "^3.1.1", + "file-loader": "^6.2.0", + "fs-extra": "^10.0.0", + "fsevents": "^2.3.2", + "html-webpack-plugin": "^5.5.0", + "identity-obj-proxy": "^3.0.0", + "jest": "^27.4.3", + "jest-resolve": "^27.4.2", + "jest-watch-typeahead": "^1.0.0", + "mini-css-extract-plugin": "^2.4.5", + "postcss": "^8.4.4", + "postcss-flexbugs-fixes": "^5.0.2", + "postcss-loader": "^6.2.1", + "postcss-normalize": "^10.0.1", + "postcss-preset-env": "^7.0.1", + "prompts": "^2.4.2", + "react-app-polyfill": "^3.0.0", + "react-dev-utils": "^12.0.1", + "react-refresh": "^0.11.0", + "resolve": "^1.20.0", + "resolve-url-loader": "^4.0.0", + "sass-loader": "^12.3.0", + "semver": "^7.3.5", + "source-map-loader": "^3.0.0", + "style-loader": "^3.3.1", + "tailwindcss": "^3.0.2", + "terser-webpack-plugin": "^5.2.5", + "webpack": "^5.64.4", + "webpack-dev-server": "^4.6.0", + "webpack-manifest-plugin": "^4.0.2", + "workbox-webpack-plugin": "^6.4.1" + } + }, + "react-tooltip": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/react-tooltip/-/react-tooltip-5.5.1.tgz", + "integrity": "sha512-mx8iL4DDYUdPhN2XbcF4koHyuOOs7/gFXq0TBVfLnRWigzfll7AArMe3yUDipvowW/OASwzdGVgoBECVSMdtBA==", + "requires": { + "@floating-ui/dom": "^1.0.4", + "classnames": "^2.3.2" + } + }, + "react-youtube": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/react-youtube/-/react-youtube-10.1.0.tgz", + "integrity": "sha512-ZfGtcVpk0SSZtWCSTYOQKhfx5/1cfyEW1JN/mugGNfAxT3rmVJeMbGpA9+e78yG21ls5nc/5uZJETE3cm3knBg==", + "requires": { + "fast-deep-equal": "3.1.3", + "prop-types": "15.8.1", + "youtube-player": "5.5.2" + } + }, + "read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "requires": { + "pify": "^2.3.0" + } + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==" + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "requires": { + "p-limit": "^2.2.0" + } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" + } + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "requires": { + "picomatch": "^2.2.1" + } + }, + "recursive-readdir": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", + "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", + "requires": { + "minimatch": "^3.0.5" + } + }, + "redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "requires": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + } + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + }, + "regenerate-unicode-properties": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", + "requires": { + "regenerate": "^1.4.2" + } + }, + "regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, + "regenerator-transform": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", + "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regex-parser": { + "version": "2.2.11", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", + "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==" + }, + "regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + } + }, + "regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==" + }, + "regexpu-core": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.2.tgz", + "integrity": "sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw==", + "requires": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsgen": "^0.7.1", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + } + }, + "regjsgen": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", + "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==" + }, + "regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==" + } + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==" + }, + "renderkid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", + "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "requires": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^6.0.1" + } + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==" + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + } + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + }, + "resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "requires": { + "resolve-from": "^5.0.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + }, + "resolve-url-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz", + "integrity": "sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==", + "requires": { + "adjust-sourcemap-loader": "^4.0.0", + "convert-source-map": "^1.7.0", + "loader-utils": "^2.0.0", + "postcss": "^7.0.35", + "source-map": "0.6.1" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "resolve.exports": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz", + "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==" + }, + "retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==" + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "requires": { + "glob": "^7.1.3" + } + }, + "rollup": { + "version": "2.79.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", + "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "requires": { + "fsevents": "~2.3.2" + } + }, + "rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "requires": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + } + }, + "serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "requires": { + "randombytes": "^2.1.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sanitize.css": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/sanitize.css/-/sanitize.css-13.0.0.tgz", + "integrity": "sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==" + }, + "sass-graph": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-4.0.1.tgz", + "integrity": "sha512-5YCfmGBmxoIRYHnKK2AKzrAkCoQ8ozO+iumT8K4tXJXRVCPf+7s1/9KxTSW3Rbvf+7Y7b4FR3mWyLnQr3PHocA==", + "requires": { + "glob": "^7.0.0", + "lodash": "^4.17.11", + "scss-tokenizer": "^0.4.3", + "yargs": "^17.2.1" + }, + "dependencies": { + "cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + } + }, + "yargs": { + "version": "17.6.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", + "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", + "requires": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + } + }, + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" + } + } + }, + "sass-loader": { + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz", + "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", + "requires": { + "klona": "^2.0.4", + "neo-async": "^2.6.2" + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "requires": { + "xmlchars": "^2.2.0" + } + }, + "scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "scss-tokenizer": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.4.3.tgz", + "integrity": "sha512-raKLgf1LI5QMQnG+RxHz6oK0sL3x3I4FN2UDLqgLOGO8hodECNnNh5BXn7fAyBxrA8zVzdQizQ6XjNJQ+uBwMw==", + "requires": { + "js-base64": "^2.4.9", + "source-map": "^0.7.3" + } + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" + }, + "selfsigned": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", + "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", + "requires": { + "node-forge": "^1" + } + }, + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "requires": { + "lru-cache": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } + }, + "send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "requires": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + } + } + }, + "serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "requires": { + "randombytes": "^2.1.0" + } + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==" + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==" + } + } + }, + "serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "shallow-equal": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/shallow-equal/-/shallow-equal-1.2.1.tgz", + "integrity": "sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==" + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + }, + "shell-quote": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.4.tgz", + "integrity": "sha512-8o/QEhSSRb1a5i7TFR0iM4G16Z0vYB2OQVs4G3aAFXjn3T6yEx8AZxy1PgDF7I00LZHYA3WxaSYIf5e5sAX8Rw==" + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "sister": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/sister/-/sister-3.0.2.tgz", + "integrity": "sha512-p19rtTs+NksBRKW9qn0UhZ8/TUI9BPw9lmtHny+Y3TinWlOa9jWh9xB0AtPSdmOy49NJJJSSe0Ey4C7h0TrcYA==" + }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, + "smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==" + }, + "sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "requires": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "socks": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", + "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", + "requires": { + "ip": "^2.0.0", + "smart-buffer": "^4.2.0" + } + }, + "socks-proxy-agent": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz", + "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==", + "requires": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" + }, + "source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==" + }, + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" + }, + "source-map-loader": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.2.tgz", + "integrity": "sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==", + "requires": { + "abab": "^2.0.5", + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.1" + } + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz", + "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==" + }, + "spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + } + }, + "spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "requires": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "requires": { + "minipass": "^3.1.1" + } + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" + }, + "stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" + } + } + }, + "stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" + }, + "stdout-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", + "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", + "requires": { + "readable-stream": "^2.0.1" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "stop-iteration-iterator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", + "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "requires": { + "internal-slot": "^1.0.4" + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, + "string-natural-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", + "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==" + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + } + } + }, + "string.prototype.matchall": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", + "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "regexp.prototype.flags": "^1.4.3", + "side-channel": "^1.0.4" + } + }, + "string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "string.prototype.trimstart": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "requires": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" + }, + "strip-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", + "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==" + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" + }, + "strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "requires": { + "min-indent": "^1.0.0" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" + }, + "style-loader": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.1.tgz", + "integrity": "sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ==", + "requires": {} + }, + "stylehacks": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", + "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", + "requires": { + "browserslist": "^4.21.4", + "postcss-selector-parser": "^6.0.4" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + }, + "svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" + }, + "svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "requires": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + }, + "dependencies": { + "css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==" + }, + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + }, + "dependencies": { + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + } + } + }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "requires": { + "boolbase": "~1.0.0" + } + } + } + }, + "symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" + }, + "tailwindcss": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.4.tgz", + "integrity": "sha512-AhwtHCKMtR71JgeYDaswmZXhPcW9iuI9Sp2LvZPo9upDZ7231ZJ7eA9RaURbhpXGVlrjX4cFNlB4ieTetEb7hQ==", + "requires": { + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "color-name": "^1.1.4", + "detective": "^5.2.1", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.12", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "lilconfig": "^2.0.6", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.18", + "postcss-import": "^14.1.0", + "postcss-js": "^4.0.0", + "postcss-load-config": "^3.1.4", + "postcss-nested": "6.0.0", + "postcss-selector-parser": "^6.0.10", + "postcss-value-parser": "^4.2.0", + "quick-lru": "^5.1.1", + "resolve": "^1.22.1" + }, + "dependencies": { + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + } + } + }, + "tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" + }, + "tar": { + "version": "6.1.13", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.13.tgz", + "integrity": "sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==", + "requires": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^4.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "dependencies": { + "minipass": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.0.0.tgz", + "integrity": "sha512-g2Uuh2jEKoht+zvO6vJqXmYpflPqzRBT+Th2h01DKh5z7wbY/AZ2gCQ78cP70YoHPyFdY30YBV5WxgLOEwOykw==", + "requires": { + "yallist": "^4.0.0" + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } + }, + "temp-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", + "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==" + }, + "tempy": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", + "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", + "requires": { + "is-stream": "^2.0.0", + "temp-dir": "^2.0.0", + "type-fest": "^0.16.0", + "unique-string": "^2.0.0" + }, + "dependencies": { + "type-fest": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", + "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==" + } + } + }, + "terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "requires": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + } + }, + "terser": { + "version": "5.16.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.1.tgz", + "integrity": "sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw==", + "requires": { + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + } + } + }, + "terser-webpack-plugin": { + "version": "5.3.6", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz", + "integrity": "sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==", + "requires": { + "@jridgewell/trace-mapping": "^0.3.14", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0", + "terser": "^5.14.1" + } + }, + "test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + }, + "throat": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz", + "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==" + }, + "thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + }, + "timeago.js": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/timeago.js/-/timeago.js-4.0.2.tgz", + "integrity": "sha512-a7wPxPdVlQL7lqvitHGGRsofhdwtkoSXPGATFuSOA2i1ZNQEPLrGnj68vOp2sOJTCFAQVXPeNMX/GctBaO9L2w==" + }, + "tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + }, + "toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" + }, + "tough-cookie": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.2.tgz", + "integrity": "sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==", + "requires": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "dependencies": { + "universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==" + } + } + }, + "tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "requires": { + "punycode": "^2.1.1" + } + }, + "trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==" + }, + "true-case-path": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", + "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", + "requires": { + "glob": "^7.1.2" + } + }, + "tryer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" + }, + "tsconfig-paths": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", + "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", + "requires": { + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "requires": { + "minimist": "^1.2.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==" + } + } + }, + "tslib": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" + }, + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "requires": { + "tslib": "^1.8.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" + }, + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "requires": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + } + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "typescript": { + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", + "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==", + "peer": true + }, + "unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "requires": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, + "unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==" + }, + "unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "requires": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==" + }, + "unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==" + }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "requires": { + "crypto-random-string": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" + }, + "unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" + }, + "update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "requires": { + "punycode": "^2.1.0" + } + }, + "url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "use-sync-external-store": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", + "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", + "requires": {} + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + } + }, + "utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==" + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + }, + "v8-to-istanbul": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", + "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + } + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" + } + } + }, + "w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "requires": { + "browser-process-hrtime": "^1.0.0" + } + }, + "w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "requires": { + "xml-name-validator": "^3.0.0" + } + }, + "walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "requires": { + "makeerror": "1.0.12" + } + }, + "watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "web-vitals": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-2.1.4.tgz", + "integrity": "sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==" + }, + "webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==" + }, + "webpack": { + "version": "5.75.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.75.0.tgz", + "integrity": "sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ==", + "requires": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.10.0", + "es-module-lexer": "^0.9.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "dependencies": { + "@types/estree": { + "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==" + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + } + } + }, + "webpack-dev-middleware": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", + "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "requires": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + } + } + } + }, + "webpack-dev-server": { + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.11.1.tgz", + "integrity": "sha512-lILVz9tAUy1zGFwieuaQtYiadImb5M3d+H+L1zDYalYoDl0cksAB1UNyuE5MMWJrG6zR1tXkCP2fitl7yoUJiw==", + "requires": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.1", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.1", + "ws": "^8.4.2" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + } + }, + "ws": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.12.0.tgz", + "integrity": "sha512-kU62emKIdKVeEIOIKVegvqpXMSTAMLJozpHZaJNDYqBjzlSYXQGviYwN1osDLJ9av68qHd4a2oSjd7yD4pacig==", + "requires": {} + } + } + }, + "webpack-manifest-plugin": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz", + "integrity": "sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==", + "requires": { + "tapable": "^2.0.0", + "webpack-sources": "^2.2.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "webpack-sources": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz", + "integrity": "sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==", + "requires": { + "source-list-map": "^2.0.1", + "source-map": "^0.6.1" + } + } + } + }, + "webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==" + }, + "websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "requires": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" + }, + "whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "requires": { + "iconv-lite": "0.4.24" + }, + "dependencies": { + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + } + } + }, + "whatwg-fetch": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz", + "integrity": "sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==" + }, + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" + }, + "whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "requires": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "which-collection": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "requires": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + } + }, + "which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" + } + }, + "wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "requires": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" + }, + "workbox-background-sync": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.5.4.tgz", + "integrity": "sha512-0r4INQZMyPky/lj4Ou98qxcThrETucOde+7mRGJl13MPJugQNKeZQOdIJe/1AchOP23cTqHcN/YVpD6r8E6I8g==", + "requires": { + "idb": "^7.0.1", + "workbox-core": "6.5.4" + } + }, + "workbox-broadcast-update": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.5.4.tgz", + "integrity": "sha512-I/lBERoH1u3zyBosnpPEtcAVe5lwykx9Yg1k6f8/BGEPGaMMgZrwVrqL1uA9QZ1NGGFoyE6t9i7lBjOlDhFEEw==", + "requires": { + "workbox-core": "6.5.4" + } + }, + "workbox-build": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.5.4.tgz", + "integrity": "sha512-kgRevLXEYvUW9WS4XoziYqZ8Q9j/2ziJYEtTrjdz5/L/cTUa2XfyMP2i7c3p34lgqJ03+mTiz13SdFef2POwbA==", + "requires": { + "@apideck/better-ajv-errors": "^0.3.1", + "@babel/core": "^7.11.1", + "@babel/preset-env": "^7.11.0", + "@babel/runtime": "^7.11.2", + "@rollup/plugin-babel": "^5.2.0", + "@rollup/plugin-node-resolve": "^11.2.1", + "@rollup/plugin-replace": "^2.4.1", + "@surma/rollup-plugin-off-main-thread": "^2.2.3", + "ajv": "^8.6.0", + "common-tags": "^1.8.0", + "fast-json-stable-stringify": "^2.1.0", + "fs-extra": "^9.0.1", + "glob": "^7.1.6", + "lodash": "^4.17.20", + "pretty-bytes": "^5.3.0", + "rollup": "^2.43.1", + "rollup-plugin-terser": "^7.0.0", + "source-map": "^0.8.0-beta.0", + "stringify-object": "^3.3.0", + "strip-comments": "^2.0.1", + "tempy": "^0.6.0", + "upath": "^1.2.0", + "workbox-background-sync": "6.5.4", + "workbox-broadcast-update": "6.5.4", + "workbox-cacheable-response": "6.5.4", + "workbox-core": "6.5.4", + "workbox-expiration": "6.5.4", + "workbox-google-analytics": "6.5.4", + "workbox-navigation-preload": "6.5.4", + "workbox-precaching": "6.5.4", + "workbox-range-requests": "6.5.4", + "workbox-recipes": "6.5.4", + "workbox-routing": "6.5.4", + "workbox-strategies": "6.5.4", + "workbox-streams": "6.5.4", + "workbox-sw": "6.5.4", + "workbox-window": "6.5.4" + }, + "dependencies": { + "@apideck/better-ajv-errors": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", + "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", + "requires": { + "json-schema": "^0.4.0", + "jsonpointer": "^5.0.0", + "leven": "^3.1.0" + } + }, + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "source-map": { + "version": "0.8.0-beta.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "requires": { + "whatwg-url": "^7.0.0" + } + }, + "tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "requires": { + "punycode": "^2.1.0" + } + }, + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + }, + "whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + } + } + }, + "workbox-cacheable-response": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.5.4.tgz", + "integrity": "sha512-DCR9uD0Fqj8oB2TSWQEm1hbFs/85hXXoayVwFKLVuIuxwJaihBsLsp4y7J9bvZbqtPJ1KlCkmYVGQKrBU4KAug==", + "requires": { + "workbox-core": "6.5.4" + } + }, + "workbox-core": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.5.4.tgz", + "integrity": "sha512-OXYb+m9wZm8GrORlV2vBbE5EC1FKu71GGp0H4rjmxmF4/HLbMCoTFws87M3dFwgpmg0v00K++PImpNQ6J5NQ6Q==" + }, + "workbox-expiration": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.5.4.tgz", + "integrity": "sha512-jUP5qPOpH1nXtjGGh1fRBa1wJL2QlIb5mGpct3NzepjGG2uFFBn4iiEBiI9GUmfAFR2ApuRhDydjcRmYXddiEQ==", + "requires": { + "idb": "^7.0.1", + "workbox-core": "6.5.4" + } + }, + "workbox-google-analytics": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.5.4.tgz", + "integrity": "sha512-8AU1WuaXsD49249Wq0B2zn4a/vvFfHkpcFfqAFHNHwln3jK9QUYmzdkKXGIZl9wyKNP+RRX30vcgcyWMcZ9VAg==", + "requires": { + "workbox-background-sync": "6.5.4", + "workbox-core": "6.5.4", + "workbox-routing": "6.5.4", + "workbox-strategies": "6.5.4" + } + }, + "workbox-navigation-preload": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.5.4.tgz", + "integrity": "sha512-IIwf80eO3cr8h6XSQJF+Hxj26rg2RPFVUmJLUlM0+A2GzB4HFbQyKkrgD5y2d84g2IbJzP4B4j5dPBRzamHrng==", + "requires": { + "workbox-core": "6.5.4" + } + }, + "workbox-precaching": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.5.4.tgz", + "integrity": "sha512-hSMezMsW6btKnxHB4bFy2Qfwey/8SYdGWvVIKFaUm8vJ4E53JAY+U2JwLTRD8wbLWoP6OVUdFlXsTdKu9yoLTg==", + "requires": { + "workbox-core": "6.5.4", + "workbox-routing": "6.5.4", + "workbox-strategies": "6.5.4" + } + }, + "workbox-range-requests": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.5.4.tgz", + "integrity": "sha512-Je2qR1NXCFC8xVJ/Lux6saH6IrQGhMpDrPXWZWWS8n/RD+WZfKa6dSZwU+/QksfEadJEr/NfY+aP/CXFFK5JFg==", + "requires": { + "workbox-core": "6.5.4" + } + }, + "workbox-recipes": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.5.4.tgz", + "integrity": "sha512-QZNO8Ez708NNwzLNEXTG4QYSKQ1ochzEtRLGaq+mr2PyoEIC1xFW7MrWxrONUxBFOByksds9Z4//lKAX8tHyUA==", + "requires": { + "workbox-cacheable-response": "6.5.4", + "workbox-core": "6.5.4", + "workbox-expiration": "6.5.4", + "workbox-precaching": "6.5.4", + "workbox-routing": "6.5.4", + "workbox-strategies": "6.5.4" + } + }, + "workbox-routing": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.5.4.tgz", + "integrity": "sha512-apQswLsbrrOsBUWtr9Lf80F+P1sHnQdYodRo32SjiByYi36IDyL2r7BH1lJtFX8fwNHDa1QOVY74WKLLS6o5Pg==", + "requires": { + "workbox-core": "6.5.4" + } + }, + "workbox-strategies": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.5.4.tgz", + "integrity": "sha512-DEtsxhx0LIYWkJBTQolRxG4EI0setTJkqR4m7r4YpBdxtWJH1Mbg01Cj8ZjNOO8etqfA3IZaOPHUxCs8cBsKLw==", + "requires": { + "workbox-core": "6.5.4" + } + }, + "workbox-streams": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.5.4.tgz", + "integrity": "sha512-FXKVh87d2RFXkliAIheBojBELIPnWbQdyDvsH3t74Cwhg0fDheL1T8BqSM86hZvC0ZESLsznSYWw+Va+KVbUzg==", + "requires": { + "workbox-core": "6.5.4", + "workbox-routing": "6.5.4" + } + }, + "workbox-sw": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.5.4.tgz", + "integrity": "sha512-vo2RQo7DILVRoH5LjGqw3nphavEjK4Qk+FenXeUsknKn14eCNedHOXWbmnvP4ipKhlE35pvJ4yl4YYf6YsJArA==" + }, + "workbox-webpack-plugin": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.5.4.tgz", + "integrity": "sha512-LmWm/zoaahe0EGmMTrSLUi+BjyR3cdGEfU3fS6PN1zKFYbqAKuQ+Oy/27e4VSXsyIwAw8+QDfk1XHNGtZu9nQg==", + "requires": { + "fast-json-stable-stringify": "^2.1.0", + "pretty-bytes": "^5.4.1", + "upath": "^1.2.0", + "webpack-sources": "^1.4.3", + "workbox-build": "6.5.4" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + } + } + }, + "workbox-window": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.5.4.tgz", + "integrity": "sha512-HnLZJDwYBE+hpG25AQBO8RUWBJRaCsI9ksQJEp3aCOFCaG5kqaToAYXFRAHxzRluM2cQbGzdQF5rjKPWPA1fug==", + "requires": { + "@types/trusted-types": "^2.0.2", + "workbox-core": "6.5.4" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "requires": {} + }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" + }, + "youtube-player": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/youtube-player/-/youtube-player-5.5.2.tgz", + "integrity": "sha512-ZGtsemSpXnDky2AUYWgxjaopgB+shFHgXVpiJFeNB5nWEugpW1KWYDaHKuLqh2b67r24GtP6HoSW5swvf0fFIQ==", + "requires": { + "debug": "^2.6.6", + "load-script": "^1.0.0", + "sister": "^3.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..713aff9 --- /dev/null +++ b/package.json @@ -0,0 +1,48 @@ +{ + "name": "react-youtube-clone", + "version": "0.1.0", + "private": true, + "dependencies": { + "@tanstack/react-query": "^4.22.0", + "@testing-library/jest-dom": "^5.16.5", + "@testing-library/react": "^13.4.0", + "@testing-library/user-event": "^13.5.0", + "axios": "^1.2.2", + "node-sass": "^7.0.3", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-icons": "^4.7.1", + "react-intersection-observer": "^9.4.1", + "react-responsive": "^9.0.2", + "react-router-dom": "^6.6.2", + "react-scripts": "5.0.1", + "react-tooltip": "^5.5.1", + "react-youtube": "^10.1.0", + "timeago.js": "^4.0.2", + "web-vitals": "^2.1.4" + }, + "scripts": { + "start": "react-scripts start", + "build": "react-scripts build", + "test": "react-scripts test", + "eject": "react-scripts eject" + }, + "eslintConfig": { + "extends": [ + "react-app", + "react-app/jest" + ] + }, + "browserslist": { + "production": [ + ">0.2%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 1 chrome version", + "last 1 firefox version", + "last 1 safari version" + ] + } +} diff --git a/public/data/VideoComment.json b/public/data/VideoComment.json new file mode 100644 index 0000000..9249940 --- /dev/null +++ b/public/data/VideoComment.json @@ -0,0 +1,2252 @@ +{ + "kind": "youtube#commentThreadListResponse", + "etag": "D4Dw8i4NX5XuvwKopkaPQKoKl78", + "nextPageToken": "QURTSl9pMF9NcUlEQ3FPZmwzMmRLaG1iX212QUUyQlFFVEhzSjJFRW5GRXJZTTBjeGxMZTdLUnlNbG5iTDRVdE9mbDlSNXJUNWxiZVE1TQ==", + "pageInfo": { + "totalResults": 71, + "resultsPerPage": 100 + }, + "items": [ + { + "kind": "youtube#commentThread", + "etag": "R1_vQIPXwXgB96j-MCysjdCK_rQ", + "id": "Ugxg8V_H92s59bb-pSt4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "M9jpMi8xaq19fD3ieF5-fGSAyQQ", + "id": "Ugxg8V_H92s59bb-pSt4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "The beskar looks like it got a bit more polish 👍", + "textOriginal": "The beskar looks like it got a bit more polish 👍", + "authorDisplayName": "Cristo", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu8758bpU4tqBlrsISuzpVKXS3xh5lKuS0RZ2YQbuA=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCCglMM_gcipJsLG6YRDvsgQ", + "authorChannelId": { + "value": "UCCglMM_gcipJsLG6YRDvsgQ" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T10:00:34Z", + "updatedAt": "2023-01-18T10:00:34Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "e3jbVasEbScf6wQ2n2z1LWDYoYM", + "id": "UgyuHBvRllT8YUmbW394AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "ddH3A797fgg2sEUg5UuIRVsQttM", + "id": "UgyuHBvRllT8YUmbW394AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "The only thing i hope for is that the episodes are a lil longer. I dont ask for more.", + "textOriginal": "The only thing i hope for is that the episodes are a lil longer. I dont ask for more.", + "authorDisplayName": "MrNiC0S", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu-o7lw4knrkYwLINt80zIZ5cu9TyS5amFH_eVUX=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCNxSmkG-Gve5kwfXJ46Ywwg", + "authorChannelId": { + "value": "UCNxSmkG-Gve5kwfXJ46Ywwg" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T09:48:53Z", + "updatedAt": "2023-01-18T09:48:53Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "LE4PrrjQlfef86SyJehdfP4Kf8Q", + "id": "UgxVPsZgsOjOP_ePpNB4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "YZvTqneHGuvz8SW9r_ZUkHwYCis", + "id": "UgxVPsZgsOjOP_ePpNB4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "So excited for this! I do have strong mixed feelings about the fact that the forge master says that Mando made transgressions while he is the leader of all of Mandolore because of the freaking darksabre!", + "textOriginal": "So excited for this! I do have strong mixed feelings about the fact that the forge master says that Mando made transgressions while he is the leader of all of Mandolore because of the freaking darksabre!", + "authorDisplayName": "RobK0304", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu9IwxQajk80vt69hJ15wIbdG7lqaUEdXxNJeuXtWg=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCax1D0JVN4srMP9tI6pp3gA", + "authorChannelId": { + "value": "UCax1D0JVN4srMP9tI6pp3gA" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T09:40:48Z", + "updatedAt": "2023-01-18T09:40:48Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "8dTglg3I8oa56kDeFFsuDMAanpo", + "id": "UgzuPwYSFGgdxGSn8Tt4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "ezt4xob8bs3twrlALAHggOCcTwU", + "id": "UgzuPwYSFGgdxGSn8Tt4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "I’m really looking forward to this, yet still, it is not my favourite Star Wars show anymore. Andor is the greatest Star Wars ever made. ONE WAY OUT!", + "textOriginal": "I’m really looking forward to this, yet still, it is not my favourite Star Wars show anymore. Andor is the greatest Star Wars ever made. ONE WAY OUT!", + "authorDisplayName": "Steve Ben Obi-Wan Larry Kenobi", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu-CgvhSqodgHuygxD7u-WVNZ_4NXP9qAIqj7g=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCIgTtRY3yNEFyJPfOwjin5g", + "authorChannelId": { + "value": "UCIgTtRY3yNEFyJPfOwjin5g" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T09:24:03Z", + "updatedAt": "2023-01-18T09:24:03Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "tZV0qmNpCiDPcaVRNe5GK5Pdx68", + "id": "Ugw33NYuSrXTi4o0Or14AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "-esPHV6fX6huapnpfZnTjNQJNP4", + "id": "Ugw33NYuSrXTi4o0Or14AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "Omg I can't wait", + "textOriginal": "Omg I can't wait", + "authorDisplayName": "Moon Child", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu-Crj0zH-s2rSbBXcjAQW6Ru_dW1R2njMvnHUnWuw=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCgk_r2mZwIcXlcz6xLpwOsA", + "authorChannelId": { + "value": "UCgk_r2mZwIcXlcz6xLpwOsA" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T09:19:30Z", + "updatedAt": "2023-01-18T09:19:30Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + + { + "kind": "youtube#commentThread", + "etag": "Ci00q2cg21eNZzbs8xOgQyyONhM", + "id": "UgyCiduiyvm78eZin2x4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "CvZCB7WYLPplHo6SgOUwy5vaO20", + "id": "UgyCiduiyvm78eZin2x4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "What is the name of that cute green little thing", + "textOriginal": "What is the name of that cute green little thing", + "authorDisplayName": "WTHshorts", + "authorProfileImageUrl": "https://yt3.ggpht.com/oiyQPxY1b8D9jrGSCy5nkEUpkHZSfHUYqKffJn2906Hp554zqOEiFg8OaQBWqcHtmdyMVKGh=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCWbnikth7U7eAZ2H0O_Ws8Q", + "authorChannelId": { + "value": "UCWbnikth7U7eAZ2H0O_Ws8Q" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T09:16:48Z", + "updatedAt": "2023-01-18T09:16:48Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "9rBtOq7jJ5u_kwu-KWftuSG9cj8", + "id": "UgzYEcGajnQYj3BvrDN4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "BgOsiDebWDTihEvh0bC8vSNTJGA", + "id": "UgzYEcGajnQYj3BvrDN4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "The Waffle House has found it's new host.", + "textOriginal": "The Waffle House has found it's new host.", + "authorDisplayName": "ABVIZ Studios", + "authorProfileImageUrl": "https://yt3.ggpht.com/CTKrPVnVVVdOGZ4APQLeBqcxk7mMJmyfnxDp5915jDy344o7z0hthdbw5G1VluE0B7nOoY0HSyE=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCQmGy8xzqBGxjuBhSDOgHaw", + "authorChannelId": { + "value": "UCQmGy8xzqBGxjuBhSDOgHaw" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 1, + "publishedAt": "2023-01-18T09:16:34Z", + "updatedAt": "2023-01-18T09:16:34Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "y_FzJ2Tkd4Olvdki1rgOA312n08", + "id": "Ugye982wKOr8XheBBrJ4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "oYflY0J8LI0IVf7TwD1DyWPKoyo", + "id": "Ugye982wKOr8XheBBrJ4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "Hindi 💔💔💔", + "textOriginal": "Hindi 💔💔💔", + "authorDisplayName": "Love everyone(without Indians)", + "authorProfileImageUrl": "https://yt3.ggpht.com/uWlWMTzQLvE9quc14R8ayurueGpUsvfga4lKb3hobVe4j0dJpEhG4_515Nyfe9UNnfgtjm0YwQ=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCw5IS7Fz1J8nov-k7kuIGkw", + "authorChannelId": { + "value": "UCw5IS7Fz1J8nov-k7kuIGkw" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T09:15:08Z", + "updatedAt": "2023-01-18T09:15:08Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "l4elJrUg68Y2F7HbNqnV3T4eKG0", + "id": "UgyuVEjrFKwGJqPOGhF4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "kuxW7aIvR1vLZHV3EwTQy4OQxeA", + "id": "UgyuVEjrFKwGJqPOGhF4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "I really hope they will re-canonize the resol'nare", + "textOriginal": "I really hope they will re-canonize the resol'nare", + "authorDisplayName": "Dallas Clark", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu-9g20C6rMNnSQOAdCpHDz62BkEm0SiKADylg=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCPpLg2nZ2iGeBUICbDbEs-w", + "authorChannelId": { + "value": "UCPpLg2nZ2iGeBUICbDbEs-w" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T09:14:49Z", + "updatedAt": "2023-01-18T09:14:49Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "cCaAY-YAiVDYCK7Vgxn8571IvZo", + "id": "UgxsoBtSidVcN5UZBP14AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "_M827EjkTvPrCqMGtpgfO26-cf4", + "id": "UgxsoBtSidVcN5UZBP14AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "This is the way.", + "textOriginal": "This is the way.", + "authorDisplayName": "京都大全 Walking Edamame", + "authorProfileImageUrl": "https://yt3.ggpht.com/mrD_vrY-LyORtxdix432oGHWhOUB8BK7kW3MN47AGmMREb8M4zbA8016SkfnQ00BFSI2GLVn=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UChW3QikrjVWonb41SyhtF2w", + "authorChannelId": { + "value": "UChW3QikrjVWonb41SyhtF2w" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T09:13:44Z", + "updatedAt": "2023-01-18T09:13:44Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "WK8q9cPFmEmn5mKDaq0n_numA1w", + "id": "Ugy0td1PGfNxzV3Jj514AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "-qtYCOqzDCuiuOssuoP7zlnwt9E", + "id": "Ugy0td1PGfNxzV3Jj514AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "The only good (excellent actually) Star Wars media since Clone Wars", + "textOriginal": "The only good (excellent actually) Star Wars media since Clone Wars", + "authorDisplayName": "Piyush Maan Dev", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu9nei9A4osXnZRrTFf1egO4QKWRkZPD6bgk8gYpZQ=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCZVIl1nIRH9KuE2Fu-2xOHQ", + "authorChannelId": { + "value": "UCZVIl1nIRH9KuE2Fu-2xOHQ" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T09:13:08Z", + "updatedAt": "2023-01-18T09:13:17Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "Z4ogLvr0KzfniszpVbauocgKLUk", + "id": "UgywiaZgxbxqUg0uBON4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "-Km4YLQ3HBVDqYDpApHfZ2ReT2M", + "id": "UgywiaZgxbxqUg0uBON4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "This is the way 🖖👽", + "textOriginal": "This is the way 🖖👽", + "authorDisplayName": "Viktor Roloff aka Goratek", + "authorProfileImageUrl": "https://yt3.ggpht.com/OkyLVc6cJbCPzcCJ8ZIHx8VSp1sXCPd6dlstSsNAVKFSISPKrpdpfWoJRrU6-NSOJhzawhk_=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCVJF7STMjw5_d_7_ibWrsIA", + "authorChannelId": { + "value": "UCVJF7STMjw5_d_7_ibWrsIA" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T09:07:59Z", + "updatedAt": "2023-01-18T09:07:59Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "PK1h-Igr4_0FFJwtQwJ_PjsG9ek", + "id": "Ugx10O5VHw6H6NsuUEZ4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "slu-vWSWwGmcH4aIK-ZHxlf7Y7U", + "id": "Ugx10O5VHw6H6NsuUEZ4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "Most the best parts of the original Mandalorian first two seasons was Mando's "wing men", Grogu, Cara Dune, Kuill & Mayfeld. No Cara Dune, will be a big loss to the franchise.", + "textOriginal": "Most the best parts of the original Mandalorian first two seasons was Mando's \"wing men\", Grogu, Cara Dune, Kuill & Mayfeld. No Cara Dune, will be a big loss to the franchise.", + "authorDisplayName": "Aidan Healy", + "authorProfileImageUrl": "https://yt3.ggpht.com/CAkxjAzfAILK7QFEiZVHbjoZsNIa5OHsJVZ-TZotJ2w-WlIvaCIMO_8H_U63azEuBC-ow1uKqQ=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UChVCYVLutvI8ajiFZzlppeQ", + "authorChannelId": { + "value": "UChVCYVLutvI8ajiFZzlppeQ" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 1, + "publishedAt": "2023-01-18T09:04:16Z", + "updatedAt": "2023-01-18T09:04:16Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "J3FU-TSgZshEACbgy5bi7ZsVgCg", + "id": "Ugx8itDDPkOvH2gr3Wp4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "9pEAT0tjr-6bd-7vEneKNMuO0Yc", + "id": "Ugx8itDDPkOvH2gr3Wp4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "More hyped than Episode 1", + "textOriginal": "More hyped than Episode 1", + "authorDisplayName": "kevin h", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu8BHhF54GhE6F9nSRRizZWnJxrIhB4K3vNp4w=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCZr2n8-n4G7YFD1VWIrwxBg", + "authorChannelId": { + "value": "UCZr2n8-n4G7YFD1VWIrwxBg" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T08:53:22Z", + "updatedAt": "2023-01-18T08:53:22Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "cOiVuqzxXKkQdq0HBWDVTPZd0c4", + "id": "UgxNejJbtCHG9PYMeO14AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "BkpjqnO6ZBg1LX0Y0x1Dk6PoCmI", + "id": "UgxNejJbtCHG9PYMeO14AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "I kinda wish grogu was grown abit more, wanna see him do more than be cute.", + "textOriginal": "I kinda wish grogu was grown abit more, wanna see him do more than be cute.", + "authorDisplayName": "J S", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu9JV10MormTSCBgJiRl13nqP_vZOR0mXFkCgL07xQ=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UC8kWZ7Hi8mwJc5m9iQue-PQ", + "authorChannelId": { + "value": "UC8kWZ7Hi8mwJc5m9iQue-PQ" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T08:49:49Z", + "updatedAt": "2023-01-18T08:49:49Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "ghkCmLwNRSaMt_ccNcjI8JkoxOg", + "id": "Ugyx2YE6_gXpf40HYax4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "g0e3LtTIdrmyArF4RvwSQXCMXO4", + "id": "Ugyx2YE6_gXpf40HYax4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "the good shows are scattered ... across streaming services throughout the app store", + "textOriginal": "the good shows are scattered ... across streaming services throughout the app store", + "authorDisplayName": "Gregory Dumas", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu-uGGwPGjwkJbAT7RMjYQQDljCQBT_niB645Pah=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCY7nl970AhUE6wpLiaJ-TwQ", + "authorChannelId": { + "value": "UCY7nl970AhUE6wpLiaJ-TwQ" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T08:42:26Z", + "updatedAt": "2023-01-18T08:42:26Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "HpLNX0jAuU39yb1pVXsl5xBkuYI", + "id": "UgwVvZ4mztEBc3D9KJJ4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "SuNcwjhe2nNPqg_LyBmQj-oCLK8", + "id": "UgwVvZ4mztEBc3D9KJJ4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "This is the way", + "textOriginal": "This is the way", + "authorDisplayName": "Maciej Ratajczyk", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu_wVRl2Daq1GndY7ugTp9RYtQv0gTYCnEOEOQdF5g=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCVZKofovEsrPhVHiUJ5qEvg", + "authorChannelId": { + "value": "UCVZKofovEsrPhVHiUJ5qEvg" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T08:33:50Z", + "updatedAt": "2023-01-18T08:33:50Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "jRsJxc6h2A6XmtT4-Mw40ZJsM00", + "id": "UgwlaIt-dcucClYzcWx4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "WGF42UqyhApN98rE1ISSJbgHCcI", + "id": "UgwlaIt-dcucClYzcWx4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "This kinda looks like the Fetts vs the Vizslas", + "textOriginal": "This kinda looks like the Fetts vs the Vizslas", + "authorDisplayName": "Say Hi (To Jerry)", + "authorProfileImageUrl": "https://yt3.ggpht.com/xYSX65CGmh2waUgYxdBbdQiHrCZbnQDasJ26G-0T0Vivmusq2OCtb5IrNLCI8PhiIaGzduv53Q=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCpBGryOnAe0D0D6apiDYnKQ", + "authorChannelId": { + "value": "UCpBGryOnAe0D0D6apiDYnKQ" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T08:30:43Z", + "updatedAt": "2023-01-18T08:30:43Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "kaOIzMrnPYLDfyTQjah32E4UlJc", + "id": "Ugwv5pOKsHgYx3H6XvB4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "RoXbZqM8UioNqXRMFOkcd0Zp27k", + "id": "Ugwv5pOKsHgYx3H6XvB4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "\u003ca href=\"https://www.youtube.com/watch?v=Znsa4Deavgg&t=1m06s\"\u003e1:06\u003c/a\u003e is that Mandalore's Mask?", + "textOriginal": "1:06 is that Mandalore's Mask?", + "authorDisplayName": "Lucifer Lightbringer", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu_uUlUGqlkWu3hpIKMCbz6RZ78If1gxKzd5Hl_UFA=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCgc9v11rfpE3Vps3xyADa3g", + "authorChannelId": { + "value": "UCgc9v11rfpE3Vps3xyADa3g" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T08:24:44Z", + "updatedAt": "2023-01-18T08:24:44Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "IL6dE7bdtMGsxs5uwb_O15uf6RE", + "id": "UgwKKkoGwQBW4oodSaV4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "aNXH31lQoezx4FOkAHIwFOGTrMg", + "id": "UgwKKkoGwQBW4oodSaV4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "The Mandalorian is the new sequel trilogy. They might as well retcon those films now 😌", + "textOriginal": "The Mandalorian is the new sequel trilogy. They might as well retcon those films now 😌", + "authorDisplayName": "GreenSky", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu9hJ090t2N6-NKOmolZn5j4aZr8u3rDz1NLJawBVzucM0E62NnyUUQyjdoyOKfL=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCFkz4fmQuflHxHMg9bwAxlg", + "authorChannelId": { + "value": "UCFkz4fmQuflHxHMg9bwAxlg" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T08:16:54Z", + "updatedAt": "2023-01-18T08:16:54Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "GAWlNd3e9wFbsxJKG5bJOB6B9QY", + "id": "Ugy4Y4ddtMZzXaddkaR4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "lw2zP6izdGQaeery5Ac_ODhOhd0", + "id": "Ugy4Y4ddtMZzXaddkaR4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "Amazing effects 🔥 many congrats to creater team", + "textOriginal": "Amazing effects 🔥 many congrats to creater team", + "authorDisplayName": "ROCHAK FACTS हिंदी", + "authorProfileImageUrl": "https://yt3.ggpht.com/Uv5x-jd2fbz7v-3DH2goMelrCV1RLnnhTZT0fJ0tClJb21RAinkCLGbLhATs75EmtovzWVKoPA=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCOCYJ4cAPtuTEd21XI5JsRg", + "authorChannelId": { + "value": "UCOCYJ4cAPtuTEd21XI5JsRg" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T08:14:27Z", + "updatedAt": "2023-01-18T08:14:27Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "1OahzgQ1FkM_45k-njq9RP53P7s", + "id": "UgzggX3nVJp7170q9CZ4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "nndYNWlj-0wRycsuIqULGkNufXQ", + "id": "UgzggX3nVJp7170q9CZ4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "It's amazing to see how far this series came!", + "textOriginal": "It's amazing to see how far this series came!", + "authorDisplayName": "Lisa M. Willson", + "authorProfileImageUrl": "https://yt3.ggpht.com/ncvrVqTjkUtD0aEexvTe2bsV-4k5HBqugJSGSQOQFLpldC_5NCsrJlJVib24qhMwn3ZzWCs_xQ=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UC_ZC3XiLMzzOUFMwKZiOtwA", + "authorChannelId": { + "value": "UC_ZC3XiLMzzOUFMwKZiOtwA" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 2, + "publishedAt": "2023-01-18T08:14:08Z", + "updatedAt": "2023-01-18T08:14:08Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "lPYSs08KFXzj5ywkbYxoj5bRDVg", + "id": "Ugwncf7W5kroXf5UBDN4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "UJxX3yQl0t5KAkfoVh-OXHAHSdA", + "id": "Ugwncf7W5kroXf5UBDN4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "The Mandalorian is easily one of the best things to come from the Star Wars franchise. \u003cbr\u003e"This is the way".", + "textOriginal": "The Mandalorian is easily one of the best things to come from the Star Wars franchise. \n\"This is the way\".", + "authorDisplayName": "Mike Panklang", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu-j929kIcGItKNHOKnzFd6auPG7AuVGT9KFe5-9XA=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCW_7y3lgM5Wtlzf54xBPojw", + "authorChannelId": { + "value": "UCW_7y3lgM5Wtlzf54xBPojw" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T08:10:31Z", + "updatedAt": "2023-01-18T08:10:31Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "PuZS9TiCYiyTgeEk6neF_CdUmOs", + "id": "UgwORCaohdNOEl4HIrl4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "h0nCcDjE0JjMed4phN9YhmSs_Xc", + "id": "UgwORCaohdNOEl4HIrl4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "The Waffle House has found it’s new host", + "textOriginal": "The Waffle House has found it’s new host", + "authorDisplayName": "Nikko Tha Reaper", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu-z7xIjAsAGQcWX__1zEx4V7_YUhpnCDznfw3maiw=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UC0iUQst90LOIad6iY3MlJtQ", + "authorChannelId": { + "value": "UC0iUQst90LOIad6iY3MlJtQ" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T08:10:12Z", + "updatedAt": "2023-01-18T08:10:12Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "q3KwQEwlAIDWz5anhbuXpCBWgLc", + "id": "UgwYnZl-ojF0WlgDzzx4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "Yq68fIwm6gNi87Hrs0A7Denji84", + "id": "UgwYnZl-ojF0WlgDzzx4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "Keeps getting better and better ❤❤❤", + "textOriginal": "Keeps getting better and better ❤❤❤", + "authorDisplayName": "cloudofzero", + "authorProfileImageUrl": "https://yt3.ggpht.com/rt4ryl7zUxWIRxIFfV65BfiAFBEVrPeYvkhSx4YU2PMMqjJ5KcqjQAUgKt6OImHFWn-JZz9dsg=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCZ9wbc10S1z8k8wsaiRnsqg", + "authorChannelId": { + "value": "UCZ9wbc10S1z8k8wsaiRnsqg" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T08:02:26Z", + "updatedAt": "2023-01-18T08:02:26Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "maENHFyS-bK6cAEZ9p0o7bKxdyY", + "id": "Ugzn4AR5PtVxbc6UZSV4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "WyeCD0x0RNaRb2XrUnptk2dGEs4", + "id": "Ugzn4AR5PtVxbc6UZSV4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "I am so excited to see the B1 battle droidsssss. Are they rogue? So cool", + "textOriginal": "I am so excited to see the B1 battle droidsssss. Are they rogue? So cool", + "authorDisplayName": "Evil Vince", + "authorProfileImageUrl": "https://yt3.ggpht.com/-JcUI-3l1_201JxB7rbxaIvLSa80SbZQvQZlmIu4CFjpFMkzkHzbVE25EScvPCIZZqh4BahQkQ=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UC7b2v6UWaYfhZp75ZjfuM8A", + "authorChannelId": { + "value": "UC7b2v6UWaYfhZp75ZjfuM8A" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T07:54:52Z", + "updatedAt": "2023-01-18T07:54:52Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "dqEqJKymWzdVb2W4js6fBpfvnoM", + "id": "UgzzUjEB9GNrGdQJD9t4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "mbgS5hN3E1v_5tUFC0JD4YcyQOM", + "id": "UgzzUjEB9GNrGdQJD9t4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "4. Count ‘em four lightsabers!!!!", + "textOriginal": "4. Count ‘em four lightsabers!!!!", + "authorDisplayName": "Michael Green", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu-YugO_brfpM3Nus5Mt4k8aldLkWkAi75sNCw=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCjcoWXRrJPG3cclvoms5u5g", + "authorChannelId": { + "value": "UCjcoWXRrJPG3cclvoms5u5g" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T07:39:20Z", + "updatedAt": "2023-01-18T07:39:20Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "yxqs-hyE2xDeu4ISYHODseydlEE", + "id": "Ugylnomy6uRhveGTfKN4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "FOyKNV1NEe2523E_iHD7Xn7WpDQ", + "id": "Ugylnomy6uRhveGTfKN4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "Wait wait I thought Luke took Grogu at the end of season 2 no?", + "textOriginal": "Wait wait I thought Luke took Grogu at the end of season 2 no?", + "authorDisplayName": "BTS4EVER", + "authorProfileImageUrl": "https://yt3.ggpht.com/GJLK6t3wC5KuJ_QFcIscvH-o1wA6nYhsqncA3EmAydOLY5u4tKDzU6R5gShIum77Dl8VW5UNAfU=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCSEyxug_ySPeJizwCEiX_Gg", + "authorChannelId": { + "value": "UCSEyxug_ySPeJizwCEiX_Gg" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T07:38:07Z", + "updatedAt": "2023-01-18T07:38:07Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "iGDGCOIrDCdYzR82X_QsmpTyVvo", + "id": "UgxrR4_FL8HjYxCm_Gx4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "dZLfrFwyaYV7eFaEdL1c_IIvbcI", + "id": "UgxrR4_FL8HjYxCm_Gx4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": ".", + "textOriginal": ".", + "authorDisplayName": "TGod", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu_LGteAz1T5VJhMlQj6gWVqFh1q7JnnpZn_6ZjHVQ=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCbAruVKWptEAUX4UYkfCmug", + "authorChannelId": { + "value": "UCbAruVKWptEAUX4UYkfCmug" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T07:37:22Z", + "updatedAt": "2023-01-18T07:37:22Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "DJVcAMfYssTNHNxB9DjomlhyvcM", + "id": "UgyP1s1BOW70YRgCYr14AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "k2sWl0RdMsKFC6eZ6F6OsKXUHT8", + "id": "UgyP1s1BOW70YRgCYr14AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "This is the way.", + "textOriginal": "This is the way.", + "authorDisplayName": "I'mEverywhere AndNowhere", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu8NTf3NfXwlu0R4Z6roTBgTCW6t_gVMxI0Kn-Ym5v5WNsY712q6baUQRIvhc6dk=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UChu_pR-BqSKNV6P-vwFxfcA", + "authorChannelId": { + "value": "UChu_pR-BqSKNV6P-vwFxfcA" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T07:36:39Z", + "updatedAt": "2023-01-18T07:36:39Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "2n_cME9boAnFbeg_9R5W9TLFO7A", + "id": "UgxXKtNFF3K7i-Wvj154AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "HveXz4BIsAkeJhjX8rgV5P8hedM", + "id": "UgxXKtNFF3K7i-Wvj154AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "SKULL CLASS MEDIA TV did the best reaction to this movie.", + "textOriginal": "SKULL CLASS MEDIA TV did the best reaction to this movie.", + "authorDisplayName": "Crypto Vestor", + "authorProfileImageUrl": "https://yt3.ggpht.com/H6TfHRkrTevVuJqoB1XozhNlEExgJNHcCeVYAi1AK2BvSpQ6TXd8kKdLhgD9jrR4ui23ADHhA2g=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCehrdOLA48DIVADBM8U0Ybg", + "authorChannelId": { + "value": "UCehrdOLA48DIVADBM8U0Ybg" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T07:34:40Z", + "updatedAt": "2023-01-18T07:34:40Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "Z7XWSKnZHOv4NmnOtHCHXzNyn5U", + "id": "UgzzJ7HOdMNW-IWS7_R4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "dy7BvZ96sWr7yCU0Nk7rQUuoh40", + "id": "UgzzJ7HOdMNW-IWS7_R4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "Why remind me of rise of skywalker with those little aliens", + "textOriginal": "Why remind me of rise of skywalker with those little aliens", + "authorDisplayName": "Mant1s_66", + "authorProfileImageUrl": "https://yt3.ggpht.com/3SpE1i89AQDxiDfYG6f-_rmlShB_5tRDXkRdg9njtxzxWNhShdELyj5BhBrVSdYXLenVR13RzE0=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCexfMgRwwWFopNuKF-9UUBQ", + "authorChannelId": { + "value": "UCexfMgRwwWFopNuKF-9UUBQ" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T07:32:05Z", + "updatedAt": "2023-01-18T07:32:05Z" + } + }, + "canReply": true, + "totalReplyCount": 1, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "FEG6iVpjM5oxqPlirPH0pQiw88I", + "id": "UgwUjsPQTJa9X0m6CLx4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "cY9buwBiz2x-9y3zqeymEmR-oSw", + "id": "UgwUjsPQTJa9X0m6CLx4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "You guys are killing it!! Making us Star Wars fans proud again!!! 🎉🎉🎉🎉 \u003cbr\u003eKEEP GOING!!! THIS IS THE WAY!!", + "textOriginal": "You guys are killing it!! Making us Star Wars fans proud again!!! 🎉🎉🎉🎉 \nKEEP GOING!!! THIS IS THE WAY!!", + "authorDisplayName": "xDmztry vsvedine", + "authorProfileImageUrl": "https://yt3.ggpht.com/s8dqMAWLx5OQThyji7EdgMQSRqV7zbmk8cy8Q9yoCeVPZt5oQ2wshNxzLc37hEw4JZLGbB1zPg=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCCRZt97kMbBSHP_fsyL4j9w", + "authorChannelId": { + "value": "UCCRZt97kMbBSHP_fsyL4j9w" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T07:30:46Z", + "updatedAt": "2023-01-18T07:30:46Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "nb3tktyUhs8ql8oFs6WPyEQPiqw", + "id": "UgzFJvgBKiXcD97mhit4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "M7Ta6lKtlIuZ6mN-EUZqN_JY9jU", + "id": "UgzFJvgBKiXcD97mhit4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "Trending lyrics music is here", + "textOriginal": "Trending lyrics music is here", + "authorDisplayName": "Status on YouTube ", + "authorProfileImageUrl": "https://yt3.ggpht.com/fl5rpyV1HbTntS4v6BfzpCt25GIfih6ZEJKfKNj6kr3tLI9NwKzDCfBiTS_0LI12auwNeDRTncM=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCCtrlR7qB_l9VZmcW2RbKjA", + "authorChannelId": { + "value": "UCCtrlR7qB_l9VZmcW2RbKjA" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T07:28:11Z", + "updatedAt": "2023-01-18T07:28:11Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "NhXs2j_EejykK-R6Cq2YXQn2oRI", + "id": "UgyeAezANZ-8SP37NEB4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "s0xD0Wb_y-LI3iPpxWhq2FQn3tQ", + "id": "UgyeAezANZ-8SP37NEB4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "Amazing movie", + "textOriginal": "Amazing movie", + "authorDisplayName": "🌎 LEARN WITH MJ 🌎", + "authorProfileImageUrl": "https://yt3.ggpht.com/aozntrAxKjIGMXkQ0-1QsUbG2YUQGvdsP9cIfCxlNhxoy2jSfO297nVeNGjXNn__NvSkE3jPwO0=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCJ_hWx5Q7rpvEeNtDZFqkJw", + "authorChannelId": { + "value": "UCJ_hWx5Q7rpvEeNtDZFqkJw" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T07:25:44Z", + "updatedAt": "2023-01-18T07:25:44Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "sWhxbN6hJzYm09LBdrktEgttm6c", + "id": "UgyMQSRhhkZmpV_ryIh4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "LCVqaj0qz-JOcp5_kseZdmhYQqY", + "id": "UgyMQSRhhkZmpV_ryIh4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "tarumlüg rutangisnetauq Programmierer der\u003cbr\u003e Master K. I.", + "textOriginal": "tarumlüg rutangisnetauq Programmierer der\n Master K. I.", + "authorDisplayName": "Mc Fly", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu-GdH1KhRCcHxeJQD49Poitla74Oci9hrla6Q=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCIUpgboKQs7JlC9gzLBNf9w", + "authorChannelId": { + "value": "UCIUpgboKQs7JlC9gzLBNf9w" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T07:15:40Z", + "updatedAt": "2023-01-18T07:15:40Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "f8W9EPFKyvnh5ZhfPvOGWG6ZDmQ", + "id": "UgzdqurP39DK29tdTG54AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "-gk7C9BB3JFZIe3lRrvfQk0Kq-o", + "id": "UgzdqurP39DK29tdTG54AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "pascal is best in tlou anyway", + "textOriginal": "pascal is best in tlou anyway", + "authorDisplayName": "Jim", + "authorProfileImageUrl": "https://yt3.ggpht.com/RtzWLy0Bz_s4H21h_E8DeJZNs56mnGeAyvQKRZgnh2ROW3ZTaYWZJRwTMwfB5lhT7MP2m7UZdzc=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCTsc13aLYDBGCkzwU3gmgSw", + "authorChannelId": { + "value": "UCTsc13aLYDBGCkzwU3gmgSw" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 1, + "publishedAt": "2023-01-18T07:13:55Z", + "updatedAt": "2023-01-18T07:13:55Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "HNH6dhpRXt001FA3rIx36wkoNGc", + "id": "Ugzh0BtiQOu7hRvhs_R4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "BWyscG5bU9N4wUq4d_Bht5gIcN8", + "id": "Ugzh0BtiQOu7hRvhs_R4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "Loved the shot of the collapsed mandalore dome.", + "textOriginal": "Loved the shot of the collapsed mandalore dome.", + "authorDisplayName": "Sergio Melendez", + "authorProfileImageUrl": "https://yt3.ggpht.com/z7l4sbKx112W17mEVMvs0qfcFFY-3eRhBcAZb9oZ8_O9sfLhKC0iW8VPq0dJGQYSg72koQKx=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCNNn4wbwq7wsj1hhAHXjDkA", + "authorChannelId": { + "value": "UCNNn4wbwq7wsj1hhAHXjDkA" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T07:10:14Z", + "updatedAt": "2023-01-18T07:10:14Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "KmdRqCDYHniO47E4jjE0mpkJPOw", + "id": "UgyvAqUHlICknE2y9rp4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "U3YDn9VdZi6sDD9Eh3guKvEVTN4", + "id": "UgyvAqUHlICknE2y9rp4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "World best video 👉 \u003ca href=\"http://shorturl.at/rtwLN\"\u003eshorturl.at/rtwLN\u003c/a\u003e", + "textOriginal": "World best video 👉 shorturl.at/rtwLN", + "authorDisplayName": "Blackpink & Gaming", + "authorProfileImageUrl": "https://yt3.ggpht.com/0oYtFQ6k6AfRbEhPRUFyquevXDNbvQOIl44VRp9wnpgfBFSbMp4IskNdG-WMMpd-tLbz4aLTog=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCCDN0B7bh3eEibQN_BwOHwg", + "authorChannelId": { + "value": "UCCDN0B7bh3eEibQN_BwOHwg" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T07:08:47Z", + "updatedAt": "2023-01-18T07:08:47Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "MiCFuu3xpuKAGHe4f9xcLr-lRI0", + "id": "UgzMfl5h-4Og1eB9rpt4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "iPVIykCo7pv2ZBk-n0zbbxP7wC4", + "id": "UgzMfl5h-4Og1eB9rpt4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "Plz Hindi Dubbed", + "textOriginal": "Plz Hindi Dubbed", + "authorDisplayName": "Kiran Chauhan ❤️", + "authorProfileImageUrl": "https://yt3.ggpht.com/EmjUPMJzz2J9w3097OmJlQcGO1k1MozZIYCbwNxBtZWDK_qCit5zi3XyiEggAOoaS8HTohso=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCPbKabvfNjNSBwZAAZs2e_g", + "authorChannelId": { + "value": "UCPbKabvfNjNSBwZAAZs2e_g" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 1, + "publishedAt": "2023-01-18T07:08:37Z", + "updatedAt": "2023-01-18T07:08:37Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "YE26kUNSroCXvFPxUYQeqwCHJIQ", + "id": "UgweqlcKar8A-rpl6Ux4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "1bpUMYoRo0LWwx5_KoF5n8LmSNA", + "id": "UgweqlcKar8A-rpl6Ux4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "@\u003ca href=\"https://www.youtube.com/watch?v=Znsa4Deavgg&t=1m17s\"\u003e1:17\u003c/a\u003e Yes we're finally gonna see Battle Droids in live action again!", + "textOriginal": "@1:17 Yes we're finally gonna see Battle Droids in live action again!", + "authorDisplayName": "Jesse Di", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu-ZaTrf9WDEQwR94Icf_8RVGbUC8wEwIFwvlCMxkQ=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCrsIY8uqfN4_uU-0uF9zIUA", + "authorChannelId": { + "value": "UCrsIY8uqfN4_uU-0uF9zIUA" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T07:01:15Z", + "updatedAt": "2023-01-18T07:01:51Z" + } + }, + "canReply": true, + "totalReplyCount": 1, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "GA5rzmdMtGJIIOANV6TDljbAQ6Q", + "id": "UgzdusmTUyh1OaC0Q2N4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "DRFycyb_5r6TzR-pcP2-ZYt9zEo", + "id": "UgzdusmTUyh1OaC0Q2N4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "I love this show so much", + "textOriginal": "I love this show so much", + "authorDisplayName": "TimeBucks", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu8UjJzZBfR-hyOUjrbKp1sJx3LL-hMCctv8JmWt=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UC9SPmYqr3fGiP95b76tnUag", + "authorChannelId": { + "value": "UC9SPmYqr3fGiP95b76tnUag" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 1, + "publishedAt": "2023-01-18T07:00:50Z", + "updatedAt": "2023-01-18T07:00:50Z" + } + }, + "canReply": true, + "totalReplyCount": 2, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "iTARMZSoTO1sE1BeLQAFJ0hpQ0Q", + "id": "UgyhnKTc5KMnT_kzaMp4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "qmgnQZmnoI8DsdV3wbG1TNLBEK0", + "id": "UgyhnKTc5KMnT_kzaMp4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "Sometimes I feel I understand every words of English and sometimes I understand nothing why????", + "textOriginal": "Sometimes I feel I understand every words of English and sometimes I understand nothing why????", + "authorDisplayName": "Blackpink × Twice", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu91h5htY3otT8UVEotnvhotCBNLxTMjm8jaeD5c3eek7GFOWrCx8h7svZAGTAKe=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCxm2Cigp36kgltCHr2SRouA", + "authorChannelId": { + "value": "UCxm2Cigp36kgltCHr2SRouA" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T06:54:55Z", + "updatedAt": "2023-01-18T06:54:55Z" + } + }, + "canReply": true, + "totalReplyCount": 1, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "HT8IDp1qJg__FQUVfshqN6IsNcc", + "id": "UgyAGEX0nngqW2yCfyN4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "OaG93DiAxry7YZDlPt8fiBAkxuc", + "id": "UgyAGEX0nngqW2yCfyN4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "The Last Hope for Disney Plus.", + "textOriginal": "The Last Hope for Disney Plus.", + "authorDisplayName": "Ardenwolfe", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu_c3tz3L3z9nASTEgAqtpZcnrbb6F-tN1LUzTKH1g=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCKqvRvkbGfIXBxljfSKeSyw", + "authorChannelId": { + "value": "UCKqvRvkbGfIXBxljfSKeSyw" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 1, + "publishedAt": "2023-01-18T06:50:12Z", + "updatedAt": "2023-01-18T06:50:12Z" + } + }, + "canReply": true, + "totalReplyCount": 1, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "cdoWvZ5MdnmHQl__aCMeeIf7EbE", + "id": "Ugx5hvTkeKHegGK1V4V4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "gvqf_y4oSS6asRbo8gzQ1B6E3uY", + "id": "Ugx5hvTkeKHegGK1V4V4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "💯💯 I am youtuber 😎😎\u003cbr\u003eAll new movie 🎥\u003cbr\u003e I best video upload by you\u003cbr\u003eAnd new movie 🎥", + "textOriginal": "💯💯 I am youtuber 😎😎\nAll new movie 🎥\n I best video upload by you\nAnd new movie 🎥", + "authorDisplayName": "all new movie 🎥", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu-oay67eEWhtjT_tgDGZcyx-bybN_rtCU1_DbP5_t14UfyD6A46mzNO204m1KwF=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCoHj7HxqA8kqmGBqm5dan1A", + "authorChannelId": { + "value": "UCoHj7HxqA8kqmGBqm5dan1A" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T06:31:56Z", + "updatedAt": "2023-01-18T06:31:56Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "zBX63-BfmeZyF-oeD6VzwSDWYdg", + "id": "UgyKQf6Yb979Ffctk3h4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "rHF9oPGtil0J-nYY0DPpURByY2M", + "id": "UgyKQf6Yb979Ffctk3h4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "💯💯 I am youtuber 😎😎\u003cbr\u003eAll new movie 🎥\u003cbr\u003e I best video upload by you\u003cbr\u003eAnd new movie 🎥", + "textOriginal": "💯💯 I am youtuber 😎😎\nAll new movie 🎥\n I best video upload by you\nAnd new movie 🎥", + "authorDisplayName": "all new movie 🎥", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu-oay67eEWhtjT_tgDGZcyx-bybN_rtCU1_DbP5_t14UfyD6A46mzNO204m1KwF=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCoHj7HxqA8kqmGBqm5dan1A", + "authorChannelId": { + "value": "UCoHj7HxqA8kqmGBqm5dan1A" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T06:31:48Z", + "updatedAt": "2023-01-18T06:31:48Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "RQe3erALUfIPQlmrvp_CE3KNctA", + "id": "UgzsW4G5EN8gswj7N5h4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "vE3xa1RBb0LcbSqTiDufwfXtjYA", + "id": "UgzsW4G5EN8gswj7N5h4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "💯💯 I am youtuber 😎😎\u003cbr\u003eAll new movie 🎥\u003cbr\u003e I best video upload by you\u003cbr\u003eAnd new movie 🎥", + "textOriginal": "💯💯 I am youtuber 😎😎\nAll new movie 🎥\n I best video upload by you\nAnd new movie 🎥", + "authorDisplayName": "all new movie 🎥", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu-oay67eEWhtjT_tgDGZcyx-bybN_rtCU1_DbP5_t14UfyD6A46mzNO204m1KwF=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCoHj7HxqA8kqmGBqm5dan1A", + "authorChannelId": { + "value": "UCoHj7HxqA8kqmGBqm5dan1A" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T06:31:43Z", + "updatedAt": "2023-01-18T06:31:43Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "lPJRHYOADGWSMmCAvX9J4HOvt9o", + "id": "Ugz7Km6nMkmWkj5pXLF4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "RDYd18ehpxw9HVEENn5r4CjmQxQ", + "id": "Ugz7Km6nMkmWkj5pXLF4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "💯💯 I am youtuber 😎😎\u003cbr\u003eAll new movie 🎥\u003cbr\u003e I best video upload by you\u003cbr\u003eAnd new movie 🎥", + "textOriginal": "💯💯 I am youtuber 😎😎\nAll new movie 🎥\n I best video upload by you\nAnd new movie 🎥", + "authorDisplayName": "all new movie 🎥", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu-oay67eEWhtjT_tgDGZcyx-bybN_rtCU1_DbP5_t14UfyD6A46mzNO204m1KwF=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCoHj7HxqA8kqmGBqm5dan1A", + "authorChannelId": { + "value": "UCoHj7HxqA8kqmGBqm5dan1A" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T06:31:37Z", + "updatedAt": "2023-01-18T06:31:37Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "Fm-8juF7dmTeQ4fp3FzJohz4sV8", + "id": "UgxGpp1JeOYKitBzSXR4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "J3vSlRg8AOsIB7yHUgorEYx4D0w", + "id": "UgxGpp1JeOYKitBzSXR4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "💯💯 I am youtuber 😎😎\u003cbr\u003eAll new movie 🎥\u003cbr\u003e I best video upload by you\u003cbr\u003eAnd new movie 🎥", + "textOriginal": "💯💯 I am youtuber 😎😎\nAll new movie 🎥\n I best video upload by you\nAnd new movie 🎥", + "authorDisplayName": "all new movie 🎥", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu-oay67eEWhtjT_tgDGZcyx-bybN_rtCU1_DbP5_t14UfyD6A46mzNO204m1KwF=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCoHj7HxqA8kqmGBqm5dan1A", + "authorChannelId": { + "value": "UCoHj7HxqA8kqmGBqm5dan1A" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T06:31:28Z", + "updatedAt": "2023-01-18T06:31:28Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "IuzhieuDPSbcAkOnxyCgBUalo0c", + "id": "Ugyf481iZqPddT1GKVl4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "EbyUncS0k9rdXRoN-BrNvDXC-cg", + "id": "Ugyf481iZqPddT1GKVl4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "💯💯 I am youtuber 😎😎\u003cbr\u003eAll new movie 🎥\u003cbr\u003e I best video upload by you\u003cbr\u003eAnd new movie 🎥", + "textOriginal": "💯💯 I am youtuber 😎😎\nAll new movie 🎥\n I best video upload by you\nAnd new movie 🎥", + "authorDisplayName": "all new movie 🎥", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu-oay67eEWhtjT_tgDGZcyx-bybN_rtCU1_DbP5_t14UfyD6A46mzNO204m1KwF=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCoHj7HxqA8kqmGBqm5dan1A", + "authorChannelId": { + "value": "UCoHj7HxqA8kqmGBqm5dan1A" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T06:31:20Z", + "updatedAt": "2023-01-18T06:31:20Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "ETvirhlxZf23LkkJ4D-SoLByNsw", + "id": "UgwJjGGrwxS7soaEnvh4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "Cxja933WA1NHaYBshnqUWfqLbLM", + "id": "UgwJjGGrwxS7soaEnvh4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "💯💯 I am youtuber 😎😎\u003cbr\u003eAll new movie 🎥\u003cbr\u003e I best video upload by you\u003cbr\u003eAnd new movie 🎥", + "textOriginal": "💯💯 I am youtuber 😎😎\nAll new movie 🎥\n I best video upload by you\nAnd new movie 🎥", + "authorDisplayName": "all new movie 🎥", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu-oay67eEWhtjT_tgDGZcyx-bybN_rtCU1_DbP5_t14UfyD6A46mzNO204m1KwF=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCoHj7HxqA8kqmGBqm5dan1A", + "authorChannelId": { + "value": "UCoHj7HxqA8kqmGBqm5dan1A" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T06:31:13Z", + "updatedAt": "2023-01-18T06:31:13Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "lxkO6GTGLrsxPNcI-NNPvTjxXRU", + "id": "UgxInHh3jJ0ODHnADNZ4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "5dNaWyNS4cQP3QKCYbumNwu6Pyc", + "id": "UgxInHh3jJ0ODHnADNZ4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "💯💯 I am youtuber 😎😎\u003cbr\u003eAll new movie 🎥\u003cbr\u003e I best video upload by you\u003cbr\u003eAnd new movie 🎥", + "textOriginal": "💯💯 I am youtuber 😎😎\nAll new movie 🎥\n I best video upload by you\nAnd new movie 🎥", + "authorDisplayName": "all new movie 🎥", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu-oay67eEWhtjT_tgDGZcyx-bybN_rtCU1_DbP5_t14UfyD6A46mzNO204m1KwF=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCoHj7HxqA8kqmGBqm5dan1A", + "authorChannelId": { + "value": "UCoHj7HxqA8kqmGBqm5dan1A" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T06:31:08Z", + "updatedAt": "2023-01-18T06:31:08Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "PnHELuBxk9q6vkCyBYTK38nGV7U", + "id": "UgybvrRddxETfKUClbl4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "vm2CZUSzNbxbzUUqo6IUHxOIdiE", + "id": "UgybvrRddxETfKUClbl4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "💯💯 I am youtuber 😎😎\u003cbr\u003eAll new movie 🎥\u003cbr\u003e I best video upload by you\u003cbr\u003eAnd new movie 🎥", + "textOriginal": "💯💯 I am youtuber 😎😎\nAll new movie 🎥\n I best video upload by you\nAnd new movie 🎥", + "authorDisplayName": "all new movie 🎥", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu-oay67eEWhtjT_tgDGZcyx-bybN_rtCU1_DbP5_t14UfyD6A46mzNO204m1KwF=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCoHj7HxqA8kqmGBqm5dan1A", + "authorChannelId": { + "value": "UCoHj7HxqA8kqmGBqm5dan1A" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T06:31:00Z", + "updatedAt": "2023-01-18T06:31:00Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "lK-CGuppaP1GxKz28XiLZemCl3A", + "id": "UgyW6exYuGD2ClYMfRF4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "fAPV9VNajRfmLE2dmeyeRXGOnqA", + "id": "UgyW6exYuGD2ClYMfRF4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "💯💯 I am youtuber 😎😎\u003cbr\u003eAll new movie 🎥\u003cbr\u003e I best video upload by you\u003cbr\u003eAnd new movie 🎥", + "textOriginal": "💯💯 I am youtuber 😎😎\nAll new movie 🎥\n I best video upload by you\nAnd new movie 🎥", + "authorDisplayName": "all new movie 🎥", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu-oay67eEWhtjT_tgDGZcyx-bybN_rtCU1_DbP5_t14UfyD6A46mzNO204m1KwF=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCoHj7HxqA8kqmGBqm5dan1A", + "authorChannelId": { + "value": "UCoHj7HxqA8kqmGBqm5dan1A" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T06:30:52Z", + "updatedAt": "2023-01-18T06:30:52Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "SlX1eZBrwqJQoowDQWwdyzcksj4", + "id": "UgxinGupzyCMfdr0lXB4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "ZkySnWjpZ3TDbj4_zq9r2qzrQN8", + "id": "UgxinGupzyCMfdr0lXB4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "I got this trailer as an add before the video started. That’s funny.", + "textOriginal": "I got this trailer as an add before the video started. That’s funny.", + "authorDisplayName": "Zeke Ludlow", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu_5ZnFK3GJ4S81OA-Y6KGFUQ5zln7f2iDWhFw=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCOIfPuZyr3xKc7ANEYxntWg", + "authorChannelId": { + "value": "UCOIfPuZyr3xKc7ANEYxntWg" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 1, + "publishedAt": "2023-01-18T06:19:13Z", + "updatedAt": "2023-01-18T06:19:13Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "6wdcFGkK6P5R8z0myxKMz8t1HHA", + "id": "Ugwo3ByV0dZL8ujxbVN4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "3yTR43Su_hdIthT_fwTdwiT9Hxw", + "id": "Ugwo3ByV0dZL8ujxbVN4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "And we will never speak or remember about the second season ever ! Welcome season 3 ...", + "textOriginal": "And we will never speak or remember about the second season ever ! Welcome season 3 ...", + "authorDisplayName": "Juan Rafael Castro", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu8x0M3S2T_eajZROX6mgPxYrKDtwc7_Ad1zcKta3lw=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UC_FWwIGqbAgewIICLqi5zbA", + "authorChannelId": { + "value": "UC_FWwIGqbAgewIICLqi5zbA" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T06:13:57Z", + "updatedAt": "2023-01-18T06:13:57Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "wkF73Mx757utNjIhkAU3L4xv4S0", + "id": "UgyGzImce8WdiXQE8qV4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "hVvku83ob-Gwij6vySrim8KWyO8", + "id": "UgyGzImce8WdiXQE8qV4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "I wish Andor would get the same attention since both are amazing series. If you like dark, realistic star wars like mando, you should give andor a try", + "textOriginal": "I wish Andor would get the same attention since both are amazing series. If you like dark, realistic star wars like mando, you should give andor a try", + "authorDisplayName": "슈미츠얀", + "authorProfileImageUrl": "https://yt3.ggpht.com/p0RhlaRFxSjLFiiEhyPuERs8NfAGTWEk4x3xCOfTRASIBX-HNVyrY935mumQzpCt69UeqXg-fQ=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCPw_0tkbZcDQE-aIgjU_D0Q", + "authorChannelId": { + "value": "UCPw_0tkbZcDQE-aIgjU_D0Q" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T06:05:44Z", + "updatedAt": "2023-01-18T06:05:44Z" + } + }, + "canReply": true, + "totalReplyCount": 1, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "f5XcZ7sRgOQUZUdPjieKjnGQlt8", + "id": "UgzpcbkXYiubi32dMJB4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "xuOBBrj4wzvd5VZwOghYj7bMS5c", + "id": "UgzpcbkXYiubi32dMJB4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "Where is Gina Carano? Is she safe? Is she alright?", + "textOriginal": "Where is Gina Carano? Is she safe? Is she alright?", + "authorDisplayName": "T", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu8at6an5t1ZjqJd1bx2CuUszRDnj92cG5EykHBG=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCHE8mJHfFEF8hHPA5y23L5A", + "authorChannelId": { + "value": "UCHE8mJHfFEF8hHPA5y23L5A" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 3, + "publishedAt": "2023-01-18T05:51:26Z", + "updatedAt": "2023-01-18T05:51:26Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "Qa6NVIAjuOWMfhNd8MnDPjphpMQ", + "id": "Ugy5Ka_z0J9g4dkXRPh4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "1zj4LUk20vSBGlp9VjMWZEPB3LI", + "id": "Ugy5Ka_z0J9g4dkXRPh4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "Can't wait to see my favorite character Cara Dune again & what she has been up to!😊👍🏻", + "textOriginal": "Can't wait to see my favorite character Cara Dune again & what she has been up to!😊👍🏻", + "authorDisplayName": "T", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu8at6an5t1ZjqJd1bx2CuUszRDnj92cG5EykHBG=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCHE8mJHfFEF8hHPA5y23L5A", + "authorChannelId": { + "value": "UCHE8mJHfFEF8hHPA5y23L5A" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 3, + "publishedAt": "2023-01-18T05:51:06Z", + "updatedAt": "2023-01-18T05:51:06Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "qkFuesewJgdwY76Z901tKOBGFuE", + "id": "UgzOkflAP8HVm9Qu1-d4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "a7Do1JJoeD3CfVWkn6PjDzX-p5I", + "id": "UgzOkflAP8HVm9Qu1-d4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "🔥🔥🔥", + "textOriginal": "🔥🔥🔥", + "authorDisplayName": "M.T.B Monsieur Tigre blanc", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu8poZGu-A_5YNLITV7oEILgBSu7Ut7zRdWjlW9PsA=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UC2UPoh1GYoY4JO2eFwGDhHw", + "authorChannelId": { + "value": "UC2UPoh1GYoY4JO2eFwGDhHw" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 1, + "publishedAt": "2023-01-18T05:48:46Z", + "updatedAt": "2023-01-18T05:48:46Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "tZv6fAi7Aph9niZFPaRWaTewgzo", + "id": "UgwAo6Nn2G_We_KvDDt4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "EtzPcJAYc4TnwJ256s1HDF_tIvc", + "id": "UgwAo6Nn2G_We_KvDDt4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "Fire far-left liberal feminist "the force is female" Kathleen Kennedy!!!", + "textOriginal": "Fire far-left liberal feminist \"the force is female\" Kathleen Kennedy!!!", + "authorDisplayName": "T", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu8at6an5t1ZjqJd1bx2CuUszRDnj92cG5EykHBG=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCHE8mJHfFEF8hHPA5y23L5A", + "authorChannelId": { + "value": "UCHE8mJHfFEF8hHPA5y23L5A" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 2, + "publishedAt": "2023-01-18T05:47:14Z", + "updatedAt": "2023-01-18T05:47:14Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "pjdfEFm3KzW2OeeRUxOlstP5iH0", + "id": "Ugx_r-sgheAPgH3rXYp4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "F6YHPUkwnYgryzozfGOIGAQXdn0", + "id": "Ugx_r-sgheAPgH3rXYp4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "🔥🔥🔥🔥🔥", + "textOriginal": "🔥🔥🔥🔥🔥", + "authorDisplayName": "snowly water", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu_j40xKUyH2f8wfWsKZGuB1LwP4fWX_Mh0ZailpXQM=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UC2UvAgVqfkCBJnLM6Vvjnxw", + "authorChannelId": { + "value": "UC2UvAgVqfkCBJnLM6Vvjnxw" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T05:40:02Z", + "updatedAt": "2023-01-18T05:40:02Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "92kOca4zoyAv1-PwzsuwTq38WUY", + "id": "UgyR5a8Sqn8lZCTuRTR4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "qdfDIHQ9tTtzictvCzpBGBsASXU", + "id": "UgyR5a8Sqn8lZCTuRTR4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "Bill Burr?", + "textOriginal": "Bill Burr?", + "authorDisplayName": "Jai Sri Ram", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu9pxU5hf3jYKiZ3Swtc1RJEv44a0UCdTqLF-E5P1u15LAF-OQaoezzxN_PPJTe9=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCwaVC_YDzxJ9TzgX7H_kLDQ", + "authorChannelId": { + "value": "UCwaVC_YDzxJ9TzgX7H_kLDQ" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T05:39:03Z", + "updatedAt": "2023-01-18T05:39:03Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "Ew8A2HaVHaK1XlvSScqOIXC5gqo", + "id": "UgwkNB_koIBra2qU4yN4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "xqTO2BdleG9O0L_ALeqk0EahCT0", + "id": "UgwkNB_koIBra2qU4yN4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "Well, I guess now we all know Grogu doesn't end up with Luke. Should be interesting to see how they explain that.", + "textOriginal": "Well, I guess now we all know Grogu doesn't end up with Luke. Should be interesting to see how they explain that.", + "authorDisplayName": "Rollergoalie16", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu-9mZI_eW6nP1YNyKYhqeADFz1A7LX2wtgR2AYr=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UC-zA_HQ5hn6NeOQRlTJ7P9w", + "authorChannelId": { + "value": "UC-zA_HQ5hn6NeOQRlTJ7P9w" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T05:38:32Z", + "updatedAt": "2023-01-18T05:38:32Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "rEQhW4kwKUuc-fwXftYazDjjVSk", + "id": "UgwMLToQN9XD78rX_7x4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "-71T__qCUTbRe-Rh44s02g3PXw0", + "id": "UgwMLToQN9XD78rX_7x4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "So excited for this to come back! My parents and I watch all the episodes together and we got grogu chia pets over Christmas!", + "textOriginal": "So excited for this to come back! My parents and I watch all the episodes together and we got grogu chia pets over Christmas!", + "authorDisplayName": "Seattle Dreamer", + "authorProfileImageUrl": "https://yt3.ggpht.com/xPcy_DqIqXPtXdRdB60aNS8udBlceBzfokI5AwaiEdXNWLPEVecUKQONSIjU_HAm19VmzpZa1g=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCxQI2dHelEzNlm-gbGdqEVA", + "authorChannelId": { + "value": "UCxQI2dHelEzNlm-gbGdqEVA" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 1, + "publishedAt": "2023-01-18T05:28:06Z", + "updatedAt": "2023-01-18T05:28:06Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "ytYmwsSjwe_nD53KTeRxvj_HxQY", + "id": "UgxSZG7vUw_M8CY_d8x4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "mXC7pIVmgld0nQDhff7IjgsybEI", + "id": "UgxSZG7vUw_M8CY_d8x4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "Now this looks awesome!", + "textOriginal": "Now this looks awesome!", + "authorDisplayName": "Moltson", + "authorProfileImageUrl": "https://yt3.ggpht.com/Hjk5IzPU3XC3Ew2iy-p-ssczNggGxIBwDtbQvsJ5HUnqUcacwWMMye_83jm13CUk8ow5nEl1=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCShPVTmaY2HR9NB97O-S1Hw", + "authorChannelId": { + "value": "UCShPVTmaY2HR9NB97O-S1Hw" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 1, + "publishedAt": "2023-01-18T05:27:29Z", + "updatedAt": "2023-01-18T05:27:29Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "MzF6K4W-Y9lgHZ3IAB1_FNLplRM", + "id": "UgyJlyZF0epKAOY7CaJ4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "jeIgdQ61MeiFVaKaX7sqtMU4ZFU", + "id": "UgyJlyZF0epKAOY7CaJ4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "Can’t wait, can’t wait, can’t wait!!😃", + "textOriginal": "Can’t wait, can’t wait, can’t wait!!😃", + "authorDisplayName": "Unit 1211", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu-bmo4WdseAbElTyGiWbMOBD5304yMSNFIMGuUg=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCA-TnUVsjKuK59HlmhKxYCA", + "authorChannelId": { + "value": "UCA-TnUVsjKuK59HlmhKxYCA" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 1, + "publishedAt": "2023-01-18T05:23:42Z", + "updatedAt": "2023-01-18T05:23:42Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "yOHP4WzWd6fcxkPSjypc-GDNUa0", + "id": "UgyVZXBP3nbe4sNELdN4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "mthbJIiSdyNnF32R6G6E-O5StE8", + "id": "UgyVZXBP3nbe4sNELdN4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "This is the way.", + "textOriginal": "This is the way.", + "authorDisplayName": "Held Hynrek", + "authorProfileImageUrl": "https://yt3.ggpht.com/AkaY7rGqhii0RiYMelXxYMQTKu826uU8uTMPtL1EbkZH_obWM4x0worAtPPstI4D_UBLIuPv=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCRpMJ7OhdrAkNsdoyaEf0Nw", + "authorChannelId": { + "value": "UCRpMJ7OhdrAkNsdoyaEf0Nw" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 1, + "publishedAt": "2023-01-18T05:18:52Z", + "updatedAt": "2023-01-18T05:18:52Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "nRqGSL9ChEQQVFpGCpVMCAxTQVs", + "id": "UgwlTGZUXCFB1QzTMjh4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "zm_lr6gI9ZltDcNyGllccbzRjcA", + "id": "UgwlTGZUXCFB1QzTMjh4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "The show that got us through so much! Brings a tear to my eye", + "textOriginal": "The show that got us through so much! Brings a tear to my eye", + "authorDisplayName": "Jpaulished", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu9NA3CFFCXqCqorjbmWvXMtVPkdFevvUS-7-7exjw=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCb_KXCjxaWppaEZG4nBUemQ", + "authorChannelId": { + "value": "UCb_KXCjxaWppaEZG4nBUemQ" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-18T05:07:20Z", + "updatedAt": "2023-01-18T05:07:20Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "7qoLavuQvEyyf8-7rEplRDg_vCA", + "id": "UgxGljoCe9jI_aQMbZd4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "9K24-x3KxbmOvlMyGYW17RdT2ro", + "id": "UgxGljoCe9jI_aQMbZd4AaABAg", + "snippet": { + "videoId": "Znsa4Deavgg", + "textDisplay": "Never forget God loves you and is our lord and savior", + "textOriginal": "Never forget God loves you and is our lord and savior", + "authorDisplayName": "Kyle Loftis", + "authorProfileImageUrl": "https://yt3.ggpht.com/vYUUOBXFX6F1iqv-_f4bV7uJwNWlsS3-yMKs8_vrUY5cfVVdkVd9QoBckiXLp63OvIhBiUGk=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCK1y7RKEHecmG97dg5lRUUA", + "authorChannelId": { + "value": "UCK1y7RKEHecmG97dg5lRUUA" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 2, + "publishedAt": "2023-01-18T05:05:48Z", + "updatedAt": "2023-01-18T05:05:48Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + } + ] +} diff --git a/public/data/VideoDetail.json b/public/data/VideoDetail.json new file mode 100644 index 0000000..76a0838 --- /dev/null +++ b/public/data/VideoDetail.json @@ -0,0 +1,651 @@ +{ + "kind": "youtube#commentThreadListResponse", + "etag": "kA3mlWYLU37f_g5xRSMK5h-KDCU", + "nextPageToken": "QURTSl9pMmZYSU5kY3piTHhDQkNJSHQ5YUJPUU1aZlZzY0hvQWN0OTN1VlNBSUFuXzJ6Q2xJdlpmWHU1Nm9LQ0lkWktJOVZLSEViUGVXOA==", + "pageInfo": { + "totalResults": 20, + "resultsPerPage": 20 + }, + "items": [ + { + "kind": "youtube#commentThread", + "etag": "CUFLqOZHhZMWwaoG1j5Gvu2B1QU", + "id": "UgyHHfPZwJMFmRApKrh4AaABAg", + "snippet": { + "videoId": "gig9-jO7YL4", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "KcD9FisBMlgB4PmW5Fmg03ydOCQ", + "id": "UgyHHfPZwJMFmRApKrh4AaABAg", + "snippet": { + "videoId": "gig9-jO7YL4", + "textDisplay": "God I love this channel! Great work guys!!", + "textOriginal": "God I love this channel! Great work guys!!", + "authorDisplayName": "jayzion23 Jones", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu_GEEGa6axEoYLjTyWMNj7PQNyE_CA1Ad9GzK-p=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UC49SrTX_GRd-QmEbpPC6PGg", + "authorChannelId": { + "value": "UC49SrTX_GRd-QmEbpPC6PGg" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-17T00:21:34Z", + "updatedAt": "2023-01-17T00:21:34Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "xX52k1uzlG25it6pxmhMTG1m8Jc", + "id": "UgyP4d-Jh-e7rjDY-3R4AaABAg", + "snippet": { + "videoId": "gig9-jO7YL4", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "ZSfsHRvtV0VaNXqQkMQJQaEvzUA", + "id": "UgyP4d-Jh-e7rjDY-3R4AaABAg", + "snippet": { + "videoId": "gig9-jO7YL4", + "textDisplay": "沢山の国が映っている所も素晴らしいです。詳しく無い国でもこれ程美しい景観があると知れば好印象です。", + "textOriginal": "沢山の国が映っている所も素晴らしいです。詳しく無い国でもこれ程美しい景観があると知れば好印象です。", + "authorDisplayName": "壁に耳あり障子にメアリー", + "authorProfileImageUrl": "https://yt3.ggpht.com/l4IrhysM_yba3-rCkc3Ij5tHF7hRTcI22pxcmv8_Km-sYphWnBbpGfn6zsyW-fzrDvNI6WWp=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCTugSV10kc5A2il0nriPWog", + "authorChannelId": { + "value": "UCTugSV10kc5A2il0nriPWog" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-16T01:03:54Z", + "updatedAt": "2023-01-16T01:03:54Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "Q7kP8gFScmbOEu4mooGrFKSy2rk", + "id": "Ugw_6LqQl2M7kSEVMqJ4AaABAg", + "snippet": { + "videoId": "gig9-jO7YL4", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "VGmGKGgWi198BD6k254PRBYAr28", + "id": "Ugw_6LqQl2M7kSEVMqJ4AaABAg", + "snippet": { + "videoId": "gig9-jO7YL4", + "textDisplay": "Where is Turkey with Kappdokia Aspendos Pammukkale,,", + "textOriginal": "Where is Turkey with Kappdokia Aspendos Pammukkale,,", + "authorDisplayName": "Sahra Tank", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu8UyPOQEmUKs_JerK4bJ9lT_tXlj2DXz4eCDg=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCHRpZs0wrQqPSq5m1thmhhQ", + "authorChannelId": { + "value": "UCHRpZs0wrQqPSq5m1thmhhQ" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-15T22:08:06Z", + "updatedAt": "2023-01-15T22:08:06Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "MTZqHbA4FP5UtSTcJWRaxX86PA0", + "id": "Ugw7ktfMoD_w1Xqsy0x4AaABAg", + "snippet": { + "videoId": "gig9-jO7YL4", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "eabse6Smob_7sfD7U5bknMnfiAE", + "id": "Ugw7ktfMoD_w1Xqsy0x4AaABAg", + "snippet": { + "videoId": "gig9-jO7YL4", + "textDisplay": "Wow amazing place", + "textOriginal": "Wow amazing place", + "authorDisplayName": "KH VLOGER YT", + "authorProfileImageUrl": "https://yt3.ggpht.com/q8ReV8fagL5O1IYkJYALUJPeM4KqCuKuxCAGVrVRRKqWxZOD0fmGYrBvO7kGZCn7nBCaMauvMkk=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCjn_8OeKE1HcKuKRQXOAfog", + "authorChannelId": { + "value": "UCjn_8OeKE1HcKuKRQXOAfog" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-14T13:36:43Z", + "updatedAt": "2023-01-14T13:36:43Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "oIlFpH8w7VWKEWqY530ArkArXBM", + "id": "Ugy59GczlWqOUOVHq1R4AaABAg", + "snippet": { + "videoId": "gig9-jO7YL4", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "eokHOGq7CZKMffwoFFQi75b9o8s", + "id": "Ugy59GczlWqOUOVHq1R4AaABAg", + "snippet": { + "videoId": "gig9-jO7YL4", + "textDisplay": "Very beautiful view, Mt.Fuji.", + "textOriginal": "Very beautiful view, Mt.Fuji.", + "authorDisplayName": "with Drone", + "authorProfileImageUrl": "https://yt3.ggpht.com/8CDK_GFF8Lax5SUebE2lmK8Jbu0gW1bzVXzqMkcH7q3mNF8qbCXhcwPLA9LIBx1G-thl6_0WbA=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UC9fOq_uP_hIzfWR5P8QiRiQ", + "authorChannelId": { + "value": "UC9fOq_uP_hIzfWR5P8QiRiQ" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-02T14:07:07Z", + "updatedAt": "2023-01-02T14:07:07Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "Bv29YSg8ihtPgR40iFGcupE5qnI", + "id": "UgwvfFUBMzc2tusnBJx4AaABAg", + "snippet": { + "videoId": "gig9-jO7YL4", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "wSV-rPuOqnI9wuzRCPrnHf0bRl0", + "id": "UgwvfFUBMzc2tusnBJx4AaABAg", + "snippet": { + "videoId": "gig9-jO7YL4", + "textDisplay": "\u003ca href=\"https://www.youtube.com/watch?v=gig9-jO7YL4&t=4m57s\"\u003e4:57\u003c/a\u003e This is Palestine not Israel.", + "textOriginal": "4:57 This is Palestine not Israel.", + "authorDisplayName": "ran dom", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu9SffZ06YKQGD1LCpuSZUrt7RYVXITnsfPGYCOH5WPYFDo4ZTF91X8bscRYGy9U=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCQLfyqZdyb0hNr5JKZZpsyA", + "authorChannelId": { + "value": "UCQLfyqZdyb0hNr5JKZZpsyA" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-02T13:23:57Z", + "updatedAt": "2023-01-02T13:23:57Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "xER20e_jRrNg_a8T5QwhEbWozGI", + "id": "UgxFN_jswamld0Xjt-V4AaABAg", + "snippet": { + "videoId": "gig9-jO7YL4", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "njO0vxK-zwy_6FBQhqtvaXS-6O0", + "id": "UgxFN_jswamld0Xjt-V4AaABAg", + "snippet": { + "videoId": "gig9-jO7YL4", + "textDisplay": "JERUSALEM IS PALESTINE \u003ca href=\"https://www.youtube.com/watch?v=gig9-jO7YL4&t=4m56s\"\u003e4:56\u003c/a\u003e✌✌✌", + "textOriginal": "JERUSALEM IS PALESTINE 4:56✌✌✌", + "authorDisplayName": "Mondher", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu_2CTg0S37QSSi2KA-SZ1qPxNNaRWK-Db52qJCmNBXNhAXEMoo_6E8RHByIxclA=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCz5L4-ioTggj-lgV5WsmLgw", + "authorChannelId": { + "value": "UCz5L4-ioTggj-lgV5WsmLgw" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2023-01-01T13:46:49Z", + "updatedAt": "2023-01-01T13:46:49Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "u1nsio03ll25DlTTkWe7lz0CjaM", + "id": "UgwoXQppHq3uNPan0ZR4AaABAg", + "snippet": { + "videoId": "gig9-jO7YL4", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "fBk7q8QxBWKEVF2JVoKzouEOxX0", + "id": "UgwoXQppHq3uNPan0ZR4AaABAg", + "snippet": { + "videoId": "gig9-jO7YL4", + "textDisplay": "WOooooW!!! Very Amazing places. thank you...please try in my Channel.", + "textOriginal": "WOooooW!!! Very Amazing places. thank you...please try in my Channel.", + "authorDisplayName": "ejan17", + "authorProfileImageUrl": "https://yt3.ggpht.com/1CaEoLy1GKf4Gnfqc351NJv08jBd5eh523q--uP5bZBfTPLuFIWVclnK7THdjVgufYiFGfPNSA=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCA4JCbK1AvtzBlalO_I-0Tw", + "authorChannelId": { + "value": "UCA4JCbK1AvtzBlalO_I-0Tw" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2022-12-27T16:14:22Z", + "updatedAt": "2022-12-27T16:14:22Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "Gq5ox_epQxdmmyFO57HCRzbYCfM", + "id": "Ugx6OlZsdK55MZHEEDx4AaABAg", + "snippet": { + "videoId": "gig9-jO7YL4", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "OBsiQreOhBjxZ3imxrA-MOY3PtM", + "id": "Ugx6OlZsdK55MZHEEDx4AaABAg", + "snippet": { + "videoId": "gig9-jO7YL4", + "textDisplay": "es ist ein Werkzeug zum Öffnen von Austern", + "textOriginal": "es ist ein Werkzeug zum Öffnen von Austern", + "authorDisplayName": "Marrabout26", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu-S_Ygqr6PcV_YwRPRSk8nVNUqed9pb3f1uqw=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCSwBsXWBOSpAdRhAiyrDzyA", + "authorChannelId": { + "value": "UCSwBsXWBOSpAdRhAiyrDzyA" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2022-12-26T20:43:59Z", + "updatedAt": "2022-12-26T20:43:59Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "DT1uCz9BRij-TYvL94Ou0z45_S0", + "id": "Ugy2VSDG3djrJ0B6izh4AaABAg", + "snippet": { + "videoId": "gig9-jO7YL4", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "SQzo_Uh2b6-lOyVzjPLMe4_nVOU", + "id": "Ugy2VSDG3djrJ0B6izh4AaABAg", + "snippet": { + "videoId": "gig9-jO7YL4", + "textDisplay": "What is the name of the music in the\u003cbr\u003eBrazil part.", + "textOriginal": "What is the name of the music in the\nBrazil part.", + "authorDisplayName": "Unimand Easti", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu9yOwHIoxmfQMYbhpnpg6Hx9SFzVqwDM68ipjHf=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCKzR2ZSSZyTOqxOxix2JAqw", + "authorChannelId": { + "value": "UCKzR2ZSSZyTOqxOxix2JAqw" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 1, + "publishedAt": "2022-12-26T10:26:00Z", + "updatedAt": "2022-12-26T10:26:00Z" + } + }, + "canReply": true, + "totalReplyCount": 2, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "9MHJKrdTvsxubRn_E2J_DwUixUc", + "id": "UgxrMdJ2o-HR4MEz1gJ4AaABAg", + "snippet": { + "videoId": "gig9-jO7YL4", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "kzjRyP_E1sBwC9E_XRAh09FpDww", + "id": "UgxrMdJ2o-HR4MEz1gJ4AaABAg", + "snippet": { + "videoId": "gig9-jO7YL4", + "textDisplay": "All were breathtaking, stunning, amazing, wonderful and beautiful places on Earth🌍🌎🌏❤🥰 i was waiting to see Victoria falls, Angel falls, Cappadocia, Pammukale, Manchu Picchu, Salar de Uyuni, Zhangjiajie National park, Vinicunca Peru, Torres del paine, Atacama dessert, Iguazu falls, Chocolate hills, Boracay island, Caño Cristales, Zhangye Danxia landform, Nile River, Lake Baikal and Great barrier Reef and many more....i hope you'll make another video of natural wonders and also beautiful ancient wonders....❤❤", + "textOriginal": "All were breathtaking, stunning, amazing, wonderful and beautiful places on Earth🌍🌎🌏❤🥰 i was waiting to see Victoria falls, Angel falls, Cappadocia, Pammukale, Manchu Picchu, Salar de Uyuni, Zhangjiajie National park, Vinicunca Peru, Torres del paine, Atacama dessert, Iguazu falls, Chocolate hills, Boracay island, Caño Cristales, Zhangye Danxia landform, Nile River, Lake Baikal and Great barrier Reef and many more....i hope you'll make another video of natural wonders and also beautiful ancient wonders....❤❤", + "authorDisplayName": "Laarni Deloria", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu8nB9RDfLp7gLo3U0Pv93CCgPSPmJ_UkXxokmzD=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCXlXE7eF1O_IKmKEsfw19dQ", + "authorChannelId": { + "value": "UCXlXE7eF1O_IKmKEsfw19dQ" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2022-12-26T01:49:34Z", + "updatedAt": "2022-12-26T01:49:34Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "_qT7wEfPukBFYfCBIFORuCsFwzg", + "id": "UgwoyciNxgqk1xpwf0B4AaABAg", + "snippet": { + "videoId": "gig9-jO7YL4", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "HprCmRhw4e-JMVzNcZg9iIEgXds", + "id": "UgwoyciNxgqk1xpwf0B4AaABAg", + "snippet": { + "videoId": "gig9-jO7YL4", + "textDisplay": "thats not Israel thats palastine", + "textOriginal": "thats not Israel thats palastine", + "authorDisplayName": "GG Haker", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu8j_zb9koR-EE1qYM50Dzj0CvR01a2tymvw-g=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCMqfzwsjlPIgIM_szHZR9fA", + "authorChannelId": { + "value": "UCMqfzwsjlPIgIM_szHZR9fA" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2022-12-17T10:56:01Z", + "updatedAt": "2022-12-17T10:56:01Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "ObLYkoiKLVhPMdsIV94csKjt2tI", + "id": "UgyakpYBNOPSLRrmLHl4AaABAg", + "snippet": { + "videoId": "gig9-jO7YL4", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "KUJB5r3iMNCUglXYkAtgjalvYjs", + "id": "UgyakpYBNOPSLRrmLHl4AaABAg", + "snippet": { + "videoId": "gig9-jO7YL4", + "textDisplay": "Great video but I can think of quite a few more beautiful places than the Russian salt lake. Or that polluted Russian lake.\u003cbr\u003eI think the video creators were from Indonesia because there were too many entries that to me weren't that beautiful. Certainly there are many but not all that were listed. I was going to ask why Yosemite and the grand tetons weren't listed but you snuck them in.\u003cbr\u003e\u003cbr\u003eBut over the Russian polluted lake and salt lake..\u003cbr\u003eFlorence, \u003cbr\u003eVenice, \u003cbr\u003eGlacier national park, \u003cbr\u003eWind river range, \u003cbr\u003eThe colosseum in Rome, \u003cbr\u003eAny of the great medieval cathedrals of Europe,\u003cbr\u003eThe great smokey mountains,\u003cbr\u003eJust off the top of my head.", + "textOriginal": "Great video but I can think of quite a few more beautiful places than the Russian salt lake. Or that polluted Russian lake.\nI think the video creators were from Indonesia because there were too many entries that to me weren't that beautiful. Certainly there are many but not all that were listed. I was going to ask why Yosemite and the grand tetons weren't listed but you snuck them in.\n\nBut over the Russian polluted lake and salt lake..\nFlorence, \nVenice, \nGlacier national park, \nWind river range, \nThe colosseum in Rome, \nAny of the great medieval cathedrals of Europe,\nThe great smokey mountains,\nJust off the top of my head.", + "authorDisplayName": "Charles Sanders", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu804gq8DlThtoq0xS7ihakJC0X1lrSPnAI28lTH16I=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCouCg_3nnKLcOQfacltyPNg", + "authorChannelId": { + "value": "UCouCg_3nnKLcOQfacltyPNg" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2022-12-12T09:38:49Z", + "updatedAt": "2022-12-12T10:11:45Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "Bs0ujy8WWXze-EosW4ivXNRTWyU", + "id": "UgxBNXTPc7-GDTNEsyl4AaABAg", + "snippet": { + "videoId": "gig9-jO7YL4", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "XlwaDNDvsUTPnC6yiR8WlchQOLg", + "id": "UgxBNXTPc7-GDTNEsyl4AaABAg", + "snippet": { + "videoId": "gig9-jO7YL4", + "textDisplay": "Thank you!", + "textOriginal": "Thank you!", + "authorDisplayName": "Траяна Куманова", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu80tPp1c-XXCqw3NVIHYIQuacwOaD1NfnN4ng=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCktqC4LruIVpTVc1PE3bQOA", + "authorChannelId": { + "value": "UCktqC4LruIVpTVc1PE3bQOA" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2022-12-09T19:32:03Z", + "updatedAt": "2022-12-09T19:32:03Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "M6hpYXZfluRczd2IUy21sXcMeU8", + "id": "Ugzrqz6Q6h1PMIBqvNt4AaABAg", + "snippet": { + "videoId": "gig9-jO7YL4", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "EKuHFp-mgCUVtqaDv_RO78GuqxI", + "id": "Ugzrqz6Q6h1PMIBqvNt4AaABAg", + "snippet": { + "videoId": "gig9-jO7YL4", + "textDisplay": "GOOD JOB BRO \u003ca href=\"about:invalid#zCSafez\"\u003e\u003c/a\u003e\u003ca href=\"about:invalid#zCSafez\"\u003e\u003c/a\u003e\u003ca href=\"about:invalid#zCSafez\"\u003e\u003c/a\u003e", + "textOriginal": "GOOD JOB BRO ", + "authorDisplayName": "8K WORLD", + "authorProfileImageUrl": "https://yt3.ggpht.com/nv2TFLQWXVLIPLb6ZQ58kjNnwqTOfOOhEb_JY3YpGtaxW35k7RAFqBcTvaFT_ZibK2P_vLXaxcc=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCN9rCKPpgzoB3W7D8yK8RzA", + "authorChannelId": { + "value": "UCN9rCKPpgzoB3W7D8yK8RzA" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2022-12-04T12:44:51Z", + "updatedAt": "2022-12-04T12:44:51Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "gnZBAftGF2qlGQ6nUzucPqnGFRM", + "id": "UgwtLaThs2bnBi7R2xN4AaABAg", + "snippet": { + "videoId": "gig9-jO7YL4", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "3oaSWWdOnRKRJ0zETQI0MbQGf7s", + "id": "UgwtLaThs2bnBi7R2xN4AaABAg", + "snippet": { + "videoId": "gig9-jO7YL4", + "textDisplay": "Romania - Bigar cascade falls. Doesn't exist anymore :(", + "textOriginal": "Romania - Bigar cascade falls. Doesn't exist anymore :(", + "authorDisplayName": "Asiimov", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu-SxuiiF5sBH8ROOlhk3bOMXJ3JMSTzFyW9H4Xumg=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UC3bi79JWnK8OtXcVoNrlpXw", + "authorChannelId": { + "value": "UC3bi79JWnK8OtXcVoNrlpXw" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2022-12-03T20:10:30Z", + "updatedAt": "2022-12-03T20:10:30Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "ELkevodLKtIpVC4zXvs0Fvf832M", + "id": "UgwP34GAZS-w6jOVxel4AaABAg", + "snippet": { + "videoId": "gig9-jO7YL4", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "5ktSIEvPq-2urqDTQoBb3H2hRQs", + "id": "UgwP34GAZS-w6jOVxel4AaABAg", + "snippet": { + "videoId": "gig9-jO7YL4", + "textDisplay": "Wonderful.\r\u003cbr\u003eMay Allah guide you to happiness ever after. \r\u003cbr\u003e\r\u003cbr\u003ePlease read Holy Quran words of Allah The Most Merciful.\r\u003cbr\u003eMay Allah guide you to the truth\r\u003cbr\u003e\r\u003cbr\u003ePlease read The Amazing Quran By: Dr. Gary Miller", + "textOriginal": "Wonderful.\r\nMay Allah guide you to happiness ever after. \r\n\r\nPlease read Holy Quran words of Allah The Most Merciful.\r\nMay Allah guide you to the truth\r\n\r\nPlease read The Amazing Quran By: Dr. Gary Miller", + "authorDisplayName": "Sufian AL Dib", + "authorProfileImageUrl": "https://yt3.ggpht.com/ytc/AMLnZu-riadByRxbfLqCSJqgaiVnORDtdJL_DvihI_h9VA=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCYybZdph2oHtusg1LpvR-VQ", + "authorChannelId": { + "value": "UCYybZdph2oHtusg1LpvR-VQ" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2022-12-03T07:20:47Z", + "updatedAt": "2022-12-03T07:20:47Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "7EXg1nu4vbaY0ZGo2EzhvTxhBXM", + "id": "UgyR1YB1iYgzq3CV3ut4AaABAg", + "snippet": { + "videoId": "gig9-jO7YL4", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "wmuGM9FHaPtnvJxmAG5WJ0Yb5xk", + "id": "UgyR1YB1iYgzq3CV3ut4AaABAg", + "snippet": { + "videoId": "gig9-jO7YL4", + "textDisplay": "I have to travel😭", + "textOriginal": "I have to travel😭", + "authorDisplayName": "Benedek Tóth-Sági", + "authorProfileImageUrl": "https://yt3.ggpht.com/xANPT-RPkl7u275G7qhGsVShLeEthotWrXXdrP3CY9AOLm7FDd0pb67u0uItew9XPnuPiH6CYg=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCNiA7Di-TfWQukjLzSC4ZNA", + "authorChannelId": { + "value": "UCNiA7Di-TfWQukjLzSC4ZNA" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2022-12-02T17:13:17Z", + "updatedAt": "2022-12-02T17:13:17Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "zfq_sNqutjuu4WuDpHjKUDOS-64", + "id": "UgzHQ9EQhBkziPUXFFR4AaABAg", + "snippet": { + "videoId": "gig9-jO7YL4", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "usDItMn_ko3EG9IpEbFuLAYWfgs", + "id": "UgzHQ9EQhBkziPUXFFR4AaABAg", + "snippet": { + "videoId": "gig9-jO7YL4", + "textDisplay": "\u003ca href=\"https://youtube.com/@neturerelaxing\"\u003ehttps://youtube.com/@neturerelaxing\u003c/a\u003e", + "textOriginal": "https://youtube.com/@neturerelaxing", + "authorDisplayName": "Neture Relaxing", + "authorProfileImageUrl": "https://yt3.ggpht.com/VOadZxiYo_3T7Gs6X2FMDCIoL_K2k-g8jKo2vcdDz98KG14g-npwcAIt52KTpPeoy4yQXl19=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UC1GHPEr_Fk27pKCCGhdWwhg", + "authorChannelId": { + "value": "UC1GHPEr_Fk27pKCCGhdWwhg" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2022-12-02T02:56:44Z", + "updatedAt": "2022-12-02T02:56:44Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + }, + { + "kind": "youtube#commentThread", + "etag": "XX8foiyRDUfPYK6iNqqtE418ADw", + "id": "UgxxJf9zSYVrAzVauj14AaABAg", + "snippet": { + "videoId": "gig9-jO7YL4", + "topLevelComment": { + "kind": "youtube#comment", + "etag": "oQ94xfRz6GtHVoDA9KC-T97q0bg", + "id": "UgxxJf9zSYVrAzVauj14AaABAg", + "snippet": { + "videoId": "gig9-jO7YL4", + "textDisplay": "great music with amazing scenery", + "textOriginal": "great music with amazing scenery", + "authorDisplayName": "Deep Focus Music", + "authorProfileImageUrl": "https://yt3.ggpht.com/XzoQJ5XHRgeFecmRUN9ugQxOKSOHC8HfJDUCmjL8zxjXm3LYwLknPNwFDrrtk4-84miygVCpyw=s48-c-k-c0x00ffffff-no-rj", + "authorChannelUrl": "http://www.youtube.com/channel/UCPYDSCY4_jNQQpPNvp_EGLA", + "authorChannelId": { + "value": "UCPYDSCY4_jNQQpPNvp_EGLA" + }, + "canRate": true, + "viewerRating": "none", + "likeCount": 0, + "publishedAt": "2022-11-30T10:43:44Z", + "updatedAt": "2022-11-30T10:43:44Z" + } + }, + "canReply": true, + "totalReplyCount": 0, + "isPublic": true + } + } + ] +} diff --git a/public/data/channel.json b/public/data/channel.json new file mode 100644 index 0000000..b451464 --- /dev/null +++ b/public/data/channel.json @@ -0,0 +1,43 @@ +{ + "kind": "youtube#channelListResponse", + "etag": "DovVRc4nTNzGShQkXoC7R2ab3JQ", + "pageInfo": { + "totalResults": 1, + "resultsPerPage": 5 + }, + "items": [ + { + "kind": "youtube#channel", + "etag": "Cxi25U626ZmPs7h8MsS4D8GzfV8", + "id": "UC_x5XG1OV2P6uZZ5FSM9Ttw", + "snippet": { + "title": "Google Developers", + "description": "The Google Developers channel features talks from events, educational series, best practices, tips, and the latest updates across our products and platforms.\n\nSubscribe to Google Developers → https://goo.gle/developers\n", + "customUrl": "@googledevelopers", + "publishedAt": "2007-08-23T00:34:43Z", + "thumbnails": { + "default": { + "url": "https://yt3.ggpht.com/ytc/AMLnZu-oDvWEJ-WfN9bgxQB2YAlnjC2uqN_c7JQZvX9Ikfg=s88-c-k-c0x00ffffff-no-rj", + "width": 88, + "height": 88 + }, + "medium": { + "url": "https://yt3.ggpht.com/ytc/AMLnZu-oDvWEJ-WfN9bgxQB2YAlnjC2uqN_c7JQZvX9Ikfg=s240-c-k-c0x00ffffff-no-rj", + "width": 240, + "height": 240 + }, + "high": { + "url": "https://yt3.ggpht.com/ytc/AMLnZu-oDvWEJ-WfN9bgxQB2YAlnjC2uqN_c7JQZvX9Ikfg=s800-c-k-c0x00ffffff-no-rj", + "width": 800, + "height": 800 + } + }, + "localized": { + "title": "Google Developers", + "description": "The Google Developers channel features talks from events, educational series, best practices, tips, and the latest updates across our products and platforms.\n\nSubscribe to Google Developers → https://goo.gle/developers\n" + }, + "country": "US" + } + } + ] +} diff --git a/public/data/hotTrend.json b/public/data/hotTrend.json new file mode 100644 index 0000000..d69ed0e --- /dev/null +++ b/public/data/hotTrend.json @@ -0,0 +1,1565 @@ +{ + "file": { + "kind": "youtube#videoListResponse", + "etag": "8LhR16WJV3UrKIzlXAjdziuB33Q", + "items": [ + { + "kind": "youtube#video", + "etag": "IzB8xNa8U2rupTJ55rnzjmWdmXo", + "id": "RQ0m99laOMQ", + "snippet": { + "publishedAt": "2023-01-15T05:05:16Z", + "channelId": "UCDVYQ4Zhbm3S2dlz7P1GBDg", + "title": "Los Angeles Chargers vs. Jacksonville Jaguars | 2022 Super Wild Card Weekend Game Highlights", + "description": "Check out our other channels:\nNFL Mundo https://www.youtube.com/mundonfl\nNFL Brasil https://www.youtube.com/c/NFLBrasilOficial\nNFL UK https://www.youtube.com/channel/UCVe0dAja_vZCmvfHXjtdRQA \nNFL Fantasy Football https://www.youtube.com/nflfantasyfootball\nNFL Play Football https://www.youtube.com/playfootball\nNFL Throwback http://www.youtube.com/nflvault\nNFL Films http://www.youtube.com/nflfilms\nNFL Network http://www.youtube.com/nflnetwork\n\n#NFL #Football #AmericanFootball", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/RQ0m99laOMQ/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/RQ0m99laOMQ/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/RQ0m99laOMQ/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/RQ0m99laOMQ/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/RQ0m99laOMQ/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "NFL", + "categoryId": "17", + "liveBroadcastContent": "none", + "localized": { + "title": "Los Angeles Chargers vs. Jacksonville Jaguars | 2022 Super Wild Card Weekend Game Highlights", + "description": "Check out our other channels:\nNFL Mundo https://www.youtube.com/mundonfl\nNFL Brasil https://www.youtube.com/c/NFLBrasilOficial\nNFL UK https://www.youtube.com/channel/UCVe0dAja_vZCmvfHXjtdRQA \nNFL Fantasy Football https://www.youtube.com/nflfantasyfootball\nNFL Play Football https://www.youtube.com/playfootball\nNFL Throwback http://www.youtube.com/nflvault\nNFL Films http://www.youtube.com/nflfilms\nNFL Network http://www.youtube.com/nflnetwork\n\n#NFL #Football #AmericanFootball" + } + }, + "contentDetails": { + "duration": "PT14M20S", + "dimension": "2d", + "definition": "hd", + "caption": "true", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "4342731", + "likeCount": "49315", + "favoriteCount": "0", + "commentCount": "9962" + } + }, + { + "kind": "youtube#video", + "etag": "BNYAXlHwNk50AGOM3mCVy-2P0ME", + "id": "0e8woEkKmG8", + "snippet": { + "publishedAt": "2022-11-15T18:01:04Z", + "channelId": "UCbAwSkqJ1W_Eg7wr3cp5BUA", + "title": "We Stayed At Every Hotel On The Vegas Strip", + "description": "Get PayPal Honey for FREE today ▸ https://joinhoney.com/safiya\nHoney finds coupons with one click. Thanks to Honey for sponsoring our adventure!!\n\nHELLO FRIENDS!! This is the video I threatened to film at some point last year - and finally, it's here!! We’re big fans of Las Vegas and, in a moment of delirium, decided to stay in every hotel on the strip and provide the internet with a full report of our thoughts - just in case you need it. So, we booked a hotel room at every single one of the 33 casino mega resorts on the Strip - to review the rooms, vibes, and activities at each one. What happens in Vegas, gets uploaded to youtube, as the saying goes. What did you guys think? Which hotels were your favorite?\n\nAnd yes, we did have to split our adventure into 2 parts! Check out part 2 here: https://youtu.be/3mugPH2_qRo\n\nA quick note - it looks like the Strat price title is missing, we paid $80 there on a Sunday!\n\nAlso, when we say \"Operated Independently\" - we mostly mean, not operated by MGM or Caesars!\n\nAlso also - we did receive some comped experiences at Treasure Island, Resorts World, and Circus Circus - but that did not influence our review and we did not promise them positive coverage. \n\nCheck out our merch shop here!! https://fiendishbehavior.com\n\nMy Instagram: https://www.instagram.com/safiyany/​\nMy TikTok: https://www.tiktok.com/@safiyany?\nTyler's channel: https://www.youtube.com/channel/UCc6BTuuTzfMLKj_RgwuDnQw\nOur YouTube Shorts channel: https://www.youtube.com/channel/UCLKQoTgt5BwFJJKWyeXHbig\n\nMUSIC\nVia AudioNetwork\n\nPRODUCED & EDITED by\nSafiya Nygaard\nTyler Williams\nDave Szamet\nCarrie Roper\nMelissa Douglas\nClare Gelber\nJack Scott\nPhil Kinney\nElizabeth Pinotti\nMike Pearson III\nSteven Yonce\nGerman Torres\nCorey Glynn\n\nGFX by Dayana Espinoza\n\nRESEARCH by\nRachel Faulkner White \nSabrina Ford\n\n0:00 Intro\n2:56 Vegas Game Plan\n4:48 The Four Seasons\n8:04 The Delano\n10:01 Mandalay Bay\n12:57 The Luxor\n17:14 The Excalibur\n20:57 New York New York\n23:42 Park MGM\n25:23 The NoMad\n28:13 The Waldorf Astoria\n30:12 The Aria\n32:18 Bonus Hotel: Vdara\n32:47 The Cosmopolitan\n36:18 The Bellagio\n39:35 Caesars Palace\n41:06 The Nobu Hotel\n44:01 The Mirage\n46:27 Treasure Island\n48:58 Resorts World\n52:53 Circus Circus\n56:13 The Stratosphere\n\n#vegas #hotel #travel", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/0e8woEkKmG8/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/0e8woEkKmG8/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/0e8woEkKmG8/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/0e8woEkKmG8/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/0e8woEkKmG8/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Safiya Nygaard", + "tags": ["safiya nygaard", "safiya and tyler", "tyler williams", "safia", "sofia", "sofiya", "las vegas", "vegas", "mandalay bay", "four seasons", "delano", "luxor", "excalibur", "park mgm", "nomad", "new york new york", "waldorf astoria", "the aria", "aria", "the cosmopolitan", "cosmopolitan", "cosmo", "bellagio", "caesars palace", "ceasars palace", "the mirage", "nobu", "nobu hotel", "treasure island", "resorts world", "circus circus", "the strat", "adventuredome", "big apple roller coaster", "vegas strip", "vegas hotels", "hotel tour", "travel vlog"], + "categoryId": "22", + "liveBroadcastContent": "none", + "defaultLanguage": "en", + "localized": { + "title": "We Stayed At Every Hotel On The Vegas Strip", + "description": "Get PayPal Honey for FREE today ▸ https://joinhoney.com/safiya\nHoney finds coupons with one click. Thanks to Honey for sponsoring our adventure!!\n\nHELLO FRIENDS!! This is the video I threatened to film at some point last year - and finally, it's here!! We’re big fans of Las Vegas and, in a moment of delirium, decided to stay in every hotel on the strip and provide the internet with a full report of our thoughts - just in case you need it. So, we booked a hotel room at every single one of the 33 casino mega resorts on the Strip - to review the rooms, vibes, and activities at each one. What happens in Vegas, gets uploaded to youtube, as the saying goes. What did you guys think? Which hotels were your favorite?\n\nAnd yes, we did have to split our adventure into 2 parts! Check out part 2 here: https://youtu.be/3mugPH2_qRo\n\nA quick note - it looks like the Strat price title is missing, we paid $80 there on a Sunday!\n\nAlso, when we say \"Operated Independently\" - we mostly mean, not operated by MGM or Caesars!\n\nAlso also - we did receive some comped experiences at Treasure Island, Resorts World, and Circus Circus - but that did not influence our review and we did not promise them positive coverage. \n\nCheck out our merch shop here!! https://fiendishbehavior.com\n\nMy Instagram: https://www.instagram.com/safiyany/​\nMy TikTok: https://www.tiktok.com/@safiyany?\nTyler's channel: https://www.youtube.com/channel/UCc6BTuuTzfMLKj_RgwuDnQw\nOur YouTube Shorts channel: https://www.youtube.com/channel/UCLKQoTgt5BwFJJKWyeXHbig\n\nMUSIC\nVia AudioNetwork\n\nPRODUCED & EDITED by\nSafiya Nygaard\nTyler Williams\nDave Szamet\nCarrie Roper\nMelissa Douglas\nClare Gelber\nJack Scott\nPhil Kinney\nElizabeth Pinotti\nMike Pearson III\nSteven Yonce\nGerman Torres\nCorey Glynn\n\nGFX by Dayana Espinoza\n\nRESEARCH by\nRachel Faulkner White \nSabrina Ford\n\n0:00 Intro\n2:56 Vegas Game Plan\n4:48 The Four Seasons\n8:04 The Delano\n10:01 Mandalay Bay\n12:57 The Luxor\n17:14 The Excalibur\n20:57 New York New York\n23:42 Park MGM\n25:23 The NoMad\n28:13 The Waldorf Astoria\n30:12 The Aria\n32:18 Bonus Hotel: Vdara\n32:47 The Cosmopolitan\n36:18 The Bellagio\n39:35 Caesars Palace\n41:06 The Nobu Hotel\n44:01 The Mirage\n46:27 Treasure Island\n48:58 Resorts World\n52:53 Circus Circus\n56:13 The Stratosphere\n\n#vegas #hotel #travel" + }, + "defaultAudioLanguage": "en" + }, + "contentDetails": { + "duration": "PT1H1S", + "dimension": "2d", + "definition": "hd", + "caption": "true", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "1112740", + "likeCount": "64196", + "favoriteCount": "0", + "commentCount": "3842" + } + }, + { + "kind": "youtube#video", + "etag": "KueSCiqfASFtICm0G-mIwr8IfD4", + "id": "3mugPH2_qRo", + "snippet": { + "publishedAt": "2019-01-15T19:00:22Z", + "channelId": "UCbAwSkqJ1W_Eg7wr3cp5BUA", + "title": "Staying At Every Hotel On The Vegas Strip (Part 2)", + "description": "Check out part 1 here! https://youtu.be/0e8woEkKmG8\n\nHELLO FRIENDS!! In this installment, we continue our exploration of every hotel on the Vegas strip, taking on the 14 hotels on the East side of the Strip. Still big fans, and still providing our thoughts on the room, vibes, and activities at each hotel - again, just in case you need it. We took on everything the strip had to throw at us - heat, celebrity restaurant pasta dishes, serenading gondoliers - until we finally made it to the end. We came, we saw, we stayed - here are the final 14! What do you guys think? Which hotel would you choose?\n\nAlso, when we say \"Operated Independently\" - we mostly mean, not operated by MGM or Caesars!\n\nCheck out our merch shop here!! https://fiendishbehavior.com\n\nMy Instagram: https://www.instagram.com/safiyany/​\nMy TikTok: https://www.tiktok.com/@safiyany?\nTyler's channel: https://www.youtube.com/channel/UCc6BTuuTzfMLKj_RgwuDnQw\nOur YouTube Shorts channel: https://www.youtube.com/channel/UCLKQoTgt5BwFJJKWyeXHbig\n\nMUSIC\nVia AudioNetwork\n\nPRODUCED & EDITED by\nSafiya Nygaard\nTyler Williams\nDave Szamet\nCarrie Roper \nMelissa Douglas\nClare Gelber\nJack Scott\nPhil Kinney\nElizabeth Pinotti\nMike Pearson III\nGerman Torres\nSteven Yonce\nCorey Glynn\n\nGFX by Dayana Espinoza\n\nRESEARCH by\nRachel Faulkner White \nSabrina Ford\n\n0:00 Intro\n1:20 The Sahara\n4:56 The Wynn / Encore\n11:42 The Venetian / Palazzo\n17:23 Harrah’s\n20:44 The LINQ\n26:17 Flamingo\n29:25 The Cromwell\n32:16 Bally’s (now Horseshoe)\n35:50 Paris\n40:07 Planet Hollywood\n43:25 The MGM Grand\n47:19 The Tropicana\n50:50 Outro & Our Recommendations \n\n#vegas #hotel #travel", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/3mugPH2_qRo/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/3mugPH2_qRo/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/3mugPH2_qRo/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/3mugPH2_qRo/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/3mugPH2_qRo/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Safiya Nygaard", + "tags": ["safiya nygaard", "safiya and tyler", "tyler williams", "safia", "sofia", "sofiya", "las vegas", "vegas", "the sahara", "sahara", "wynn", "encore", "the venetian", "venetian", "the palazzo", "palazzo", "harrah", "the linq", "linq", "flamingo", "cromwell", "ballys", "paris", "planet hollywood", "mgm grand", "tropicana", "twilight zone mini golf", "bills gambling hall", "tropicana glow spa", "glow spa", "vegas eiffel tower", "eiffel tower replica", "flavortown", "high roller", "vegas strip", "vegas hotels", "travel", "hotel tour", "vlog", "part 2"], + "categoryId": "22", + "liveBroadcastContent": "none", + "defaultLanguage": "en", + "localized": { + "title": "Staying At Every Hotel On The Vegas Strip (Part 2)", + "description": "Check out part 1 here! https://youtu.be/0e8woEkKmG8\n\nHELLO FRIENDS!! In this installment, we continue our exploration of every hotel on the Vegas strip, taking on the 14 hotels on the East side of the Strip. Still big fans, and still providing our thoughts on the room, vibes, and activities at each hotel - again, just in case you need it. We took on everything the strip had to throw at us - heat, celebrity restaurant pasta dishes, serenading gondoliers - until we finally made it to the end. We came, we saw, we stayed - here are the final 14! What do you guys think? Which hotel would you choose?\n\nAlso, when we say \"Operated Independently\" - we mostly mean, not operated by MGM or Caesars!\n\nCheck out our merch shop here!! https://fiendishbehavior.com\n\nMy Instagram: https://www.instagram.com/safiyany/​\nMy TikTok: https://www.tiktok.com/@safiyany?\nTyler's channel: https://www.youtube.com/channel/UCc6BTuuTzfMLKj_RgwuDnQw\nOur YouTube Shorts channel: https://www.youtube.com/channel/UCLKQoTgt5BwFJJKWyeXHbig\n\nMUSIC\nVia AudioNetwork\n\nPRODUCED & EDITED by\nSafiya Nygaard\nTyler Williams\nDave Szamet\nCarrie Roper \nMelissa Douglas\nClare Gelber\nJack Scott\nPhil Kinney\nElizabeth Pinotti\nMike Pearson III\nGerman Torres\nSteven Yonce\nCorey Glynn\n\nGFX by Dayana Espinoza\n\nRESEARCH by\nRachel Faulkner White \nSabrina Ford\n\n0:00 Intro\n1:20 The Sahara\n4:56 The Wynn / Encore\n11:42 The Venetian / Palazzo\n17:23 Harrah’s\n20:44 The LINQ\n26:17 Flamingo\n29:25 The Cromwell\n32:16 Bally’s (now Horseshoe)\n35:50 Paris\n40:07 Planet Hollywood\n43:25 The MGM Grand\n47:19 The Tropicana\n50:50 Outro & Our Recommendations \n\n#vegas #hotel #travel" + }, + "defaultAudioLanguage": "en" + }, + "contentDetails": { + "duration": "PT53M9S", + "dimension": "2d", + "definition": "hd", + "caption": "true", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "709899", + "likeCount": "48600", + "favoriteCount": "0", + "commentCount": "2622" + } + }, + { + "kind": "youtube#video", + "etag": "__Hz_qrJoE82TqkMZdk-Oq70DOg", + "id": "kiyQMRKEMiE", + "snippet": { + "publishedAt": "2023-01-15T20:00:10Z", + "channelId": "UCTkXRDQl0luXxVQrRQvWS6w", + "title": "We Survived Antarctica... The Ice Planet", + "description": "We Survived Antarctica... The Ice Planet. this was insane. There is nothing but snow, ice, mountains, and rock. We tried living in the wilderness. It was not what we expected.\n\nCash App: https://cash.app\n\nFollow my socials:\n➽ Twitter - @dream\n➽ Instagram - @dreamwastaken\n➽ Snapchat - @dream\n\nMrBeast: @MrBeast \nKarl: @Karl \nGeorge: @GeorgeNotFound \nSapnap: @Sapnap \n\nAfter years of being completely faceless online, I finally decided to do a face reveal, and after that my life completely changed. MrBeast took me to Antartica, and it was some of the craziest days of my life.\n\nAntarctica is nothing like anywhere else on earth. The sun never sets, the snow is deeper than you can dig, and the wind is hurricane-like at all times. You have to wear special gear to go outside, to avoid frostbite and also snow blindness. It felt like living on a different planet. The Ice Planet.\n\nAntarctica was incredibly cold, and surviving 50 hours in the wilderness was crazy. It was actually pretty fun, despite the fact I had 3 different illneses at the same time while I was there. I was constantly freezing and coughing, but I still managed to have fun. There were some scary moments, and lots of fun moments with my friends.\n\nBeing able to finally do this stuff in real life is awesome. I never would have thought in a million years that George, Sapnap and I would be traveling to Antarctica instead of filming another Minecraft Manhunt (maybe soon?!). I still want to do one in real life as well. Sorry for the lack of uploads!\n\nFun fact: Antarctica is the biggest desert on earth!\n\nMore Minecraft Survival soon... was kind of busy freezing...", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/kiyQMRKEMiE/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/kiyQMRKEMiE/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/kiyQMRKEMiE/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/kiyQMRKEMiE/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/kiyQMRKEMiE/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Dream", + "tags": ["minecraft", "dream", "dream minecraft"], + "categoryId": "20", + "liveBroadcastContent": "none", + "localized": { + "title": "We Survived Antarctica... The Ice Planet", + "description": "We Survived Antarctica... The Ice Planet. this was insane. There is nothing but snow, ice, mountains, and rock. We tried living in the wilderness. It was not what we expected.\n\nCash App: https://cash.app\n\nFollow my socials:\n➽ Twitter - @dream\n➽ Instagram - @dreamwastaken\n➽ Snapchat - @dream\n\nMrBeast: @MrBeast \nKarl: @Karl \nGeorge: @GeorgeNotFound \nSapnap: @Sapnap \n\nAfter years of being completely faceless online, I finally decided to do a face reveal, and after that my life completely changed. MrBeast took me to Antartica, and it was some of the craziest days of my life.\n\nAntarctica is nothing like anywhere else on earth. The sun never sets, the snow is deeper than you can dig, and the wind is hurricane-like at all times. You have to wear special gear to go outside, to avoid frostbite and also snow blindness. It felt like living on a different planet. The Ice Planet.\n\nAntarctica was incredibly cold, and surviving 50 hours in the wilderness was crazy. It was actually pretty fun, despite the fact I had 3 different illneses at the same time while I was there. I was constantly freezing and coughing, but I still managed to have fun. There were some scary moments, and lots of fun moments with my friends.\n\nBeing able to finally do this stuff in real life is awesome. I never would have thought in a million years that George, Sapnap and I would be traveling to Antarctica instead of filming another Minecraft Manhunt (maybe soon?!). I still want to do one in real life as well. Sorry for the lack of uploads!\n\nFun fact: Antarctica is the biggest desert on earth!\n\nMore Minecraft Survival soon... was kind of busy freezing..." + }, + "defaultAudioLanguage": "en" + }, + "contentDetails": { + "duration": "PT31M34S", + "dimension": "2d", + "definition": "hd", + "caption": "false", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "2036788", + "likeCount": "236297", + "favoriteCount": "0", + "commentCount": "13442" + } + }, + { + "kind": "youtube#video", + "etag": "8UMeocD5E1KnPTYkxp5gVQWVq2g", + "id": "79x1HunQ6qU", + "snippet": { + "publishedAt": "2023-01-16T18:00:06Z", + "channelId": "UCXq2nALoSbxLMehAvYTxt_A", + "title": "We learn how to be Pirates at PIRATES ADVENTURE!", + "description": "They're gonna do what we call in the industry 'the bloody stain on the street'\n\nClick to SUBSCRIBE ► http://bit.ly/TheGrumps\nMERCH!! ► http://gamegrumps.com/merch\nOur email list! ► http://bit.ly/GrumpsStuffEmail\n\n*********************************************\n\nWe have NEW MERCH every FRIDAY! \n\nVisit our WEBSITE every FRIDAY to check out the NEW items!\n\n►►► http://gamegrumps.com/merch\n\n*********************************************\n\nFACEBOOK ► https://www.facebook.com/GameGrumps\nTWITTER ► https://www.twitter.com/gamegrumps\nINSTAGRAM ► https://www.instagram.com/gamegrumps/\nWEBSITE ► http://gamegrumps.com\n\n*********************************************\n\nGame Grumps are:\nArin ► http://www.youtube.com/Egoraptor\nDanny ► http://www.youtube.com/NinjaSexParty\n\n#TheGrumps #Comedy #GameGrumps", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/79x1HunQ6qU/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/79x1HunQ6qU/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/79x1HunQ6qU/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/79x1HunQ6qU/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/79x1HunQ6qU/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "The Grumps", + "categoryId": "23", + "liveBroadcastContent": "none", + "defaultLanguage": "en", + "localized": { + "title": "We learn how to be Pirates at PIRATES ADVENTURE!", + "description": "They're gonna do what we call in the industry 'the bloody stain on the street'\n\nClick to SUBSCRIBE ► http://bit.ly/TheGrumps\nMERCH!! ► http://gamegrumps.com/merch\nOur email list! ► http://bit.ly/GrumpsStuffEmail\n\n*********************************************\n\nWe have NEW MERCH every FRIDAY! \n\nVisit our WEBSITE every FRIDAY to check out the NEW items!\n\n►►► http://gamegrumps.com/merch\n\n*********************************************\n\nFACEBOOK ► https://www.facebook.com/GameGrumps\nTWITTER ► https://www.twitter.com/gamegrumps\nINSTAGRAM ► https://www.instagram.com/gamegrumps/\nWEBSITE ► http://gamegrumps.com\n\n*********************************************\n\nGame Grumps are:\nArin ► http://www.youtube.com/Egoraptor\nDanny ► http://www.youtube.com/NinjaSexParty\n\n#TheGrumps #Comedy #GameGrumps" + }, + "defaultAudioLanguage": "en" + }, + "contentDetails": { + "duration": "PT20M31S", + "dimension": "2d", + "definition": "hd", + "caption": "true", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "256379", + "likeCount": "22152", + "favoriteCount": "0", + "commentCount": "1296" + } + }, + { + "kind": "youtube#video", + "etag": "8b4_5ycTqu3wusbKXBmmTpcnXc0", + "id": "likYKQXBLbw", + "snippet": { + "publishedAt": "2023-01-16T09:00:30Z", + "channelId": "UCEf_Bc-KVd7onSeifS3py9g", + "title": "GOT the beat 갓 더 비트 'Stamp On It' MV", + "description": "GOT the beat's 1st Mini Album \"Stamp On It\" is out!\nListen and download on your favorite platform: https://GOTthebeat.lnk.to/StampOnIt\n\n[Tracklist]\n01 Stamp On It\n02 Goddess Level\n03 Alter Ego\n04 가시 (Rose)\n05 Outlaw\n06 MALA\n\nGOT the beat Official\nhttps://www.youtube.com/GOT_smtown\nhttps://www.facebook.com/GirlsOnTop.SM\nhttps://www.instagram.com/girlsontop_sm\nhttps://twitter.com/GirlsOnTop_SM\nhttps://www.tiktok.com/@girlsontop_sm\n\n#GOT_the_beat #갓더비트 #StampOnIt\n#GOT_StampOnIt #GirlsOnTop #GOT #걸스온탑\nGOT the beat 갓 더 비트 'Stamp On It' MV ℗ SM Entertainment", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/likYKQXBLbw/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/likYKQXBLbw/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/likYKQXBLbw/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/likYKQXBLbw/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/likYKQXBLbw/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "SMTOWN", + "tags": ["갓더비트", "갓 더 비트", "got", "girls on top", "got the beat", "stamp on it", "스탬프 온 잇", "보아", "태연", "효연", "소녀시대", "슬기", "웬디", "레드벨벳", "에스파", "카리나", "윈터", "boa", "taeyeon", "hyoyeon", "girls' generation", "seulgi", "wendy", "red velvet", "aespa", "karina", "winter", "mv", "music video", "teaser", "걸스온탑", "걸스 온 탑"], + "categoryId": "10", + "liveBroadcastContent": "none", + "localized": { + "title": "GOT the beat 갓 더 비트 'Stamp On It' MV", + "description": "GOT the beat's 1st Mini Album \"Stamp On It\" is out!\nListen and download on your favorite platform: https://GOTthebeat.lnk.to/StampOnIt\n\n[Tracklist]\n01 Stamp On It\n02 Goddess Level\n03 Alter Ego\n04 가시 (Rose)\n05 Outlaw\n06 MALA\n\nGOT the beat Official\nhttps://www.youtube.com/GOT_smtown\nhttps://www.facebook.com/GirlsOnTop.SM\nhttps://www.instagram.com/girlsontop_sm\nhttps://twitter.com/GirlsOnTop_SM\nhttps://www.tiktok.com/@girlsontop_sm\n\n#GOT_the_beat #갓더비트 #StampOnIt\n#GOT_StampOnIt #GirlsOnTop #GOT #걸스온탑\nGOT the beat 갓 더 비트 'Stamp On It' MV ℗ SM Entertainment" + }, + "defaultAudioLanguage": "ko" + }, + "contentDetails": { + "duration": "PT4M", + "dimension": "2d", + "definition": "hd", + "caption": "true", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "2091052", + "likeCount": "314821", + "favoriteCount": "0", + "commentCount": "13773" + } + }, + { + "kind": "youtube#video", + "etag": "Bqw_ualav1u8GXdN7Ivv2mSaG7s", + "id": "nfxyF1_Ylkk", + "snippet": { + "publishedAt": "2023-01-15T23:12:44Z", + "channelId": "UCtI0Hodo5o5dUb67FeUjDeA", + "title": "USSF-67 Mission", + "description": "SpaceX is targeting Sunday, January 15 at 5:56 p.m. ET (22:56 UTC) for Falcon Heavy’s launch of the USSF-67 mission to a geosynchronous Earth orbit from Launch Complex 39A (LC-39A) at Kennedy Space Center in Florida. \n \nFollowing booster separation, Falcon Heavy’s two side boosters will land on SpaceX’s Landing Zones 1 and 2 (LZ-1 and LZ-2) at Cape Canaveral Space Force Station in Florida. \n\nA live webcast of this mission will begin about 15 minutes prior to liftoff.", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/nfxyF1_Ylkk/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/nfxyF1_Ylkk/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/nfxyF1_Ylkk/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/nfxyF1_Ylkk/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/nfxyF1_Ylkk/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "SpaceX", + "tags": ["SpaceX", "Space", "Satellite", "Mission", "Starlink", "Falcon 9"], + "categoryId": "28", + "liveBroadcastContent": "none", + "defaultLanguage": "en", + "localized": { + "title": "USSF-67 Mission", + "description": "SpaceX is targeting Sunday, January 15 at 5:56 p.m. ET (22:56 UTC) for Falcon Heavy’s launch of the USSF-67 mission to a geosynchronous Earth orbit from Launch Complex 39A (LC-39A) at Kennedy Space Center in Florida. \n \nFollowing booster separation, Falcon Heavy’s two side boosters will land on SpaceX’s Landing Zones 1 and 2 (LZ-1 and LZ-2) at Cape Canaveral Space Force Station in Florida. \n\nA live webcast of this mission will begin about 15 minutes prior to liftoff." + }, + "defaultAudioLanguage": "en" + }, + "contentDetails": { + "duration": "PT29M21S", + "dimension": "2d", + "definition": "hd", + "caption": "false", + "licensedContent": false, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "927239", + "likeCount": "23464", + "favoriteCount": "0", + "commentCount": "1010" + } + }, + { + "kind": "youtube#video", + "etag": "hi0SPzZFOD4RYa5GV87rv9IjMR4", + "id": "DvpN4EeFuhE", + "snippet": { + "publishedAt": "2023-01-15T01:16:55Z", + "channelId": "UCurvRE5fGcdUgCYWgh-BDsg", + "title": "UNBELIEVABLE ACTION | KSI vs. FaZe Temper Full Card Highlights", + "description": "January 14, 2023 -- Highlights from the KSI vs. FaZe Temper card from the Ovo Arena, London. Presented by Autozone.\n\nSubscribe to our YouTube channel 👉 http://bit.ly/DAZNBoxingYouTube\nSubscribe to the DAZN X Series YouTube channel 👉 https://bit.ly/XSeriesYouTube \n\nDownload the DAZN app now 👉 http://bit.ly/DAZNYoutube\n\nFollow DAZN Boxing On Social Media 👇\nTwitter: https://www.twitter.com/DAZNBoxing\nInstagram: https://www.instagram.com/DAZNBoxing\nFacebook: https://www.facebook.com/DAZN\n\nThe DAZN Boxing Show ► https://bit.ly/3EQ70HN\nDAZN Rewind ► https://bit.ly/32iAaRT\n\n00:13 - Anthony Taylor vs. Idris Virgo\n03:33 - Elle Brooke vs. Faith Ordway\n05:46 - Ryan Taylor vs. Swarmz\n08:41 - Luis Alcaraz Pineda (Mystery Opponent) vs. BDave\n10:49 - Salt Papi vs. Josh Brueckner\n11:51 - Slim Albaher vs. Tom Zanetti\n15:39 - KSI vs. FaZe Temper\n\n#ksitemper #KSI #DAZN #DAZNBoxing #Boxing", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/DvpN4EeFuhE/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/DvpN4EeFuhE/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/DvpN4EeFuhE/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/DvpN4EeFuhE/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/DvpN4EeFuhE/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "DAZN Boxing", + "tags": ["dazn", "boxing", "highlights", "full fight", "ko", "knockout", "top 10", "The DAZN Boxing Show", "Pelea", "Boxeo", "Pugile", "dazn boxing", "ksi", "elle brooke", "faze temper", "wembley", "slim", "faith ordway", "tom zanetti", "salt papi", "josh brueckner", "ryan taylor", "swarmz", "luis alcaraz pineda", "Bdave", "anthony taylor", "idris virgo", "crossover boxing", "influencers", "influencer boxing", "celebrity boxing"], + "categoryId": "17", + "liveBroadcastContent": "none", + "defaultLanguage": "en", + "localized": { + "title": "UNBELIEVABLE ACTION | KSI vs. FaZe Temper Full Card Highlights", + "description": "January 14, 2023 -- Highlights from the KSI vs. FaZe Temper card from the Ovo Arena, London. Presented by Autozone.\n\nSubscribe to our YouTube channel 👉 http://bit.ly/DAZNBoxingYouTube\nSubscribe to the DAZN X Series YouTube channel 👉 https://bit.ly/XSeriesYouTube \n\nDownload the DAZN app now 👉 http://bit.ly/DAZNYoutube\n\nFollow DAZN Boxing On Social Media 👇\nTwitter: https://www.twitter.com/DAZNBoxing\nInstagram: https://www.instagram.com/DAZNBoxing\nFacebook: https://www.facebook.com/DAZN\n\nThe DAZN Boxing Show ► https://bit.ly/3EQ70HN\nDAZN Rewind ► https://bit.ly/32iAaRT\n\n00:13 - Anthony Taylor vs. Idris Virgo\n03:33 - Elle Brooke vs. Faith Ordway\n05:46 - Ryan Taylor vs. Swarmz\n08:41 - Luis Alcaraz Pineda (Mystery Opponent) vs. BDave\n10:49 - Salt Papi vs. Josh Brueckner\n11:51 - Slim Albaher vs. Tom Zanetti\n15:39 - KSI vs. FaZe Temper\n\n#ksitemper #KSI #DAZN #DAZNBoxing #Boxing" + }, + "defaultAudioLanguage": "en" + }, + "contentDetails": { + "duration": "PT18M17S", + "dimension": "2d", + "definition": "hd", + "caption": "false", + "licensedContent": true, + "regionRestriction": { + "blocked": ["BY", "RU"] + }, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "3773247", + "likeCount": "102912", + "favoriteCount": "0", + "commentCount": "6005" + } + }, + { + "kind": "youtube#video", + "etag": "ePIrbha86RHKMaYgWq2iJlF-0tA", + "id": "9wEGM-okaHU", + "snippet": { + "publishedAt": "2023-01-16T18:03:06Z", + "channelId": "UCY6Ij8zOds0WJEeqCLOnqOQ", + "title": "Order of the Phoenix...", + "description": "Download and play The Battle Cats for free: https://pixly.go2cloud.org/SH3cq\nThe Lunar New Year’s campaign is on in The Battle Cats with a free gift of 777 Cat Food or more from the Wildcat Slots, and daily login stamps of awesome rewards like Rare Tickets and Legendary Charms! Plus, special Rare Capsule sets and three event-only Lunar New Year’s maps appearing until February 20th!\n\n\n★☆★ Help Me Get to 4,000,000 Subscribers! http://bit.ly/1Iqsdaq\n\nCheck out my Podcast\nhttps://www.youtube.com/channel/UCBgm0clEVtGjgUKGHbMrqIw/\n\n★☆★Buy some Merch: alexmeyers.teemill.com\n\n★☆★PLEASE SHARE THIS VIDEO!!\n\n★☆★PREVIOUS VIDEOS:\n\nHarry Potter 1\nhttps://youtu.be/kS3UHcnmJec\n\nHarry Potter 2\nhttps://youtu.be/sqaHcL3Dajs\n\nHarry Potter 3\nhttps://youtu.be/2bFDmjNmfbA\n\nHarry Potter 4\nhttps://youtu.be/KgBv-oI7-48\n\n\nThank you so much for 3,000,000 subscribers. If you like what you see, please share these videos with your friends to show support!", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/9wEGM-okaHU/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/9wEGM-okaHU/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/9wEGM-okaHU/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/9wEGM-okaHU/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/9wEGM-okaHU/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Alex Meyers", + "tags": ["alex meyers", "alex mayers", "alex myers", "harry potter", "order of the phoenix"], + "categoryId": "24", + "liveBroadcastContent": "none", + "localized": { + "title": "Order of the Phoenix...", + "description": "Download and play The Battle Cats for free: https://pixly.go2cloud.org/SH3cq\nThe Lunar New Year’s campaign is on in The Battle Cats with a free gift of 777 Cat Food or more from the Wildcat Slots, and daily login stamps of awesome rewards like Rare Tickets and Legendary Charms! Plus, special Rare Capsule sets and three event-only Lunar New Year’s maps appearing until February 20th!\n\n\n★☆★ Help Me Get to 4,000,000 Subscribers! http://bit.ly/1Iqsdaq\n\nCheck out my Podcast\nhttps://www.youtube.com/channel/UCBgm0clEVtGjgUKGHbMrqIw/\n\n★☆★Buy some Merch: alexmeyers.teemill.com\n\n★☆★PLEASE SHARE THIS VIDEO!!\n\n★☆★PREVIOUS VIDEOS:\n\nHarry Potter 1\nhttps://youtu.be/kS3UHcnmJec\n\nHarry Potter 2\nhttps://youtu.be/sqaHcL3Dajs\n\nHarry Potter 3\nhttps://youtu.be/2bFDmjNmfbA\n\nHarry Potter 4\nhttps://youtu.be/KgBv-oI7-48\n\n\nThank you so much for 3,000,000 subscribers. If you like what you see, please share these videos with your friends to show support!" + }, + "defaultAudioLanguage": "en" + }, + "contentDetails": { + "duration": "PT17M18S", + "dimension": "2d", + "definition": "hd", + "caption": "false", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "306864", + "likeCount": "22025", + "favoriteCount": "0", + "commentCount": "1309" + } + }, + { + "kind": "youtube#video", + "etag": "hhfdKI38fi2rDLl5azYCY8JUMjg", + "id": "kWQJQCprHUs", + "snippet": { + "publishedAt": "2023-01-15T16:29:08Z", + "channelId": "UCUU3GdGuQshZFRGnxAPBf_w", + "title": "LEGO PRODUCTS you DIDN'T know EXIST...", + "description": "15+ Lego products that you never knew Lego made...\n\n🎥 INSTAGRAM for BTS, sneak peaks, updates, special announcements: https://www.instagram.com/td_the_creator/\n\n📱 TIKTOK for short form content: https://www.tiktok.com/@td_the_creator?_t=8Z3O4T9iKQ2&_r=1\n\nLet's get my beat producer to 1,000 subs: https://www.youtube.com/channel/UCOokqXsS72ACKATav7wPabg\n\n✉️ EMAIL for business inquiries: td.brickz@gmail.com\n\nPodcast where I answer my most frequently asked questions: https://youtu.be/pYF1AyTg2q4\n\nPersonal account: https://www.instagram.com/the_boy_tygo/\n\n🎶 MUSIC credits:\nEpidemic Sound: https://share.epidemicsound.com/c3oiyn\n\nHow I make my videos:\nCamera: Canon EOS R\nMic: RODE VideoMic Go\nEditing Software: Final Cut Pro X", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/kWQJQCprHUs/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/kWQJQCprHUs/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/kWQJQCprHUs/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/kWQJQCprHUs/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/kWQJQCprHUs/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "TD BRICKS", + "tags": ["lego", "lego creation", "lego creations", "lego moc", "lego build", "lego builder", "lego meme", "lego memes", "lego set", "lego top 10", "lego ideas", "lego products", "cursed lego", "cursed lego products", "worst lego", "best lego", "top 10 lego", "lego waffles", "lego minififigure", "lego usb", "lego minifigure usb", "lego shoes", "lego cup", "lego waffle maker"], + "categoryId": "24", + "liveBroadcastContent": "none", + "defaultLanguage": "en", + "localized": { + "title": "LEGO PRODUCTS you DIDN'T know EXIST...", + "description": "15+ Lego products that you never knew Lego made...\n\n🎥 INSTAGRAM for BTS, sneak peaks, updates, special announcements: https://www.instagram.com/td_the_creator/\n\n📱 TIKTOK for short form content: https://www.tiktok.com/@td_the_creator?_t=8Z3O4T9iKQ2&_r=1\n\nLet's get my beat producer to 1,000 subs: https://www.youtube.com/channel/UCOokqXsS72ACKATav7wPabg\n\n✉️ EMAIL for business inquiries: td.brickz@gmail.com\n\nPodcast where I answer my most frequently asked questions: https://youtu.be/pYF1AyTg2q4\n\nPersonal account: https://www.instagram.com/the_boy_tygo/\n\n🎶 MUSIC credits:\nEpidemic Sound: https://share.epidemicsound.com/c3oiyn\n\nHow I make my videos:\nCamera: Canon EOS R\nMic: RODE VideoMic Go\nEditing Software: Final Cut Pro X" + }, + "defaultAudioLanguage": "en" + }, + "contentDetails": { + "duration": "PT8M24S", + "dimension": "2d", + "definition": "hd", + "caption": "false", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "1559990", + "likeCount": "35458", + "favoriteCount": "0", + "commentCount": "3410" + } + }, + { + "kind": "youtube#video", + "etag": "rNVvZ2Eo688hWFX1qTYsLAetlvc", + "id": "M-f3K4VrqCY", + "snippet": { + "publishedAt": "2023-01-16T04:48:36Z", + "channelId": "UCiKGMZZmZXK-RpbKJGXgH3Q", + "title": "Brendan Fraser Cries In 2023 Critics Choice Awards Speech", + "description": "Brendan Fraser's speech didn't leave a dry eye in the house at the 2023 Critics Choice Awards. The 54-year-old actor won Best Actor on Sunday night for his performance in \"The Whale\" and he kicked off his speech by sharing a quote about critics that made the audience laugh. Brendan went on to show appreciation for co-stars Hong Chau and Sadie Sink, plus director Darren Aronofsky. At the end of his emotional speech, he gave some advice for anyone struggling with their weight, which his character overcomes.", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/M-f3K4VrqCY/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/M-f3K4VrqCY/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/M-f3K4VrqCY/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/M-f3K4VrqCY/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/M-f3K4VrqCY/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Access Hollywood", + "tags": ["Brendan Fraser", "Critics Choice Awards 2023", "Best Actor", "speech", "The Whale", "Sadie Sink", "actor", "celebrity", "lifestyle", "news"], + "categoryId": "24", + "liveBroadcastContent": "none", + "localized": { + "title": "Brendan Fraser Cries In 2023 Critics Choice Awards Speech", + "description": "Brendan Fraser's speech didn't leave a dry eye in the house at the 2023 Critics Choice Awards. The 54-year-old actor won Best Actor on Sunday night for his performance in \"The Whale\" and he kicked off his speech by sharing a quote about critics that made the audience laugh. Brendan went on to show appreciation for co-stars Hong Chau and Sadie Sink, plus director Darren Aronofsky. At the end of his emotional speech, he gave some advice for anyone struggling with their weight, which his character overcomes." + }, + "defaultAudioLanguage": "en" + }, + "contentDetails": { + "duration": "PT4M42S", + "dimension": "2d", + "definition": "hd", + "caption": "false", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "1085742", + "likeCount": "22978", + "favoriteCount": "0", + "commentCount": "2181" + } + }, + { + "kind": "youtube#video", + "etag": "IgjZxjkLNHrCYSIFDjN2ZDbDQko", + "id": "OzYU_ZwEL0U", + "snippet": { + "publishedAt": "2023-01-15T21:00:56Z", + "channelId": "UC6c1z7bA__85CIWZ_jpCK-Q", + "title": "🚨 ELECTRIC EL CLASICO 🚨 Real Madrid vs. Barcelona | Spanish Super Cup Highlights | ESPN FC", + "description": "Barcelona win the 2023 Spanish Super Cup with a 3-1 win over Real Madrid in El Clasico. Gavi and Robert Lewandowski notched first-half goals for Barca followed by Pedri adding a third in the second half and Karim Benzema added a late consolation for Carlo Ancelotti’s side.\n#ESPNFC #LaLiga #SpanishSuperCup #Supercopa #Barcelona #RealMadrid #highlights #soccer \n\n✔ Subscribe to ESPN+: http://espnplus.com/soccer/youtube\n✔ Subscribe to ESPN FC on YouTube: http://bit.ly/SUBSCRIBEtoESPNFC", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/OzYU_ZwEL0U/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/OzYU_ZwEL0U/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/OzYU_ZwEL0U/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/OzYU_ZwEL0U/sddefault.jpg", + "width": 640, + "height": 480 + } + }, + "channelTitle": "ESPN FC", + "tags": ["🚨 ELECTRIC EL CLASICO 🚨 Real Madrid vs. Barcelona | Spanish Super Cup Highlights | ESPN FC", "espn fc", "soccer on espn", "espn soccer", "ESPNFC", "#ESPNFC", "ESPN FC", "espn fc tv", "soccer", "futbol", "barcelona vs real madrid", "real madrid vs barcelona", "barcelona vs", "barcelona highlights", "real madrid highlights", "gavi", "karim benzema", "spanish supercup", "spanish supercopa", "spanish supercopa highlights", "el clasico", "el clasico highlights", "robert lewandowski", "soccer highlights", "espn fc real madrid"], + "categoryId": "17", + "liveBroadcastContent": "none", + "localized": { + "title": "🚨 ELECTRIC EL CLASICO 🚨 Real Madrid vs. Barcelona | Spanish Super Cup Highlights | ESPN FC", + "description": "Barcelona win the 2023 Spanish Super Cup with a 3-1 win over Real Madrid in El Clasico. Gavi and Robert Lewandowski notched first-half goals for Barca followed by Pedri adding a third in the second half and Karim Benzema added a late consolation for Carlo Ancelotti’s side.\n#ESPNFC #LaLiga #SpanishSuperCup #Supercopa #Barcelona #RealMadrid #highlights #soccer \n\n✔ Subscribe to ESPN+: http://espnplus.com/soccer/youtube\n✔ Subscribe to ESPN FC on YouTube: http://bit.ly/SUBSCRIBEtoESPNFC" + } + }, + "contentDetails": { + "duration": "PT9M5S", + "dimension": "2d", + "definition": "hd", + "caption": "true", + "licensedContent": true, + "regionRestriction": { + "allowed": ["UM", "US", "VI"] + }, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "634534", + "likeCount": "9376", + "favoriteCount": "0", + "commentCount": "740" + } + }, + { + "kind": "youtube#video", + "etag": "6ee-Iq1hsyMJ54VFHjRL8ypPfT4", + "id": "nqPbgC-dD94", + "snippet": { + "publishedAt": "2023-01-15T16:33:26Z", + "channelId": "UCxOzbkk0bdVl6-tH1Fcajfg", + "title": "6 Tall People vs 1 Secret Short Person", + "description": "Beta Squad get Strangers to Guess Who The Short Person is, Inspired by Jubilee’s Odd Man Out\nCheck out the Primo clothing the boys are wearing here! http://www.primoclo.com\nSubscribe to everyone! \nAJ: @AjShabeel \nSharky: @sharky \nChunkz: @ChunkzEast \nNiko: @Niko \nKenny: @KingKennyTV \n\nEditor: @Chewbonic \n\nFollow us on Social Media to stay connected!\nTwitter ► https://twitter.com/BetaSquad5\nInstagram ► https://www.instagram.com/betasquad5", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/nqPbgC-dD94/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/nqPbgC-dD94/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/nqPbgC-dD94/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/nqPbgC-dD94/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/nqPbgC-dD94/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Beta Squad", + "tags": ["Beta Squad", "Beta", "Squad", "Beta Squad 6 vs 1", "beta squad 6 v 1", "6 v 1", "short people", "secret", "tall person", "tall", "person", "people", "short", "6 short people vs 1 secret tall person", "beta squad guess the", "jubilee", "jubilee 6 v 1", "king kenny", "niko omilana", "chunkz", "sharky", "AJ Shabeel", "Beta Squad Guess The", "Beta Squad Guess", "6ft", "tall vs small"], + "categoryId": "24", + "liveBroadcastContent": "none", + "localized": { + "title": "6 Tall People vs 1 Secret Short Person", + "description": "Beta Squad get Strangers to Guess Who The Short Person is, Inspired by Jubilee’s Odd Man Out\nCheck out the Primo clothing the boys are wearing here! http://www.primoclo.com\nSubscribe to everyone! \nAJ: @AjShabeel \nSharky: @sharky \nChunkz: @ChunkzEast \nNiko: @Niko \nKenny: @KingKennyTV \n\nEditor: @Chewbonic \n\nFollow us on Social Media to stay connected!\nTwitter ► https://twitter.com/BetaSquad5\nInstagram ► https://www.instagram.com/betasquad5" + }, + "defaultAudioLanguage": "en" + }, + "contentDetails": { + "duration": "PT24M32S", + "dimension": "2d", + "definition": "hd", + "caption": "false", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "2462433", + "likeCount": "119745", + "favoriteCount": "0", + "commentCount": "2711" + } + }, + { + "kind": "youtube#video", + "etag": "FBRk_K9TkoPN5mU4RrdD6oEgqZg", + "id": "N5XCOwFI9w8", + "snippet": { + "publishedAt": "2023-01-16T03:30:04Z", + "channelId": "UCq3hT5JPPKy87JGbDls_5BQ", + "title": "THE LAST OF US Episode 1 Breakdown & Ending Explained | Review And Game Easter Eggs", + "description": "THE LAST OF US Episode 1 Breakdown & Ending Explained | Review And Game Easter Eggs. We break down Episode 1 of TLOU Including what we think will happen and the major game plot points. Covering subjects such as Joel and Ellie, Tess, Sarah's Death, Clickers, Tommy, Bill And Frank, the game differences, all the Easter Eggs we spotted and also our Theories on what this could mean moving forward in Episode 2.\n\n#TheLastOfUs #TheLastOfUsEpisode1 #EndingExplained #Episode1 #TrailerBreakdown #TheLastOfUsBreakdown #endingexplained #TLOUEpisode1 #TheLastOfUsEndingExplained #EpisodeBreakdown #HBO #EasterEggs #LastOfUs #Theories #TLOU #Joel #Ellie #Clickers #Sarah \n\nIf you enjoyed this video then please subscribe to the channel https://www.youtube.com/channel/UCq3hT5JPPKy87JGbDls_5BQ?sub_confirmation=1\n\nIf You Want To Help Support The Channel So I Can Make More Videos Like This Please Donate Here:\nhttps://www.youtube.com/channel/UCq3hT5JPPKy87JGbDls_5BQ/join\n\nCheck out our #shorts channel here HEAVY SPOILERS CLIPS - https://www.youtube.com/channel/UCe48Fl2G6dB6HHYA982fkRA?sub_confirmation=1\n\nCheck out our website at https://heavyspoilers.com/\n\nGet some awesome Heavy Spoilers show clothes, phonecases and accessories at - http://shopzeroedition.com/collections/heavy-spoilers-merch\n\n*Check out our BEST new videos below*\n*Bad Batch Season S02E03 Breakdown* - https://www.youtube.com/watch?v=MGu1ltsb2EY\n*Ant-Man And The Wasp Quantumania Trailer Breakdown* - https://www.youtube.com/watch?v=Fqy--M58gFs\n*The Menu Ending Explained* - https://www.youtube.com/watch?v=h2ISBcq7FKs\n*Glass Onion Breakdown* - https://www.youtube.com/watch?v=Dty0LjtIltA\n*Alice In Borderland S2 Ending Explained* - https://www.youtube.com/watch?v=u4pNunHR5Ko\n*Everything Everywhere All At Once Breakdown* - https://www.youtube.com/watch?v=1CE7iGrNj3Y\n\n*Check out our best Shorts videos*\n*The Menu Hidden Twist* - https://www.youtube.com/watch?v=Z0cPVjl7Eko\n*Troll Ending Explained* - https://www.youtube.com/watch?v=brfemvdWed0\n*Mantis Clues Explained* - https://www.youtube.com/watch?v=wn7YW5t_gk0\n\n/* ----- SOCIAL MEDIA ----- */\n\nFollow Us On Social Media At:\nWebsite - https://heavyspoilers.com/\nTikTok - https://www.tiktok.com/@heavyspoilers?lang=en\nTwitter - https://twitter.com/heavyspoilers\nInstagram - https://www.instagram.com/heavyspoilers/\nFacebook - https://www.facebook.com/DeffinitionMC/\n\nFollow our team at - \nHost Paul - https://twitter.com/heavyspoilers\nHost Jared - https://twitter.com/JaredBuckendahl\nEditor Steesh - https://twitter.com/SteeshHaggie\nEditor Matt - https://twitter.com/SuperHeroNexus\n\n\n/* ----- VIDEO INFORMATION ----- */\n\nOk so The Last Of Us Episode 1 is now out and I'm so excited to talk about it. The first game is my favourite of all time and I've bought the ps3 version, the ps4 remaster and even the ps5 remake that released a couple of months. This is a game I've completed numerous times on grounded mode and the series is something I've been desperate to do a deep dive on.\n\nThroughout this video we're gonna be breaking down the first episode scene by scene and talking about all the easter eggs, hidden details and what they did differently to the game. If you haven't played it then don't worry because we won't be spoiling what happens down the line as I want you to enjoy the twists and turns as much as I did on my first playthrough.\n\nHowever I may need to touch upon certain things due to characters that get name dropped here but I'll only bring them up in a spoiler section at the end of the video which I'll give you a heads up on.\n\ni'm nice like that\n\nNow unlike the game, the series starts off in 1968. Originally we watched as Sarah woke up in her bed and ventured about the house but here they do it differently. Rather than throwing us in at the night of the outbreak we get some backstory that wasn't even filled in in the source material. The game told us very little about the virus beyond it being cause by Cordyseps which had mutated to infect humans. These real life funghi exist in the jungle and the parasite infects insects and anthropods. Beginning in 1968 though we see a tv show in which two scientists do a big theory time about what the biggest threat to humanity is.\n\nThe first one goes off about how we may have a pandemic level event that's caused by a strain of influenza. Both games were made before Covid 19 and the creative team have kinda retroactively added this into the show to comment on it I think. The scientist mentions how airplanes are a new element that will help viruses like this spread easier and later on we see several planes flying overhead as Sarah, Joel and Tommy make their escape.\n\nThey add a lot of focus to them during the car scene and actually change up how the crash happens. Originally it was caused by another car hitting them but they do a fake out in the episode and instead have plane debris causing it.", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/N5XCOwFI9w8/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/N5XCOwFI9w8/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/N5XCOwFI9w8/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/N5XCOwFI9w8/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/N5XCOwFI9w8/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Heavy Spoilers", + "tags": ["The Last Of Us", "The Last Of Us Ending Explained", "The Last Of Us Breakdown", "The Last Of Us Explained", "Joel", "Ellie", "HBO", "TLOU", "Last Of Us", "Ending Explained", "Joel Explained", "Episode Breakdown", "Clickers", "The Last Of Us Characters", "episode 1 breakdown", "The Last Of Us episode 1", "The Last Of Us episode 1 breakdown", "The Last Of Us episode 1 explained", "trailer breakdown", "Joel And Ellie", "The last of us part 2", "the last of us 2", "all cutscenes", "ending", "joel death", "abbie", "the last of us trailer"], + "categoryId": "24", + "liveBroadcastContent": "none", + "localized": { + "title": "THE LAST OF US Episode 1 Breakdown & Ending Explained | Review And Game Easter Eggs", + "description": "THE LAST OF US Episode 1 Breakdown & Ending Explained | Review And Game Easter Eggs. We break down Episode 1 of TLOU Including what we think will happen and the major game plot points. Covering subjects such as Joel and Ellie, Tess, Sarah's Death, Clickers, Tommy, Bill And Frank, the game differences, all the Easter Eggs we spotted and also our Theories on what this could mean moving forward in Episode 2.\n\n#TheLastOfUs #TheLastOfUsEpisode1 #EndingExplained #Episode1 #TrailerBreakdown #TheLastOfUsBreakdown #endingexplained #TLOUEpisode1 #TheLastOfUsEndingExplained #EpisodeBreakdown #HBO #EasterEggs #LastOfUs #Theories #TLOU #Joel #Ellie #Clickers #Sarah \n\nIf you enjoyed this video then please subscribe to the channel https://www.youtube.com/channel/UCq3hT5JPPKy87JGbDls_5BQ?sub_confirmation=1\n\nIf You Want To Help Support The Channel So I Can Make More Videos Like This Please Donate Here:\nhttps://www.youtube.com/channel/UCq3hT5JPPKy87JGbDls_5BQ/join\n\nCheck out our #shorts channel here HEAVY SPOILERS CLIPS - https://www.youtube.com/channel/UCe48Fl2G6dB6HHYA982fkRA?sub_confirmation=1\n\nCheck out our website at https://heavyspoilers.com/\n\nGet some awesome Heavy Spoilers show clothes, phonecases and accessories at - http://shopzeroedition.com/collections/heavy-spoilers-merch\n\n*Check out our BEST new videos below*\n*Bad Batch Season S02E03 Breakdown* - https://www.youtube.com/watch?v=MGu1ltsb2EY\n*Ant-Man And The Wasp Quantumania Trailer Breakdown* - https://www.youtube.com/watch?v=Fqy--M58gFs\n*The Menu Ending Explained* - https://www.youtube.com/watch?v=h2ISBcq7FKs\n*Glass Onion Breakdown* - https://www.youtube.com/watch?v=Dty0LjtIltA\n*Alice In Borderland S2 Ending Explained* - https://www.youtube.com/watch?v=u4pNunHR5Ko\n*Everything Everywhere All At Once Breakdown* - https://www.youtube.com/watch?v=1CE7iGrNj3Y\n\n*Check out our best Shorts videos*\n*The Menu Hidden Twist* - https://www.youtube.com/watch?v=Z0cPVjl7Eko\n*Troll Ending Explained* - https://www.youtube.com/watch?v=brfemvdWed0\n*Mantis Clues Explained* - https://www.youtube.com/watch?v=wn7YW5t_gk0\n\n/* ----- SOCIAL MEDIA ----- */\n\nFollow Us On Social Media At:\nWebsite - https://heavyspoilers.com/\nTikTok - https://www.tiktok.com/@heavyspoilers?lang=en\nTwitter - https://twitter.com/heavyspoilers\nInstagram - https://www.instagram.com/heavyspoilers/\nFacebook - https://www.facebook.com/DeffinitionMC/\n\nFollow our team at - \nHost Paul - https://twitter.com/heavyspoilers\nHost Jared - https://twitter.com/JaredBuckendahl\nEditor Steesh - https://twitter.com/SteeshHaggie\nEditor Matt - https://twitter.com/SuperHeroNexus\n\n\n/* ----- VIDEO INFORMATION ----- */\n\nOk so The Last Of Us Episode 1 is now out and I'm so excited to talk about it. The first game is my favourite of all time and I've bought the ps3 version, the ps4 remaster and even the ps5 remake that released a couple of months. This is a game I've completed numerous times on grounded mode and the series is something I've been desperate to do a deep dive on.\n\nThroughout this video we're gonna be breaking down the first episode scene by scene and talking about all the easter eggs, hidden details and what they did differently to the game. If you haven't played it then don't worry because we won't be spoiling what happens down the line as I want you to enjoy the twists and turns as much as I did on my first playthrough.\n\nHowever I may need to touch upon certain things due to characters that get name dropped here but I'll only bring them up in a spoiler section at the end of the video which I'll give you a heads up on.\n\ni'm nice like that\n\nNow unlike the game, the series starts off in 1968. Originally we watched as Sarah woke up in her bed and ventured about the house but here they do it differently. Rather than throwing us in at the night of the outbreak we get some backstory that wasn't even filled in in the source material. The game told us very little about the virus beyond it being cause by Cordyseps which had mutated to infect humans. These real life funghi exist in the jungle and the parasite infects insects and anthropods. Beginning in 1968 though we see a tv show in which two scientists do a big theory time about what the biggest threat to humanity is.\n\nThe first one goes off about how we may have a pandemic level event that's caused by a strain of influenza. Both games were made before Covid 19 and the creative team have kinda retroactively added this into the show to comment on it I think. The scientist mentions how airplanes are a new element that will help viruses like this spread easier and later on we see several planes flying overhead as Sarah, Joel and Tommy make their escape.\n\nThey add a lot of focus to them during the car scene and actually change up how the crash happens. Originally it was caused by another car hitting them but they do a fake out in the episode and instead have plane debris causing it." + }, + "defaultAudioLanguage": "en-GB" + }, + "contentDetails": { + "duration": "PT32M40S", + "dimension": "2d", + "definition": "hd", + "caption": "true", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "273930", + "likeCount": "11386", + "favoriteCount": "0", + "commentCount": "1057" + } + }, + { + "kind": "youtube#video", + "etag": "VMZ2dhSseH5yWQABs-bo_jkUVz0", + "id": "GhJiL9GJzIM", + "snippet": { + "publishedAt": "2023-01-16T04:02:01Z", + "channelId": "UCbY_v56iMzSGvXK79X6f4dw", + "title": "The Official Good Good Club Fitting", + "description": "Instagram ► https://www.instagram.com/goodgood\nApparel ► https://goodgoodgolf.com\nApp ► https://apps.apple.com/us/app/good-good-golf/id1518311382\n\nThe Squad:\nGM GOLF ► https://www.youtube.com/channel/UClljAz6ZKy0XeViKsohdjqA\nStephen Castaneda ► https://www.youtube.com/channel/UCFYIH1AYIMrjm8ncRLcFzyg\nColin Ross ► https://www.youtube.com/channel/UCJB91ZhAn-T9ZbZyyZSjreA\nMatt Scharff ► https://www.youtube.com/channel/UCY0E4ica6wu4I8kXXyouB6w\nMax ► https://www.instagram.com/maxtheputnam/\nBubbie ► https://youtube.com/c/BubbieGolf", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/GhJiL9GJzIM/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/GhJiL9GJzIM/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/GhJiL9GJzIM/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/GhJiL9GJzIM/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/GhJiL9GJzIM/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Good Good Extra", + "tags": ["good good"], + "categoryId": "22", + "liveBroadcastContent": "none", + "localized": { + "title": "The Official Good Good Club Fitting", + "description": "Instagram ► https://www.instagram.com/goodgood\nApparel ► https://goodgoodgolf.com\nApp ► https://apps.apple.com/us/app/good-good-golf/id1518311382\n\nThe Squad:\nGM GOLF ► https://www.youtube.com/channel/UClljAz6ZKy0XeViKsohdjqA\nStephen Castaneda ► https://www.youtube.com/channel/UCFYIH1AYIMrjm8ncRLcFzyg\nColin Ross ► https://www.youtube.com/channel/UCJB91ZhAn-T9ZbZyyZSjreA\nMatt Scharff ► https://www.youtube.com/channel/UCY0E4ica6wu4I8kXXyouB6w\nMax ► https://www.instagram.com/maxtheputnam/\nBubbie ► https://youtube.com/c/BubbieGolf" + } + }, + "contentDetails": { + "duration": "PT30M29S", + "dimension": "2d", + "definition": "hd", + "caption": "false", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "333065", + "likeCount": "9955", + "favoriteCount": "0", + "commentCount": "588" + } + }, + { + "kind": "youtube#video", + "etag": "2DHqxjyMGkMaEc4N4pyXK3-VcSc", + "id": "ENEcpEuZJYU", + "snippet": { + "publishedAt": "2023-01-15T16:56:53Z", + "channelId": "UCja7QUMRG9AD8X2F_vXFb9A", + "title": "Getting Ready for BIRTH! *Final Moments*", + "description": "Getting Ready for BIRTH! *Final Moments*\n𝐒𝐔𝐁𝐒𝐂𝐑𝐈𝐁𝐄 HERE 👉 http://youtube.com/c/RoyaltyFam\n𝐒𝐔𝐁𝐒𝐂𝐑𝐈𝐁𝐄 To Gaming Channel 👉 @RoyaltyGaming1 \n\nEATING GAS STATION FOOD with ONE COLOR ONLY!!\n👉 https://youtu.be/CcOxDlj8EDg\n\nWatch our RECENT VIDEOS ➡ https://bit.ly/2JotKG4\nWatch Our POPULAR VIDEOS! ➡ http://bit.ly/2NgagCx\nWatch Our CHALLENGES ➡ https://bit.ly/2kqDqVD\n\nFOLLOW IᑎᔕTᗩGᖇᗩᗰ HERE ☟\nANDREA ➡https://www.instagram.com/andreaespadatv/\nALI ➡https://www.instagram.com/4kpapi/\nFERRAN ➡https://www.instagram.com/kingferran/\nMILAN    ➡https://www.instagram.com/princemilan/\nFAMILY   ➡https://www.instagram.com/royaltyfamily/\nDAWGS  ➡https://www.instagram.com/royaltydawgs/\n\nBUSINESS INQUIRIES ➡ royaltyfambusiness@gmail.com\n\nWelcome To THE ROYALTY FAMILY! We're a multicultural family based in LA, here to spread positivity. We're all about challenges, fun games, adventure, and sharing our family journey. Join us every week in sharing the good times of Andrea, Ali, Ferran & Milan (and of course, our 2 dogs Gucci & Princessa)! Best of all, we believe everyone can be ROYALTY so don’t forget to SUBSCRIBE!! \n\n#challenge #royalty #RoyaltyFamily\n\nGetting Ready for BIRTH! *Final Moments*\nhttps://youtu.be/ENEcpEuZJYU\n\nThe Royalty Family\nhttp://www.youtube.com/RoyaltyFam", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/ENEcpEuZJYU/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/ENEcpEuZJYU/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/ENEcpEuZJYU/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/ENEcpEuZJYU/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/ENEcpEuZJYU/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "The Royalty Family", + "tags": ["The Royalty Family", "Royalty Family", "Andrea Espada", "Family Friendly", "Royalty", "Royal Family", "The Royal Family", "Royalty Fam", "The Royalty Fam", "Realty Family", "Roti Family", "Family Vlog", "puppy", "royalty family", "royalty", "royal", "royalty fam", "Ali andrea", "Andrea ali", "royalty gaming", "challenge", "24 hour challenge", "baby", "the baby is born", "royalty family baby", "dad and son", "pregnant", "24 hours", "24 hours pregnant", "pregnant 24 hours", "getting ready for birth", "birth"], + "categoryId": "22", + "liveBroadcastContent": "none", + "defaultLanguage": "en", + "localized": { + "title": "Getting Ready for BIRTH! *Final Moments*", + "description": "Getting Ready for BIRTH! *Final Moments*\n𝐒𝐔𝐁𝐒𝐂𝐑𝐈𝐁𝐄 HERE 👉 http://youtube.com/c/RoyaltyFam\n𝐒𝐔𝐁𝐒𝐂𝐑𝐈𝐁𝐄 To Gaming Channel 👉 @RoyaltyGaming1 \n\nEATING GAS STATION FOOD with ONE COLOR ONLY!!\n👉 https://youtu.be/CcOxDlj8EDg\n\nWatch our RECENT VIDEOS ➡ https://bit.ly/2JotKG4\nWatch Our POPULAR VIDEOS! ➡ http://bit.ly/2NgagCx\nWatch Our CHALLENGES ➡ https://bit.ly/2kqDqVD\n\nFOLLOW IᑎᔕTᗩGᖇᗩᗰ HERE ☟\nANDREA ➡https://www.instagram.com/andreaespadatv/\nALI ➡https://www.instagram.com/4kpapi/\nFERRAN ➡https://www.instagram.com/kingferran/\nMILAN    ➡https://www.instagram.com/princemilan/\nFAMILY   ➡https://www.instagram.com/royaltyfamily/\nDAWGS  ➡https://www.instagram.com/royaltydawgs/\n\nBUSINESS INQUIRIES ➡ royaltyfambusiness@gmail.com\n\nWelcome To THE ROYALTY FAMILY! We're a multicultural family based in LA, here to spread positivity. We're all about challenges, fun games, adventure, and sharing our family journey. Join us every week in sharing the good times of Andrea, Ali, Ferran & Milan (and of course, our 2 dogs Gucci & Princessa)! Best of all, we believe everyone can be ROYALTY so don’t forget to SUBSCRIBE!! \n\n#challenge #royalty #RoyaltyFamily\n\nGetting Ready for BIRTH! *Final Moments*\nhttps://youtu.be/ENEcpEuZJYU\n\nThe Royalty Family\nhttp://www.youtube.com/RoyaltyFam" + }, + "defaultAudioLanguage": "en" + }, + "contentDetails": { + "duration": "PT11M29S", + "dimension": "2d", + "definition": "hd", + "caption": "false", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "2409202", + "likeCount": "93219", + "favoriteCount": "0", + "commentCount": "9815" + } + }, + { + "kind": "youtube#video", + "etag": "aA0q0LbM5-OfXPrcF612KIjnEGA", + "id": "tc8neBBzG58", + "snippet": { + "publishedAt": "2023-01-14T16:11:05Z", + "channelId": "UCqZQlzSHbVJrwrn5XvzrzcA", + "title": "Manchester United v. Manchester City | PREMIER LEAGUE HIGHLIGHTS | 1/14/2023 | NBC Sports", + "description": "Bruno Fernandes' controversial equalizer sparked a whirlwind Manchester United rally, as they came from behind to sink Manchester City in their derby duel. #NBCSports #PremierLeague #ManUnited #ManCity\n» Subscribe to NBC Sports: https://www.youtube.com/nbcsports?sub_confirmation=1\n» Watch Live Sports on NBCSports.com: http://www.nbcsports.com/live\n» Get more Premier League news on NBC Sports: https://nbcsports.com/soccer/premier-league\n\nWant more Premier League? Check out Peacock Premium: https://peacocktv.com/premierleague\n\nNBC Sports Group serves sports fans 24/7 with premier live events, insightful studio shows, and compelling original programming. NBC Sports is an established leader in the sports media landscape with an unparalleled collection of sports properties that include the Olympics, NFL, Premier League, NASCAR, PGA TOUR, the Kentucky Derby, Tour de France, French Open, IndyCar and many more.\n\nSubscribe to our channel for the latest sporting news and highlights!\n\nThe Premier League across NBC Sports Group launched in 2013 with their biggest and broadest programming commitment to-date in the United States. With live multi-platform coverage of all 380 games, analysis from best-in-class talent and extensive surrounding coverage all week long, NBC Sports Group has become the ultimate destination for new and existing Premier League fans.\n\nThe Premier League maintains strong and consistent reach across NBC, USA Network, CNBC, and NBC Sports Group’s live streaming products, led by the biggest stars and most prestigious teams in the world.\n\nVisit NBC Sports: https://www.nbcsports.com\nFind NBC Sports on Facebook: https://www.facebook.com/NBCSports\nFollow NBC Sports on Twitter: https://twitter.com/nbcsports\nFollow NBC Sports on Instagram: https://www.instagram.com/nbcsports/\n\nhttps://www.nbcsports.com/nfl/sunday-night-football\nhttps://nbcsports.com/motors/nascar\nhttps://nbcsports.com/soccer/premier-league\n\nManchester United v. Manchester City | PREMIER LEAGUE HIGHLIGHTS | 1/14/2023 | NBC Sports\nhttps://www.youtube.com/nbcsports", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/tc8neBBzG58/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/tc8neBBzG58/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/tc8neBBzG58/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/tc8neBBzG58/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/tc8neBBzG58/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "NBC Sports", + "tags": ["nbc sports", "nbc", "premier", "league", "premier league", "premier league highlights", "english premier league", "epl", "premier league goals", "premier league soccer", "premier league live", "english premier league live", "english premier league today", "premier league 2022/23", "manchester united vs manchester city highlights", "manchester united vs manchester city", "manchester united highlights", "manchester united", "manchester city", "man city highlights", "man united", "man united v man city", "bruno fernandes"], + "categoryId": "17", + "liveBroadcastContent": "none", + "localized": { + "title": "Manchester United v. Manchester City | PREMIER LEAGUE HIGHLIGHTS | 1/14/2023 | NBC Sports", + "description": "Bruno Fernandes' controversial equalizer sparked a whirlwind Manchester United rally, as they came from behind to sink Manchester City in their derby duel. #NBCSports #PremierLeague #ManUnited #ManCity\n» Subscribe to NBC Sports: https://www.youtube.com/nbcsports?sub_confirmation=1\n» Watch Live Sports on NBCSports.com: http://www.nbcsports.com/live\n» Get more Premier League news on NBC Sports: https://nbcsports.com/soccer/premier-league\n\nWant more Premier League? Check out Peacock Premium: https://peacocktv.com/premierleague\n\nNBC Sports Group serves sports fans 24/7 with premier live events, insightful studio shows, and compelling original programming. NBC Sports is an established leader in the sports media landscape with an unparalleled collection of sports properties that include the Olympics, NFL, Premier League, NASCAR, PGA TOUR, the Kentucky Derby, Tour de France, French Open, IndyCar and many more.\n\nSubscribe to our channel for the latest sporting news and highlights!\n\nThe Premier League across NBC Sports Group launched in 2013 with their biggest and broadest programming commitment to-date in the United States. With live multi-platform coverage of all 380 games, analysis from best-in-class talent and extensive surrounding coverage all week long, NBC Sports Group has become the ultimate destination for new and existing Premier League fans.\n\nThe Premier League maintains strong and consistent reach across NBC, USA Network, CNBC, and NBC Sports Group’s live streaming products, led by the biggest stars and most prestigious teams in the world.\n\nVisit NBC Sports: https://www.nbcsports.com\nFind NBC Sports on Facebook: https://www.facebook.com/NBCSports\nFollow NBC Sports on Twitter: https://twitter.com/nbcsports\nFollow NBC Sports on Instagram: https://www.instagram.com/nbcsports/\n\nhttps://www.nbcsports.com/nfl/sunday-night-football\nhttps://nbcsports.com/motors/nascar\nhttps://nbcsports.com/soccer/premier-league\n\nManchester United v. Manchester City | PREMIER LEAGUE HIGHLIGHTS | 1/14/2023 | NBC Sports\nhttps://www.youtube.com/nbcsports" + }, + "defaultAudioLanguage": "en" + }, + "contentDetails": { + "duration": "PT18M56S", + "dimension": "2d", + "definition": "hd", + "caption": "true", + "licensedContent": true, + "regionRestriction": { + "allowed": ["GU", "MP", "PR", "US", "VI"] + }, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "1477364", + "likeCount": "18748", + "favoriteCount": "0", + "commentCount": "2397" + } + }, + { + "kind": "youtube#video", + "etag": "PQT2-vI1kA6Q9NECPtH8dV4S6MQ", + "id": "zD0QbpRdzwA", + "snippet": { + "publishedAt": "2023-01-15T20:00:28Z", + "channelId": "UCnEifYQ_sawt9_U668KUatg", + "title": "I Survived 100 DAYS as a TIGER in HARDCORE Minecraft!", + "description": "► SHOP MY MERCH HERE! https://merchcraft.shop/collections/bronzo-collection\n\nI Survived 100 DAYS as a TIGER in HARDCORE Minecraft! I'll explore the MINECRAFT JUNGLE BIOME like never BEFORE! As a TIGER, my goal is to become KING of the JUNGLE and stop the EVIL LION for taking over the ANIMAL KINGDOM! I'll have to rescue all my animal friends, build the ultimate TIGER BASE, and then finally learn the SECRETS of my TIGER POWERS!\n\nMods Utilized: \n\nAlex’s Mobs - https://www.curseforge.com/minecraft/mc-mods/alexs-mobs\nAstemir’s Forestcraft - https://www.curseforge.com/minecraft/mc-mods/astemirs-forest-craft\nFish’s Undead Rising - https://www.curseforge.com/minecraft/mc-mods/fishs-undead-rising\nMutant Beasts - https://www.curseforge.com/minecraft/mc-mods/mutant-beasts\nMutant More - https://www.curseforge.com/minecraft/mc-mods/mutant-more\nVillagers and Monsters - https://www.curseforge.com/minecraft/mc-mods/villagers-and-monsters-mod-legency\nThe Forbidden - https://www.curseforge.com/minecraft/mc-mods/the-forbidden\nThe Amazing Ape Mod https://www.curseforge.com/minecraft/mc-mods/the-amazing-ape-mod\nBetter Animals Plus https://www.curseforge.com/minecraft/mc-mods/betteranimalsplus\nDanny’s Expansion https://www.curseforge.com/minecraft/mc-mods/dannys-expansion\nFalling Attack https://www.curseforge.com/minecraft/mc-mods/falling-attack-forge\nPandoras Creatures https://www.curseforge.com/minecraft/mc-mods/pandoras-creatures\nUntamed Wilds https://github.com/RayTrace082/untamedwilds/\nZoo and Wild Animals https://www.curseforge.com/minecraft/mc-mods/zawa-evolved\nArtifacts - https://www.curseforge.com/minecraft/mc-mods/artifacts\nCMD Cam - https://www.curseforge.com/minecraft/mc-mods/cmdcam\nCitadel - https://github.com/AlexModGuy/Citadel\nCollective - https://www.curseforge.com/minecraft/mc-mods/collective\nConfigure - https://mrcrayfish.com/mods?id=configured\nCretiveCore - https://mrcrayfish.com/mods?id=configured\nCurios API - https://www.curseforge.com/minecraft/mc-mods/curios\nCustom NPCs - http://www.kodevelopment.nl/minecraft/customnpcs\nCyclic - https://www.curseforge.com/minecraft/mc-mods/cyclic\nEffortless Building - https://www.curseforge.com/minecraft/mc-mods/effortless-building\nGeckolib - https://geckolib.com/\nJust Enough Items - https://www.curseforge.com/minecraft/mc-mods/jei\nL Ender’s Cataclysm - https://www.curseforge.com/minecraft/mc-mods/l_ender-s-cataclysm\nMahou Tsukai - https://www.curseforge.com/minecraft/mc-mods/mahou-tsukai\nMore Player Models - http://www.kodevelopment.nl/minecraft/moreplayermodels/\nObfuscate - https://mrcrayfish.com/mods?id=obfuscate\nPehkui - https://www.curseforge.com/minecraft/mc-mods/pehkui/\nStructure Gel API - https://moddinglegacy.com/\nSupplementaries - https://www.curseforge.com/minecraft/mc-mods/supplementaries\nThe Mighty Architect - https://www.curseforge.com/minecraft/mc-mods/the-mighty-architect\nThe Warp Mod - https://www.curseforge.com/minecraft/mc-mods/the-warp-mod\nXK’s Decorations - https://www.curseforge.com/minecraft/mc-mods/xks-decoration", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/zD0QbpRdzwA/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/zD0QbpRdzwA/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/zD0QbpRdzwA/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/zD0QbpRdzwA/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/zD0QbpRdzwA/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Bronzo", + "categoryId": "20", + "liveBroadcastContent": "none", + "localized": { + "title": "I Survived 100 DAYS as a TIGER in HARDCORE Minecraft!", + "description": "► SHOP MY MERCH HERE! https://merchcraft.shop/collections/bronzo-collection\n\nI Survived 100 DAYS as a TIGER in HARDCORE Minecraft! I'll explore the MINECRAFT JUNGLE BIOME like never BEFORE! As a TIGER, my goal is to become KING of the JUNGLE and stop the EVIL LION for taking over the ANIMAL KINGDOM! I'll have to rescue all my animal friends, build the ultimate TIGER BASE, and then finally learn the SECRETS of my TIGER POWERS!\n\nMods Utilized: \n\nAlex’s Mobs - https://www.curseforge.com/minecraft/mc-mods/alexs-mobs\nAstemir’s Forestcraft - https://www.curseforge.com/minecraft/mc-mods/astemirs-forest-craft\nFish’s Undead Rising - https://www.curseforge.com/minecraft/mc-mods/fishs-undead-rising\nMutant Beasts - https://www.curseforge.com/minecraft/mc-mods/mutant-beasts\nMutant More - https://www.curseforge.com/minecraft/mc-mods/mutant-more\nVillagers and Monsters - https://www.curseforge.com/minecraft/mc-mods/villagers-and-monsters-mod-legency\nThe Forbidden - https://www.curseforge.com/minecraft/mc-mods/the-forbidden\nThe Amazing Ape Mod https://www.curseforge.com/minecraft/mc-mods/the-amazing-ape-mod\nBetter Animals Plus https://www.curseforge.com/minecraft/mc-mods/betteranimalsplus\nDanny’s Expansion https://www.curseforge.com/minecraft/mc-mods/dannys-expansion\nFalling Attack https://www.curseforge.com/minecraft/mc-mods/falling-attack-forge\nPandoras Creatures https://www.curseforge.com/minecraft/mc-mods/pandoras-creatures\nUntamed Wilds https://github.com/RayTrace082/untamedwilds/\nZoo and Wild Animals https://www.curseforge.com/minecraft/mc-mods/zawa-evolved\nArtifacts - https://www.curseforge.com/minecraft/mc-mods/artifacts\nCMD Cam - https://www.curseforge.com/minecraft/mc-mods/cmdcam\nCitadel - https://github.com/AlexModGuy/Citadel\nCollective - https://www.curseforge.com/minecraft/mc-mods/collective\nConfigure - https://mrcrayfish.com/mods?id=configured\nCretiveCore - https://mrcrayfish.com/mods?id=configured\nCurios API - https://www.curseforge.com/minecraft/mc-mods/curios\nCustom NPCs - http://www.kodevelopment.nl/minecraft/customnpcs\nCyclic - https://www.curseforge.com/minecraft/mc-mods/cyclic\nEffortless Building - https://www.curseforge.com/minecraft/mc-mods/effortless-building\nGeckolib - https://geckolib.com/\nJust Enough Items - https://www.curseforge.com/minecraft/mc-mods/jei\nL Ender’s Cataclysm - https://www.curseforge.com/minecraft/mc-mods/l_ender-s-cataclysm\nMahou Tsukai - https://www.curseforge.com/minecraft/mc-mods/mahou-tsukai\nMore Player Models - http://www.kodevelopment.nl/minecraft/moreplayermodels/\nObfuscate - https://mrcrayfish.com/mods?id=obfuscate\nPehkui - https://www.curseforge.com/minecraft/mc-mods/pehkui/\nStructure Gel API - https://moddinglegacy.com/\nSupplementaries - https://www.curseforge.com/minecraft/mc-mods/supplementaries\nThe Mighty Architect - https://www.curseforge.com/minecraft/mc-mods/the-mighty-architect\nThe Warp Mod - https://www.curseforge.com/minecraft/mc-mods/the-warp-mod\nXK’s Decorations - https://www.curseforge.com/minecraft/mc-mods/xks-decoration" + } + }, + "contentDetails": { + "duration": "PT41M6S", + "dimension": "2d", + "definition": "hd", + "caption": "false", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "549045", + "likeCount": "13138", + "favoriteCount": "0", + "commentCount": "649" + } + }, + { + "kind": "youtube#video", + "etag": "Id-YUfsTn8aZ0f7Mhxt0tQor9lI", + "id": "E5tSO9aR2Ds", + "snippet": { + "publishedAt": "2023-01-16T03:30:03Z", + "channelId": "UCx-KWLTKlB83hDI6UKECtJQ", + "title": "The Weeks Ahead Trailer | The Last of Us | HBO Max", + "description": "New episodes premiere Sundays at 9 pm ET on HBO Max.\n\nAbout HBO Max:\nHBO Max is WarnerBrosDiscovery’s direct-to-consumer offering with 10,000 hours of curated premium content. HBO Max offers powerhouse programming for everyone in the home, bringing together HBO, a robust slate of new original series, key third-party licensed programs and movies, and fan favorites from WarnerMedia’s rich library including Warner Bros., New Line, DC, CNN, TNT, TBS, truTV, Turner Classic Movies, Cartoon Network, Adult Swim, Crunchyroll, Rooster Teeth, Looney Tunes and more. #HBOMax #WarnerBrosDiscovery \n\nSUBSCRIBE TO HBO MAX\nhttp://bit.ly/HBOMaxYouTube\n\nGET HBO MAX\nhttps://itsh.bo/ways-to-get\n\nMORE HBO MAX\nHBO Max: https://hbom.ax/YT \nFollow HBO Max on Instagram: http://bit.ly/HBOMaxInstagram\nFollow HBO Max on TikTok: https://hbom.ax/HBOMaxTT\nFollow HBO Max on Twitter: http://bit.ly/HBOMaxTwitter \nLike HBO Max on Facebook: http://bit.ly/HBOMaxFacebook", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/E5tSO9aR2Ds/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/E5tSO9aR2Ds/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/E5tSO9aR2Ds/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/E5tSO9aR2Ds/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/E5tSO9aR2Ds/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "HBO Max", + "tags": ["hbo", "hbo max", "hbo max movie", "hbo max series", "hbo youtube", "hbo max youtube", "hbo max trailer", "hbo trailer", "hbo video", "hbo max originals", "the last of us", "the last of us hbo", "the last of us game", "pedro pascal", "bella ramsey", "joel", "ellie", "mutated fungus", "post-apocalyptic", "cordyceps", "the last of us series", "the last of us show", "the last of us live action", "Craig Mazin", "Neil Druckmann", "the last of us preview", "the last of us next time", "the last of us teaser", "the last of us episode"], + "categoryId": "1", + "liveBroadcastContent": "none", + "localized": { + "title": "The Weeks Ahead Trailer | The Last of Us | HBO Max", + "description": "New episodes premiere Sundays at 9 pm ET on HBO Max.\n\nAbout HBO Max:\nHBO Max is WarnerBrosDiscovery’s direct-to-consumer offering with 10,000 hours of curated premium content. HBO Max offers powerhouse programming for everyone in the home, bringing together HBO, a robust slate of new original series, key third-party licensed programs and movies, and fan favorites from WarnerMedia’s rich library including Warner Bros., New Line, DC, CNN, TNT, TBS, truTV, Turner Classic Movies, Cartoon Network, Adult Swim, Crunchyroll, Rooster Teeth, Looney Tunes and more. #HBOMax #WarnerBrosDiscovery \n\nSUBSCRIBE TO HBO MAX\nhttp://bit.ly/HBOMaxYouTube\n\nGET HBO MAX\nhttps://itsh.bo/ways-to-get\n\nMORE HBO MAX\nHBO Max: https://hbom.ax/YT \nFollow HBO Max on Instagram: http://bit.ly/HBOMaxInstagram\nFollow HBO Max on TikTok: https://hbom.ax/HBOMaxTT\nFollow HBO Max on Twitter: http://bit.ly/HBOMaxTwitter \nLike HBO Max on Facebook: http://bit.ly/HBOMaxFacebook" + }, + "defaultAudioLanguage": "en" + }, + "contentDetails": { + "duration": "PT1M20S", + "dimension": "2d", + "definition": "hd", + "caption": "true", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "738473", + "likeCount": "18314", + "favoriteCount": "0", + "commentCount": "1449" + } + }, + { + "kind": "youtube#video", + "etag": "SgIcEyPtovmX1jhCb1KJ-XJ0lPQ", + "id": "N2KhR0fxxP4", + "snippet": { + "publishedAt": "2023-01-16T04:34:43Z", + "channelId": "UCDVYQ4Zhbm3S2dlz7P1GBDg", + "title": "Baltimore Ravens vs. Cincinnati Bengals | 2022 Super Wildcard Weekend Game Highlights", + "description": "Check out our other channels:\nNFL Mundo https://www.youtube.com/mundonfl\nNFL Brasil https://www.youtube.com/c/NFLBrasilOficial\nNFL UK https://www.youtube.com/channel/UCVe0dAja_vZCmvfHXjtdRQA \nNFL Fantasy Football https://www.youtube.com/nflfantasyfootball\nNFL Play Football https://www.youtube.com/playfootball\nNFL Throwback http://www.youtube.com/nflvault\nNFL Films http://www.youtube.com/nflfilms\nNFL Network http://www.youtube.com/nflnetwork\n\n#NFL #Football #AmericanFootball", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/N2KhR0fxxP4/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/N2KhR0fxxP4/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/N2KhR0fxxP4/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/N2KhR0fxxP4/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/N2KhR0fxxP4/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "NFL", + "categoryId": "17", + "liveBroadcastContent": "none", + "localized": { + "title": "Baltimore Ravens vs. Cincinnati Bengals | 2022 Super Wildcard Weekend Game Highlights", + "description": "Check out our other channels:\nNFL Mundo https://www.youtube.com/mundonfl\nNFL Brasil https://www.youtube.com/c/NFLBrasilOficial\nNFL UK https://www.youtube.com/channel/UCVe0dAja_vZCmvfHXjtdRQA \nNFL Fantasy Football https://www.youtube.com/nflfantasyfootball\nNFL Play Football https://www.youtube.com/playfootball\nNFL Throwback http://www.youtube.com/nflvault\nNFL Films http://www.youtube.com/nflfilms\nNFL Network http://www.youtube.com/nflnetwork\n\n#NFL #Football #AmericanFootball" + } + }, + "contentDetails": { + "duration": "PT16M32S", + "dimension": "2d", + "definition": "hd", + "caption": "true", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "2286608", + "likeCount": "25361", + "favoriteCount": "0", + "commentCount": "3492" + } + }, + { + "kind": "youtube#video", + "etag": "bCu3ggvlelZTmf41bcASHPJ1k2o", + "id": "i56pO8C8JiE", + "snippet": { + "publishedAt": "2023-01-16T00:16:40Z", + "channelId": "UCvAhDxNNUDhi78tMXVGBUaQ", + "title": "I Can't Do This Anymore", + "description": "Download the FREE Upside App at https://upside.app.link/TAVARISH to get $5 or more cash back on your first purchase of $10 or more.\n--------------------------------------------------------------------\nSubscribe! ►http://bit.ly/2xZGtYN\nInstagram ►https://www.instagram.com/therealtavarish\nTavarish Shirts and Merch! ►http://bit.ly/shoptavarish\n--------------------------------------------------------------------\nThanks to the companies that support this channel!\nValvoline - The Original Motor Oil►https://www.valvoline.com/\nFind your dream car on AutoTempest!►https://bit.ly/foundonautotempest\n--------------------------------------------------------------------\nQuestions? Comments? Business inquiries? Email me at asktavarish@gmail.com\n--------------------------------------------------------------------\nMy Equipment: \nSimiron Epoxy Floor Coating►https://simiron.com\nBendpak Lifts and Equipment►https://bendpak.com\n--------------------------------------------------------------------\nMusic used in this video:\nNIVIRO - You [NCS Release]►https://www.youtube.com/watch?v=2Nv5juZKhKo\n\nMalik Bash - Ghosts [NCS Release]►https://www.youtube.com/watch?v=-9Z5Nhsm7GA", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/i56pO8C8JiE/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/i56pO8C8JiE/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/i56pO8C8JiE/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/i56pO8C8JiE/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/i56pO8C8JiE/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Tavarish", + "tags": ["aston martin", "mercedes", "amg", "hyundai", "bmw", "lamborghini", "ferrari", "toyota", "supra", "mr2", "sw20", "3sgte", "2jz", "1jz", "sl55", "r230", "r231", "m113k", "vantage", "v8", "v12", "v10", "v6", "gallardo", "turbo", "cheap", "budget", "diy", "wrench everyday", "doug demuro", "chrisfix", "hoovies garage", "tavarish", "jalopnik", "mightycarmods", "motor trend", "roadkill", "hack", "bendpak", "tools", "lift", "4 post", "2 post", "quick jack", "welding", "how to", "tutorial"], + "categoryId": "2", + "liveBroadcastContent": "none", + "localized": { + "title": "I Can't Do This Anymore", + "description": "Download the FREE Upside App at https://upside.app.link/TAVARISH to get $5 or more cash back on your first purchase of $10 or more.\n--------------------------------------------------------------------\nSubscribe! ►http://bit.ly/2xZGtYN\nInstagram ►https://www.instagram.com/therealtavarish\nTavarish Shirts and Merch! ►http://bit.ly/shoptavarish\n--------------------------------------------------------------------\nThanks to the companies that support this channel!\nValvoline - The Original Motor Oil►https://www.valvoline.com/\nFind your dream car on AutoTempest!►https://bit.ly/foundonautotempest\n--------------------------------------------------------------------\nQuestions? Comments? Business inquiries? Email me at asktavarish@gmail.com\n--------------------------------------------------------------------\nMy Equipment: \nSimiron Epoxy Floor Coating►https://simiron.com\nBendpak Lifts and Equipment►https://bendpak.com\n--------------------------------------------------------------------\nMusic used in this video:\nNIVIRO - You [NCS Release]►https://www.youtube.com/watch?v=2Nv5juZKhKo\n\nMalik Bash - Ghosts [NCS Release]►https://www.youtube.com/watch?v=-9Z5Nhsm7GA" + }, + "defaultAudioLanguage": "en" + }, + "contentDetails": { + "duration": "PT17M25S", + "dimension": "2d", + "definition": "hd", + "caption": "false", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "659605", + "likeCount": "54141", + "favoriteCount": "0", + "commentCount": "7751" + } + }, + { + "kind": "youtube#video", + "etag": "pRlTGdb6gLuNKMSwWT5yqySuzFU", + "id": "xU_G-l9IKg8", + "snippet": { + "publishedAt": "2023-01-16T01:04:18Z", + "channelId": "UCDVYQ4Zhbm3S2dlz7P1GBDg", + "title": "New York Giants vs. Minnesota Vikings | 2022 Super Wild Card Weekend Game Highlights", + "description": "Check out our other channels:\nNFL Mundo https://www.youtube.com/mundonfl\nNFL Brasil https://www.youtube.com/c/NFLBrasilOficial\nNFL UK https://www.youtube.com/channel/UCVe0dAja_vZCmvfHXjtdRQA \nNFL Fantasy Football https://www.youtube.com/nflfantasyfootball\nNFL Play Football https://www.youtube.com/playfootball\nNFL Throwback http://www.youtube.com/nflvault\nNFL Films http://www.youtube.com/nflfilms\nNFL Network http://www.youtube.com/nflnetwork\n\n#NFL #Football #AmericanFootball", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/xU_G-l9IKg8/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/xU_G-l9IKg8/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/xU_G-l9IKg8/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/xU_G-l9IKg8/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/xU_G-l9IKg8/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "NFL", + "categoryId": "17", + "liveBroadcastContent": "none", + "localized": { + "title": "New York Giants vs. Minnesota Vikings | 2022 Super Wild Card Weekend Game Highlights", + "description": "Check out our other channels:\nNFL Mundo https://www.youtube.com/mundonfl\nNFL Brasil https://www.youtube.com/c/NFLBrasilOficial\nNFL UK https://www.youtube.com/channel/UCVe0dAja_vZCmvfHXjtdRQA \nNFL Fantasy Football https://www.youtube.com/nflfantasyfootball\nNFL Play Football https://www.youtube.com/playfootball\nNFL Throwback http://www.youtube.com/nflvault\nNFL Films http://www.youtube.com/nflfilms\nNFL Network http://www.youtube.com/nflnetwork\n\n#NFL #Football #AmericanFootball" + } + }, + "contentDetails": { + "duration": "PT13M46S", + "dimension": "2d", + "definition": "hd", + "caption": "true", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "2024312", + "likeCount": "24247", + "favoriteCount": "0", + "commentCount": "4994" + } + }, + { + "kind": "youtube#video", + "etag": "ihcp3ZMHpI-cvc5N_kkb7TYFSxg", + "id": "yfCEWmatIvk", + "snippet": { + "publishedAt": "2023-01-15T20:25:56Z", + "channelId": "UC5p_l5ZeB_wGjO_yDXwiqvw", + "title": "We Went To Minecraft School...", + "description": "Today TommyInnit goes to Minecraft School. This was hilarious.\n\nEdited by Sane and Big Man Editor Larry. \n\nSocials:\nFollow my Twitter - @tommyinnit\nFollow my Instagram - @tommyinnit\n\nI hope you enjoy :)", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/yfCEWmatIvk/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/yfCEWmatIvk/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/yfCEWmatIvk/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/yfCEWmatIvk/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/yfCEWmatIvk/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "TommyInnit", + "tags": ["tommyinnit", "minecraft", "mine craft", "dream minecraft", "funny", "minecraft funny", "funniest minecraft video", "minecraft manhunt", "minecraft speedrunner", "minecraft challenge", "challenge", "minecraft but", "jschlatt", "minecraft mod", "modded minecraft", "tommy talent show", "minecraft talent", "cooking show", "cooking", "We Went To Minecraft School..."], + "categoryId": "20", + "liveBroadcastContent": "none", + "localized": { + "title": "We Went To Minecraft School...", + "description": "Today TommyInnit goes to Minecraft School. This was hilarious.\n\nEdited by Sane and Big Man Editor Larry. \n\nSocials:\nFollow my Twitter - @tommyinnit\nFollow my Instagram - @tommyinnit\n\nI hope you enjoy :)" + }, + "defaultAudioLanguage": "en-GB" + }, + "contentDetails": { + "duration": "PT19M39S", + "dimension": "2d", + "definition": "hd", + "caption": "false", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "904275", + "likeCount": "88767", + "favoriteCount": "0", + "commentCount": "4303" + } + }, + { + "kind": "youtube#video", + "etag": "voz8Uo2AYTeYBqycuhiZl4n_BVU", + "id": "bUia-EbqS7A", + "snippet": { + "publishedAt": "2023-01-14T18:05:03Z", + "channelId": "UC3sznuotAs2ohg_U__Jzj_Q", + "title": "Film Theory: The Complete Lore of Backrooms SOLVED... What's Next?!", + "description": "Don't miss a Film Theory! ► http://bit.ly/1dI8VBH\n\nToday we’re no-clipping BACK into the yellow halls of Backrooms! And after theorizing four-videos-worth of content about this amazing series, I realized it was finally time to connect the dots. That's right! I put together the ENTIRE Backrooms Timeline. I hope you're ready, Loyal Theorists, because this gets deep.\n\nCheck out the video that launched this deep dive by @kanepixels! ► https://youtu.be/H4dGpz6cnHo\n\nGet Your TheoryWear! ► https://theorywear.com/\nCheck out the Reddit! ► https://www.reddit.com/r/GameTheorists/\nDon't miss a Film Theory! ► http://bit.ly/1dI8VBH\n\nNeed Royalty Free Music for your Content? Try Epidemic Sound.\nGet Your 30 Day Free Trial Now ► http://share.epidemicsound.com/TheFilmTheorists\n\nMore THEORIES: \nDoes This Backrooms Theory Solve EVERYTHING? ►► https://youtu.be/drd7jCqfQsY\nHow To SURVIVE The Backrooms! ►► https://youtu.be/dzG68oc-GT0\nDecoding the Horror of The Backrooms ►► https://youtu.be/bhla6mhzWAU\nDon’t Be Deceived (Mandela) ►► https://youtu.be/hGHW6QLrLTY\nWho’s REALLY in Control?! (DHMIS) ►► https://youtu.be/vwbQxMY7yds\n\nJoin our other Theorist Communities!\nGame Theory! ► http://bit.ly/1qV8fd6 \nFood Theory! ► https://bit.ly/2CdCooV\n\nCredits:\nWriters: Matthew Patrick and Forrest Lee\nEditors: Alex \"Sedge\" Sedgwick, AbsolutePixel, Koen Verhagen\nAssistant Editor: Caitie Turner (Caiterpillart)\nSound Editor: Yosi Berman \n\n#Backrooms #BackroomsFoundFootage #BackroomsLore #Creepypasta #BackroomsMonster #BackroomsExplained #TheBackroomsExplained #TheBackrooms #Horror #Scary #Theory #FilmTheory #Matpat #Trailer", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/bUia-EbqS7A/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/bUia-EbqS7A/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/bUia-EbqS7A/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/bUia-EbqS7A/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/bUia-EbqS7A/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "The Film Theorists", + "tags": ["The backrooms", "backrooms", "the backrooms found footage", "backrooms explained", "the backrooms explained", "the backrooms lore", "how to survive backrooms", "backrooms order", "backrooms chronological order", "backrooms story", "backrooms timeline", "the backrooms game", "the backrooms all levels", "the backrooms 1998", "the backrooms gameplay", "backrooms gameplay", "Scary", "horror", "creepypasta", "scary stories", "analog horror", "kane pixels", "film theory", "matpat", "film theory backrooms", "backrooms creepypasta"], + "categoryId": "1", + "liveBroadcastContent": "none", + "defaultLanguage": "en", + "localized": { + "title": "Film Theory: The Complete Lore of Backrooms SOLVED... What's Next?!", + "description": "Don't miss a Film Theory! ► http://bit.ly/1dI8VBH\n\nToday we’re no-clipping BACK into the yellow halls of Backrooms! And after theorizing four-videos-worth of content about this amazing series, I realized it was finally time to connect the dots. That's right! I put together the ENTIRE Backrooms Timeline. I hope you're ready, Loyal Theorists, because this gets deep.\n\nCheck out the video that launched this deep dive by @kanepixels! ► https://youtu.be/H4dGpz6cnHo\n\nGet Your TheoryWear! ► https://theorywear.com/\nCheck out the Reddit! ► https://www.reddit.com/r/GameTheorists/\nDon't miss a Film Theory! ► http://bit.ly/1dI8VBH\n\nNeed Royalty Free Music for your Content? Try Epidemic Sound.\nGet Your 30 Day Free Trial Now ► http://share.epidemicsound.com/TheFilmTheorists\n\nMore THEORIES: \nDoes This Backrooms Theory Solve EVERYTHING? ►► https://youtu.be/drd7jCqfQsY\nHow To SURVIVE The Backrooms! ►► https://youtu.be/dzG68oc-GT0\nDecoding the Horror of The Backrooms ►► https://youtu.be/bhla6mhzWAU\nDon’t Be Deceived (Mandela) ►► https://youtu.be/hGHW6QLrLTY\nWho’s REALLY in Control?! (DHMIS) ►► https://youtu.be/vwbQxMY7yds\n\nJoin our other Theorist Communities!\nGame Theory! ► http://bit.ly/1qV8fd6 \nFood Theory! ► https://bit.ly/2CdCooV\n\nCredits:\nWriters: Matthew Patrick and Forrest Lee\nEditors: Alex \"Sedge\" Sedgwick, AbsolutePixel, Koen Verhagen\nAssistant Editor: Caitie Turner (Caiterpillart)\nSound Editor: Yosi Berman \n\n#Backrooms #BackroomsFoundFootage #BackroomsLore #Creepypasta #BackroomsMonster #BackroomsExplained #TheBackroomsExplained #TheBackrooms #Horror #Scary #Theory #FilmTheory #Matpat #Trailer" + }, + "defaultAudioLanguage": "en" + }, + "contentDetails": { + "duration": "PT24M16S", + "dimension": "2d", + "definition": "hd", + "caption": "true", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "2568921", + "likeCount": "140074", + "favoriteCount": "0", + "commentCount": "8070" + } + }, + { + "kind": "youtube#video", + "etag": "rb9ZERSHkmv34EuMh83I1aeI5Yo", + "id": "JzL1NDpz6_8", + "snippet": { + "publishedAt": "2023-01-15T15:52:42Z", + "channelId": "UCvo9oZCTg_UaTQbhyXkXX3w", + "title": "Our Daughters First Time in Snow", + "description": "Its Zadie's first time in the snow. It was magical to spend our first Christmas with our Daughter but it didn't snow. Will it snow this time? It all started when Rebecca Zamolo posted \"Surviving 24 Childhood Punishments in 24 Hours.\" Next Matt and Rebecca uploaded \"Last To Stop Eating in Alphabetical Order Wins.\" Why does it feel like this is a giant prank in real life? Thanks for watching my funny entertainment mystery vlog videos in 2022. \n\n▶ Get Our Hot Chocolate https://www.zamfam.com\n▶ Get ZamFam merch! https://rebeccazamolo.com\n\nMore awesome videos! \nRebecca Zamolo | Surviving 24 Childhood Punishments in 24 Hours\nhttps://www.youtube.com/watch?v=9NkB7t3IJMo\n\nSSSniperwolf | Dumbest People On The Internet\nhttps://www.youtube.com/watch?v=hqEbamkXs-c\n\nPreston | 100 YouTubers Signed My Tesla!\nhttps://www.youtube.com/watch?v=wiUiL9vw24A\n\nRebecca Zamolo Shorts | Girly Tik Tok Life Hacks You Need To Know\nhttps://www.youtube.com/watch?v=MTzqC9C507A\n\nFollow Rebecca:\nYouTube: https://youtube.com/rebeccazamolo1 \nInstagram: https://instagram.com/rebeccazamolo \nTwitter: https://twitter.com/rebeccazamolo \nSnapchat: https://snapchat.com/add/rebeccazamolo", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/JzL1NDpz6_8/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/JzL1NDpz6_8/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/JzL1NDpz6_8/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/JzL1NDpz6_8/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/JzL1NDpz6_8/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Matt Slays", + "tags": ["daughters", "first", "time", "snow", "Rebecca", "matt and rebecca", "Rebecca Zamolo", "matt", "rebecca", "ben azelart", "Lexi Rivera", "Brent Rivera", "Jeremy Hutchins", "lexi hensler", "pierson", "andrew davila", "dom brack", "sofie dossi", "kat hixson", "amp", "Logan Wodzynski", "MyLifeAsEva", "MrBeast", "Faze Rug", "Alex Warren", "Lizzy Capri", "Carter Sharer", "Dhar Mann", "Alexa rivera", "troom troom", "123go", "royalty family", "lankybox", "sssniperwolf"], + "categoryId": "24", + "liveBroadcastContent": "none", + "defaultLanguage": "en", + "localized": { + "title": "Our Daughters First Time in Snow", + "description": "Its Zadie's first time in the snow. It was magical to spend our first Christmas with our Daughter but it didn't snow. Will it snow this time? It all started when Rebecca Zamolo posted \"Surviving 24 Childhood Punishments in 24 Hours.\" Next Matt and Rebecca uploaded \"Last To Stop Eating in Alphabetical Order Wins.\" Why does it feel like this is a giant prank in real life? Thanks for watching my funny entertainment mystery vlog videos in 2022. \n\n▶ Get Our Hot Chocolate https://www.zamfam.com\n▶ Get ZamFam merch! https://rebeccazamolo.com\n\nMore awesome videos! \nRebecca Zamolo | Surviving 24 Childhood Punishments in 24 Hours\nhttps://www.youtube.com/watch?v=9NkB7t3IJMo\n\nSSSniperwolf | Dumbest People On The Internet\nhttps://www.youtube.com/watch?v=hqEbamkXs-c\n\nPreston | 100 YouTubers Signed My Tesla!\nhttps://www.youtube.com/watch?v=wiUiL9vw24A\n\nRebecca Zamolo Shorts | Girly Tik Tok Life Hacks You Need To Know\nhttps://www.youtube.com/watch?v=MTzqC9C507A\n\nFollow Rebecca:\nYouTube: https://youtube.com/rebeccazamolo1 \nInstagram: https://instagram.com/rebeccazamolo \nTwitter: https://twitter.com/rebeccazamolo \nSnapchat: https://snapchat.com/add/rebeccazamolo" + }, + "defaultAudioLanguage": "en" + }, + "contentDetails": { + "duration": "PT13M37S", + "dimension": "2d", + "definition": "hd", + "caption": "false", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "670789", + "likeCount": "17488", + "favoriteCount": "0", + "commentCount": "1754" + } + } + ], + "nextPageToken": "CBkQAA", + "pageInfo": { + "totalResults": 200, + "resultsPerPage": 25 + } + } +} diff --git a/public/data/hyewonTest.json b/public/data/hyewonTest.json new file mode 100644 index 0000000..630b16a --- /dev/null +++ b/public/data/hyewonTest.json @@ -0,0 +1,110 @@ +{ + "kind": "youtube#videoListResponse", + "etag": "fBNlXdfsf06VVzOrgsQ9kRg19n8", + "items": [ + { + "kind": "youtube#video", + "etag": "ewgtxGtroUgiMM2t42GdvwKGbhU", + "id": "xnIvuyPRMug", + "snippet": { + "publishedAt": "2023-01-13T19:50:03Z", + "channelId": "UC4i3-yfVazfuqwoz71T79Sw", + "title": "Wild West: Biggest Swell in Decades Slams California", + "description": "Biggest is not always best. And in the case of last week’s Wild West swell — the biggest in decades to hit California — truth is, it was only actually good at a handful of spots during short windows of tide and wind, and/or at tucked-in nook-and-cranny novelty waves. (It also wreaked 17 different kinds of havoc across the state, washing over roadways, breaking piers and into harbors.) Yeah, it was a historic surf event which’ll be talked about in parking lots and lineups and coffee shops for years, and it rearranged the relationship with where we surf, but it (mostly) ended up being more spectacle than participatory. And above we present the spectacle, including a mad return to Todos Santos. With more on the way, especially Friday and Saturday across Southern California.\n\n-----------------------------------\r\nSubscribe: \r\nhttp://www.youtube.com/subscription_center?add_user=surfline\r\n\r\nBecome a Surfline Premium Member: \r\nhttps://surfl.in/2Cd36tF\r\n----------------------------------\n\nMusicBed - MB017G4BC0NM53Q", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/xnIvuyPRMug/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/xnIvuyPRMug/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/xnIvuyPRMug/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/xnIvuyPRMug/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/xnIvuyPRMug/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Surfline", + "tags": [ + "surf", + "surfline", + "surfing", + "waves", + "ocean", + "surfboard", + "surfer", + "wsl", + "world surf league", + "wild west surfing", + "surf movie", + "storm surf", + "biggest swell", + "california big waves", + "big wave surfing", + "huge surf slams california", + "high surf advisory", + "todos santos", + "todos santos surfing", + "big wave surf movie", + "xxl surf", + "greg long", + "greg long surfer", + "greg long todos", + "sandspit", + "sandspit surf", + "surfing 2023", + "surfline todos santos", + "big waves southern california", + "socal big waves", + "seal beach", + "blacks beach", + "blacks" + ], + "categoryId": "17", + "liveBroadcastContent": "none", + "defaultLanguage": "en", + "localized": { + "title": "Wild West: Biggest Swell in Decades Slams California", + "description": "Biggest is not always best. And in the case of last week’s Wild West swell — the biggest in decades to hit California — truth is, it was only actually good at a handful of spots during short windows of tide and wind, and/or at tucked-in nook-and-cranny novelty waves. (It also wreaked 17 different kinds of havoc across the state, washing over roadways, breaking piers and into harbors.) Yeah, it was a historic surf event which’ll be talked about in parking lots and lineups and coffee shops for years, and it rearranged the relationship with where we surf, but it (mostly) ended up being more spectacle than participatory. And above we present the spectacle, including a mad return to Todos Santos. With more on the way, especially Friday and Saturday across Southern California.\n\n-----------------------------------\r\nSubscribe: \r\nhttp://www.youtube.com/subscription_center?add_user=surfline\r\n\r\nBecome a Surfline Premium Member: \r\nhttps://surfl.in/2Cd36tF\r\n----------------------------------\n\nMusicBed - MB017G4BC0NM53Q" + }, + "defaultAudioLanguage": "en" + }, + "contentDetails": { + "duration": "PT7M18S", + "dimension": "2d", + "definition": "hd", + "caption": "true", + "licensedContent": false, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "431568", + "likeCount": "3935", + "favoriteCount": "0", + "commentCount": "217" + }, + "player": { + "embedHtml": "\u003ciframe width=\"480\" height=\"270\" src=\"//www.youtube.com/embed/xnIvuyPRMug\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen\u003e\u003c/iframe\u003e" + } + } + ], + "pageInfo": { + "totalResults": 1, + "resultsPerPage": 1 + } +} diff --git a/public/data/relatedVideo.json b/public/data/relatedVideo.json new file mode 100644 index 0000000..8577484 --- /dev/null +++ b/public/data/relatedVideo.json @@ -0,0 +1,221 @@ +{ + "kind": "youtube#searchListResponse", + "etag": "nQypB8SbfmYJRnpygogaBSZbD_8", + "items": [ + { + "kind": "youtube#searchResult", + "etag": "iuXeoSQ7vl3wO2BAtUhDSINgUbc", + "id": { + "kind": "youtube#video", + "videoId": "eIho2S0ZahI" + }, + "snippet": { + "publishedAt": "2014-06-27T14:18:00Z", + "channelId": "UCAuUUnT6oDeKwE6v1NGQxug", + "title": "How to speak so that people want to listen | Julian Treasure", + "description": "Visit http://TED.com to get our entire library of TED Talks, transcripts, translations, personalized talk recommendations and more.\n\nHave you ever felt like you're talking, but nobody is listening? Here's Julian Treasure to help you fix that. As the sound expert demonstrates some useful vocal exercises and shares tips on how to speak with empathy, he offers his vision for a sonorous world of listening and understanding.\n\nThe TED Talks channel features the best talks and performances from the TED Conference, where the world's leading thinkers and doers give the talk of their lives in 18 minutes (or less). Look for talks on Technology, Entertainment and Design -- plus science, business, global issues, the arts and more. You're welcome to link to or embed these videos, forward them to others and share these ideas with people you know. \n\nFollow TED on Twitter: http://twitter.com/TEDTalks\nLike TED on Facebook: http://facebook.com/TED\nSubscribe to our channel: http://youtube.com/TED\n\nTED's videos may be used for non-commercial purposes under a Creative Commons License, Attribution–Non Commercial–No Derivatives (or the CC BY – NC – ND 4.0 International) and in accordance with our TED Talks Usage Policy (https://www.ted.com/about/our-organization/our-policies-terms/ted-talks-usage-policy). For more information on using TED for commercial purposes (e.g. employee learning, in a film or online course), please submit a Media Request at https://media-requests.ted.com", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/eIho2S0ZahI/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/eIho2S0ZahI/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/eIho2S0ZahI/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/eIho2S0ZahI/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/eIho2S0ZahI/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "TED", + "liveBroadcastContent": "none", + "publishTime": "2014-06-27T14:18:00Z" + } + }, + { + "kind": "youtube#searchResult", + "etag": "-XzEGV5Th1BKTT1p18AoMko7V18", + "id": { + "kind": "youtube#video", + "videoId": "VRJzvJ5XPQI" + }, + "snippet": { + "publishedAt": "2021-10-15T19:29:36Z", + "channelId": "UCftwRNsjfRo08xYE31tkiyw", + "title": "Body Language Expert Explains How to Show Confidence | WIRED", + "description": "Former FBI agent and body language expert Joe Navarro explains how we can project confidence through our body language. Joe takes a look at various celebrities and politicians and demonstrates the things that they do that can help them appear more confident. \r\n\r\nCheck out Joe's book \"Be Exceptional\"\r\nhttps://www.amazon.com/Be-Exceptional-Master-Traits-Extraordinary-ebook/dp/B08K93BLQP/ref=tmm_kin_swatch_0?_encoding=UTF8&qid=&sr=\r\n\r\nhttps://www.jnforensics.com/ \r\n\r\nBooks By Joe Navarro: https://www.jnforensics.com/books\r\nJoe Navarro Body Language Academy: https://jnbodylanguageacademy.com\n\nStill haven’t subscribed to WIRED on YouTube? ►► http://wrd.cm/15fP7B7 \r\nListen to the Get WIRED podcast ►► https://link.chtbl.com/wired-ytc-desc\r\nWant more WIRED? Get the magazine ►► https://subscribe.wired.com/subscribe/splits/wired/WIR_YouTube?source=EDT_WIR_YouTube_0_Video_Description_ZZ\r\n\r\nFollow WIRED:\r\n\r\nInstagram ►►https://instagram.com/wired\r\nTwitter ►►http://www.twitter.com/wired\r\nFacebook ►►https://www.facebook.com/wired\r\n\r\nGet more incredible stories on science and tech with our daily newsletter: https://wrd.cm/DailyYT\r\n\r\nAlso, check out the free WIRED channel on Roku, Apple TV, Amazon Fire TV, and Android TV. \r\n\r\nABOUT WIRED\r\nWIRED is where tomorrow is realized. Through thought-provoking stories and videos, WIRED explores the future of business, innovation, and culture.", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/VRJzvJ5XPQI/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/VRJzvJ5XPQI/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/VRJzvJ5XPQI/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/VRJzvJ5XPQI/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/VRJzvJ5XPQI/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "WIRED", + "liveBroadcastContent": "none", + "publishTime": "2021-10-15T19:29:36Z" + } + }, + { + "kind": "youtube#searchResult", + "etag": "OUSRcBXXhykhmSFnaeQelS34F-4", + "id": { + "kind": "youtube#video", + "videoId": "P_6vDLq64gE" + }, + "snippet": { + "publishedAt": "2011-10-13T19:33:04Z", + "channelId": "UCAuUUnT6oDeKwE6v1NGQxug", + "title": "How to spot a liar | Pamela Meyer", + "description": "Visit http://TED.com to get our entire library of TED Talks, transcripts, translations, personalized talk recommendations and more.\n\nOn any given day we're lied to from 10 to 200 times, and the clues to detect those lies can be subtle and counter-intuitive. Pamela Meyer, author of \"Liespotting,\" shows the manners and \"hotspots\" used by those trained to recognize deception -- and she argues honesty is a value worth preserving. (Contains mature content)\n\nThe TED Talks channel features the best talks and performances from the TED Conference, where the world's leading thinkers and doers give the talk of their lives in 18 minutes (or less). Look for talks on Technology, Entertainment and Design -- plus science, business, global issues, the arts and more. You're welcome to link to or embed these videos, forward them to others and share these ideas with people you know. \n\nFollow TED on Twitter: http://twitter.com/TEDTalks\nLike TED on Facebook: http://facebook.com/TED\nSubscribe to our channel: http://youtube.com/TED\n\nTED's videos may be used for non-commercial purposes under a Creative Commons License, Attribution–Non Commercial–No Derivatives (or the CC BY – NC – ND 4.0 International) and in accordance with our TED Talks Usage Policy (https://www.ted.com/about/our-organization/our-policies-terms/ted-talks-usage-policy). For more information on using TED for commercial purposes (e.g. employee learning, in a film or online course), please submit a Media Request at https://media-requests.ted.com", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/P_6vDLq64gE/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/P_6vDLq64gE/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/P_6vDLq64gE/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/P_6vDLq64gE/sddefault.jpg", + "width": 640, + "height": 480 + } + }, + "channelTitle": "TED", + "liveBroadcastContent": "none", + "publishTime": "2011-10-13T19:33:04Z" + } + }, + { + "kind": "youtube#searchResult", + "etag": "3O5JXA-MLLDMdpfoaJAOPuGVbsE", + "id": { + "kind": "youtube#video", + "videoId": "arj7oStGLkU" + }, + "snippet": { + "publishedAt": "2016-03-15T20:13:33Z", + "channelId": "UCAuUUnT6oDeKwE6v1NGQxug", + "title": "Tim Urban: Inside the mind of a master procrastinator | TED", + "description": "Tim Urban knows that procrastination doesn't make sense, but he's never been able to shake his habit of waiting until the last minute to get things done. In this hilarious and insightful talk, Urban takes us on a journey through YouTube binges, Wikipedia rabbit holes and bouts of staring out the window -- and encourages us to think harder about what we're really procrastinating on, before we run out of time.\n\nFor more from Tim Urban, visit Wait But Why: http://www.waitbutwhy.com/\n\nVisit http://TED.com to get our entire library of TED Talks, transcripts, translations, personalized talk recommendations and more.\n\nThe TED Talks channel features the best talks and performances from the TED Conference, where the world's leading thinkers and doers give the talk of their lives in 18 minutes (or less). Look for talks on Technology, Entertainment and Design -- plus science, business, global issues, the arts and more. You're welcome to link to or embed these videos, forward them to others and share these ideas with people you know. \n\nFollow TED on Twitter: http://twitter.com/TEDTalks\nLike TED on Facebook: http://facebook.com/TED\nSubscribe to our channel: http://youtube.com/TED\n\nTED's videos may be used for non-commercial purposes under a Creative Commons License, Attribution–Non Commercial–No Derivatives (or the CC BY – NC – ND 4.0 International) and in accordance with our TED Talks Usage Policy (https://www.ted.com/about/our-organization/our-policies-terms/ted-talks-usage-policy). For more information on using TED for commercial purposes (e.g. employee learning, in a film or online course), please submit a Media Request at https://media-requests.ted.com", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/arj7oStGLkU/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/arj7oStGLkU/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/arj7oStGLkU/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/arj7oStGLkU/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/arj7oStGLkU/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "TED", + "liveBroadcastContent": "none", + "publishTime": "2016-03-15T20:13:33Z" + } + }, + { + "kind": "youtube#searchResult", + "etag": "jD08y-NoucUj6DcYqMqKPyYcJm0", + "id": { + "kind": "youtube#video", + "videoId": "RKK7wGAYP6k" + }, + "snippet": { + "publishedAt": "2018-04-05T20:17:43Z", + "channelId": "UCAuUUnT6oDeKwE6v1NGQxug", + "title": "How language shapes the way we think | Lera Boroditsky", + "description": "There are about 7,000 languages spoken around the world -- and they all have different sounds, vocabularies and structures. But do they shape the way we think? Cognitive scientist Lera Boroditsky shares examples of language -- from an Aboriginal community in Australia that uses cardinal directions instead of left and right to the multiple words for blue in Russian -- that suggest the answer is a resounding yes. \"The beauty of linguistic diversity is that it reveals to us just how ingenious and how flexible the human mind is,\" Boroditsky says. \"Human minds have invented not one cognitive universe, but 7,000.\"\n\nCheck out more TED Talks: http://www.ted.com\n\nThe TED Talks channel features the best talks and performances from the TED Conference, where the world's leading thinkers and doers give the talk of their lives in 18 minutes (or less). Look for talks on Technology, Entertainment and Design -- plus science, business, global issues, the arts and more.\n\nFollow TED on Twitter: http://www.twitter.com/TEDTalks\nLike TED on Facebook: https://www.facebook.com/TED\n\nSubscribe to our channel: https://www.youtube.com/TED", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/RKK7wGAYP6k/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/RKK7wGAYP6k/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/RKK7wGAYP6k/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/RKK7wGAYP6k/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/RKK7wGAYP6k/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "TED", + "liveBroadcastContent": "none", + "publishTime": "2018-04-05T20:17:43Z" + } + } + ] +} diff --git a/public/data/relatedVideoList.json b/public/data/relatedVideoList.json new file mode 100644 index 0000000..6e40aaa --- /dev/null +++ b/public/data/relatedVideoList.json @@ -0,0 +1,1648 @@ +{ + "kind": "youtube#videoListResponse", + "etag": "VXUPcSnS-DmkoPpoxyIJZw9Dy5U", + "items": [ + { + "kind": "youtube#video", + "etag": "KHedm2P0-R17CdL2DNyfO6pC9W0", + "id": "-EXQtU80q1M", + "snippet": { + "publishedAt": "2023-01-18T17:00:00Z", + "channelId": "UCXlfi8sf6cKGQ8sOd0-yRuw", + "title": "Ken Block Tribute Video and Update, from the Hoonigans.", + "description": "The 43 Institute was established to honor Ken Block's memory and spirit. For more information, please visit http://43i.org\n\n00:00 An Update\n04:30 A Celebration of Ken’s Life\n10:15 Words to Live By", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/-EXQtU80q1M/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/-EXQtU80q1M/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/-EXQtU80q1M/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/-EXQtU80q1M/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/-EXQtU80q1M/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Hoonigan", + "tags": [ + "Hoonigan", + "hoonegan", + "Ken Block", + "hoon", + "hooning", + "cars", + "ken block tribute", + "ken block gymkhana", + "ken block mustang", + "hoonigan racing division", + "ken block hoonigan", + "honigan", + "43 institute", + "Кен Блок", + "hoonigans", + "kblock43", + "Lia Block", + "ken block rip" + ], + "categoryId": "22", + "liveBroadcastContent": "none", + "defaultLanguage": "en", + "localized": { + "title": "Ken Block Tribute Video and Update, from the Hoonigans.", + "description": "The 43 Institute was established to honor Ken Block's memory and spirit. For more information, please visit http://43i.org\n\n00:00 An Update\n04:30 A Celebration of Ken’s Life\n10:15 Words to Live By" + }, + "defaultAudioLanguage": "en-US" + } + }, + { + "kind": "youtube#video", + "etag": "M2_S8jaMmeXuETO7RJ5DnJFj3rE", + "id": "-e1_QhJ1EhQ", + "snippet": { + "publishedAt": "2023-01-18T15:00:03Z", + "channelId": "UC7vVhkEfw4nOGp8TyDk7RcQ", + "title": "Atlas Gets a Grip | Boston Dynamics", + "description": "It’s time for Atlas to pick up a new set of skills and get hands on. In this video, the humanoid robot manipulates the world around it: Atlas interacts with objects and modifies the course to reach its goal—pushing the limits of locomotion, sensing, and athleticism.\n\nTo learn how we go from idea to execution, go being the scenes with our team: https://youtu.be/XPVC4IyRTG8\n\n#BostonDynamics #Robots #Robotics", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/-e1_QhJ1EhQ/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/-e1_QhJ1EhQ/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/-e1_QhJ1EhQ/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/-e1_QhJ1EhQ/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/-e1_QhJ1EhQ/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Boston Dynamics", + "tags": [ + "boston dynamics", + "boston dynamics robot", + "boston dynamics atlas", + "boston dynamics parkour", + "atlas", + "atlas robot", + "atlas parkour", + "partners in parkour", + "what's new atlas", + "atlas gets a grip", + "atlas picks things up" + ], + "categoryId": "28", + "liveBroadcastContent": "none", + "defaultLanguage": "en", + "localized": { + "title": "Atlas Gets a Grip | Boston Dynamics", + "description": "It’s time for Atlas to pick up a new set of skills and get hands on. In this video, the humanoid robot manipulates the world around it: Atlas interacts with objects and modifies the course to reach its goal—pushing the limits of locomotion, sensing, and athleticism.\n\nTo learn how we go from idea to execution, go being the scenes with our team: https://youtu.be/XPVC4IyRTG8\n\n#BostonDynamics #Robots #Robotics" + } + } + }, + { + "kind": "youtube#video", + "etag": "7cVUPQEUjnPFI9xcMM3RtLentBM", + "id": "oBrkbWSB3Ls", + "snippet": { + "publishedAt": "2023-01-18T15:00:01Z", + "channelId": "UC2qWxZHgnlwDvcmLqP23jrA", + "title": "Fall Out Boy - Love From The Other Side (Official Video)", + "description": "\"Love From The Other Side\" out now: https://FallOutBoy.lnk.to/lovefromtheotherside\n\nNew album 'So Much (For) Stardust' out March 24th on Fueled By Ramen/DCD2: https://FallOutBoy.lnk.to/somuchforstardust\n\nLimited box sets with new merch, signed CDs and four exclusive vinyl colors are available for pre-order now in our webstore https://FallOutBoy.lnk.to/store\n\n✨ lots more to come soon ✨\n\nFOLLOW FALL OUT BOY\n\nhttps://falloutboy.com/\nhttps://instagram.com/falloutboy \nhttps://www.tiktok.com/@falloutboy\nhttps://twitter.com/falloutboy \nhttps://facebook.com/falloutboy \n\nLYRICS\n\nModel house life meltdown\nStill a modern dream let down\nIt kills me you know I’m dying out here\nWhat would you trade the pain for?\nI’m not sure\n\nWe were a hammer to the Statue of David\nWe were a painting you could never frame and\nYou were the sunshine\nOf my lifetime\nWhat would you trade the pain for?\n\nThis city always hangs a little bit lonely on me\nLoose\nLike a kid playing pretend in his father’s suit\nI’d never go, I just want to be invited \nOh\nGot to give up\nGet the feeling\nGet the feeling\nDon’t fight it\nFight it\n\nSending my love from the other side of the apocalypse \nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\nLove from the other side of the apocalypse\nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\n\nGeneration sleep I’m falling in and out of love\nI’m getting that tilted feeling out here\nWhat would you trade the pain for?\nI’m not sure\n\nNowhere left for us to go but heaven\nSummer falling through our fingers again and\nYou were the sunshine\nOf my lifetime\nWhat would you trade the pain for?\n\nThey say we gotta get ahead yeah,\nNo matter what it takes\nBut there’s no way off the hamster wheel on this rat race\nI’d never go, I just want to be invited \nOh\nGot to give up\nGet the feeling\nGet the feeling\nDon’t fight it\nFight it\n\nSending my love from the other side of the apocalypse \nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\nLove from the other side of the apocalypse\nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\n\nI saw you in a bright clear field\nHurricane heat in my head\nThe kind of pain you feel to get good in the end\nGood in the end\nInscribed like stone and faded by the rain:\n“Give up what you love\nGive up what you love before it does you in…”\n\nSending my love from the other side of the apocalypse \nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\nLove from the other side of the apocalypse\nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\n\n#FallOutBoy #SoMuchForStardust #LoveFromTheOtherSide", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/oBrkbWSB3Ls/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/oBrkbWSB3Ls/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/oBrkbWSB3Ls/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/oBrkbWSB3Ls/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/oBrkbWSB3Ls/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Fall Out Boy", + "tags": [ + "Fall Out Boy", + "FOB", + "FOB8", + "Love From The Other Side", + "Other Side of The Apocalypse", + "Pete Wentz", + "Patrick Stump", + "Joe Trohman", + "Andy Hurley", + "so much (for) stardust", + "so much for stardust", + "new fall out boy", + "new FOB", + "New Fall Out Boy Song", + "New Fall Out Boy Album", + "New FOB Album", + "New FOB Song", + "Fueled By Ramen", + "FBR", + "pop punk", + "emo" + ], + "categoryId": "10", + "liveBroadcastContent": "none", + "localized": { + "title": "Fall Out Boy - Love From The Other Side (Official Video)", + "description": "\"Love From The Other Side\" out now: https://FallOutBoy.lnk.to/lovefromtheotherside\n\nNew album 'So Much (For) Stardust' out March 24th on Fueled By Ramen/DCD2: https://FallOutBoy.lnk.to/somuchforstardust\n\nLimited box sets with new merch, signed CDs and four exclusive vinyl colors are available for pre-order now in our webstore https://FallOutBoy.lnk.to/store\n\n✨ lots more to come soon ✨\n\nFOLLOW FALL OUT BOY\n\nhttps://falloutboy.com/\nhttps://instagram.com/falloutboy \nhttps://www.tiktok.com/@falloutboy\nhttps://twitter.com/falloutboy \nhttps://facebook.com/falloutboy \n\nLYRICS\n\nModel house life meltdown\nStill a modern dream let down\nIt kills me you know I’m dying out here\nWhat would you trade the pain for?\nI’m not sure\n\nWe were a hammer to the Statue of David\nWe were a painting you could never frame and\nYou were the sunshine\nOf my lifetime\nWhat would you trade the pain for?\n\nThis city always hangs a little bit lonely on me\nLoose\nLike a kid playing pretend in his father’s suit\nI’d never go, I just want to be invited \nOh\nGot to give up\nGet the feeling\nGet the feeling\nDon’t fight it\nFight it\n\nSending my love from the other side of the apocalypse \nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\nLove from the other side of the apocalypse\nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\n\nGeneration sleep I’m falling in and out of love\nI’m getting that tilted feeling out here\nWhat would you trade the pain for?\nI’m not sure\n\nNowhere left for us to go but heaven\nSummer falling through our fingers again and\nYou were the sunshine\nOf my lifetime\nWhat would you trade the pain for?\n\nThey say we gotta get ahead yeah,\nNo matter what it takes\nBut there’s no way off the hamster wheel on this rat race\nI’d never go, I just want to be invited \nOh\nGot to give up\nGet the feeling\nGet the feeling\nDon’t fight it\nFight it\n\nSending my love from the other side of the apocalypse \nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\nLove from the other side of the apocalypse\nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\n\nI saw you in a bright clear field\nHurricane heat in my head\nThe kind of pain you feel to get good in the end\nGood in the end\nInscribed like stone and faded by the rain:\n“Give up what you love\nGive up what you love before it does you in…”\n\nSending my love from the other side of the apocalypse \nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\nLove from the other side of the apocalypse\nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\n\n#FallOutBoy #SoMuchForStardust #LoveFromTheOtherSide" + }, + "defaultAudioLanguage": "en" + } + }, + { + "kind": "youtube#video", + "etag": "JZryev20tb1VBCmBeZ3Ew5aZ3RM", + "id": "NthGfn_ddRQ", + "snippet": { + "publishedAt": "2023-01-18T14:00:18Z", + "channelId": "UCNflpbEsoC9uWkSPrx6hMqg", + "title": "Hogwarts Legacy - Official Cinematic Trailer 4K", + "description": "Your letter to Hogwarts has arrived. Live the Unwritten beginning February 10, 2023.\n\nPre-order now.\n\n\nAlways be the first to get #HogwartsLegacy news at \ngo.wbgames.com/HogwartsLegacy \n\nConnect with Hogwarts Legacy online: \nTwitter: https://twitter.com/HogwartsLegacy \nFacebook: https://facebook.com/HogwartsLegacy\nInstagram: https://instagram.com/HogwartsLegacy\nDiscord: Discord.gg/HogwartsLegacy\n\n#4K #WBGames #WizardingWorld", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/NthGfn_ddRQ/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/NthGfn_ddRQ/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/NthGfn_ddRQ/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/NthGfn_ddRQ/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/NthGfn_ddRQ/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Hogwarts Legacy", + "tags": [ + "Hogwarts Legacy", + "Hogwarts", + "Warner Media", + "Warner Bros.", + "WB Games", + "Avalanche", + "Portkey Games", + "Wizarding World", + "Harry Potter", + "Gryffindor", + "Hufflepuff", + "Ravenclaw", + "Slytherin", + "wizard", + "wizardry", + "HP", + "Playstation", + "PS5", + "Microsoft", + "Xbox", + "Xbox Series X", + "Xbox Series S", + "PC", + "RPG", + "open world", + "action", + "action adventure", + "Fantastic Beasts", + "4k", + "video games", + "gaming", + "game", + "dragon", + "hippogriff", + "magical beasts", + "owl", + "Great Hall", + "Nearly Headless Nick", + "Forbidden Forest" + ], + "categoryId": "20", + "liveBroadcastContent": "none", + "localized": { + "title": "Hogwarts Legacy - Official Cinematic Trailer 4K", + "description": "Your letter to Hogwarts has arrived. Live the Unwritten beginning February 10, 2023.\n\nPre-order now.\n\n\nAlways be the first to get #HogwartsLegacy news at \ngo.wbgames.com/HogwartsLegacy \n\nConnect with Hogwarts Legacy online: \nTwitter: https://twitter.com/HogwartsLegacy \nFacebook: https://facebook.com/HogwartsLegacy\nInstagram: https://instagram.com/HogwartsLegacy\nDiscord: Discord.gg/HogwartsLegacy\n\n#4K #WBGames #WizardingWorld" + }, + "defaultAudioLanguage": "en" + } + }, + { + "kind": "youtube#video", + "etag": "l6TdjZUNCst7JD-NdcnHaZu70gk", + "id": "SRknVVlwgsE", + "snippet": { + "publishedAt": "2023-01-18T17:00:18Z", + "channelId": "UC-gW4TeZAlKm7UATp24JsWQ", + "title": "GROUNDED GLIZZY MOMENTS", + "description": "GROUNDED GLIZZY MOMENTS\nLeave a like and Subscribe if you enjoyed! Thanks =)\n\nAll the footage featured in this video was livestreamed on my Twitch channel!\nFollow it to catch the streams live when they happen! - https://www.twitch.tv/smii7y\n\nCheck out my other channels!\nSMii7Y https://www.youtube.com/c/SMii7Y\nSMii7Y➖ https://www.youtube.com/c/SMii7Yminus\n\nFollow my Stream, Social Medias and check out my Merch!\n📺 Stream - http://www.twitch.tv/smii7y\n🐦 Twitter - https://twitter.com/SMii7Y\n📷 Instagram - https://www.instagram.com/smii7y/\n👕 Merch - https://smii7y.store/\n\nFriends in the video:\nhttps://www.twitch.tv/jericho\nhttps://www.twitch.tv/EliLikesRice\nhttps://www.twitch.tv/fl0m\n\n🎵 Music by:\nhttp://www.epidemicsound.com/\nhttp://www.premiumbeat.com/\nhttp://audiojungle.net/\nincompetech.com \nLicensed under Creative Commons: By Attribution 3.0\nhttps://creativecommons.org/licenses/by/3.0/\nhttps://99sounds.org/\n\nOutro Music Created by: @MattercellEntertainment", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/SRknVVlwgsE/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/SRknVVlwgsE/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/SRknVVlwgsE/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/SRknVVlwgsE/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/SRknVVlwgsE/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "SMii7Yplus", + "tags": [ + "grounded", + "grounded game", + "grounded update", + "grounded gameplay", + "grounded full release", + "grounded 1.0", + "grounded new update", + "grounded multiplayer", + "grounded coop", + "grounded playthrough", + "smii7y", + "smii7yplus", + "smii7y+", + "smii7y plus" + ], + "categoryId": "20", + "liveBroadcastContent": "none", + "localized": { + "title": "GROUNDED GLIZZY MOMENTS", + "description": "GROUNDED GLIZZY MOMENTS\nLeave a like and Subscribe if you enjoyed! Thanks =)\n\nAll the footage featured in this video was livestreamed on my Twitch channel!\nFollow it to catch the streams live when they happen! - https://www.twitch.tv/smii7y\n\nCheck out my other channels!\nSMii7Y https://www.youtube.com/c/SMii7Y\nSMii7Y➖ https://www.youtube.com/c/SMii7Yminus\n\nFollow my Stream, Social Medias and check out my Merch!\n📺 Stream - http://www.twitch.tv/smii7y\n🐦 Twitter - https://twitter.com/SMii7Y\n📷 Instagram - https://www.instagram.com/smii7y/\n👕 Merch - https://smii7y.store/\n\nFriends in the video:\nhttps://www.twitch.tv/jericho\nhttps://www.twitch.tv/EliLikesRice\nhttps://www.twitch.tv/fl0m\n\n🎵 Music by:\nhttp://www.epidemicsound.com/\nhttp://www.premiumbeat.com/\nhttp://audiojungle.net/\nincompetech.com \nLicensed under Creative Commons: By Attribution 3.0\nhttps://creativecommons.org/licenses/by/3.0/\nhttps://99sounds.org/\n\nOutro Music Created by: @MattercellEntertainment" + } + } + }, + { + "kind": "youtube#video", + "etag": "-lh3P1hKZm7DaR0fX4H5HXNgIqk", + "id": "Z9rsqMFO_W4", + "snippet": { + "publishedAt": "2023-01-18T14:45:29Z", + "channelId": "UCi4fcBVyo4CAnmdgXeO-NvA", + "title": "Gruesome details revealed in court as Brian Walshe charged with murdering wife Ana Walshe", + "description": "Brian Walshe is charged with allegedly murdering his wife, missing Cohasset woman Ana Walshe.", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/Z9rsqMFO_W4/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/Z9rsqMFO_W4/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/Z9rsqMFO_W4/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/Z9rsqMFO_W4/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/Z9rsqMFO_W4/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "CBS Boston", + "tags": ["CBSN Boston", "Ana Walshe", "Brian Walshe"], + "categoryId": "25", + "liveBroadcastContent": "none", + "localized": { + "title": "Gruesome details revealed in court as Brian Walshe charged with murdering wife Ana Walshe", + "description": "Brian Walshe is charged with allegedly murdering his wife, missing Cohasset woman Ana Walshe." + }, + "defaultAudioLanguage": "en" + } + }, + { + "kind": "youtube#video", + "etag": "4n_KvJgGMsx5_WbMWxuq4SWKNw8", + "id": "k_zz3239DA0", + "snippet": { + "publishedAt": "2023-01-18T15:00:34Z", + "channelId": "UCmGSJVG3mCRXVOP4yZrU1Dw", + "title": "USA vs China, The War You Can't See", + "description": "The US and China are fighting a war. It's a weird one that's hard to see. \nVisit https://bit.ly/Scaler_JohnnyHarris to take the free live class.\n\nThe US and China are fighting a war. It's a weird one that's hard to see. It's being fought in government offices, in company boardrooms. And it’s being fought over the most important technology in the world: Microchips.\n\nNext week's video (about submarines) is live now on Nebula https://nebula.tv/videos/johnnyharris-our-best-military-weapon-is-invisible\nwhere I publish every video one week early. \n\nCheck out all my sources for this video here: https://docs.google.com/document/d/1rb2t8ndF23uXBuYweXya61JClTU30xJD_HBu9exUTF4/edit?usp=sharing\n\nJoin the Newsroom (over on Patreon) to get access to behind-the-scenes vlogs, extended interviews, & to support the channel. See you there! https://www.patreon.com/johnnyharris\n\n- ways to support - \nMy Patreon: https://www.patreon.com/johnnyharris\nOur custom Presets & LUTs: https://store.dftba.com/products/johnny-iz-luts-and-presets\n\n- where to find me -\nInstagram: https://www.instagram.com/johnny.harris/\nTiktok: https://www.tiktok.com/@johnny.harris\nFacebook: https://www.facebook.com/JohnnyHarrisVox\nIz's (my wife’s) channel: https://www.youtube.com/iz-harris\n\n- how i make my videos -\nTom Fox makes my music, work with him here: https://tfbeats.com/\nI make maps using this AE Plugin: https://aescripts.com/geolayers/?aff=77\nAll the gear I use: https://www.izharris.com/gear-guide\n \n- my courses - \nLearn a language: https://brighttrip.com/course/language/\nVisual storytelling: https://www.brighttrip.com/courses/visual-storytelling\n\n- about -\nJohnny Harris is an Emmy-winning journalist. He currently is based in Washington, DC, reporting on interesting trends and stories domestically and around the globe. Johnny's visual style blends motion graphics with cinematic videography to create content that explains complex issues in relatable ways.\n\n- press - \nNYTimes: https://www.nytimes.com/2021/11/09/opinion/democrats-blue-states-legislation.html\nNYTimes: https://www.nytimes.com/video/opinion/100000007358968/covid-pandemic-us-response.html\nVox Borders: https://www.youtube.com/watch?v=hLrFyjGZ9NU\nFinding Founders: https://findingfounders.co/episodes/johnny-harris-2esj3-c3pet-2pg4c-xbtwa-5gaaa\nNPR Planet Money: https://www.npr.org/transcripts/1072164745", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/k_zz3239DA0/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/k_zz3239DA0/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/k_zz3239DA0/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/k_zz3239DA0/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/k_zz3239DA0/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Johnny Harris", + "tags": [ + "Johnny Harris", + "Johnny Harris Vox", + "Vox Borders", + "Johnny Harris Vox Borders", + "Vox", + "microchips", + "china", + "usa", + "us", + "united states", + "geopolitics", + "economics", + "technology", + "semiconductors", + "trade", + "regulations", + "engineering", + "tech", + "war", + "silicon", + "energy", + "electricity", + "military", + "nasa", + "computers", + "television", + "radio", + "phones", + "transistors", + "fabs", + "government", + "japan", + "taiwan", + "tsmc", + "ibm", + "nuclear", + "weapons", + "ai", + "nvidia", + "intel", + "national security", + "fusion", + "defense" + ], + "categoryId": "28", + "liveBroadcastContent": "none", + "localized": { + "title": "USA vs China, The War You Can't See", + "description": "The US and China are fighting a war. It's a weird one that's hard to see. \nVisit https://bit.ly/Scaler_JohnnyHarris to take the free live class.\n\nThe US and China are fighting a war. It's a weird one that's hard to see. It's being fought in government offices, in company boardrooms. And it’s being fought over the most important technology in the world: Microchips.\n\nNext week's video (about submarines) is live now on Nebula https://nebula.tv/videos/johnnyharris-our-best-military-weapon-is-invisible\nwhere I publish every video one week early. \n\nCheck out all my sources for this video here: https://docs.google.com/document/d/1rb2t8ndF23uXBuYweXya61JClTU30xJD_HBu9exUTF4/edit?usp=sharing\n\nJoin the Newsroom (over on Patreon) to get access to behind-the-scenes vlogs, extended interviews, & to support the channel. See you there! https://www.patreon.com/johnnyharris\n\n- ways to support - \nMy Patreon: https://www.patreon.com/johnnyharris\nOur custom Presets & LUTs: https://store.dftba.com/products/johnny-iz-luts-and-presets\n\n- where to find me -\nInstagram: https://www.instagram.com/johnny.harris/\nTiktok: https://www.tiktok.com/@johnny.harris\nFacebook: https://www.facebook.com/JohnnyHarrisVox\nIz's (my wife’s) channel: https://www.youtube.com/iz-harris\n\n- how i make my videos -\nTom Fox makes my music, work with him here: https://tfbeats.com/\nI make maps using this AE Plugin: https://aescripts.com/geolayers/?aff=77\nAll the gear I use: https://www.izharris.com/gear-guide\n \n- my courses - \nLearn a language: https://brighttrip.com/course/language/\nVisual storytelling: https://www.brighttrip.com/courses/visual-storytelling\n\n- about -\nJohnny Harris is an Emmy-winning journalist. He currently is based in Washington, DC, reporting on interesting trends and stories domestically and around the globe. Johnny's visual style blends motion graphics with cinematic videography to create content that explains complex issues in relatable ways.\n\n- press - \nNYTimes: https://www.nytimes.com/2021/11/09/opinion/democrats-blue-states-legislation.html\nNYTimes: https://www.nytimes.com/video/opinion/100000007358968/covid-pandemic-us-response.html\nVox Borders: https://www.youtube.com/watch?v=hLrFyjGZ9NU\nFinding Founders: https://findingfounders.co/episodes/johnny-harris-2esj3-c3pet-2pg4c-xbtwa-5gaaa\nNPR Planet Money: https://www.npr.org/transcripts/1072164745" + }, + "defaultAudioLanguage": "en" + } + }, + { + "kind": "youtube#video", + "etag": "SSkXtOahV5aVgBGdJQu3jP7Uoq8", + "id": "Znsa4Deavgg", + "snippet": { + "publishedAt": "2023-01-17T02:44:15Z", + "channelId": "UCZGYJFUizSax-yElQaFDp5Q", + "title": "The Mandalorian | Season 3 Official Trailer | Disney+", + "description": "Reunited.\n\nThe Mandalorian, Season 3 March 1 on Disney+.\nThe journeys of the Mandalorian through the Star Wars galaxy continue. Once a lone bounty hunter, Din Djarin has reunited with Grogu. Meanwhile, the New Republic struggles to lead the galaxy away from its dark history. The Mandalorian will cross paths with old allies and make new enemies as he and Grogu continue their journey together.\n\nThe series stars Pedro Pascal, Katee Sackhoff, Carl Weathers, Amy Sedaris, Emily Swallow and Giancarlo Esposito.", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/Znsa4Deavgg/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/Znsa4Deavgg/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/Znsa4Deavgg/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/Znsa4Deavgg/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/Znsa4Deavgg/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Star Wars", + "tags": [ + "The Mandalorian", + "Mandalorian", + "Grogu", + "Baby Yoda", + "Star Wars", + "Mando", + "Pedro Pascal", + "Dave Filoni", + "Jon Favreau", + "Carl Weathers", + "Giancarlo Esposito", + "Din Djarin", + "Greef Karga", + "Moff Gideon", + "Katee Sackhoff", + "Bo-Katan Kryze", + "Emily Swallow", + "The Armorer" + ], + "categoryId": "24", + "liveBroadcastContent": "none", + "localized": { + "title": "The Mandalorian | Season 3 Official Trailer | Disney+", + "description": "Reunited.\n\nThe Mandalorian, Season 3 March 1 on Disney+.\nThe journeys of the Mandalorian through the Star Wars galaxy continue. Once a lone bounty hunter, Din Djarin has reunited with Grogu. Meanwhile, the New Republic struggles to lead the galaxy away from its dark history. The Mandalorian will cross paths with old allies and make new enemies as he and Grogu continue their journey together.\n\nThe series stars Pedro Pascal, Katee Sackhoff, Carl Weathers, Amy Sedaris, Emily Swallow and Giancarlo Esposito." + }, + "defaultAudioLanguage": "en-US" + } + }, + { + "kind": "youtube#video", + "etag": "XhtVLeUuhvfjr2SXXYdO0Q2gsjU", + "id": "XPVC4IyRTG8", + "snippet": { + "publishedAt": "2023-01-18T15:00:18Z", + "channelId": "UC7vVhkEfw4nOGp8TyDk7RcQ", + "title": "Inside the Lab: Taking Atlas From Sim to Scaffold", + "description": "How does Atlas recognize and interact with objects? How do we develop new Atlas behaviors? Why is manipulation important for the future of robotics?\n\nJoin our team in the Atlas lab to discover the answers to these questions and more. Keep reading on our blog: https://www.bostondynamics.com/resources/blog/sick-tricks-and-tricky-grips\n\n00:00: Introduction\n01:57: Perception and Manipulation\n05:11: Electrical Doctors\n06:29: Developing in Simulation\n07:13: \"Sick Trick\"\n08:24: What's Next?\n\n#BostonDynamics #robotics", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/XPVC4IyRTG8/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/XPVC4IyRTG8/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/XPVC4IyRTG8/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/XPVC4IyRTG8/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/XPVC4IyRTG8/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Boston Dynamics", + "tags": [ + "boston dynamics", + "boston dynamics robot", + "boston dynamics atlas", + "boston dynamics parkour", + "atlas", + "atlas robot", + "atlas parkour", + "partners in parkour", + "what's new atlas", + "atlas gets a grip", + "atlas picks things up" + ], + "categoryId": "28", + "liveBroadcastContent": "none", + "defaultLanguage": "en", + "localized": { + "title": "Inside the Lab: Taking Atlas From Sim to Scaffold", + "description": "How does Atlas recognize and interact with objects? How do we develop new Atlas behaviors? Why is manipulation important for the future of robotics?\n\nJoin our team in the Atlas lab to discover the answers to these questions and more. Keep reading on our blog: https://www.bostondynamics.com/resources/blog/sick-tricks-and-tricky-grips\n\n00:00: Introduction\n01:57: Perception and Manipulation\n05:11: Electrical Doctors\n06:29: Developing in Simulation\n07:13: \"Sick Trick\"\n08:24: What's Next?\n\n#BostonDynamics #robotics" + } + } + }, + { + "kind": "youtube#video", + "etag": "iBmiuuwmLc_gsTO7SCw55IqInso", + "id": "oMf_i1YBuMk", + "snippet": { + "publishedAt": "2023-01-18T14:44:48Z", + "channelId": "UCE_M8A5yxnLfW0KghEeajjw", + "title": "Introducing the all-new HomePod | Apple", + "description": "A powerful, high-excursion woofer and beamforming tweeters create room-filling sound. HomePod senses its surroundings and automatically adapts audio for where it’s placed. Advanced computational audio, powered by Apple silicon, optimizes acoustic performance. Spatial Audio directs music with great precision, surrounding you in sound. It all comes together for the ultimate home audio experience. \n\nHomePod also works seamlessly with all your Apple devices. It comes with Siri built in and works as a smart home hub to connect and control your home, privately and securely. Available in Midnight and White.\n\n“GMT (Jamie xx Remix)” by Oliver Sim and Jamie xx https://apple.co/GMT-Remix\n\nLearn more about HomePod: https://apple.co/3iPMmC7\n\n#Apple #HomePod\n\nSpatial Audio works with compatible content in supported apps.\nMusic streaming services may require a subscription.\nSmart home functionality requires a HomeKit- or Matter-enabled accessory. Smart home accessories sold separately.\n\nWelcome to the official Apple YouTube channel. Here you’ll find news about product launches, tutorials, and other great content. Apple’s more than 160,000 employees are dedicated to making the best products on earth, and to leaving the world better than we found it.", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/oMf_i1YBuMk/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/oMf_i1YBuMk/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/oMf_i1YBuMk/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/oMf_i1YBuMk/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/oMf_i1YBuMk/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Apple", + "tags": [ + "Apple", + "HomePod", + "home audio", + "smart speaker", + "Siri", + "computational audio", + "room sensing", + "Spatial Audio", + "smart home" + ], + "categoryId": "28", + "liveBroadcastContent": "none", + "localized": { + "title": "Introducing the all-new HomePod | Apple", + "description": "A powerful, high-excursion woofer and beamforming tweeters create room-filling sound. HomePod senses its surroundings and automatically adapts audio for where it’s placed. Advanced computational audio, powered by Apple silicon, optimizes acoustic performance. Spatial Audio directs music with great precision, surrounding you in sound. It all comes together for the ultimate home audio experience. \n\nHomePod also works seamlessly with all your Apple devices. It comes with Siri built in and works as a smart home hub to connect and control your home, privately and securely. Available in Midnight and White.\n\n“GMT (Jamie xx Remix)” by Oliver Sim and Jamie xx https://apple.co/GMT-Remix\n\nLearn more about HomePod: https://apple.co/3iPMmC7\n\n#Apple #HomePod\n\nSpatial Audio works with compatible content in supported apps.\nMusic streaming services may require a subscription.\nSmart home functionality requires a HomeKit- or Matter-enabled accessory. Smart home accessories sold separately.\n\nWelcome to the official Apple YouTube channel. Here you’ll find news about product launches, tutorials, and other great content. Apple’s more than 160,000 employees are dedicated to making the best products on earth, and to leaving the world better than we found it." + }, + "defaultAudioLanguage": "en" + } + }, + { + "kind": "youtube#video", + "etag": "GHJ6SweV8m9QZPtfKh65oDiJSjY", + "id": "SJN903kCJrc", + "snippet": { + "publishedAt": "2023-01-18T00:52:02Z", + "channelId": "UCR_J_SntqJh5eXw66d5hJxA", + "title": "I Built a Secret Gaming Room to Hide From My Mom!", + "description": "I built a hidden gaming room to hide from my mom!!\nBeem Team Merch! ➔ https://www.beemteam.shop\nSUBSCRIBE for a chance at $1,000! ➔ https://www.youtube.com/c/Mbeem10?sub_confirmation=1\n\nNEW VIDEOS EVERY TUESDAY!\n\n📱 FOLLOW MY SOCIALS 📱\n➽ Instagram - @MatthewBeem\n➽ Twitter - @MatthewBeem\n➽ TikTok - @MatthewBeem\n\nEver since I was a kid I’ve been a gamer, but lately it has been hard to find the time. I also may or may not still live with my mom so I feel guilty gaming while at home. That's why I decided to build a secret gaming room under the stairs in a hidden closet so that I can play all the games I want in peace and quiet. So my mom didn’t find out about this project, I sent her and my sister to Paris for the week. This was tricky, but we figured it all out and it turned out incredible! I love my new gaming room, but it was insane and super intense to make. Luckily we had lots of laughs along the way. I love making these videos and can't wait for you to see what is next. \n\nIf you’re reading this you’re a real one! \nComment “I want a secret gaming room!\" so I can notice you!\n\nNot I Built a SECRET Gaming Bunker In My Room *No One Knew*, But I Built a Secret Room to Hide from my Wife, But i built my DREAM Hidden Gaming Room in my Parents House, But I Built a Secret Room to Hide from My Family, But Secret Hidden Gaming Room Inside a Couch, But I Built An EPIC Hidden Gaming Room In My House *PS5*, But Little Girl Finds A Secret Room In Her House That Leads Into An Even Wilder Surprise, But I Built a Secret Room in Public, But I Turned an Old Dumpster into an Epic Secret Room, But INCREDIBLY INGENIOUS Hidden Rooms and Secret Furniture , But I Built a Secret Room, But I Built An EPIC Hidden Gaming Room In My New House, But Hidden Entrance INSIDE Stairs To DREAM Gaming Room, But I Found The ULTIMATE HIDDEN GAMING ROOM In My New House or any other video like JStu, FrenchieFries, Jake Carlini, Ben Azelart, AllWeDoIsFun, Zealous, Tiana Wilson, Dangie Bros, Drew Dirksen, Carter Sharer, MARKO, Interesting & Creative Designs, Chris & Emily, Unspeakable, MrBeast, Faze Rug, or Airrack would make. This is a video where Matthew Beem (aka MBeem10) builds a secret hidden gaming room inside the stairs to hide from his mom!", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/SJN903kCJrc/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/SJN903kCJrc/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/SJN903kCJrc/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/SJN903kCJrc/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/SJN903kCJrc/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Matthew Beem", + "tags": [ + "mbeem10", + "matthew beem", + "beem team", + "matthew beam", + "beam team", + "hidden room", + "hidden gaming room", + "secret room", + "secret gaming room", + "JStu", + "hidden fort", + "hidden secret fort", + "dream gaming room", + "gaming room inside stairs", + "morejstu hidden fort", + "fort under stairs", + "under stairs hidden fort", + "secret entrance inside stairs", + "Secret Room", + "Secret Rooms In Houses", + "Zealous", + "Ben Azelart", + "I Built a Secret Room to Hide from my Wife", + "i built a secret room", + "epic hidden gaming room", + "MoreJStu", + "FrenchieFries" + ], + "categoryId": "22", + "liveBroadcastContent": "none", + "localized": { + "title": "I Built a Secret Gaming Room to Hide From My Mom!", + "description": "I built a hidden gaming room to hide from my mom!!\nBeem Team Merch! ➔ https://www.beemteam.shop\nSUBSCRIBE for a chance at $1,000! ➔ https://www.youtube.com/c/Mbeem10?sub_confirmation=1\n\nNEW VIDEOS EVERY TUESDAY!\n\n📱 FOLLOW MY SOCIALS 📱\n➽ Instagram - @MatthewBeem\n➽ Twitter - @MatthewBeem\n➽ TikTok - @MatthewBeem\n\nEver since I was a kid I’ve been a gamer, but lately it has been hard to find the time. I also may or may not still live with my mom so I feel guilty gaming while at home. That's why I decided to build a secret gaming room under the stairs in a hidden closet so that I can play all the games I want in peace and quiet. So my mom didn’t find out about this project, I sent her and my sister to Paris for the week. This was tricky, but we figured it all out and it turned out incredible! I love my new gaming room, but it was insane and super intense to make. Luckily we had lots of laughs along the way. I love making these videos and can't wait for you to see what is next. \n\nIf you’re reading this you’re a real one! \nComment “I want a secret gaming room!\" so I can notice you!\n\nNot I Built a SECRET Gaming Bunker In My Room *No One Knew*, But I Built a Secret Room to Hide from my Wife, But i built my DREAM Hidden Gaming Room in my Parents House, But I Built a Secret Room to Hide from My Family, But Secret Hidden Gaming Room Inside a Couch, But I Built An EPIC Hidden Gaming Room In My House *PS5*, But Little Girl Finds A Secret Room In Her House That Leads Into An Even Wilder Surprise, But I Built a Secret Room in Public, But I Turned an Old Dumpster into an Epic Secret Room, But INCREDIBLY INGENIOUS Hidden Rooms and Secret Furniture , But I Built a Secret Room, But I Built An EPIC Hidden Gaming Room In My New House, But Hidden Entrance INSIDE Stairs To DREAM Gaming Room, But I Found The ULTIMATE HIDDEN GAMING ROOM In My New House or any other video like JStu, FrenchieFries, Jake Carlini, Ben Azelart, AllWeDoIsFun, Zealous, Tiana Wilson, Dangie Bros, Drew Dirksen, Carter Sharer, MARKO, Interesting & Creative Designs, Chris & Emily, Unspeakable, MrBeast, Faze Rug, or Airrack would make. This is a video where Matthew Beem (aka MBeem10) builds a secret hidden gaming room inside the stairs to hide from his mom!" + }, + "defaultAudioLanguage": "en-US" + } + }, + { + "kind": "youtube#video", + "etag": "AC44d_TlbpUUK_bGGgMOzCNSHgg", + "id": "TkPCdI2aZhQ", + "snippet": { + "publishedAt": "2023-01-17T22:13:41Z", + "channelId": "UC4mLlRa_dezwvytudo9s1sw", + "title": "Touring Colorado's $177 Million Football Facilities! (w/ Travis Hunter)", + "description": "Deestroying and Travis Hunter tour Colorado’s new football facilities for the first time! Even had special guest appearances by Shedeur Sanders and more! Deion Sanders hopes to get many recruits to commit to colorado and this is how..\n\nGET YOUR ELEVEN GEAR HERE : https://theeleven.store\n\nSUBSCRIBE TO MY 2ND CHANNEL :\nhttps://www.youtube.com/@moredeestroying692\n\nTHE ELEVEN : https://theeleven.store\n\nFOLLOW ME ON\nTwitter : https://www.twitter.com/deestroying\nIG : https://www.instagram.com/deestroying", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/TkPCdI2aZhQ/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/TkPCdI2aZhQ/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/TkPCdI2aZhQ/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/TkPCdI2aZhQ/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/TkPCdI2aZhQ/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Deestroying", + "tags": [ + "Travis hunter", + "Deestroying", + "Shedeur sanders", + "Deoin sanders", + "Colorado university", + "Colorado buffs", + "Facility tour", + "D1", + "College visit" + ], + "categoryId": "24", + "liveBroadcastContent": "none", + "localized": { + "title": "Touring Colorado's $177 Million Football Facilities! (w/ Travis Hunter)", + "description": "Deestroying and Travis Hunter tour Colorado’s new football facilities for the first time! Even had special guest appearances by Shedeur Sanders and more! Deion Sanders hopes to get many recruits to commit to colorado and this is how..\n\nGET YOUR ELEVEN GEAR HERE : https://theeleven.store\n\nSUBSCRIBE TO MY 2ND CHANNEL :\nhttps://www.youtube.com/@moredeestroying692\n\nTHE ELEVEN : https://theeleven.store\n\nFOLLOW ME ON\nTwitter : https://www.twitter.com/deestroying\nIG : https://www.instagram.com/deestroying" + }, + "defaultAudioLanguage": "en" + } + }, + { + "kind": "youtube#video", + "etag": "8U9UjGqKIN4xJ9hoVpuA4Rs806Q", + "id": "_I9T4hxmZXU", + "snippet": { + "publishedAt": "2023-01-18T07:59:02Z", + "channelId": "UCD1Em4q90ZUK2R5HKesszJg", + "title": "Lunar New Year Magic Show | Clash of Clans Official", + "description": "Celebrate the Year of the Rabbit with the brand new Lunar Queen skin, the Magic Show statue, as well as the Magic Theatre Scenery and its in-game challenge! Happy Lunar New Year! 🐰✨ \n\n\n\nFollow us on our Socials!\nTwitter ► https://twitter.com/ClashofClans/\nInstagram ► https://www.instagram.com/clashofclans \nFacebook ► https://www.facebook.com/ClashofClans \nTikTok ► https://www.tiktok.com/@clashofclans\n\nAttack. Defend. Strategize. Download for free for mobile devices. http://supr.cl/ThisArmy\n\nFrom rage-\u00adfilled Barbarians with glorious mustaches to pyromaniac wizards, raise your own army and lead your clan to victory! Build your village to fend off raiders, battle against millions of players worldwide, and forge a powerful clan with others to destroy enemy clans.\nPLEASE NOTE! Clash of Clans is free to download and play, however some game items can also be purchased for real money \n\nAlso, under our Terms of Service and Privacy Policy, you must be at least 13 years of age to play or download Clash of Clans.\nA network connection is also required.\n\nFEATURES\n- Build your village into an unbeatable fortress \n- Raise your own army of Barbarians, Archers, Hog Riders, Wizards, Dragons and other mighty fighters\n- Battle with players worldwide and take their Trophies\n- Join together with other players to form the ultimate Clan\n- Fight against rival Clans in epic Clan Wars \n- Build 18 unique units with multiple levels of upgrades\n- Discover your favorite attacking army from countless combinations of troops, spells, Heroes and Clan reinforcements \n- Defend your village with a multitude of Cannons, Towers, Mortars, Bombs, Traps and Walls\n- Fight against the Goblin King in a campaign through the realm\n\nChief, are you having problems? Visit https://help.supercellsupport.com/clash-of-clans/en/\n\nPrivacy Policy:\nhttp://www.supercell.net/privacy-policy/\n\nTerms of Service:\nhttps://supercell.com/en/terms-of-service/\n\nParent’s Guide:\nhttp://www.supercell.net/parents\n\n#clashofclans #lunarnewyear #yearoftherabbit", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/_I9T4hxmZXU/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/_I9T4hxmZXU/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/_I9T4hxmZXU/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/_I9T4hxmZXU/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/_I9T4hxmZXU/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Clash of Clans", + "tags": [ + "clash of clans", + "COC", + "Clash of Clans Gameplay", + "Clash of Clans Strategy", + "Clash of Clans Animation", + "Clash of Clans Commercial", + "Clash of Clans Attacks", + "Clash of Clans Town Hall", + "Hog Rider", + "PEKKA", + "Clan Wars", + "season challenges", + "clan war leagues", + "clash on", + "clan game", + "clan games", + "clash-a-rama", + "clasharama", + "lunar new year", + "year of the rabbit", + "rabbit archer queen", + "Magic Theatre Scenery", + "magic theatre", + "Magic Show Statue", + "magic show" + ], + "categoryId": "20", + "liveBroadcastContent": "none", + "defaultLanguage": "en", + "localized": { + "title": "Lunar New Year Magic Show | Clash of Clans Official", + "description": "Celebrate the Year of the Rabbit with the brand new Lunar Queen skin, the Magic Show statue, as well as the Magic Theatre Scenery and its in-game challenge! Happy Lunar New Year! 🐰✨ \n\n\n\nFollow us on our Socials!\nTwitter ► https://twitter.com/ClashofClans/\nInstagram ► https://www.instagram.com/clashofclans \nFacebook ► https://www.facebook.com/ClashofClans \nTikTok ► https://www.tiktok.com/@clashofclans\n\nAttack. Defend. Strategize. Download for free for mobile devices. http://supr.cl/ThisArmy\n\nFrom rage-\u00adfilled Barbarians with glorious mustaches to pyromaniac wizards, raise your own army and lead your clan to victory! Build your village to fend off raiders, battle against millions of players worldwide, and forge a powerful clan with others to destroy enemy clans.\nPLEASE NOTE! Clash of Clans is free to download and play, however some game items can also be purchased for real money \n\nAlso, under our Terms of Service and Privacy Policy, you must be at least 13 years of age to play or download Clash of Clans.\nA network connection is also required.\n\nFEATURES\n- Build your village into an unbeatable fortress \n- Raise your own army of Barbarians, Archers, Hog Riders, Wizards, Dragons and other mighty fighters\n- Battle with players worldwide and take their Trophies\n- Join together with other players to form the ultimate Clan\n- Fight against rival Clans in epic Clan Wars \n- Build 18 unique units with multiple levels of upgrades\n- Discover your favorite attacking army from countless combinations of troops, spells, Heroes and Clan reinforcements \n- Defend your village with a multitude of Cannons, Towers, Mortars, Bombs, Traps and Walls\n- Fight against the Goblin King in a campaign through the realm\n\nChief, are you having problems? Visit https://help.supercellsupport.com/clash-of-clans/en/\n\nPrivacy Policy:\nhttp://www.supercell.net/privacy-policy/\n\nTerms of Service:\nhttps://supercell.com/en/terms-of-service/\n\nParent’s Guide:\nhttp://www.supercell.net/parents\n\n#clashofclans #lunarnewyear #yearoftherabbit" + }, + "defaultAudioLanguage": "en" + } + }, + { + "kind": "youtube#video", + "etag": "VJ1v59kP-Qgt5k2l965_08k1D-Y", + "id": "Wj5lcSi5Nrg", + "snippet": { + "publishedAt": "2023-01-18T17:36:40Z", + "channelId": "UCUK0HBIBWgM2c4vsPhkYY4w", + "title": "Tiniest Exploding Fire Extinguisher at 150,000FPS - The Slow Mo Guys", + "description": "How do you use a fire extinguisher when it doesn't have a handle? Blow it up?\nGav and Dan film the explosive fire suppression at 150,000fps.\nInstagram - https://www.instagram.com/theslowmoguys\nFilmed at 150,000FPS with the Phantom TMX7510\nTiniest Exploding Fire Extinguisher at 150,000FPS - The Slow Mo Guys", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/Wj5lcSi5Nrg/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/Wj5lcSi5Nrg/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/Wj5lcSi5Nrg/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/Wj5lcSi5Nrg/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/Wj5lcSi5Nrg/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "The Slow Mo Guys", + "tags": [ + "slomo", + "slow", + "mo", + "super", + "motion", + "Slow Motion", + "1000", + "1000fps", + "gav", + "dan", + "slowmoguys", + "phantom", + "guys", + "HD", + "flex", + "gavin", + "free", + "gavin free", + "high speed camera", + "the slow mo guys", + "2000", + "2000fps", + "5000", + "5000fps", + "tiny", + "small", + "fire", + "extinguisher", + "exploding" + ], + "categoryId": "24", + "liveBroadcastContent": "none", + "defaultLanguage": "en-GB", + "localized": { + "title": "Tiniest Exploding Fire Extinguisher at 150,000FPS - The Slow Mo Guys", + "description": "How do you use a fire extinguisher when it doesn't have a handle? Blow it up?\nGav and Dan film the explosive fire suppression at 150,000fps.\nInstagram - https://www.instagram.com/theslowmoguys\nFilmed at 150,000FPS with the Phantom TMX7510\nTiniest Exploding Fire Extinguisher at 150,000FPS - The Slow Mo Guys" + }, + "defaultAudioLanguage": "en-GB" + } + }, + { + "kind": "youtube#video", + "etag": "UGbHMsJFIgoSJ0oGl1cM1nGeHn8", + "id": "rcNPgc7hPBI", + "snippet": { + "publishedAt": "2023-01-18T05:00:16Z", + "channelId": "UCaO6TYtlC8U5ttz62hTrZgg", + "title": "TWICE Pre-release english track \"MOONLIGHT SUNRISE\" M/V Teaser 2", + "description": "TWICE Pre-release english track \"MOONLIGHT SUNRISE\" M/V Teaser 2\n\nTWICE Pre-Release English Single \"MOONLIGHT SUNRISE\"\n\nRelease on 2023.01.20 FRI 2PM KST/0AM EST\n\n📌\"MOONLIGHT SUNRISE\" Digital Pre-Save & Pre-Order\nhttps://TWICE.lnk.to/MoonlightSunrise \n\nTWICE Official Shop: https://TWICE.lnk.to/Shop\nTWICE Official YouTube: http://www.youtube.com/c/TWICE\nTWICE Official Facebook: http://www.facebook.com/JYPETWICE\nTWICE Official Twitter: http://www.twitter.com/JYPETWICE\nTWICE Official TikTok https://www.tiktok.com/@twice_tiktok_...\nTWICE Official Instagram: http://www.instagram.com/TWICETAGRAM\nTWICE Official Homepage: http://TWICE.jype.com\nTWICE Official Fan's: http://fans.jype.com/TWICE\n\nⓒ 2023 JYP Entertainment. All Rights Reserved\n\n#TWICE #MOONLIGHTSUNRISE", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/rcNPgc7hPBI/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/rcNPgc7hPBI/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/rcNPgc7hPBI/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/rcNPgc7hPBI/sddefault.jpg", + "width": 640, + "height": 480 + } + }, + "channelTitle": "JYP Entertainment", + "tags": [ + "JYP Entertainment", + "JYP", + "TWICE", + "트와이스", + "MOONLIGHT SUNRISE", + "문라이트 썬라이즈", + "TWICE MOONLIGHT SUNRISE", + "트와이스 문라이트 썬라이즈", + "TWICE Pre-Release English Single", + "트와이스 영어 선공개곡", + "TWICE English Single", + "트와이스 영어곡", + "TWICE 컴백", + "TWICE 신곡", + "트와이스 컴백", + "트와이스 신곡", + "문라이트 선라이즈 티저", + "Moonlight Sunrise Teaser", + "문라선라 티저", + "트와이스 티저", + "트와이스 신곡 티저" + ], + "categoryId": "10", + "liveBroadcastContent": "none", + "defaultLanguage": "en", + "localized": { + "title": "TWICE Pre-release english track \"MOONLIGHT SUNRISE\" M/V Teaser 2", + "description": "TWICE Pre-release english track \"MOONLIGHT SUNRISE\" M/V Teaser 2\n\nTWICE Pre-Release English Single \"MOONLIGHT SUNRISE\"\n\nRelease on 2023.01.20 FRI 2PM KST/0AM EST\n\n📌\"MOONLIGHT SUNRISE\" Digital Pre-Save & Pre-Order\nhttps://TWICE.lnk.to/MoonlightSunrise \n\nTWICE Official Shop: https://TWICE.lnk.to/Shop\nTWICE Official YouTube: http://www.youtube.com/c/TWICE\nTWICE Official Facebook: http://www.facebook.com/JYPETWICE\nTWICE Official Twitter: http://www.twitter.com/JYPETWICE\nTWICE Official TikTok https://www.tiktok.com/@twice_tiktok_...\nTWICE Official Instagram: http://www.instagram.com/TWICETAGRAM\nTWICE Official Homepage: http://TWICE.jype.com\nTWICE Official Fan's: http://fans.jype.com/TWICE\n\nⓒ 2023 JYP Entertainment. All Rights Reserved\n\n#TWICE #MOONLIGHTSUNRISE" + }, + "defaultAudioLanguage": "ko" + } + }, + { + "kind": "youtube#video", + "etag": "W1UdFr5TFUeJJPT3YD1w4zoQB3c", + "id": "n5zNdiQEtrQ", + "snippet": { + "publishedAt": "2023-01-17T18:47:24Z", + "channelId": "UCWZmCMB7mmKWcXJSIPRhzZw", + "title": "LAST PERSON TO MISS A PENALTY WINS $10,000!", + "description": "What challenge should I do for $10,000 next time?\n\nIf you have an idea you would like to see, let me know here:\r\nhttps://docs.google.com/forms/d/e/1FAIpQLSfrqSDycG6GevuJD7gGvfHsa3O-qdbTTyZjV-Lr3tjoP5hXLQ/viewform?usp=sf_link\r\n\r\nSecond Channel: https://goo.gl/acaMTt\r\nTwitter: https://goo.gl/ugsA1Y\r\nFacebook: https://goo.gl/S7X2XQ\r\n\r\nSidemen Clothing: https://goo.gl/8RLHBR\r\n\r\nSidemen Book: https://goo.gl/wqFrjS\r\n\r\nMy PC: http://bit.ly/miniminter\r\n\r\nCustom Controller: http://bit.ly/SideCCUK\r\n\r\nHOW I RECORD MY GAMEPLAY: http://e.lga.to/mm\r\n\r\nWHERE I GET MY CHAIR:\r\nUK: http://goo.gl/35aEHx\r\nUSA: https://goo.gl/BbkxsF\r\n\r\nMusic from: https://www.youtube.com/user/NoCopyrightSounds\r\n\r\nMusic from MediaMusicNow.co.uk\r\n\r\nVideo uploaded by\r\nSimon/Miniminter/mm7games", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/n5zNdiQEtrQ/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/n5zNdiQEtrQ/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/n5zNdiQEtrQ/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/n5zNdiQEtrQ/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/n5zNdiQEtrQ/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Miniminter", + "tags": [ + "simon", + "sidemen", + "miniminter", + "mm7games", + "random", + "vlog" + ], + "categoryId": "24", + "liveBroadcastContent": "none", + "localized": { + "title": "LAST PERSON TO MISS A PENALTY WINS $10,000!", + "description": "What challenge should I do for $10,000 next time?\n\nIf you have an idea you would like to see, let me know here:\r\nhttps://docs.google.com/forms/d/e/1FAIpQLSfrqSDycG6GevuJD7gGvfHsa3O-qdbTTyZjV-Lr3tjoP5hXLQ/viewform?usp=sf_link\r\n\r\nSecond Channel: https://goo.gl/acaMTt\r\nTwitter: https://goo.gl/ugsA1Y\r\nFacebook: https://goo.gl/S7X2XQ\r\n\r\nSidemen Clothing: https://goo.gl/8RLHBR\r\n\r\nSidemen Book: https://goo.gl/wqFrjS\r\n\r\nMy PC: http://bit.ly/miniminter\r\n\r\nCustom Controller: http://bit.ly/SideCCUK\r\n\r\nHOW I RECORD MY GAMEPLAY: http://e.lga.to/mm\r\n\r\nWHERE I GET MY CHAIR:\r\nUK: http://goo.gl/35aEHx\r\nUSA: https://goo.gl/BbkxsF\r\n\r\nMusic from: https://www.youtube.com/user/NoCopyrightSounds\r\n\r\nMusic from MediaMusicNow.co.uk\r\n\r\nVideo uploaded by\r\nSimon/Miniminter/mm7games" + }, + "defaultAudioLanguage": "en-GB" + } + }, + { + "kind": "youtube#video", + "etag": "06l8CkDR8R1sH_oV8RAoquVJTKo", + "id": "pMK85fUN12I", + "snippet": { + "publishedAt": "2023-01-17T19:00:27Z", + "channelId": "UCKBaL17hXLGJvi2KZKpja5w", + "title": "Missing Baby Found After 51 Years: The Incredible Story of Melissa Highsmith", + "description": "Shop my charity merch! https://milehighermerch.com/ \nAll profits from this charity merch will be donated to the National Center for Missing and Exploited Children: https://www.missingkids.org/ \n\nThank you to NCMEC for participating in this video! You can donate to our campaign here: https://give.missingkids.org/campaign/kendall-rae/c438796 \n\nTrue Crime with Kendall Rae podcast\nApple Podcasts: https://apple.co/3rks84o\nSpotify: https://spoti.fi/3jC66pr \n\nCheck out Higher Love Wellness: https://higherlovewellness.com/ \nUse code KENDALLRAE for 10% off your order (excludes bundles)\n\nSource Material: https://pastebin.com/t2t8isVg\n\nCheck out my other podcasts: \nMile Higher (True Crime)\n@milehigherpod\nYouTube: https://bit.ly/2ROzJcw\nTwitter: http://twitter.com/milehigherpod\nInstagram: http://instagram.com/milehigherpod \n\nThe Sesh (Get To Know Me Podcast)\nhttps://bit.ly/3Mtoz4X\n@the_seshpodcast \nIG: https://bit.ly/3a9t6Xr\nTW: https://bit.ly/2XH4C2A\n\n*Follow My Social!* @KendallRaeOnyt\nVlog Channel: https://www.youtube.com/c/Kendaily \nTwitter: http://twitter.com/kendallraeonyt\nInstagram: http://instagram.com/kendallraeonyt\nFacebook: https://bit.ly/3kar4NK \nMy Zoo: http://instagram.com/milehigherzoo\n\nWatch my documentary, Apartment 801: https://bit.ly/2RJ9XXr \n\nREQUESTS: \nGeneral case suggestion form: https://bit.ly/32kwPly \nForm for people directly related/ close to the victim: https://bit.ly/3KqMZLj \nJoin my discord to chat with other viewers about this video, its free! https://discord.com/invite/an4stY9BCN\n\nC O N T A C T: \n✉ For Business Inquiries - kendall@INFAgency.com\n\n✉ Send me mail ✉\nKendall Rae\n8547 E Arapahoe Rd Ste J # 233\nGreenwood Village, CO 80112\n\n#Unsolved #TrueCrime #KendallRae", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/pMK85fUN12I/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/pMK85fUN12I/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/pMK85fUN12I/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/pMK85fUN12I/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/pMK85fUN12I/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Kendall Rae", + "tags": [ + "kendallraeonyt", + "kendallrae", + "kendall rae", + "true crime", + "crime", + "crime documentaries", + "criminal justice", + "news", + "educational", + "documentary", + "true crime documentary", + "crime stories", + "kendall rae crime", + "kendall rae true crime", + "real stories", + "melissa highsmith found", + "baby found", + "melissa highsmith", + "kidnapping", + "solved kidnapping", + "ncmec", + "national center for missing and exploited children", + "missing kids", + "missing children", + "lost child", + "dna", + "genetic genealogy", + "true crime stories", + "true crime podcast" + ], + "categoryId": "24", + "liveBroadcastContent": "none", + "localized": { + "title": "Missing Baby Found After 51 Years: The Incredible Story of Melissa Highsmith", + "description": "Shop my charity merch! https://milehighermerch.com/ \nAll profits from this charity merch will be donated to the National Center for Missing and Exploited Children: https://www.missingkids.org/ \n\nThank you to NCMEC for participating in this video! You can donate to our campaign here: https://give.missingkids.org/campaign/kendall-rae/c438796 \n\nTrue Crime with Kendall Rae podcast\nApple Podcasts: https://apple.co/3rks84o\nSpotify: https://spoti.fi/3jC66pr \n\nCheck out Higher Love Wellness: https://higherlovewellness.com/ \nUse code KENDALLRAE for 10% off your order (excludes bundles)\n\nSource Material: https://pastebin.com/t2t8isVg\n\nCheck out my other podcasts: \nMile Higher (True Crime)\n@milehigherpod\nYouTube: https://bit.ly/2ROzJcw\nTwitter: http://twitter.com/milehigherpod\nInstagram: http://instagram.com/milehigherpod \n\nThe Sesh (Get To Know Me Podcast)\nhttps://bit.ly/3Mtoz4X\n@the_seshpodcast \nIG: https://bit.ly/3a9t6Xr\nTW: https://bit.ly/2XH4C2A\n\n*Follow My Social!* @KendallRaeOnyt\nVlog Channel: https://www.youtube.com/c/Kendaily \nTwitter: http://twitter.com/kendallraeonyt\nInstagram: http://instagram.com/kendallraeonyt\nFacebook: https://bit.ly/3kar4NK \nMy Zoo: http://instagram.com/milehigherzoo\n\nWatch my documentary, Apartment 801: https://bit.ly/2RJ9XXr \n\nREQUESTS: \nGeneral case suggestion form: https://bit.ly/32kwPly \nForm for people directly related/ close to the victim: https://bit.ly/3KqMZLj \nJoin my discord to chat with other viewers about this video, its free! https://discord.com/invite/an4stY9BCN\n\nC O N T A C T: \n✉ For Business Inquiries - kendall@INFAgency.com\n\n✉ Send me mail ✉\nKendall Rae\n8547 E Arapahoe Rd Ste J # 233\nGreenwood Village, CO 80112\n\n#Unsolved #TrueCrime #KendallRae" + }, + "defaultAudioLanguage": "en" + } + }, + { + "kind": "youtube#video", + "etag": "yUqUiXtYX24QrwPS3iCzhuT39go", + "id": "RvLkqQ9TJl4", + "snippet": { + "publishedAt": "2023-01-18T11:42:05Z", + "channelId": "UCg-p3lQIqmhh7gHpyaOmOiQ", + "title": "Bam Bam feeds us Korea's Spiciest Street-Food!!", + "description": "Today we return to our K-pop series with Thai prince, Bam Bam of GOT7 as we try the DEATH sauce tteokbokki! Thanks to Bam Bam for giving us his time and filming with us! Go visit his new Youtube channel @bamhome \n\nAlso, we’ve been loving Everydaze with BT21 new lychee flavour konjac jelly. Thanks to them for supporting our content. You can order them here: https://www.amazon.com/stores/Everydaze/page/AADACC61-6459-4EC9-BB56-FB3A6CB0F4C4?ref_=ast_bln\nor outside the US: https://www.iherb.com/c/everydaze\n\n--\n\n오늘은 오랜만에 케이팝 시리즈로 돌아왔는데요! 태국 왕자 GOT7의 뱀뱀님과 함께 응급실 떡볶이 사망맛을 먹으며 많은 얘기들을 나눴습니다! 바쁘신 가운데 시간을 내주시고 촬영을 함께해 주신 뱀뱀님에게 감사의 말씀을 전합니다! 뱀뱀님의 새로운 채널 “뱀집” @bamhome 많은 관심 부탁드립니다!\n\n그리고 이번 시리즈 촬영에 저희가 즐겨 먹은 Everydaze Essential C’s Konjac Jelly가 궁금하시다면 여기서 주문하세요! https://www.iherb.com/c/everydaze", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/RvLkqQ9TJl4/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/RvLkqQ9TJl4/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/RvLkqQ9TJl4/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/RvLkqQ9TJl4/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/RvLkqQ9TJl4/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "영국남자 Korean Englishman", + "tags": [ + "Korean", + "영국남자", + "영국", + "조쉬", + "올리", + "Josh", + "Ollie", + "KoreanEnglish", + "English", + "Man", + "englishman", + "food", + "음식", + "외국인", + "반응", + "영상", + "웃긴", + "남자", + "외국", + "도전", + "매운", + "조니", + "조엘", + "신부님", + "크리스", + "올리아빠", + "해물", + "치킨", + "삼겹살", + "korean", + "BBQ", + "fried", + "chicken", + "라면", + "불닭볶음면", + "미친남자" + ], + "categoryId": "23", + "liveBroadcastContent": "none", + "defaultLanguage": "en", + "localized": { + "title": "Bam Bam feeds us Korea's Spiciest Street-Food!!", + "description": "Today we return to our K-pop series with Thai prince, Bam Bam of GOT7 as we try the DEATH sauce tteokbokki! Thanks to Bam Bam for giving us his time and filming with us! Go visit his new Youtube channel @bamhome \n\nAlso, we’ve been loving Everydaze with BT21 new lychee flavour konjac jelly. Thanks to them for supporting our content. You can order them here: https://www.amazon.com/stores/Everydaze/page/AADACC61-6459-4EC9-BB56-FB3A6CB0F4C4?ref_=ast_bln\nor outside the US: https://www.iherb.com/c/everydaze\n\n--\n\n오늘은 오랜만에 케이팝 시리즈로 돌아왔는데요! 태국 왕자 GOT7의 뱀뱀님과 함께 응급실 떡볶이 사망맛을 먹으며 많은 얘기들을 나눴습니다! 바쁘신 가운데 시간을 내주시고 촬영을 함께해 주신 뱀뱀님에게 감사의 말씀을 전합니다! 뱀뱀님의 새로운 채널 “뱀집” @bamhome 많은 관심 부탁드립니다!\n\n그리고 이번 시리즈 촬영에 저희가 즐겨 먹은 Everydaze Essential C’s Konjac Jelly가 궁금하시다면 여기서 주문하세요! https://www.iherb.com/c/everydaze" + }, + "defaultAudioLanguage": "en" + } + }, + { + "kind": "youtube#video", + "etag": "JdLy7KlNPuLI5pQatk7_6YAAeDM", + "id": "viP5CvCvoec", + "snippet": { + "publishedAt": "2023-01-18T05:01:12Z", + "channelId": "UCz4qHgsY_BtJtTngBI-zQkg", + "title": "Gloss Up - BestFrenn (feat. GloRilla)", + "description": "#NowPlaying Gloss Up - BestFrenn (feat. Glorilla)\nDirected By: Diesel Filmz\n\nStream & Download \" BestFrenn\" here: \nhttps://presave.umusic.com/gloss-up-glorilla-bestfrenn-pre-sav\n\nConnect With Gloss Up:\nInstagram: https://www.instagram.com/glittergirl...\nTwitter: https://twitter.com/GlitterGirlGlos \nTikTok: https://vm.tiktok.com/ZMJajXSKV/", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/viP5CvCvoec/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/viP5CvCvoec/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/viP5CvCvoec/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/viP5CvCvoec/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/viP5CvCvoec/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Gloss Up", + "tags": [ + "Gloss up", + "Glittergloss", + "Qc the label", + "Memphis", + "Glorilla", + "Shabooya", + "Cmg", + "Fnf", + "Tomorrow", + "City girls", + "Lil baby", + "Atlanta", + "Migos", + "Female rap" + ], + "categoryId": "10", + "liveBroadcastContent": "none", + "localized": { + "title": "Gloss Up - BestFrenn (feat. GloRilla)", + "description": "#NowPlaying Gloss Up - BestFrenn (feat. Glorilla)\nDirected By: Diesel Filmz\n\nStream & Download \" BestFrenn\" here: \nhttps://presave.umusic.com/gloss-up-glorilla-bestfrenn-pre-sav\n\nConnect With Gloss Up:\nInstagram: https://www.instagram.com/glittergirl...\nTwitter: https://twitter.com/GlitterGirlGlos \nTikTok: https://vm.tiktok.com/ZMJajXSKV/" + } + } + }, + { + "kind": "youtube#video", + "etag": "wSM2WQ0gB2McATr9glQvkriEnyQ", + "id": "KHpMxHOGelo", + "snippet": { + "publishedAt": "2023-01-18T01:00:08Z", + "channelId": "UCDK9qD5DAQML-pzrtA7A4oA", + "title": "OFFLINETV'S LAST UNBOXING EVER", + "description": "Thank you all as always for the wonderful letters & gifts, we hope you enjoyed this series as much as we did! 😄\nGo to https://buyraycon.com/offlinetv for 15% off your order! Brought to you by Raycon.\n\n-------------------------------------------------------------\n\n👕 Merch & Apparel:\n• OfflineTV - https://offlinetv.com\n\n📸 Follow OfflineTV:\n• Twitter - https://www.twitter.com/OfflineTV\n• Instagram - https://www.instagram.com/OfflineTV\n• TikTok - https://www.tiktok.com/@offlinetv\n• Reddit - https://www.reddit.com/r/offlineTV\n• Patreon - https://www.patreon.com/offlinetv\n\n📝 OfflineTV Roster:\n• Scarra - https://twitter.com/scarra\n• Pokimane - https://twitter.com/pokimanelol\n• LilyPichu - https://twitter.com/LilyPichu\n• Disguised Toast - https://twitter.com/DisguisedToast\n• Michael Reeves - https://twitter.com/michaelreeves\n• QuarterJade - https://twitter.com/QuarterJade\n• Masayoshi - https://twitter.com/ItzMasayoshi\n• Sydeon - https://twitter.com/Sydeon\n• Yvonnie - https://twitter.com/yvonnie\n\n🎥 Producer & Director:\n• Brodin - https://twitter.com/brodinplett\n\n🎞️ Editor:\n• Stevo - https://twitter.com/stevotevo\n\n📋 YT Manager: \n• Dunois - https://twitter.com/DunoisKR\n\n\n\n\n\n#OfflineTV #Unboxing #Subscribe", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/KHpMxHOGelo/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/KHpMxHOGelo/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/KHpMxHOGelo/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/KHpMxHOGelo/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/KHpMxHOGelo/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "OfflineTV", + "tags": [ + "OfflineTV", + "Scarra", + "Poki", + "Pokimane", + "Lily", + "LilyPichu", + "DisguisedToast", + "Toast", + "TwitchTV", + "twitch", + "Streaming", + "Vlog", + "Fail", + "Epic", + "Gamers", + "Streamers", + "OTV", + "Lilypichu Voice", + "Pokimane thicc", + "OTV Plays", + "OfflineTV plays", + "Michael Reeves", + "Michael", + "Reeves" + ], + "categoryId": "20", + "liveBroadcastContent": "none", + "localized": { + "title": "OFFLINETV'S LAST UNBOXING EVER", + "description": "Thank you all as always for the wonderful letters & gifts, we hope you enjoyed this series as much as we did! 😄\nGo to https://buyraycon.com/offlinetv for 15% off your order! Brought to you by Raycon.\n\n-------------------------------------------------------------\n\n👕 Merch & Apparel:\n• OfflineTV - https://offlinetv.com\n\n📸 Follow OfflineTV:\n• Twitter - https://www.twitter.com/OfflineTV\n• Instagram - https://www.instagram.com/OfflineTV\n• TikTok - https://www.tiktok.com/@offlinetv\n• Reddit - https://www.reddit.com/r/offlineTV\n• Patreon - https://www.patreon.com/offlinetv\n\n📝 OfflineTV Roster:\n• Scarra - https://twitter.com/scarra\n• Pokimane - https://twitter.com/pokimanelol\n• LilyPichu - https://twitter.com/LilyPichu\n• Disguised Toast - https://twitter.com/DisguisedToast\n• Michael Reeves - https://twitter.com/michaelreeves\n• QuarterJade - https://twitter.com/QuarterJade\n• Masayoshi - https://twitter.com/ItzMasayoshi\n• Sydeon - https://twitter.com/Sydeon\n• Yvonnie - https://twitter.com/yvonnie\n\n🎥 Producer & Director:\n• Brodin - https://twitter.com/brodinplett\n\n🎞️ Editor:\n• Stevo - https://twitter.com/stevotevo\n\n📋 YT Manager: \n• Dunois - https://twitter.com/DunoisKR\n\n\n\n\n\n#OfflineTV #Unboxing #Subscribe" + }, + "defaultAudioLanguage": "en" + } + }, + { + "kind": "youtube#video", + "etag": "JH1TsB9UhW7ZTRiPaxopU9aNFiA", + "id": "OpUh77FY0t4", + "snippet": { + "publishedAt": "2023-01-17T21:45:56Z", + "channelId": "UCPJHQ5_DLtxZ1gzBvZE99_g", + "title": "This YouTuber hid a secret for 28 years - I spent a day with DANIEL HOWELL", + "description": "I spent a day with Dan Howell to learn the truth about coming out and taking a break from YouTube. Sponsors ▸This episode is sponsored by BetterHelp — go to http://betterhelp.com/padilla to get 10% off your first month. ▸ Go to http://rocketmoney.com/padilla to cancel your unnecessary subscriptions now.\n\n🎙THE PODCAST (UNCENSORED)\nSpotify ▸ https://open.spotify.com/show/5aOLuPenneHbhLh05fmkeu \nApple ▸ https://podcasts.apple.com/us/podcast/i-spent-a-day-with/id1550213250 \n\n💥NEW YOUTOOZ FIGURE: https://youtooz.com/products/anthony-padilla \n\n🧨HUGE thank you to Dan Howell:\nYOUTUBE:https://www.youtube.com/user/danisnotonfire\nTWITTER: https://twitter.com/danielhowell\nINSTAGRAM: https://www.instagram.com/danielhowell/\n \n🗯MORE EPISODES…\n▸ BRANDON ROGERS - https://youtu.be/MofCGZrHxCI\n▸ JACKSEPTICEYE - https://youtu.be/5obktsi8XdI\n▸ LUDWIG - https://youtu.be/tpXLJq3YZyk\n\n🎥Crew\n▸ Creator, Director, Writer, etc. - Anthony Padilla\n▸ Executive Producer - Alessandra Catanese\n▸ Producer, Co-writer & Research - Elise Felber\n▸ Director of Photography/Gaffer - Kathy Sue Holtorf\n▸ Camera Operator - Matthew Faulkner\n▸ Social Media Manager - Mallory Myers\n▸ Editor - Mike Criscimagna AKA Mork Crispy\n▸ Assistant Editor - Patrick Horba\n▸ Assistant Editor - Ash Duckworth\n▸ Assistant Editor - Nikki Blacklock\n▸ Sound Editor - Gareth Hird\n▸ Post PA - Levi Villalpando\n▸ PA - Joshua Dozier\n▸ Thumbnail Artist - Dill Toma\n▸ Captions - Davy Gerichten\n\n🎵Theme Music Composer - Matt Good AKA The King of Emo \n🖼Portrait painted by: Rhianna Robles - https://instagram.com/zerogattsu\n🦥Slade mascot built by: The Pastel Prince - https://youtube.com/channel/UC7wq2U4FF2NyZD1o_P8QP0g \n📺3D animations by: Jacob Dalton - https://twitter.com/jacobdaltonvfx \n\n📢BE ON THE SHOW\n▸ If you are part of an underrepresented subculture or live a lifestyle you feel is not widely understood and would like to be interviewed by me, email inquiry[at]pressalike.com with your subculture in the title of the email.\n\n❗️You dug this deep into the description. You owe it to yourself to subscribe ▶ https://youtube.com/subscription_center?add_user=AnthonyPadilla or get more at http://instagram.com/anthonypadilla & http://twitter.com/anthonypadilla\n\n0:00 INTRODUCTION\n3:21 BULLIED AS A CHILD\n7:50 ON YOUTUBE FOR 13 YEARS\n10:11 “BASICALLY I’M GAY”\n14:44 REFLECTING ON EMOTIONS\n17:20 STRAIGHT FOR 28 YEARS\n19:45 SPONSOR MESSAGE\n21:59 COMPARING NUMBERS TO SELF-WORTH\n23:46 PARASOCIAL RELATIONSHIPS\n24:52 WHAT’S NEXT FOR DAN HOWELL?\n26:59 WE ARE ALL DOOMED\n31:27 BLOOPER", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/OpUh77FY0t4/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/OpUh77FY0t4/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/OpUh77FY0t4/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/OpUh77FY0t4/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/OpUh77FY0t4/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "AnthonyPadilla", + "tags": [ + "anthony padilla", + "padilla", + "anthony", + "i spent a day with", + "interview" + ], + "categoryId": "27", + "liveBroadcastContent": "none", + "defaultLanguage": "en", + "localized": { + "title": "This YouTuber hid a secret for 28 years - I spent a day with DANIEL HOWELL", + "description": "I spent a day with Dan Howell to learn the truth about coming out and taking a break from YouTube. Sponsors ▸This episode is sponsored by BetterHelp — go to http://betterhelp.com/padilla to get 10% off your first month. ▸ Go to http://rocketmoney.com/padilla to cancel your unnecessary subscriptions now.\n\n🎙THE PODCAST (UNCENSORED)\nSpotify ▸ https://open.spotify.com/show/5aOLuPenneHbhLh05fmkeu \nApple ▸ https://podcasts.apple.com/us/podcast/i-spent-a-day-with/id1550213250 \n\n💥NEW YOUTOOZ FIGURE: https://youtooz.com/products/anthony-padilla \n\n🧨HUGE thank you to Dan Howell:\nYOUTUBE:https://www.youtube.com/user/danisnotonfire\nTWITTER: https://twitter.com/danielhowell\nINSTAGRAM: https://www.instagram.com/danielhowell/\n \n🗯MORE EPISODES…\n▸ BRANDON ROGERS - https://youtu.be/MofCGZrHxCI\n▸ JACKSEPTICEYE - https://youtu.be/5obktsi8XdI\n▸ LUDWIG - https://youtu.be/tpXLJq3YZyk\n\n🎥Crew\n▸ Creator, Director, Writer, etc. - Anthony Padilla\n▸ Executive Producer - Alessandra Catanese\n▸ Producer, Co-writer & Research - Elise Felber\n▸ Director of Photography/Gaffer - Kathy Sue Holtorf\n▸ Camera Operator - Matthew Faulkner\n▸ Social Media Manager - Mallory Myers\n▸ Editor - Mike Criscimagna AKA Mork Crispy\n▸ Assistant Editor - Patrick Horba\n▸ Assistant Editor - Ash Duckworth\n▸ Assistant Editor - Nikki Blacklock\n▸ Sound Editor - Gareth Hird\n▸ Post PA - Levi Villalpando\n▸ PA - Joshua Dozier\n▸ Thumbnail Artist - Dill Toma\n▸ Captions - Davy Gerichten\n\n🎵Theme Music Composer - Matt Good AKA The King of Emo \n🖼Portrait painted by: Rhianna Robles - https://instagram.com/zerogattsu\n🦥Slade mascot built by: The Pastel Prince - https://youtube.com/channel/UC7wq2U4FF2NyZD1o_P8QP0g \n📺3D animations by: Jacob Dalton - https://twitter.com/jacobdaltonvfx \n\n📢BE ON THE SHOW\n▸ If you are part of an underrepresented subculture or live a lifestyle you feel is not widely understood and would like to be interviewed by me, email inquiry[at]pressalike.com with your subculture in the title of the email.\n\n❗️You dug this deep into the description. You owe it to yourself to subscribe ▶ https://youtube.com/subscription_center?add_user=AnthonyPadilla or get more at http://instagram.com/anthonypadilla & http://twitter.com/anthonypadilla\n\n0:00 INTRODUCTION\n3:21 BULLIED AS A CHILD\n7:50 ON YOUTUBE FOR 13 YEARS\n10:11 “BASICALLY I’M GAY”\n14:44 REFLECTING ON EMOTIONS\n17:20 STRAIGHT FOR 28 YEARS\n19:45 SPONSOR MESSAGE\n21:59 COMPARING NUMBERS TO SELF-WORTH\n23:46 PARASOCIAL RELATIONSHIPS\n24:52 WHAT’S NEXT FOR DAN HOWELL?\n26:59 WE ARE ALL DOOMED\n31:27 BLOOPER" + }, + "defaultAudioLanguage": "en" + } + }, + { + "kind": "youtube#video", + "etag": "kRXKwKW_BJ3fwuBKWw-mc6MtO8c", + "id": "NRNfPcgFtVc", + "snippet": { + "publishedAt": "2023-01-18T00:00:07Z", + "channelId": "UCYbvqjljebwzWVdTb9Fetiw", + "title": "Trinidad James Talks Kanye, TIG, Def Jam, Painted Nails, Stage Fight", + "description": "Nicholaus Joseph Williams, better known by his stage name Trinidad James is a Trinidadian-American rapper. In 2012, he signed a recording contract with Def Jam Recordings. The label dropped him in 2014 when he failed to release an album, although he continues to release music as an independent artist and is signed to Artist Publishing Group for songwriting. \n\nIn this interview Marco starts off by asking who does Trinidad want to be? The interview starts very awkwardly as Trinidad has a bear mask on. Trinidad challenges Marco and says Marco brought him on the show to exploit him. The tables are turned as Trinidad seems to be trolling Marco and has him on his toes. Marco asks Trinidad to remove his mask and Trinidad asks Marco to tie his tie and in exchange Trinidad takes the tie and puts it on. Trinidad takes off his mask to reveal his face with one eyed made up. Marco gets into the interview asking why Trinidad hasn’t made any new music. Trinidad reveals that he wanted to know what the business of entertainment was about. Trinidad talks about his relationships with record labels. Trinidad goes deeper into relationships. Trinidad then goes into his various products and the meaning behind them. Trinidad asks Marco what he thinks about him. Trinidad and Marco go back and forth about the word ugly. The conversation speeds up and the two go back and forth. Marco’s phone goes off and Marco blames it on Matt the Producer. Matt the Producer enters and Trinidad and Matt get into a discussion that gets a little tense. Trinidad and Marco continue the interview. Marco asks Trinidad about his hair. Matt the Producer tells Trinidad to get out of Marco’s creative space. A lady enters from the backstage and Trinidad yells at the lady and Marco invites her on stage. She awkwardly exits and Marco attempts to end the interview as Marco exits while talking to Matt the Producer and the mics are hot. Trinidad throws his chair and goes under the ladder and Matt the Producer holds exception.\n\nExecutive Producers for Breakbeat: Dave Mays & Brett Jeffries\n \nExecutive Producers: Marco Summers & Harvey Sutton\n \nDirector: Matt Ables IG @mattablespromotions\n\nFilmed on location at 4U Recording, Atlanta\n \nIG @Breakbeatmedia @FunnyMarco\n\nComment, like and subscribe on the Breakbeat Media YouTube page, subscribe on Apple, Spotify or wherever podcasts are available, and visit us at www.breakbeatmedia.com", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/NRNfPcgFtVc/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/NRNfPcgFtVc/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/NRNfPcgFtVc/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/NRNfPcgFtVc/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/NRNfPcgFtVc/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Breakbeat Media", + "categoryId": "24", + "liveBroadcastContent": "none", + "localized": { + "title": "Trinidad James Talks Kanye, TIG, Def Jam, Painted Nails, Stage Fight", + "description": "Nicholaus Joseph Williams, better known by his stage name Trinidad James is a Trinidadian-American rapper. In 2012, he signed a recording contract with Def Jam Recordings. The label dropped him in 2014 when he failed to release an album, although he continues to release music as an independent artist and is signed to Artist Publishing Group for songwriting. \n\nIn this interview Marco starts off by asking who does Trinidad want to be? The interview starts very awkwardly as Trinidad has a bear mask on. Trinidad challenges Marco and says Marco brought him on the show to exploit him. The tables are turned as Trinidad seems to be trolling Marco and has him on his toes. Marco asks Trinidad to remove his mask and Trinidad asks Marco to tie his tie and in exchange Trinidad takes the tie and puts it on. Trinidad takes off his mask to reveal his face with one eyed made up. Marco gets into the interview asking why Trinidad hasn’t made any new music. Trinidad reveals that he wanted to know what the business of entertainment was about. Trinidad talks about his relationships with record labels. Trinidad goes deeper into relationships. Trinidad then goes into his various products and the meaning behind them. Trinidad asks Marco what he thinks about him. Trinidad and Marco go back and forth about the word ugly. The conversation speeds up and the two go back and forth. Marco’s phone goes off and Marco blames it on Matt the Producer. Matt the Producer enters and Trinidad and Matt get into a discussion that gets a little tense. Trinidad and Marco continue the interview. Marco asks Trinidad about his hair. Matt the Producer tells Trinidad to get out of Marco’s creative space. A lady enters from the backstage and Trinidad yells at the lady and Marco invites her on stage. She awkwardly exits and Marco attempts to end the interview as Marco exits while talking to Matt the Producer and the mics are hot. Trinidad throws his chair and goes under the ladder and Matt the Producer holds exception.\n\nExecutive Producers for Breakbeat: Dave Mays & Brett Jeffries\n \nExecutive Producers: Marco Summers & Harvey Sutton\n \nDirector: Matt Ables IG @mattablespromotions\n\nFilmed on location at 4U Recording, Atlanta\n \nIG @Breakbeatmedia @FunnyMarco\n\nComment, like and subscribe on the Breakbeat Media YouTube page, subscribe on Apple, Spotify or wherever podcasts are available, and visit us at www.breakbeatmedia.com" + } + } + }, + { + "kind": "youtube#video", + "etag": "FVMH9S6JU6kMslDiK7xGhaGy7v4", + "id": "ByJafdBwmBI", + "snippet": { + "publishedAt": "2023-01-17T02:23:11Z", + "channelId": "UCT2X19JJaJGUN7mrYuImANQ", + "title": "Keren Montero | Shy Singer SHOCKS The Judges With Her BIG Voice! | AGT: All-Stars 2023", + "description": "16-year-old Keren Montero has a voice that will blow you away! Watch as Keren sings \"Rescue\" by Lauren Daigle. \n\n» Get The America's Got Talent App: http://bit.ly/AGTAppDownload\n» Subscribe for More: http://bit.ly/AGTSub\n» Watch on NBC & Peacock: https://pck.tv/3cCQGhH\n\nAMERICA'S GOT TALENT ON SOCIAL\nLike AGT: https://www.facebook.com/agt\nFollow AGT: https://twitter.com/agt\nAGT Instagram: http://instagram.com/agt\n\nFind America's Got Talent trailers, full episode highlights, previews, promos, clips, and digital exclusives here.\n\nNBC ON SOCIAL:\nYouTube: http://www.youtube.com/nbc\nTwitter: http://Twitter.com/NBC\nFacebook: http://Facebook.com/NBC\nInstagram: http://instagram.com/nbc\n\nKeren Montero | Shy Singer SHOCKS The Judges With Her BIG Voice! | AGT: All-Stars 2023\nhttps://youtu.be/ByJafdBwmBI\n\nAmerica's Got Talent\nhttp://www.youtube.com/user/americasgottalent\n#AGT #AmericasGotTalent #AGTAllStars", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/ByJafdBwmBI/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/ByJafdBwmBI/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/ByJafdBwmBI/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/ByJafdBwmBI/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/ByJafdBwmBI/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "America's Got Talent", + "tags": [ + "AGT", + "America's Got Talent", + "Sofia Vergara", + "Simon Cowell", + "Howie Mandel", + "Heidi Klum", + "Terry Crews", + "Keren Montero", + "Keren Montero AGT", + "Keren Montero America's Got Talent", + "Keren Montero AGT Allstars", + "Keren Montero 2023", + "AGT Rescue", + "Rescue", + "by", + "Lauren", + "Daigle", + "Rescue", + "covers", + "Rescue Lauren Daigle Cover", + "Teen Singers", + "Teen Singer", + "Shocking Voices", + "Surprising Singers", + "Shy Singer Big Voice", + "Shy Singer" + ], + "categoryId": "24", + "liveBroadcastContent": "none", + "localized": { + "title": "Keren Montero | Shy Singer SHOCKS The Judges With Her BIG Voice! | AGT: All-Stars 2023", + "description": "16-year-old Keren Montero has a voice that will blow you away! Watch as Keren sings \"Rescue\" by Lauren Daigle. \n\n» Get The America's Got Talent App: http://bit.ly/AGTAppDownload\n» Subscribe for More: http://bit.ly/AGTSub\n» Watch on NBC & Peacock: https://pck.tv/3cCQGhH\n\nAMERICA'S GOT TALENT ON SOCIAL\nLike AGT: https://www.facebook.com/agt\nFollow AGT: https://twitter.com/agt\nAGT Instagram: http://instagram.com/agt\n\nFind America's Got Talent trailers, full episode highlights, previews, promos, clips, and digital exclusives here.\n\nNBC ON SOCIAL:\nYouTube: http://www.youtube.com/nbc\nTwitter: http://Twitter.com/NBC\nFacebook: http://Facebook.com/NBC\nInstagram: http://instagram.com/nbc\n\nKeren Montero | Shy Singer SHOCKS The Judges With Her BIG Voice! | AGT: All-Stars 2023\nhttps://youtu.be/ByJafdBwmBI\n\nAmerica's Got Talent\nhttp://www.youtube.com/user/americasgottalent\n#AGT #AmericasGotTalent #AGTAllStars" + }, + "defaultAudioLanguage": "en-US" + } + }, + { + "kind": "youtube#video", + "etag": "HETMFp0kTzmd1ewZDb0OUzMhe94", + "id": "XftJTSLyMNE", + "snippet": { + "publishedAt": "2023-01-17T20:30:03Z", + "channelId": "UCsvn_Po0SmunchJYOWpOxMg", + "title": "The Stanley's Parable", + "description": "\"Shut up Michael, I'm only working here for the pretzel day\" - Stanley Parable.\n\ndonkey store https://dunkeyscastle.com/\ndonkey publishing company https://twitter.com/BIGMODEgames", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/XftJTSLyMNE/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/XftJTSLyMNE/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/XftJTSLyMNE/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/XftJTSLyMNE/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/XftJTSLyMNE/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "videogamedunkey", + "tags": [ + "stanley parable", + "dunkey", + "videogamedunkey", + "dunkey stanley parable", + "the stanly parable", + "the stanley parable", + "stanley parable ultra deluxe", + "stanley parable 2" + ], + "categoryId": "20", + "liveBroadcastContent": "none", + "localized": { + "title": "The Stanley's Parable", + "description": "\"Shut up Michael, I'm only working here for the pretzel day\" - Stanley Parable.\n\ndonkey store https://dunkeyscastle.com/\ndonkey publishing company https://twitter.com/BIGMODEgames" + }, + "defaultAudioLanguage": "en" + } + }, + { + "kind": "youtube#video", + "etag": "CvglwtwTLK0K6eG3Q8fjbFbUqLQ", + "id": "gCEeCFlV0IA", + "snippet": { + "publishedAt": "2023-01-17T15:00:26Z", + "channelId": "UC52XYgEExV9VG6Rt-6vnzVA", + "title": "Destiny 2: Lightfall | Neomuna Environment Trailer", + "description": "A neon metropolis.\n \nTravel to a destination unlike any you've explored in Destiny 2. Cross paths with bone-chilling Tormentors and valiant Cloud Striders, join the fight against the Shadow Legion, and prevent devastation in the technologically advanced secret city of Neomuna.\n\nLearn more: http://bung.ie/lightfall\n\nFOLLOW DESTINY:\nFacebook: https://www.facebook.com/DestinyTheGame\nTwitter: https://www.twitter.com/destinythegame\nInstagram: https://www.instagram.com/destinythegame\nDiscord: http://www.discord.gg/destinygame\n\nFOLLOW BUNGIE:\nFacebook: https://www.facebook.com/Bungie/\nTwitter: https://www.twitter.com/bungie\nInstagram: https://www.instagram.com/bungie/\n⠀ ⠀ ⠀ ⠀\nDive into the free-to-play world of Destiny 2 to experience responsive first-person shooter combat, explore the mysteries of our solar system, and unleash elemental abilities against powerful enemies. Create your Guardian and collect unique weapons, armor, and gear to customize your look and playstyle. Experience Destiny 2’s cinematic story alone or with friends, join other Guardians for challenging co-op missions, or compete against them in a variety of PvP modes.", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/gCEeCFlV0IA/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/gCEeCFlV0IA/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/gCEeCFlV0IA/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/gCEeCFlV0IA/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/gCEeCFlV0IA/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Destiny 2", + "tags": ["Destiny"], + "categoryId": "20", + "liveBroadcastContent": "none", + "localized": { + "title": "Destiny 2: Lightfall | Neomuna Environment Trailer", + "description": "A neon metropolis.\n \nTravel to a destination unlike any you've explored in Destiny 2. Cross paths with bone-chilling Tormentors and valiant Cloud Striders, join the fight against the Shadow Legion, and prevent devastation in the technologically advanced secret city of Neomuna.\n\nLearn more: http://bung.ie/lightfall\n\nFOLLOW DESTINY:\nFacebook: https://www.facebook.com/DestinyTheGame\nTwitter: https://www.twitter.com/destinythegame\nInstagram: https://www.instagram.com/destinythegame\nDiscord: http://www.discord.gg/destinygame\n\nFOLLOW BUNGIE:\nFacebook: https://www.facebook.com/Bungie/\nTwitter: https://www.twitter.com/bungie\nInstagram: https://www.instagram.com/bungie/\n⠀ ⠀ ⠀ ⠀\nDive into the free-to-play world of Destiny 2 to experience responsive first-person shooter combat, explore the mysteries of our solar system, and unleash elemental abilities against powerful enemies. Create your Guardian and collect unique weapons, armor, and gear to customize your look and playstyle. Experience Destiny 2’s cinematic story alone or with friends, join other Guardians for challenging co-op missions, or compete against them in a variety of PvP modes." + }, + "defaultAudioLanguage": "en" + } + } + ], + "nextPageToken": "CBkQAA", + "pageInfo": { + "totalResults": 200, + "resultsPerPage": 25 + } +} diff --git a/public/data/search.json b/public/data/search.json new file mode 100644 index 0000000..0a04bec --- /dev/null +++ b/public/data/search.json @@ -0,0 +1,862 @@ +{ + "kind": "youtube#searchListResponse", + "etag": "Mxv6z91WywLFW-uixdH-tJJxi0w", + "nextPageToken": "CBkQAA", + "regionCode": "US", + "pageInfo": { + "totalResults": 1000000, + "resultsPerPage": 25 + }, + "items": [ + { + "kind": "youtube#searchResult", + "etag": "2OMxoZfsq6AiCPGK32YF-MlOzIo", + "id": { + "kind": "youtube#video", + "videoId": "GqyjfFWLjSM" + }, + "snippet": { + "publishedAt": "2023-01-15T16:00:10Z", + "channelId": "UClKwr2Vp4iH06IeQuReImSg", + "title": "SURFING XL OUTER REEFS in CALIFORNIA!", + "description": "MERCHANDISE: https://otczeke.com ZEKE & DESTROY MOVIE: https://youtu.be/thWU6JooIS0 My Instagram: @Zeke_ Thanks for ...", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/GqyjfFWLjSM/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/GqyjfFWLjSM/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/GqyjfFWLjSM/hqdefault.jpg", + "width": 480, + "height": 360 + } + }, + "channelTitle": "Jacob Szekely \"Zeke\"", + "liveBroadcastContent": "none", + "publishTime": "2023-01-15T16:00:10Z" + } + }, + { + "kind": "youtube#searchResult", + "etag": "umAmWurspZ9Kn83Sp6M_-SBeW4c", + "id": { + "kind": "youtube#video", + "videoId": "xnIvuyPRMug" + }, + "snippet": { + "publishedAt": "2023-01-13T19:50:03Z", + "channelId": "UC4i3-yfVazfuqwoz71T79Sw", + "title": "Wild West: Biggest Swell in Decades Slams California", + "description": "Biggest is not always best. And in the case of last week's Wild West swell — the biggest in decades to hit California — truth is, ...", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/xnIvuyPRMug/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/xnIvuyPRMug/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/xnIvuyPRMug/hqdefault.jpg", + "width": 480, + "height": 360 + } + }, + "channelTitle": "Surfline", + "liveBroadcastContent": "none", + "publishTime": "2023-01-13T19:50:03Z" + } + }, + { + "kind": "youtube#searchResult", + "etag": "GOZN1fWQRI5PNdtd4hglh5HzzF0", + "id": { + "kind": "youtube#video", + "videoId": "ma67yOdMQfs" + }, + "snippet": { + "publishedAt": "2021-01-23T17:00:15Z", + "channelId": "UC--3c8RqSfAqYBdDjIG3UNA", + "title": "These Were The All-Time Surfing Moments Of The Year | Best Of 2020", + "description": "Well, that was a weird ride. Though it hasn't been easy, at least when we fixed our gaze on the ocean — or favorite place in the ...", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/ma67yOdMQfs/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/ma67yOdMQfs/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/ma67yOdMQfs/hqdefault.jpg", + "width": 480, + "height": 360 + } + }, + "channelTitle": "Red Bull Surfing", + "liveBroadcastContent": "none", + "publishTime": "2021-01-23T17:00:15Z" + } + }, + { + "kind": "youtube#searchResult", + "etag": "4WleAedxGTLpSecM-iFCfNlfY0o", + "id": { + "kind": "youtube#video", + "videoId": "JElFW2jm4d4" + }, + "snippet": { + "publishedAt": "2023-01-15T11:00:08Z", + "channelId": "UCzcQOTuXYGuCvTekySb_CeQ", + "title": "Biggest Wave Goes To Blue Guy (Opening Scene) – Keramas", + "description": "The biggest wave of the day was snagged by the guy in blue at the start of this video. He didn't have to hassle into position for it ...", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/JElFW2jm4d4/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/JElFW2jm4d4/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/JElFW2jm4d4/hqdefault.jpg", + "width": 480, + "height": 360 + } + }, + "channelTitle": "Surfers of Bali", + "liveBroadcastContent": "none", + "publishTime": "2023-01-15T11:00:08Z" + } + }, + { + "kind": "youtube#searchResult", + "etag": "ocTuuSFrMt7z751wKBNmC2f5o9s", + "id": { + "kind": "youtube#video", + "videoId": "LTA0yD-3WIM" + }, + "snippet": { + "publishedAt": "2023-01-14T22:23:15Z", + "channelId": "UChuLeaTGRcfzo0UjL-2qSbQ", + "title": "EVERY EXCELLENT WAVE - SAMBAZON World Junior Championships hosted by Best Western", + "description": "Featuring Sierra Kerr, Alan Cleland, Jarvis Earle, Erin Brooks, Sawyer Lindblad, Eli Hanneman, Levi Slawson, Francisca Veselko, ...", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/LTA0yD-3WIM/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/LTA0yD-3WIM/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/LTA0yD-3WIM/hqdefault.jpg", + "width": 480, + "height": 360 + } + }, + "channelTitle": "World Surf League", + "liveBroadcastContent": "none", + "publishTime": "2023-01-14T22:23:15Z" + } + }, + { + "kind": "youtube#searchResult", + "etag": "bKoR_XsoaFKi_i3w7RcENmDNR_U", + "id": { + "kind": "youtube#video", + "videoId": "Qf9R3rWs9qY" + }, + "snippet": { + "publishedAt": "2023-01-16T11:00:24Z", + "channelId": "UCzcQOTuXYGuCvTekySb_CeQ", + "title": "Should Surf How Long Before Trying Uluwatu? - Pitur | Beached #34", + "description": "Pitur started surfing at age nine and set up a very simple food stall on the cliff at Uluwatu at age nineteen in 1986. He's 58 years ...", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/Qf9R3rWs9qY/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/Qf9R3rWs9qY/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/Qf9R3rWs9qY/hqdefault.jpg", + "width": 480, + "height": 360 + } + }, + "channelTitle": "Surfers of Bali", + "liveBroadcastContent": "none", + "publishTime": "2023-01-16T11:00:24Z" + } + }, + { + "kind": "youtube#searchResult", + "etag": "M3i1s7y8VS7McA8etbG-tTSXPos", + "id": { + "kind": "youtube#video", + "videoId": "F_e8HY1Oj0o" + }, + "snippet": { + "publishedAt": "2023-01-10T21:15:58Z", + "channelId": "UCf5CA0OsvhhU-6AcSjT1oKQ", + "title": "Scoring MASSIVE swell in Southern California !!! GNARLY Shorebreak and 10 second tube !!!", + "description": "The first swell of 2023 hits Southern California and the waves are massive! Surfers and bodyboarders charge gnarly shorebreak ...", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/F_e8HY1Oj0o/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/F_e8HY1Oj0o/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/F_e8HY1Oj0o/hqdefault.jpg", + "width": 480, + "height": 360 + } + }, + "channelTitle": "BEEFS T.V.", + "liveBroadcastContent": "none", + "publishTime": "2023-01-10T21:15:58Z" + } + }, + { + "kind": "youtube#searchResult", + "etag": "f1Fc94uJKvzXIojSmenFDP1ct_8", + "id": { + "kind": "youtube#video", + "videoId": "pmlzdeZuAk8" + }, + "snippet": { + "publishedAt": "2021-02-27T14:28:13Z", + "channelId": "UCxkIzPnPzWLz4IeuxIROflg", + "title": "What Surfing Is ACTUALLY Like as a Beginner", + "description": "See what it's actually like to surf as a beginner, including why it's fun and why it kind of sucks at times! Click below to join the ...", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/pmlzdeZuAk8/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/pmlzdeZuAk8/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/pmlzdeZuAk8/hqdefault.jpg", + "width": 480, + "height": 360 + } + }, + "channelTitle": "Travis Marziani", + "liveBroadcastContent": "none", + "publishTime": "2021-02-27T14:28:13Z" + } + }, + { + "kind": "youtube#searchResult", + "etag": "2hNgoENZKATOUXu-EZzdV2Ihs2M", + "id": { + "kind": "youtube#video", + "videoId": "lqlkP27TXvA" + }, + "snippet": { + "publishedAt": "2023-01-13T18:23:29Z", + "channelId": "UC6uX6GF5q2JxLjMkyivM2Og", + "title": "INSANE XXL JAWS PADDLE SESSION GOES DOWN", + "description": "YOUTUBE VIDS CONTINUE WEEKLY AS ALWAYS MY FRIENDS PLEASE SUBSCRIBE to help SUPPORT the channel!", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/lqlkP27TXvA/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/lqlkP27TXvA/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/lqlkP27TXvA/hqdefault.jpg", + "width": 480, + "height": 360 + } + }, + "channelTitle": "Nathan Florence", + "liveBroadcastContent": "none", + "publishTime": "2023-01-13T18:23:29Z" + } + }, + { + "kind": "youtube#searchResult", + "etag": "tPE05qnVxH-8OQEGvGEgGxh6X84", + "id": { + "kind": "youtube#video", + "videoId": "rswJqnz3cn0" + }, + "snippet": { + "publishedAt": "2023-01-14T11:00:36Z", + "channelId": "UCzcQOTuXYGuCvTekySb_CeQ", + "title": "Female Surfers Of Bali - 2022", + "description": "After a couple of years of travel restrictions, surfers come back to Bali in big numbers in 2022 with more female surfers than ever in ...", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/rswJqnz3cn0/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/rswJqnz3cn0/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/rswJqnz3cn0/hqdefault.jpg", + "width": 480, + "height": 360 + } + }, + "channelTitle": "Surfers of Bali", + "liveBroadcastContent": "none", + "publishTime": "2023-01-14T11:00:36Z" + } + }, + { + "kind": "youtube#searchResult", + "etag": "zTMRDFM6d2z1UW-_ZiCACT1sqZw", + "id": { + "kind": "youtube#video", + "videoId": "MltBcY72Eug" + }, + "snippet": { + "publishedAt": "2023-01-07T22:00:08Z", + "channelId": "UClKwr2Vp4iH06IeQuReImSg", + "title": "DESTROYED AT 40FT BLACKS BEACH (Biggest Swell in 20 years)", + "description": "MERCHANDISE: https://otczeke.com ZEKE & DESTROY MOVIE: https://youtu.be/thWU6JooIS0 My Instagram: @Zeke_ Thanks for ...", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/MltBcY72Eug/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/MltBcY72Eug/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/MltBcY72Eug/hqdefault.jpg", + "width": 480, + "height": 360 + } + }, + "channelTitle": "Jacob Szekely \"Zeke\"", + "liveBroadcastContent": "none", + "publishTime": "2023-01-07T22:00:08Z" + } + }, + { + "kind": "youtube#searchResult", + "etag": "-the4aJO3KQDCoCbn3fl4Avate8", + "id": { + "kind": "youtube#video", + "videoId": "xtHZKToMvus" + }, + "snippet": { + "publishedAt": "2022-11-02T17:46:49Z", + "channelId": "UCTYHNSWYy4jCSCj1Q1Fq0ew", + "title": "Interlusion | A Billabong Surf Film Shot in the Mentawai Islands", + "description": "Welcome to the Interlusion. What happens when the best surf trip of former world champ Joel Parkinson's life happens years after ...", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/xtHZKToMvus/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/xtHZKToMvus/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/xtHZKToMvus/hqdefault.jpg", + "width": 480, + "height": 360 + } + }, + "channelTitle": "Billabong", + "liveBroadcastContent": "none", + "publishTime": "2022-11-02T17:46:49Z" + } + }, + { + "kind": "youtube#searchResult", + "etag": "L2Q87A7Hq_mTrCE55zlyG1Z3bd8", + "id": { + "kind": "youtube#video", + "videoId": "wxBtwCZtDAg" + }, + "snippet": { + "publishedAt": "2018-11-21T01:00:11Z", + "channelId": "UCZFhj_r-MjoPCFVUo3E1ZRg", + "title": "13-Year-Old FEARLESS Surfing Prodigy", + "description": "NEW No Days Off gear: https://whistle.video/NoDaysOffMerch 13-Year-Old Kai Williams was born to surf. Nobody works harder at ...", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/wxBtwCZtDAg/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/wxBtwCZtDAg/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/wxBtwCZtDAg/hqdefault.jpg", + "width": 480, + "height": 360 + } + }, + "channelTitle": "Whistle", + "liveBroadcastContent": "none", + "publishTime": "2018-11-21T01:00:11Z" + } + }, + { + "kind": "youtube#searchResult", + "etag": "P68GoTVH1GFobKpqlq7CxTjocnU", + "id": { + "kind": "youtube#video", + "videoId": "l9MQ8ZpmrOE" + }, + "snippet": { + "publishedAt": "2023-01-08T22:48:16Z", + "channelId": "UCsXYYt9hmwvaIl6v73JHKWw", + "title": "MASSIVE surf pounds San Diego", + "description": "One of the largest swells in the past 15 years hit the west coast on Friday January 6, 2023. Thanks to surf forecaster Mike Durand ...", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/l9MQ8ZpmrOE/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/l9MQ8ZpmrOE/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/l9MQ8ZpmrOE/hqdefault.jpg", + "width": 480, + "height": 360 + } + }, + "channelTitle": "Brad Jacobson", + "liveBroadcastContent": "none", + "publishTime": "2023-01-08T22:48:16Z" + } + }, + { + "kind": "youtube#searchResult", + "etag": "XWtvBjXIcgplBqotd5t3ulHX2AA", + "id": { + "kind": "youtube#video", + "videoId": "W7h-Yho8EB0" + }, + "snippet": { + "publishedAt": "2019-06-15T15:21:45Z", + "channelId": "UCqhnX4jA0A5paNd1v-zEysw", + "title": "GoPro: Top 10 Surf Moments", + "description": "Celebrate International Surf Day with GoPro's Top 10 Surf Moments. Shot 100% on GoPro: http://bit.ly/2wUMwfI Get stoked and ...", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/W7h-Yho8EB0/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/W7h-Yho8EB0/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/W7h-Yho8EB0/hqdefault.jpg", + "width": 480, + "height": 360 + } + }, + "channelTitle": "GoPro", + "liveBroadcastContent": "none", + "publishTime": "2019-06-15T15:21:45Z" + } + }, + { + "kind": "youtube#searchResult", + "etag": "tQehfvyD5Bj04hi-Jd4_0lx4wSs", + "id": { + "kind": "youtube#video", + "videoId": "eSWST13stO4" + }, + "snippet": { + "publishedAt": "2022-03-27T15:00:32Z", + "channelId": "UCVo06dBGK9VBBhq15wJxZHQ", + "title": "🔵4k (ASMR) 10 Hour Store Loop - Hawaii Surfing - With Relaxing Music☑️", + "description": "Waves of the World Filmers: Chris Kincade: https://www.instagram.com/chriskincade.wotw Andre Botha: ...", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/eSWST13stO4/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/eSWST13stO4/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/eSWST13stO4/hqdefault.jpg", + "width": 480, + "height": 360 + } + }, + "channelTitle": "Waves of the World", + "liveBroadcastContent": "none", + "publishTime": "2022-03-27T15:00:32Z" + } + }, + { + "kind": "youtube#searchResult", + "etag": "ftOYTiyy-kPehuL8q2n8BCylcY4", + "id": { + "kind": "youtube#video", + "videoId": "wTSszuf3BFE" + }, + "snippet": { + "publishedAt": "2023-01-12T05:10:40Z", + "channelId": "UC9rcmduHUpACOKlLdOWIwvg", + "title": "Surfing JAWS as the largest swell of the season arrives", + "description": "A powerful and extra-large long-period swell 01/11/2023 High surf warning for north and west facing shores north facing shore ...", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/wTSszuf3BFE/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/wTSszuf3BFE/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/wTSszuf3BFE/hqdefault.jpg", + "width": 480, + "height": 360 + } + }, + "channelTitle": "Nature MAUI channel", + "liveBroadcastContent": "none", + "publishTime": "2023-01-12T05:10:40Z" + } + }, + { + "kind": "youtube#searchResult", + "etag": "0LBQNwKrQDNoMOpbpdGJjh2Sm2o", + "id": { + "kind": "youtube#video", + "videoId": "Y6pAP0yGa2k" + }, + "snippet": { + "publishedAt": "2023-01-12T05:36:11Z", + "channelId": "UCNSfJB-VQeHpv5ThtV1VtBA", + "title": "Huge North Shore swells attract seasoned surfers, keeping lifeguards busy", + "description": "A high surf warning is in effect for most north and west facing shores across the state, with waves in some areas expected to reach ...", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/Y6pAP0yGa2k/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/Y6pAP0yGa2k/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/Y6pAP0yGa2k/hqdefault.jpg", + "width": 480, + "height": 360 + } + }, + "channelTitle": "KITV", + "liveBroadcastContent": "none", + "publishTime": "2023-01-12T05:36:11Z" + } + }, + { + "kind": "youtube#searchResult", + "etag": "wROncPlN7I7TEPHdVMJBS6a-9xU", + "id": { + "kind": "youtube#video", + "videoId": "oKiiZ-jCX6I" + }, + "snippet": { + "publishedAt": "2023-01-11T22:00:18Z", + "channelId": "UC_F4Iy5korq2mEWZDQhG07w", + "title": "THE DIFFICULTIES OF SURFING 3RD REEF PIPE (FULL PADDLE OUT)", + "description": "Paddling out to 3rd reef Pipeline is no easy task... Or is it? Its crazy how misleading and challenging this wave can be. Luckily after ...", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/oKiiZ-jCX6I/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/oKiiZ-jCX6I/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/oKiiZ-jCX6I/hqdefault.jpg", + "width": 480, + "height": 360 + } + }, + "channelTitle": "Koa Rothman", + "liveBroadcastContent": "none", + "publishTime": "2023-01-11T22:00:18Z" + } + }, + { + "kind": "youtube#searchResult", + "etag": "ElBR7BehPV5ytA0rNjuMUNUna24", + "id": { + "kind": "youtube#video", + "videoId": "QVtR2IeB7oI" + }, + "snippet": { + "publishedAt": "2022-12-26T19:00:06Z", + "channelId": "UCo_q6aOlvPH7M-j_XGWVgXg", + "title": "WAIMEA RIVER BREAK GOES XXL! Pro Surfers almost DROWNED)", + "description": "STAY PSYCHED MERCHANDISE: https://staypsyched.com - JAMIE O'BRIEN SURF SCHOOL TURTLE BAY HAWAII ...", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/QVtR2IeB7oI/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/QVtR2IeB7oI/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/QVtR2IeB7oI/hqdefault.jpg", + "width": 480, + "height": 360 + } + }, + "channelTitle": "Jamie O'Brien", + "liveBroadcastContent": "none", + "publishTime": "2022-12-26T19:00:06Z" + } + }, + { + "kind": "youtube#searchResult", + "etag": "KLyEjPcH5ClUAbcTYUDLe9OhjFQ", + "id": { + "kind": "youtube#video", + "videoId": "LgEcrCm2n5s" + }, + "snippet": { + "publishedAt": "2023-01-12T03:51:43Z", + "channelId": "UC4i3-yfVazfuqwoz71T79Sw", + "title": "20ft+ Replay: XL Surf at Waimea Bay", + "description": "Waimea Bay, the world's original best big wave, is currently pumping. And the world's best big-wave surfers are currently tackling ...", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/LgEcrCm2n5s/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/LgEcrCm2n5s/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/LgEcrCm2n5s/hqdefault.jpg", + "width": 480, + "height": 360 + } + }, + "channelTitle": "Surfline", + "liveBroadcastContent": "none", + "publishTime": "2023-01-12T03:51:43Z" + } + }, + { + "kind": "youtube#searchResult", + "etag": "KoA__k7E1RUYzBVIbQ0N7rjjBMQ", + "id": { + "kind": "youtube#video", + "videoId": "j1AQ_s-y52M" + }, + "snippet": { + "publishedAt": "2022-07-16T19:00:13Z", + "channelId": "UCvOh9i-BOFzu51rpj33fGag", + "title": "7 tips to transition from beginner to intermediate | How to Surf", + "description": "In this video, we break down our 7 best tips on how to transition from Beginner to Intermediate faster. 00:00 Intro 00:24 Surf The ...", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/j1AQ_s-y52M/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/j1AQ_s-y52M/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/j1AQ_s-y52M/hqdefault.jpg", + "width": 480, + "height": 360 + } + }, + "channelTitle": "Barefoot Surf", + "liveBroadcastContent": "none", + "publishTime": "2022-07-16T19:00:13Z" + } + }, + { + "kind": "youtube#searchResult", + "etag": "ypIYK5zG32WvFmNJSd4Vlpy5834", + "id": { + "kind": "youtube#video", + "videoId": "alYVFdgy6Oo" + }, + "snippet": { + "publishedAt": "2023-01-11T19:29:28Z", + "channelId": "UCo_q6aOlvPH7M-j_XGWVgXg", + "title": "RAW POV | DANGEROUS SESSION SURFING PIPELINE WITH THIS CROWD!", + "description": "STAY PSYCHED MERCHANDISE: https://staypsyched.com - JAMIE O'BRIEN SURF SCHOOL TURTLE BAY HAWAII ...", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/alYVFdgy6Oo/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/alYVFdgy6Oo/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/alYVFdgy6Oo/hqdefault.jpg", + "width": 480, + "height": 360 + } + }, + "channelTitle": "Jamie O'Brien", + "liveBroadcastContent": "none", + "publishTime": "2023-01-11T19:29:28Z" + } + }, + { + "kind": "youtube#searchResult", + "etag": "vQ2HXt0lwmprVZNleD6G4EsUlTk", + "id": { + "kind": "youtube#video", + "videoId": "4GNfcOIfXVo" + }, + "snippet": { + "publishedAt": "2023-01-15T15:00:05Z", + "channelId": "UC4qa5EroJxnQM6Sng9WhgsQ", + "title": "My FIRST Ever Custom MIDLENGTH Surfboard", + "description": "Huge thank you to the Water Boyz in Pensacola Beach, Florida for providing me with my first ever custom midlength surfboard.", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/4GNfcOIfXVo/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/4GNfcOIfXVo/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/4GNfcOIfXVo/hqdefault.jpg", + "width": 480, + "height": 360 + } + }, + "channelTitle": "Ben Gravy", + "liveBroadcastContent": "none", + "publishTime": "2023-01-15T15:00:05Z" + } + }, + { + "kind": "youtube#searchResult", + "etag": "-Dm6KOrUNvS4Ig-F-JdxCc58iFo", + "id": { + "kind": "youtube#video", + "videoId": "67QNw2xQlsk" + }, + "snippet": { + "publishedAt": "2019-01-12T14:00:15Z", + "channelId": "UCuZSTHZf3vd7eVehhnotcsg", + "title": "Learn How To Surf In 10 Minutes", + "description": "Watch Ryans updated version below! https://www.youtube.com/watch?v=GAuUaLw_qmo Follow Ryan on Instagram and donate ...", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/67QNw2xQlsk/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/67QNw2xQlsk/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/67QNw2xQlsk/hqdefault.jpg", + "width": 480, + "height": 360 + } + }, + "channelTitle": "How to Rip", + "liveBroadcastContent": "none", + "publishTime": "2019-01-12T14:00:15Z" + } + } + ] +} diff --git a/public/data/videoInfo.json b/public/data/videoInfo.json new file mode 100644 index 0000000..166bba1 --- /dev/null +++ b/public/data/videoInfo.json @@ -0,0 +1,2025 @@ +{ + "kind": "youtube#videoListResponse", + "etag": "cy6lvhx_6o4XWnrbr-g0EVP4Mis", + "items": [ + { + "kind": "youtube#video", + "etag": "-S6Y4k3fNaWnGudyzAaxflhWd_A", + "id": "-EXQtU80q1M", + "snippet": { + "publishedAt": "2023-01-18T17:00:00Z", + "channelId": "UCXlfi8sf6cKGQ8sOd0-yRuw", + "title": "Ken Block Tribute Video and Update, from the Hoonigans.", + "description": "The 43 Institute was established to honor Ken Block's memory and spirit. For more information, please visit http://43i.org\n\n00:00 An Update\n04:30 A Celebration of Ken’s Life\n10:15 Words to Live By", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/-EXQtU80q1M/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/-EXQtU80q1M/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/-EXQtU80q1M/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/-EXQtU80q1M/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/-EXQtU80q1M/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Hoonigan", + "tags": [ + "Hoonigan", + "hoonegan", + "Ken Block", + "hoon", + "hooning", + "cars", + "ken block tribute", + "ken block gymkhana", + "ken block mustang", + "hoonigan racing division", + "ken block hoonigan", + "honigan", + "43 institute", + "Кен Блок", + "hoonigans", + "kblock43", + "Lia Block", + "ken block rip" + ], + "categoryId": "22", + "liveBroadcastContent": "none", + "defaultLanguage": "en", + "localized": { + "title": "Ken Block Tribute Video and Update, from the Hoonigans.", + "description": "The 43 Institute was established to honor Ken Block's memory and spirit. For more information, please visit http://43i.org\n\n00:00 An Update\n04:30 A Celebration of Ken’s Life\n10:15 Words to Live By" + }, + "defaultAudioLanguage": "en-US" + }, + "contentDetails": { + "duration": "PT10M46S", + "dimension": "2d", + "definition": "hd", + "caption": "false", + "licensedContent": false, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "1260054", + "likeCount": "147461", + "favoriteCount": "0", + "commentCount": "10633" + } + }, + { + "kind": "youtube#video", + "etag": "vJwZhjuRsjM_ch4rggs_zNWFKGs", + "id": "-e1_QhJ1EhQ", + "snippet": { + "publishedAt": "2023-01-18T15:00:03Z", + "channelId": "UC7vVhkEfw4nOGp8TyDk7RcQ", + "title": "Atlas Gets a Grip | Boston Dynamics", + "description": "It’s time for Atlas to pick up a new set of skills and get hands on. In this video, the humanoid robot manipulates the world around it: Atlas interacts with objects and modifies the course to reach its goal—pushing the limits of locomotion, sensing, and athleticism.\n\nTo learn how we go from idea to execution, go being the scenes with our team: https://youtu.be/XPVC4IyRTG8\n\n#BostonDynamics #Robots #Robotics", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/-e1_QhJ1EhQ/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/-e1_QhJ1EhQ/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/-e1_QhJ1EhQ/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/-e1_QhJ1EhQ/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/-e1_QhJ1EhQ/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Boston Dynamics", + "tags": [ + "boston dynamics", + "boston dynamics robot", + "boston dynamics atlas", + "boston dynamics parkour", + "atlas", + "atlas robot", + "atlas parkour", + "partners in parkour", + "what's new atlas", + "atlas gets a grip", + "atlas picks things up" + ], + "categoryId": "28", + "liveBroadcastContent": "none", + "defaultLanguage": "en", + "localized": { + "title": "Atlas Gets a Grip | Boston Dynamics", + "description": "It’s time for Atlas to pick up a new set of skills and get hands on. In this video, the humanoid robot manipulates the world around it: Atlas interacts with objects and modifies the course to reach its goal—pushing the limits of locomotion, sensing, and athleticism.\n\nTo learn how we go from idea to execution, go being the scenes with our team: https://youtu.be/XPVC4IyRTG8\n\n#BostonDynamics #Robots #Robotics" + } + }, + "contentDetails": { + "duration": "PT1M21S", + "dimension": "2d", + "definition": "hd", + "caption": "false", + "licensedContent": false, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "1387139", + "likeCount": "55940", + "favoriteCount": "0", + "commentCount": "5000" + } + }, + { + "kind": "youtube#video", + "etag": "Rm_mxUHbw2K4OMWd0X2QMaT7PUU", + "id": "oBrkbWSB3Ls", + "snippet": { + "publishedAt": "2023-01-18T15:00:01Z", + "channelId": "UC2qWxZHgnlwDvcmLqP23jrA", + "title": "Fall Out Boy - Love From The Other Side (Official Video)", + "description": "\"Love From The Other Side\" out now: https://FallOutBoy.lnk.to/lovefromtheotherside\n\nNew album 'So Much (For) Stardust' out March 24th on Fueled By Ramen/DCD2: https://FallOutBoy.lnk.to/somuchforstardust\n\nLimited box sets with new merch, signed CDs and four exclusive vinyl colors are available for pre-order now in our webstore https://FallOutBoy.lnk.to/store\n\n✨ lots more to come soon ✨\n\nFOLLOW FALL OUT BOY\n\nhttps://falloutboy.com/\nhttps://instagram.com/falloutboy \nhttps://www.tiktok.com/@falloutboy\nhttps://twitter.com/falloutboy \nhttps://facebook.com/falloutboy \n\nLYRICS\n\nModel house life meltdown\nStill a modern dream let down\nIt kills me you know I’m dying out here\nWhat would you trade the pain for?\nI’m not sure\n\nWe were a hammer to the Statue of David\nWe were a painting you could never frame and\nYou were the sunshine\nOf my lifetime\nWhat would you trade the pain for?\n\nThis city always hangs a little bit lonely on me\nLoose\nLike a kid playing pretend in his father’s suit\nI’d never go, I just want to be invited \nOh\nGot to give up\nGet the feeling\nGet the feeling\nDon’t fight it\nFight it\n\nSending my love from the other side of the apocalypse \nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\nLove from the other side of the apocalypse\nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\n\nGeneration sleep I’m falling in and out of love\nI’m getting that tilted feeling out here\nWhat would you trade the pain for?\nI’m not sure\n\nNowhere left for us to go but heaven\nSummer falling through our fingers again and\nYou were the sunshine\nOf my lifetime\nWhat would you trade the pain for?\n\nThey say we gotta get ahead yeah,\nNo matter what it takes\nBut there’s no way off the hamster wheel on this rat race\nI’d never go, I just want to be invited \nOh\nGot to give up\nGet the feeling\nGet the feeling\nDon’t fight it\nFight it\n\nSending my love from the other side of the apocalypse \nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\nLove from the other side of the apocalypse\nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\n\nI saw you in a bright clear field\nHurricane heat in my head\nThe kind of pain you feel to get good in the end\nGood in the end\nInscribed like stone and faded by the rain:\n“Give up what you love\nGive up what you love before it does you in…”\n\nSending my love from the other side of the apocalypse \nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\nLove from the other side of the apocalypse\nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\n\n#FallOutBoy #SoMuchForStardust #LoveFromTheOtherSide", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/oBrkbWSB3Ls/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/oBrkbWSB3Ls/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/oBrkbWSB3Ls/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/oBrkbWSB3Ls/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/oBrkbWSB3Ls/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Fall Out Boy", + "tags": [ + "Fall Out Boy", + "FOB", + "FOB8", + "Love From The Other Side", + "Other Side of The Apocalypse", + "Pete Wentz", + "Patrick Stump", + "Joe Trohman", + "Andy Hurley", + "so much (for) stardust", + "so much for stardust", + "new fall out boy", + "new FOB", + "New Fall Out Boy Song", + "New Fall Out Boy Album", + "New FOB Album", + "New FOB Song", + "Fueled By Ramen", + "FBR", + "pop punk", + "emo" + ], + "categoryId": "10", + "liveBroadcastContent": "none", + "localized": { + "title": "Fall Out Boy - Love From The Other Side (Official Video)", + "description": "\"Love From The Other Side\" out now: https://FallOutBoy.lnk.to/lovefromtheotherside\n\nNew album 'So Much (For) Stardust' out March 24th on Fueled By Ramen/DCD2: https://FallOutBoy.lnk.to/somuchforstardust\n\nLimited box sets with new merch, signed CDs and four exclusive vinyl colors are available for pre-order now in our webstore https://FallOutBoy.lnk.to/store\n\n✨ lots more to come soon ✨\n\nFOLLOW FALL OUT BOY\n\nhttps://falloutboy.com/\nhttps://instagram.com/falloutboy \nhttps://www.tiktok.com/@falloutboy\nhttps://twitter.com/falloutboy \nhttps://facebook.com/falloutboy \n\nLYRICS\n\nModel house life meltdown\nStill a modern dream let down\nIt kills me you know I’m dying out here\nWhat would you trade the pain for?\nI’m not sure\n\nWe were a hammer to the Statue of David\nWe were a painting you could never frame and\nYou were the sunshine\nOf my lifetime\nWhat would you trade the pain for?\n\nThis city always hangs a little bit lonely on me\nLoose\nLike a kid playing pretend in his father’s suit\nI’d never go, I just want to be invited \nOh\nGot to give up\nGet the feeling\nGet the feeling\nDon’t fight it\nFight it\n\nSending my love from the other side of the apocalypse \nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\nLove from the other side of the apocalypse\nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\n\nGeneration sleep I’m falling in and out of love\nI’m getting that tilted feeling out here\nWhat would you trade the pain for?\nI’m not sure\n\nNowhere left for us to go but heaven\nSummer falling through our fingers again and\nYou were the sunshine\nOf my lifetime\nWhat would you trade the pain for?\n\nThey say we gotta get ahead yeah,\nNo matter what it takes\nBut there’s no way off the hamster wheel on this rat race\nI’d never go, I just want to be invited \nOh\nGot to give up\nGet the feeling\nGet the feeling\nDon’t fight it\nFight it\n\nSending my love from the other side of the apocalypse \nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\nLove from the other side of the apocalypse\nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\n\nI saw you in a bright clear field\nHurricane heat in my head\nThe kind of pain you feel to get good in the end\nGood in the end\nInscribed like stone and faded by the rain:\n“Give up what you love\nGive up what you love before it does you in…”\n\nSending my love from the other side of the apocalypse \nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\nLove from the other side of the apocalypse\nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\n\n#FallOutBoy #SoMuchForStardust #LoveFromTheOtherSide" + }, + "defaultAudioLanguage": "en" + }, + "contentDetails": { + "duration": "PT5M28S", + "dimension": "2d", + "definition": "hd", + "caption": "false", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "403501", + "likeCount": "44250", + "favoriteCount": "0", + "commentCount": "4038" + } + }, + { + "kind": "youtube#video", + "etag": "79M44iBUqkm5PMlUb8fFH1DOPEk", + "id": "NthGfn_ddRQ", + "snippet": { + "publishedAt": "2023-01-18T14:00:18Z", + "channelId": "UCNflpbEsoC9uWkSPrx6hMqg", + "title": "Hogwarts Legacy - Official Cinematic Trailer 4K", + "description": "Your letter to Hogwarts has arrived. Live the Unwritten beginning February 10, 2023.\n\nPre-order now.\n\n\nAlways be the first to get #HogwartsLegacy news at \ngo.wbgames.com/HogwartsLegacy \n\nConnect with Hogwarts Legacy online: \nTwitter: https://twitter.com/HogwartsLegacy \nFacebook: https://facebook.com/HogwartsLegacy\nInstagram: https://instagram.com/HogwartsLegacy\nDiscord: Discord.gg/HogwartsLegacy\n\n#4K #WBGames #WizardingWorld", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/NthGfn_ddRQ/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/NthGfn_ddRQ/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/NthGfn_ddRQ/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/NthGfn_ddRQ/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/NthGfn_ddRQ/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Hogwarts Legacy", + "tags": [ + "Hogwarts Legacy", + "Hogwarts", + "Warner Media", + "Warner Bros.", + "WB Games", + "Avalanche", + "Portkey Games", + "Wizarding World", + "Harry Potter", + "Gryffindor", + "Hufflepuff", + "Ravenclaw", + "Slytherin", + "wizard", + "wizardry", + "HP", + "Playstation", + "PS5", + "Microsoft", + "Xbox", + "Xbox Series X", + "Xbox Series S", + "PC", + "RPG", + "open world", + "action", + "action adventure", + "Fantastic Beasts", + "4k", + "video games", + "gaming", + "game", + "dragon", + "hippogriff", + "magical beasts", + "owl", + "Great Hall", + "Nearly Headless Nick", + "Forbidden Forest" + ], + "categoryId": "20", + "liveBroadcastContent": "none", + "localized": { + "title": "Hogwarts Legacy - Official Cinematic Trailer 4K", + "description": "Your letter to Hogwarts has arrived. Live the Unwritten beginning February 10, 2023.\n\nPre-order now.\n\n\nAlways be the first to get #HogwartsLegacy news at \ngo.wbgames.com/HogwartsLegacy \n\nConnect with Hogwarts Legacy online: \nTwitter: https://twitter.com/HogwartsLegacy \nFacebook: https://facebook.com/HogwartsLegacy\nInstagram: https://instagram.com/HogwartsLegacy\nDiscord: Discord.gg/HogwartsLegacy\n\n#4K #WBGames #WizardingWorld" + }, + "defaultAudioLanguage": "en" + }, + "contentDetails": { + "duration": "PT1M20S", + "dimension": "2d", + "definition": "hd", + "caption": "true", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "1537731", + "likeCount": "50317", + "favoriteCount": "0", + "commentCount": "5269" + } + }, + { + "kind": "youtube#video", + "etag": "qPyRnCWiWKmQIBpDp853cCRz2fw", + "id": "SRknVVlwgsE", + "snippet": { + "publishedAt": "2023-01-18T17:00:18Z", + "channelId": "UC-gW4TeZAlKm7UATp24JsWQ", + "title": "GROUNDED GLIZZY MOMENTS", + "description": "GROUNDED GLIZZY MOMENTS\nLeave a like and Subscribe if you enjoyed! Thanks =)\n\nAll the footage featured in this video was livestreamed on my Twitch channel!\nFollow it to catch the streams live when they happen! - https://www.twitch.tv/smii7y\n\nCheck out my other channels!\nSMii7Y https://www.youtube.com/c/SMii7Y\nSMii7Y➖ https://www.youtube.com/c/SMii7Yminus\n\nFollow my Stream, Social Medias and check out my Merch!\n📺 Stream - http://www.twitch.tv/smii7y\n🐦 Twitter - https://twitter.com/SMii7Y\n📷 Instagram - https://www.instagram.com/smii7y/\n👕 Merch - https://smii7y.store/\n\nFriends in the video:\nhttps://www.twitch.tv/jericho\nhttps://www.twitch.tv/EliLikesRice\nhttps://www.twitch.tv/fl0m\n\n🎵 Music by:\nhttp://www.epidemicsound.com/\nhttp://www.premiumbeat.com/\nhttp://audiojungle.net/\nincompetech.com \nLicensed under Creative Commons: By Attribution 3.0\nhttps://creativecommons.org/licenses/by/3.0/\nhttps://99sounds.org/\n\nOutro Music Created by: @MattercellEntertainment", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/SRknVVlwgsE/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/SRknVVlwgsE/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/SRknVVlwgsE/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/SRknVVlwgsE/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/SRknVVlwgsE/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "SMii7Yplus", + "tags": [ + "grounded", + "grounded game", + "grounded update", + "grounded gameplay", + "grounded full release", + "grounded 1.0", + "grounded new update", + "grounded multiplayer", + "grounded coop", + "grounded playthrough", + "smii7y", + "smii7yplus", + "smii7y+", + "smii7y plus" + ], + "categoryId": "20", + "liveBroadcastContent": "none", + "localized": { + "title": "GROUNDED GLIZZY MOMENTS", + "description": "GROUNDED GLIZZY MOMENTS\nLeave a like and Subscribe if you enjoyed! Thanks =)\n\nAll the footage featured in this video was livestreamed on my Twitch channel!\nFollow it to catch the streams live when they happen! - https://www.twitch.tv/smii7y\n\nCheck out my other channels!\nSMii7Y https://www.youtube.com/c/SMii7Y\nSMii7Y➖ https://www.youtube.com/c/SMii7Yminus\n\nFollow my Stream, Social Medias and check out my Merch!\n📺 Stream - http://www.twitch.tv/smii7y\n🐦 Twitter - https://twitter.com/SMii7Y\n📷 Instagram - https://www.instagram.com/smii7y/\n👕 Merch - https://smii7y.store/\n\nFriends in the video:\nhttps://www.twitch.tv/jericho\nhttps://www.twitch.tv/EliLikesRice\nhttps://www.twitch.tv/fl0m\n\n🎵 Music by:\nhttp://www.epidemicsound.com/\nhttp://www.premiumbeat.com/\nhttp://audiojungle.net/\nincompetech.com \nLicensed under Creative Commons: By Attribution 3.0\nhttps://creativecommons.org/licenses/by/3.0/\nhttps://99sounds.org/\n\nOutro Music Created by: @MattercellEntertainment" + } + }, + "contentDetails": { + "duration": "PT25M11S", + "dimension": "2d", + "definition": "hd", + "caption": "false", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "530384", + "likeCount": "34572", + "favoriteCount": "0", + "commentCount": "864" + } + }, + { + "kind": "youtube#video", + "etag": "k_5wz2lsgVdlirj5j_ddnSTEzXE", + "id": "Z9rsqMFO_W4", + "snippet": { + "publishedAt": "2023-01-18T14:45:29Z", + "channelId": "UCi4fcBVyo4CAnmdgXeO-NvA", + "title": "Gruesome details revealed in court as Brian Walshe charged with murdering wife Ana Walshe", + "description": "Brian Walshe is charged with allegedly murdering his wife, missing Cohasset woman Ana Walshe.", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/Z9rsqMFO_W4/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/Z9rsqMFO_W4/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/Z9rsqMFO_W4/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/Z9rsqMFO_W4/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/Z9rsqMFO_W4/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "CBS Boston", + "tags": ["CBSN Boston", "Ana Walshe", "Brian Walshe"], + "categoryId": "25", + "liveBroadcastContent": "none", + "localized": { + "title": "Gruesome details revealed in court as Brian Walshe charged with murdering wife Ana Walshe", + "description": "Brian Walshe is charged with allegedly murdering his wife, missing Cohasset woman Ana Walshe." + }, + "defaultAudioLanguage": "en" + }, + "contentDetails": { + "duration": "PT13M5S", + "dimension": "2d", + "definition": "hd", + "caption": "true", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "362702", + "likeCount": "3035", + "favoriteCount": "0", + "commentCount": "2118" + } + }, + { + "kind": "youtube#video", + "etag": "JttP_w0aIjM6QRnicNa6OwV1NRU", + "id": "k_zz3239DA0", + "snippet": { + "publishedAt": "2023-01-18T15:00:34Z", + "channelId": "UCmGSJVG3mCRXVOP4yZrU1Dw", + "title": "USA vs China, The War You Can't See", + "description": "The US and China are fighting a war. It's a weird one that's hard to see. \nVisit https://bit.ly/Scaler_JohnnyHarris to take the free live class.\n\nThe US and China are fighting a war. It's a weird one that's hard to see. It's being fought in government offices, in company boardrooms. And it’s being fought over the most important technology in the world: Microchips.\n\nNext week's video (about submarines) is live now on Nebula https://nebula.tv/videos/johnnyharris-our-best-military-weapon-is-invisible\nwhere I publish every video one week early. \n\nCheck out all my sources for this video here: https://docs.google.com/document/d/1rb2t8ndF23uXBuYweXya61JClTU30xJD_HBu9exUTF4/edit?usp=sharing\n\nJoin the Newsroom (over on Patreon) to get access to behind-the-scenes vlogs, extended interviews, & to support the channel. See you there! https://www.patreon.com/johnnyharris\n\n- ways to support - \nMy Patreon: https://www.patreon.com/johnnyharris\nOur custom Presets & LUTs: https://store.dftba.com/products/johnny-iz-luts-and-presets\n\n- where to find me -\nInstagram: https://www.instagram.com/johnny.harris/\nTiktok: https://www.tiktok.com/@johnny.harris\nFacebook: https://www.facebook.com/JohnnyHarrisVox\nIz's (my wife’s) channel: https://www.youtube.com/iz-harris\n\n- how i make my videos -\nTom Fox makes my music, work with him here: https://tfbeats.com/\nI make maps using this AE Plugin: https://aescripts.com/geolayers/?aff=77\nAll the gear I use: https://www.izharris.com/gear-guide\n \n- my courses - \nLearn a language: https://brighttrip.com/course/language/\nVisual storytelling: https://www.brighttrip.com/courses/visual-storytelling\n\n- about -\nJohnny Harris is an Emmy-winning journalist. He currently is based in Washington, DC, reporting on interesting trends and stories domestically and around the globe. Johnny's visual style blends motion graphics with cinematic videography to create content that explains complex issues in relatable ways.\n\n- press - \nNYTimes: https://www.nytimes.com/2021/11/09/opinion/democrats-blue-states-legislation.html\nNYTimes: https://www.nytimes.com/video/opinion/100000007358968/covid-pandemic-us-response.html\nVox Borders: https://www.youtube.com/watch?v=hLrFyjGZ9NU\nFinding Founders: https://findingfounders.co/episodes/johnny-harris-2esj3-c3pet-2pg4c-xbtwa-5gaaa\nNPR Planet Money: https://www.npr.org/transcripts/1072164745", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/k_zz3239DA0/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/k_zz3239DA0/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/k_zz3239DA0/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/k_zz3239DA0/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/k_zz3239DA0/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Johnny Harris", + "tags": [ + "Johnny Harris", + "Johnny Harris Vox", + "Vox Borders", + "Johnny Harris Vox Borders", + "Vox", + "microchips", + "china", + "usa", + "us", + "united states", + "geopolitics", + "economics", + "technology", + "semiconductors", + "trade", + "regulations", + "engineering", + "tech", + "war", + "silicon", + "energy", + "electricity", + "military", + "nasa", + "computers", + "television", + "radio", + "phones", + "transistors", + "fabs", + "government", + "japan", + "taiwan", + "tsmc", + "ibm", + "nuclear", + "weapons", + "ai", + "nvidia", + "intel", + "national security", + "fusion", + "defense" + ], + "categoryId": "28", + "liveBroadcastContent": "none", + "localized": { + "title": "USA vs China, The War You Can't See", + "description": "The US and China are fighting a war. It's a weird one that's hard to see. \nVisit https://bit.ly/Scaler_JohnnyHarris to take the free live class.\n\nThe US and China are fighting a war. It's a weird one that's hard to see. It's being fought in government offices, in company boardrooms. And it’s being fought over the most important technology in the world: Microchips.\n\nNext week's video (about submarines) is live now on Nebula https://nebula.tv/videos/johnnyharris-our-best-military-weapon-is-invisible\nwhere I publish every video one week early. \n\nCheck out all my sources for this video here: https://docs.google.com/document/d/1rb2t8ndF23uXBuYweXya61JClTU30xJD_HBu9exUTF4/edit?usp=sharing\n\nJoin the Newsroom (over on Patreon) to get access to behind-the-scenes vlogs, extended interviews, & to support the channel. See you there! https://www.patreon.com/johnnyharris\n\n- ways to support - \nMy Patreon: https://www.patreon.com/johnnyharris\nOur custom Presets & LUTs: https://store.dftba.com/products/johnny-iz-luts-and-presets\n\n- where to find me -\nInstagram: https://www.instagram.com/johnny.harris/\nTiktok: https://www.tiktok.com/@johnny.harris\nFacebook: https://www.facebook.com/JohnnyHarrisVox\nIz's (my wife’s) channel: https://www.youtube.com/iz-harris\n\n- how i make my videos -\nTom Fox makes my music, work with him here: https://tfbeats.com/\nI make maps using this AE Plugin: https://aescripts.com/geolayers/?aff=77\nAll the gear I use: https://www.izharris.com/gear-guide\n \n- my courses - \nLearn a language: https://brighttrip.com/course/language/\nVisual storytelling: https://www.brighttrip.com/courses/visual-storytelling\n\n- about -\nJohnny Harris is an Emmy-winning journalist. He currently is based in Washington, DC, reporting on interesting trends and stories domestically and around the globe. Johnny's visual style blends motion graphics with cinematic videography to create content that explains complex issues in relatable ways.\n\n- press - \nNYTimes: https://www.nytimes.com/2021/11/09/opinion/democrats-blue-states-legislation.html\nNYTimes: https://www.nytimes.com/video/opinion/100000007358968/covid-pandemic-us-response.html\nVox Borders: https://www.youtube.com/watch?v=hLrFyjGZ9NU\nFinding Founders: https://findingfounders.co/episodes/johnny-harris-2esj3-c3pet-2pg4c-xbtwa-5gaaa\nNPR Planet Money: https://www.npr.org/transcripts/1072164745" + }, + "defaultAudioLanguage": "en" + }, + "contentDetails": { + "duration": "PT33M38S", + "dimension": "2d", + "definition": "hd", + "caption": "true", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "682674", + "likeCount": "37398", + "favoriteCount": "0", + "commentCount": "2885" + } + }, + { + "kind": "youtube#video", + "etag": "6t5KMXAy9ZZ_C8Y1yc3xkcDs17Q", + "id": "Znsa4Deavgg", + "snippet": { + "publishedAt": "2023-01-17T02:44:15Z", + "channelId": "UCZGYJFUizSax-yElQaFDp5Q", + "title": "The Mandalorian | Season 3 Official Trailer | Disney+", + "description": "Reunited.\n\nThe Mandalorian, Season 3 March 1 on Disney+.\nThe journeys of the Mandalorian through the Star Wars galaxy continue. Once a lone bounty hunter, Din Djarin has reunited with Grogu. Meanwhile, the New Republic struggles to lead the galaxy away from its dark history. The Mandalorian will cross paths with old allies and make new enemies as he and Grogu continue their journey together.\n\nThe series stars Pedro Pascal, Katee Sackhoff, Carl Weathers, Amy Sedaris, Emily Swallow and Giancarlo Esposito.", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/Znsa4Deavgg/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/Znsa4Deavgg/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/Znsa4Deavgg/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/Znsa4Deavgg/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/Znsa4Deavgg/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Star Wars", + "tags": [ + "The Mandalorian", + "Mandalorian", + "Grogu", + "Baby Yoda", + "Star Wars", + "Mando", + "Pedro Pascal", + "Dave Filoni", + "Jon Favreau", + "Carl Weathers", + "Giancarlo Esposito", + "Din Djarin", + "Greef Karga", + "Moff Gideon", + "Katee Sackhoff", + "Bo-Katan Kryze", + "Emily Swallow", + "The Armorer" + ], + "categoryId": "24", + "liveBroadcastContent": "none", + "localized": { + "title": "The Mandalorian | Season 3 Official Trailer | Disney+", + "description": "Reunited.\n\nThe Mandalorian, Season 3 March 1 on Disney+.\nThe journeys of the Mandalorian through the Star Wars galaxy continue. Once a lone bounty hunter, Din Djarin has reunited with Grogu. Meanwhile, the New Republic struggles to lead the galaxy away from its dark history. The Mandalorian will cross paths with old allies and make new enemies as he and Grogu continue their journey together.\n\nThe series stars Pedro Pascal, Katee Sackhoff, Carl Weathers, Amy Sedaris, Emily Swallow and Giancarlo Esposito." + }, + "defaultAudioLanguage": "en-US" + }, + "contentDetails": { + "duration": "PT1M43S", + "dimension": "2d", + "definition": "hd", + "caption": "true", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "5191048", + "likeCount": "119206", + "favoriteCount": "0", + "commentCount": "5501" + } + }, + { + "kind": "youtube#video", + "etag": "CWB9qff1Af_XtiK0vhg6YvGaxiQ", + "id": "XPVC4IyRTG8", + "snippet": { + "publishedAt": "2023-01-18T15:00:18Z", + "channelId": "UC7vVhkEfw4nOGp8TyDk7RcQ", + "title": "Inside the Lab: Taking Atlas From Sim to Scaffold", + "description": "How does Atlas recognize and interact with objects? How do we develop new Atlas behaviors? Why is manipulation important for the future of robotics?\n\nJoin our team in the Atlas lab to discover the answers to these questions and more. Keep reading on our blog: https://www.bostondynamics.com/resources/blog/sick-tricks-and-tricky-grips\n\n00:00: Introduction\n01:57: Perception and Manipulation\n05:11: Electrical Doctors\n06:29: Developing in Simulation\n07:13: \"Sick Trick\"\n08:24: What's Next?\n\n#BostonDynamics #robotics", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/XPVC4IyRTG8/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/XPVC4IyRTG8/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/XPVC4IyRTG8/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/XPVC4IyRTG8/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/XPVC4IyRTG8/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Boston Dynamics", + "tags": [ + "boston dynamics", + "boston dynamics robot", + "boston dynamics atlas", + "boston dynamics parkour", + "atlas", + "atlas robot", + "atlas parkour", + "partners in parkour", + "what's new atlas", + "atlas gets a grip", + "atlas picks things up" + ], + "categoryId": "28", + "liveBroadcastContent": "none", + "defaultLanguage": "en", + "localized": { + "title": "Inside the Lab: Taking Atlas From Sim to Scaffold", + "description": "How does Atlas recognize and interact with objects? How do we develop new Atlas behaviors? Why is manipulation important for the future of robotics?\n\nJoin our team in the Atlas lab to discover the answers to these questions and more. Keep reading on our blog: https://www.bostondynamics.com/resources/blog/sick-tricks-and-tricky-grips\n\n00:00: Introduction\n01:57: Perception and Manipulation\n05:11: Electrical Doctors\n06:29: Developing in Simulation\n07:13: \"Sick Trick\"\n08:24: What's Next?\n\n#BostonDynamics #robotics" + } + }, + "contentDetails": { + "duration": "PT9M47S", + "dimension": "2d", + "definition": "hd", + "caption": "false", + "licensedContent": false, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "618393", + "likeCount": "21748", + "favoriteCount": "0", + "commentCount": "1729" + } + }, + { + "kind": "youtube#video", + "etag": "X8Qz41UfwCxAM3efta7ToQ9YhUs", + "id": "oMf_i1YBuMk", + "snippet": { + "publishedAt": "2023-01-18T14:44:48Z", + "channelId": "UCE_M8A5yxnLfW0KghEeajjw", + "title": "Introducing the all-new HomePod | Apple", + "description": "A powerful, high-excursion woofer and beamforming tweeters create room-filling sound. HomePod senses its surroundings and automatically adapts audio for where it’s placed. Advanced computational audio, powered by Apple silicon, optimizes acoustic performance. Spatial Audio directs music with great precision, surrounding you in sound. It all comes together for the ultimate home audio experience. \n\nHomePod also works seamlessly with all your Apple devices. It comes with Siri built in and works as a smart home hub to connect and control your home, privately and securely. Available in Midnight and White.\n\n“GMT (Jamie xx Remix)” by Oliver Sim and Jamie xx https://apple.co/GMT-Remix\n\nLearn more about HomePod: https://apple.co/3iPMmC7\n\n#Apple #HomePod\n\nSpatial Audio works with compatible content in supported apps.\nMusic streaming services may require a subscription.\nSmart home functionality requires a HomeKit- or Matter-enabled accessory. Smart home accessories sold separately.\n\nWelcome to the official Apple YouTube channel. Here you’ll find news about product launches, tutorials, and other great content. Apple’s more than 160,000 employees are dedicated to making the best products on earth, and to leaving the world better than we found it.", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/oMf_i1YBuMk/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/oMf_i1YBuMk/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/oMf_i1YBuMk/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/oMf_i1YBuMk/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/oMf_i1YBuMk/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Apple", + "tags": [ + "Apple", + "HomePod", + "home audio", + "smart speaker", + "Siri", + "computational audio", + "room sensing", + "Spatial Audio", + "smart home" + ], + "categoryId": "28", + "liveBroadcastContent": "none", + "localized": { + "title": "Introducing the all-new HomePod | Apple", + "description": "A powerful, high-excursion woofer and beamforming tweeters create room-filling sound. HomePod senses its surroundings and automatically adapts audio for where it’s placed. Advanced computational audio, powered by Apple silicon, optimizes acoustic performance. Spatial Audio directs music with great precision, surrounding you in sound. It all comes together for the ultimate home audio experience. \n\nHomePod also works seamlessly with all your Apple devices. It comes with Siri built in and works as a smart home hub to connect and control your home, privately and securely. Available in Midnight and White.\n\n“GMT (Jamie xx Remix)” by Oliver Sim and Jamie xx https://apple.co/GMT-Remix\n\nLearn more about HomePod: https://apple.co/3iPMmC7\n\n#Apple #HomePod\n\nSpatial Audio works with compatible content in supported apps.\nMusic streaming services may require a subscription.\nSmart home functionality requires a HomeKit- or Matter-enabled accessory. Smart home accessories sold separately.\n\nWelcome to the official Apple YouTube channel. Here you’ll find news about product launches, tutorials, and other great content. Apple’s more than 160,000 employees are dedicated to making the best products on earth, and to leaving the world better than we found it." + }, + "defaultAudioLanguage": "en" + }, + "contentDetails": { + "duration": "PT2M22S", + "dimension": "2d", + "definition": "hd", + "caption": "true", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "2345826", + "likeCount": "38631", + "favoriteCount": "0" + } + }, + { + "kind": "youtube#video", + "etag": "CC17yLCUP26zanjkDXhs4ThzLwQ", + "id": "SJN903kCJrc", + "snippet": { + "publishedAt": "2023-01-18T00:52:02Z", + "channelId": "UCR_J_SntqJh5eXw66d5hJxA", + "title": "I Built a Secret Gaming Room to Hide From My Mom!", + "description": "I built a hidden gaming room to hide from my mom!!\nBeem Team Merch! ➔ https://www.beemteam.shop\nSUBSCRIBE for a chance at $1,000! ➔ https://www.youtube.com/c/Mbeem10?sub_confirmation=1\n\nNEW VIDEOS EVERY TUESDAY!\n\n📱 FOLLOW MY SOCIALS 📱\n➽ Instagram - @MatthewBeem\n➽ Twitter - @MatthewBeem\n➽ TikTok - @MatthewBeem\n\nEver since I was a kid I’ve been a gamer, but lately it has been hard to find the time. I also may or may not still live with my mom so I feel guilty gaming while at home. That's why I decided to build a secret gaming room under the stairs in a hidden closet so that I can play all the games I want in peace and quiet. So my mom didn’t find out about this project, I sent her and my sister to Paris for the week. This was tricky, but we figured it all out and it turned out incredible! I love my new gaming room, but it was insane and super intense to make. Luckily we had lots of laughs along the way. I love making these videos and can't wait for you to see what is next. \n\nIf you’re reading this you’re a real one! \nComment “I want a secret gaming room!\" so I can notice you!\n\nNot I Built a SECRET Gaming Bunker In My Room *No One Knew*, But I Built a Secret Room to Hide from my Wife, But i built my DREAM Hidden Gaming Room in my Parents House, But I Built a Secret Room to Hide from My Family, But Secret Hidden Gaming Room Inside a Couch, But I Built An EPIC Hidden Gaming Room In My House *PS5*, But Little Girl Finds A Secret Room In Her House That Leads Into An Even Wilder Surprise, But I Built a Secret Room in Public, But I Turned an Old Dumpster into an Epic Secret Room, But INCREDIBLY INGENIOUS Hidden Rooms and Secret Furniture , But I Built a Secret Room, But I Built An EPIC Hidden Gaming Room In My New House, But Hidden Entrance INSIDE Stairs To DREAM Gaming Room, But I Found The ULTIMATE HIDDEN GAMING ROOM In My New House or any other video like JStu, FrenchieFries, Jake Carlini, Ben Azelart, AllWeDoIsFun, Zealous, Tiana Wilson, Dangie Bros, Drew Dirksen, Carter Sharer, MARKO, Interesting & Creative Designs, Chris & Emily, Unspeakable, MrBeast, Faze Rug, or Airrack would make. This is a video where Matthew Beem (aka MBeem10) builds a secret hidden gaming room inside the stairs to hide from his mom!", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/SJN903kCJrc/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/SJN903kCJrc/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/SJN903kCJrc/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/SJN903kCJrc/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/SJN903kCJrc/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Matthew Beem", + "tags": [ + "mbeem10", + "matthew beem", + "beem team", + "matthew beam", + "beam team", + "hidden room", + "hidden gaming room", + "secret room", + "secret gaming room", + "JStu", + "hidden fort", + "hidden secret fort", + "dream gaming room", + "gaming room inside stairs", + "morejstu hidden fort", + "fort under stairs", + "under stairs hidden fort", + "secret entrance inside stairs", + "Secret Room", + "Secret Rooms In Houses", + "Zealous", + "Ben Azelart", + "I Built a Secret Room to Hide from my Wife", + "i built a secret room", + "epic hidden gaming room", + "MoreJStu", + "FrenchieFries" + ], + "categoryId": "22", + "liveBroadcastContent": "none", + "localized": { + "title": "I Built a Secret Gaming Room to Hide From My Mom!", + "description": "I built a hidden gaming room to hide from my mom!!\nBeem Team Merch! ➔ https://www.beemteam.shop\nSUBSCRIBE for a chance at $1,000! ➔ https://www.youtube.com/c/Mbeem10?sub_confirmation=1\n\nNEW VIDEOS EVERY TUESDAY!\n\n📱 FOLLOW MY SOCIALS 📱\n➽ Instagram - @MatthewBeem\n➽ Twitter - @MatthewBeem\n➽ TikTok - @MatthewBeem\n\nEver since I was a kid I’ve been a gamer, but lately it has been hard to find the time. I also may or may not still live with my mom so I feel guilty gaming while at home. That's why I decided to build a secret gaming room under the stairs in a hidden closet so that I can play all the games I want in peace and quiet. So my mom didn’t find out about this project, I sent her and my sister to Paris for the week. This was tricky, but we figured it all out and it turned out incredible! I love my new gaming room, but it was insane and super intense to make. Luckily we had lots of laughs along the way. I love making these videos and can't wait for you to see what is next. \n\nIf you’re reading this you’re a real one! \nComment “I want a secret gaming room!\" so I can notice you!\n\nNot I Built a SECRET Gaming Bunker In My Room *No One Knew*, But I Built a Secret Room to Hide from my Wife, But i built my DREAM Hidden Gaming Room in my Parents House, But I Built a Secret Room to Hide from My Family, But Secret Hidden Gaming Room Inside a Couch, But I Built An EPIC Hidden Gaming Room In My House *PS5*, But Little Girl Finds A Secret Room In Her House That Leads Into An Even Wilder Surprise, But I Built a Secret Room in Public, But I Turned an Old Dumpster into an Epic Secret Room, But INCREDIBLY INGENIOUS Hidden Rooms and Secret Furniture , But I Built a Secret Room, But I Built An EPIC Hidden Gaming Room In My New House, But Hidden Entrance INSIDE Stairs To DREAM Gaming Room, But I Found The ULTIMATE HIDDEN GAMING ROOM In My New House or any other video like JStu, FrenchieFries, Jake Carlini, Ben Azelart, AllWeDoIsFun, Zealous, Tiana Wilson, Dangie Bros, Drew Dirksen, Carter Sharer, MARKO, Interesting & Creative Designs, Chris & Emily, Unspeakable, MrBeast, Faze Rug, or Airrack would make. This is a video where Matthew Beem (aka MBeem10) builds a secret hidden gaming room inside the stairs to hide from his mom!" + }, + "defaultAudioLanguage": "en-US" + }, + "contentDetails": { + "duration": "PT8M59S", + "dimension": "2d", + "definition": "hd", + "caption": "true", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "737136", + "likeCount": "24114", + "favoriteCount": "0", + "commentCount": "2416" + } + }, + { + "kind": "youtube#video", + "etag": "4UhXBniV5RZExCwliRXRGLGVMYY", + "id": "TkPCdI2aZhQ", + "snippet": { + "publishedAt": "2023-01-17T22:13:41Z", + "channelId": "UC4mLlRa_dezwvytudo9s1sw", + "title": "Touring Colorado's $177 Million Football Facilities! (w/ Travis Hunter)", + "description": "Deestroying and Travis Hunter tour Colorado’s new football facilities for the first time! Even had special guest appearances by Shedeur Sanders and more! Deion Sanders hopes to get many recruits to commit to colorado and this is how..\n\nGET YOUR ELEVEN GEAR HERE : https://theeleven.store\n\nSUBSCRIBE TO MY 2ND CHANNEL :\nhttps://www.youtube.com/@moredeestroying692\n\nTHE ELEVEN : https://theeleven.store\n\nFOLLOW ME ON\nTwitter : https://www.twitter.com/deestroying\nIG : https://www.instagram.com/deestroying", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/TkPCdI2aZhQ/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/TkPCdI2aZhQ/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/TkPCdI2aZhQ/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/TkPCdI2aZhQ/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/TkPCdI2aZhQ/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Deestroying", + "tags": [ + "Travis hunter", + "Deestroying", + "Shedeur sanders", + "Deoin sanders", + "Colorado university", + "Colorado buffs", + "Facility tour", + "D1", + "College visit" + ], + "categoryId": "24", + "liveBroadcastContent": "none", + "localized": { + "title": "Touring Colorado's $177 Million Football Facilities! (w/ Travis Hunter)", + "description": "Deestroying and Travis Hunter tour Colorado’s new football facilities for the first time! Even had special guest appearances by Shedeur Sanders and more! Deion Sanders hopes to get many recruits to commit to colorado and this is how..\n\nGET YOUR ELEVEN GEAR HERE : https://theeleven.store\n\nSUBSCRIBE TO MY 2ND CHANNEL :\nhttps://www.youtube.com/@moredeestroying692\n\nTHE ELEVEN : https://theeleven.store\n\nFOLLOW ME ON\nTwitter : https://www.twitter.com/deestroying\nIG : https://www.instagram.com/deestroying" + }, + "defaultAudioLanguage": "en" + }, + "contentDetails": { + "duration": "PT18M25S", + "dimension": "2d", + "definition": "hd", + "caption": "false", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "830309", + "likeCount": "28987", + "favoriteCount": "0", + "commentCount": "1650" + } + }, + { + "kind": "youtube#video", + "etag": "YX5VKjkdWQyMXdja7mwdo-ga_GU", + "id": "_I9T4hxmZXU", + "snippet": { + "publishedAt": "2023-01-18T07:59:02Z", + "channelId": "UCD1Em4q90ZUK2R5HKesszJg", + "title": "Lunar New Year Magic Show | Clash of Clans Official", + "description": "Celebrate the Year of the Rabbit with the brand new Lunar Queen skin, the Magic Show statue, as well as the Magic Theatre Scenery and its in-game challenge! Happy Lunar New Year! 🐰✨ \n\n\n\nFollow us on our Socials!\nTwitter ► https://twitter.com/ClashofClans/\nInstagram ► https://www.instagram.com/clashofclans \nFacebook ► https://www.facebook.com/ClashofClans \nTikTok ► https://www.tiktok.com/@clashofclans\n\nAttack. Defend. Strategize. Download for free for mobile devices. http://supr.cl/ThisArmy\n\nFrom rage-\u00adfilled Barbarians with glorious mustaches to pyromaniac wizards, raise your own army and lead your clan to victory! Build your village to fend off raiders, battle against millions of players worldwide, and forge a powerful clan with others to destroy enemy clans.\nPLEASE NOTE! Clash of Clans is free to download and play, however some game items can also be purchased for real money \n\nAlso, under our Terms of Service and Privacy Policy, you must be at least 13 years of age to play or download Clash of Clans.\nA network connection is also required.\n\nFEATURES\n- Build your village into an unbeatable fortress \n- Raise your own army of Barbarians, Archers, Hog Riders, Wizards, Dragons and other mighty fighters\n- Battle with players worldwide and take their Trophies\n- Join together with other players to form the ultimate Clan\n- Fight against rival Clans in epic Clan Wars \n- Build 18 unique units with multiple levels of upgrades\n- Discover your favorite attacking army from countless combinations of troops, spells, Heroes and Clan reinforcements \n- Defend your village with a multitude of Cannons, Towers, Mortars, Bombs, Traps and Walls\n- Fight against the Goblin King in a campaign through the realm\n\nChief, are you having problems? Visit https://help.supercellsupport.com/clash-of-clans/en/\n\nPrivacy Policy:\nhttp://www.supercell.net/privacy-policy/\n\nTerms of Service:\nhttps://supercell.com/en/terms-of-service/\n\nParent’s Guide:\nhttp://www.supercell.net/parents\n\n#clashofclans #lunarnewyear #yearoftherabbit", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/_I9T4hxmZXU/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/_I9T4hxmZXU/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/_I9T4hxmZXU/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/_I9T4hxmZXU/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/_I9T4hxmZXU/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Clash of Clans", + "tags": [ + "clash of clans", + "COC", + "Clash of Clans Gameplay", + "Clash of Clans Strategy", + "Clash of Clans Animation", + "Clash of Clans Commercial", + "Clash of Clans Attacks", + "Clash of Clans Town Hall", + "Hog Rider", + "PEKKA", + "Clan Wars", + "season challenges", + "clan war leagues", + "clash on", + "clan game", + "clan games", + "clash-a-rama", + "clasharama", + "lunar new year", + "year of the rabbit", + "rabbit archer queen", + "Magic Theatre Scenery", + "magic theatre", + "Magic Show Statue", + "magic show" + ], + "categoryId": "20", + "liveBroadcastContent": "none", + "defaultLanguage": "en", + "localized": { + "title": "Lunar New Year Magic Show | Clash of Clans Official", + "description": "Celebrate the Year of the Rabbit with the brand new Lunar Queen skin, the Magic Show statue, as well as the Magic Theatre Scenery and its in-game challenge! Happy Lunar New Year! 🐰✨ \n\n\n\nFollow us on our Socials!\nTwitter ► https://twitter.com/ClashofClans/\nInstagram ► https://www.instagram.com/clashofclans \nFacebook ► https://www.facebook.com/ClashofClans \nTikTok ► https://www.tiktok.com/@clashofclans\n\nAttack. Defend. Strategize. Download for free for mobile devices. http://supr.cl/ThisArmy\n\nFrom rage-\u00adfilled Barbarians with glorious mustaches to pyromaniac wizards, raise your own army and lead your clan to victory! Build your village to fend off raiders, battle against millions of players worldwide, and forge a powerful clan with others to destroy enemy clans.\nPLEASE NOTE! Clash of Clans is free to download and play, however some game items can also be purchased for real money \n\nAlso, under our Terms of Service and Privacy Policy, you must be at least 13 years of age to play or download Clash of Clans.\nA network connection is also required.\n\nFEATURES\n- Build your village into an unbeatable fortress \n- Raise your own army of Barbarians, Archers, Hog Riders, Wizards, Dragons and other mighty fighters\n- Battle with players worldwide and take their Trophies\n- Join together with other players to form the ultimate Clan\n- Fight against rival Clans in epic Clan Wars \n- Build 18 unique units with multiple levels of upgrades\n- Discover your favorite attacking army from countless combinations of troops, spells, Heroes and Clan reinforcements \n- Defend your village with a multitude of Cannons, Towers, Mortars, Bombs, Traps and Walls\n- Fight against the Goblin King in a campaign through the realm\n\nChief, are you having problems? Visit https://help.supercellsupport.com/clash-of-clans/en/\n\nPrivacy Policy:\nhttp://www.supercell.net/privacy-policy/\n\nTerms of Service:\nhttps://supercell.com/en/terms-of-service/\n\nParent’s Guide:\nhttp://www.supercell.net/parents\n\n#clashofclans #lunarnewyear #yearoftherabbit" + }, + "defaultAudioLanguage": "en" + }, + "contentDetails": { + "duration": "PT1M32S", + "dimension": "2d", + "definition": "hd", + "caption": "false", + "licensedContent": false, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "1655398", + "likeCount": "48987", + "favoriteCount": "0", + "commentCount": "2820" + } + }, + { + "kind": "youtube#video", + "etag": "AkgSRnPv9sHHAcK0UvCoc_hYz0c", + "id": "Wj5lcSi5Nrg", + "snippet": { + "publishedAt": "2023-01-18T17:36:40Z", + "channelId": "UCUK0HBIBWgM2c4vsPhkYY4w", + "title": "Tiniest Exploding Fire Extinguisher at 150,000FPS - The Slow Mo Guys", + "description": "How do you use a fire extinguisher when it doesn't have a handle? Blow it up?\nGav and Dan film the explosive fire suppression at 150,000fps.\nInstagram - https://www.instagram.com/theslowmoguys\nFilmed at 150,000FPS with the Phantom TMX7510\nTiniest Exploding Fire Extinguisher at 150,000FPS - The Slow Mo Guys", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/Wj5lcSi5Nrg/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/Wj5lcSi5Nrg/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/Wj5lcSi5Nrg/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/Wj5lcSi5Nrg/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/Wj5lcSi5Nrg/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "The Slow Mo Guys", + "tags": [ + "slomo", + "slow", + "mo", + "super", + "motion", + "Slow Motion", + "1000", + "1000fps", + "gav", + "dan", + "slowmoguys", + "phantom", + "guys", + "HD", + "flex", + "gavin", + "free", + "gavin free", + "high speed camera", + "the slow mo guys", + "2000", + "2000fps", + "5000", + "5000fps", + "tiny", + "small", + "fire", + "extinguisher", + "exploding" + ], + "categoryId": "24", + "liveBroadcastContent": "none", + "defaultLanguage": "en-GB", + "localized": { + "title": "Tiniest Exploding Fire Extinguisher at 150,000FPS - The Slow Mo Guys", + "description": "How do you use a fire extinguisher when it doesn't have a handle? Blow it up?\nGav and Dan film the explosive fire suppression at 150,000fps.\nInstagram - https://www.instagram.com/theslowmoguys\nFilmed at 150,000FPS with the Phantom TMX7510\nTiniest Exploding Fire Extinguisher at 150,000FPS - The Slow Mo Guys" + }, + "defaultAudioLanguage": "en-GB" + }, + "contentDetails": { + "duration": "PT10M20S", + "dimension": "2d", + "definition": "hd", + "caption": "false", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "378652", + "likeCount": "24720", + "favoriteCount": "0", + "commentCount": "849" + } + }, + { + "kind": "youtube#video", + "etag": "DmZdlq1IBwXkYClPj6R-c1hb_eA", + "id": "rcNPgc7hPBI", + "snippet": { + "publishedAt": "2023-01-18T05:00:16Z", + "channelId": "UCaO6TYtlC8U5ttz62hTrZgg", + "title": "TWICE Pre-release english track \"MOONLIGHT SUNRISE\" M/V Teaser 2", + "description": "TWICE Pre-release english track \"MOONLIGHT SUNRISE\" M/V Teaser 2\n\nTWICE Pre-Release English Single \"MOONLIGHT SUNRISE\"\n\nRelease on 2023.01.20 FRI 2PM KST/0AM EST\n\n📌\"MOONLIGHT SUNRISE\" Digital Pre-Save & Pre-Order\nhttps://TWICE.lnk.to/MoonlightSunrise \n\nTWICE Official Shop: https://TWICE.lnk.to/Shop\nTWICE Official YouTube: http://www.youtube.com/c/TWICE\nTWICE Official Facebook: http://www.facebook.com/JYPETWICE\nTWICE Official Twitter: http://www.twitter.com/JYPETWICE\nTWICE Official TikTok https://www.tiktok.com/@twice_tiktok_...\nTWICE Official Instagram: http://www.instagram.com/TWICETAGRAM\nTWICE Official Homepage: http://TWICE.jype.com\nTWICE Official Fan's: http://fans.jype.com/TWICE\n\nⓒ 2023 JYP Entertainment. All Rights Reserved\n\n#TWICE #MOONLIGHTSUNRISE", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/rcNPgc7hPBI/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/rcNPgc7hPBI/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/rcNPgc7hPBI/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/rcNPgc7hPBI/sddefault.jpg", + "width": 640, + "height": 480 + } + }, + "channelTitle": "JYP Entertainment", + "tags": [ + "JYP Entertainment", + "JYP", + "TWICE", + "트와이스", + "MOONLIGHT SUNRISE", + "문라이트 썬라이즈", + "TWICE MOONLIGHT SUNRISE", + "트와이스 문라이트 썬라이즈", + "TWICE Pre-Release English Single", + "트와이스 영어 선공개곡", + "TWICE English Single", + "트와이스 영어곡", + "TWICE 컴백", + "TWICE 신곡", + "트와이스 컴백", + "트와이스 신곡", + "문라이트 선라이즈 티저", + "Moonlight Sunrise Teaser", + "문라선라 티저", + "트와이스 티저", + "트와이스 신곡 티저" + ], + "categoryId": "10", + "liveBroadcastContent": "none", + "defaultLanguage": "en", + "localized": { + "title": "TWICE Pre-release english track \"MOONLIGHT SUNRISE\" M/V Teaser 2", + "description": "TWICE Pre-release english track \"MOONLIGHT SUNRISE\" M/V Teaser 2\n\nTWICE Pre-Release English Single \"MOONLIGHT SUNRISE\"\n\nRelease on 2023.01.20 FRI 2PM KST/0AM EST\n\n📌\"MOONLIGHT SUNRISE\" Digital Pre-Save & Pre-Order\nhttps://TWICE.lnk.to/MoonlightSunrise \n\nTWICE Official Shop: https://TWICE.lnk.to/Shop\nTWICE Official YouTube: http://www.youtube.com/c/TWICE\nTWICE Official Facebook: http://www.facebook.com/JYPETWICE\nTWICE Official Twitter: http://www.twitter.com/JYPETWICE\nTWICE Official TikTok https://www.tiktok.com/@twice_tiktok_...\nTWICE Official Instagram: http://www.instagram.com/TWICETAGRAM\nTWICE Official Homepage: http://TWICE.jype.com\nTWICE Official Fan's: http://fans.jype.com/TWICE\n\nⓒ 2023 JYP Entertainment. All Rights Reserved\n\n#TWICE #MOONLIGHTSUNRISE" + }, + "defaultAudioLanguage": "ko" + }, + "contentDetails": { + "duration": "PT10S", + "dimension": "2d", + "definition": "hd", + "caption": "false", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "1804963", + "likeCount": "204502", + "favoriteCount": "0", + "commentCount": "9608" + } + }, + { + "kind": "youtube#video", + "etag": "Em2pKReLWOTHdrboiuGsopGDxeQ", + "id": "n5zNdiQEtrQ", + "snippet": { + "publishedAt": "2023-01-17T18:47:24Z", + "channelId": "UCWZmCMB7mmKWcXJSIPRhzZw", + "title": "LAST PERSON TO MISS A PENALTY WINS $10,000!", + "description": "What challenge should I do for $10,000 next time?\n\nIf you have an idea you would like to see, let me know here:\r\nhttps://docs.google.com/forms/d/e/1FAIpQLSfrqSDycG6GevuJD7gGvfHsa3O-qdbTTyZjV-Lr3tjoP5hXLQ/viewform?usp=sf_link\r\n\r\nSecond Channel: https://goo.gl/acaMTt\r\nTwitter: https://goo.gl/ugsA1Y\r\nFacebook: https://goo.gl/S7X2XQ\r\n\r\nSidemen Clothing: https://goo.gl/8RLHBR\r\n\r\nSidemen Book: https://goo.gl/wqFrjS\r\n\r\nMy PC: http://bit.ly/miniminter\r\n\r\nCustom Controller: http://bit.ly/SideCCUK\r\n\r\nHOW I RECORD MY GAMEPLAY: http://e.lga.to/mm\r\n\r\nWHERE I GET MY CHAIR:\r\nUK: http://goo.gl/35aEHx\r\nUSA: https://goo.gl/BbkxsF\r\n\r\nMusic from: https://www.youtube.com/user/NoCopyrightSounds\r\n\r\nMusic from MediaMusicNow.co.uk\r\n\r\nVideo uploaded by\r\nSimon/Miniminter/mm7games", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/n5zNdiQEtrQ/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/n5zNdiQEtrQ/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/n5zNdiQEtrQ/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/n5zNdiQEtrQ/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/n5zNdiQEtrQ/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Miniminter", + "tags": [ + "simon", + "sidemen", + "miniminter", + "mm7games", + "random", + "vlog" + ], + "categoryId": "24", + "liveBroadcastContent": "none", + "localized": { + "title": "LAST PERSON TO MISS A PENALTY WINS $10,000!", + "description": "What challenge should I do for $10,000 next time?\n\nIf you have an idea you would like to see, let me know here:\r\nhttps://docs.google.com/forms/d/e/1FAIpQLSfrqSDycG6GevuJD7gGvfHsa3O-qdbTTyZjV-Lr3tjoP5hXLQ/viewform?usp=sf_link\r\n\r\nSecond Channel: https://goo.gl/acaMTt\r\nTwitter: https://goo.gl/ugsA1Y\r\nFacebook: https://goo.gl/S7X2XQ\r\n\r\nSidemen Clothing: https://goo.gl/8RLHBR\r\n\r\nSidemen Book: https://goo.gl/wqFrjS\r\n\r\nMy PC: http://bit.ly/miniminter\r\n\r\nCustom Controller: http://bit.ly/SideCCUK\r\n\r\nHOW I RECORD MY GAMEPLAY: http://e.lga.to/mm\r\n\r\nWHERE I GET MY CHAIR:\r\nUK: http://goo.gl/35aEHx\r\nUSA: https://goo.gl/BbkxsF\r\n\r\nMusic from: https://www.youtube.com/user/NoCopyrightSounds\r\n\r\nMusic from MediaMusicNow.co.uk\r\n\r\nVideo uploaded by\r\nSimon/Miniminter/mm7games" + }, + "defaultAudioLanguage": "en-GB" + }, + "contentDetails": { + "duration": "PT31M32S", + "dimension": "2d", + "definition": "hd", + "caption": "false", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "1820270", + "likeCount": "102955", + "favoriteCount": "0", + "commentCount": "2489" + } + }, + { + "kind": "youtube#video", + "etag": "kmP75as9A3ldfJWM1FDsMvkMNio", + "id": "pMK85fUN12I", + "snippet": { + "publishedAt": "2023-01-17T19:00:27Z", + "channelId": "UCKBaL17hXLGJvi2KZKpja5w", + "title": "Missing Baby Found After 51 Years: The Incredible Story of Melissa Highsmith", + "description": "Shop my charity merch! https://milehighermerch.com/ \nAll profits from this charity merch will be donated to the National Center for Missing and Exploited Children: https://www.missingkids.org/ \n\nThank you to NCMEC for participating in this video! You can donate to our campaign here: https://give.missingkids.org/campaign/kendall-rae/c438796 \n\nTrue Crime with Kendall Rae podcast\nApple Podcasts: https://apple.co/3rks84o\nSpotify: https://spoti.fi/3jC66pr \n\nCheck out Higher Love Wellness: https://higherlovewellness.com/ \nUse code KENDALLRAE for 10% off your order (excludes bundles)\n\nSource Material: https://pastebin.com/t2t8isVg\n\nCheck out my other podcasts: \nMile Higher (True Crime)\n@milehigherpod\nYouTube: https://bit.ly/2ROzJcw\nTwitter: http://twitter.com/milehigherpod\nInstagram: http://instagram.com/milehigherpod \n\nThe Sesh (Get To Know Me Podcast)\nhttps://bit.ly/3Mtoz4X\n@the_seshpodcast \nIG: https://bit.ly/3a9t6Xr\nTW: https://bit.ly/2XH4C2A\n\n*Follow My Social!* @KendallRaeOnyt\nVlog Channel: https://www.youtube.com/c/Kendaily \nTwitter: http://twitter.com/kendallraeonyt\nInstagram: http://instagram.com/kendallraeonyt\nFacebook: https://bit.ly/3kar4NK \nMy Zoo: http://instagram.com/milehigherzoo\n\nWatch my documentary, Apartment 801: https://bit.ly/2RJ9XXr \n\nREQUESTS: \nGeneral case suggestion form: https://bit.ly/32kwPly \nForm for people directly related/ close to the victim: https://bit.ly/3KqMZLj \nJoin my discord to chat with other viewers about this video, its free! https://discord.com/invite/an4stY9BCN\n\nC O N T A C T: \n✉ For Business Inquiries - kendall@INFAgency.com\n\n✉ Send me mail ✉\nKendall Rae\n8547 E Arapahoe Rd Ste J # 233\nGreenwood Village, CO 80112\n\n#Unsolved #TrueCrime #KendallRae", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/pMK85fUN12I/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/pMK85fUN12I/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/pMK85fUN12I/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/pMK85fUN12I/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/pMK85fUN12I/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Kendall Rae", + "tags": [ + "kendallraeonyt", + "kendallrae", + "kendall rae", + "true crime", + "crime", + "crime documentaries", + "criminal justice", + "news", + "educational", + "documentary", + "true crime documentary", + "crime stories", + "kendall rae crime", + "kendall rae true crime", + "real stories", + "melissa highsmith found", + "baby found", + "melissa highsmith", + "kidnapping", + "solved kidnapping", + "ncmec", + "national center for missing and exploited children", + "missing kids", + "missing children", + "lost child", + "dna", + "genetic genealogy", + "true crime stories", + "true crime podcast" + ], + "categoryId": "24", + "liveBroadcastContent": "none", + "localized": { + "title": "Missing Baby Found After 51 Years: The Incredible Story of Melissa Highsmith", + "description": "Shop my charity merch! https://milehighermerch.com/ \nAll profits from this charity merch will be donated to the National Center for Missing and Exploited Children: https://www.missingkids.org/ \n\nThank you to NCMEC for participating in this video! You can donate to our campaign here: https://give.missingkids.org/campaign/kendall-rae/c438796 \n\nTrue Crime with Kendall Rae podcast\nApple Podcasts: https://apple.co/3rks84o\nSpotify: https://spoti.fi/3jC66pr \n\nCheck out Higher Love Wellness: https://higherlovewellness.com/ \nUse code KENDALLRAE for 10% off your order (excludes bundles)\n\nSource Material: https://pastebin.com/t2t8isVg\n\nCheck out my other podcasts: \nMile Higher (True Crime)\n@milehigherpod\nYouTube: https://bit.ly/2ROzJcw\nTwitter: http://twitter.com/milehigherpod\nInstagram: http://instagram.com/milehigherpod \n\nThe Sesh (Get To Know Me Podcast)\nhttps://bit.ly/3Mtoz4X\n@the_seshpodcast \nIG: https://bit.ly/3a9t6Xr\nTW: https://bit.ly/2XH4C2A\n\n*Follow My Social!* @KendallRaeOnyt\nVlog Channel: https://www.youtube.com/c/Kendaily \nTwitter: http://twitter.com/kendallraeonyt\nInstagram: http://instagram.com/kendallraeonyt\nFacebook: https://bit.ly/3kar4NK \nMy Zoo: http://instagram.com/milehigherzoo\n\nWatch my documentary, Apartment 801: https://bit.ly/2RJ9XXr \n\nREQUESTS: \nGeneral case suggestion form: https://bit.ly/32kwPly \nForm for people directly related/ close to the victim: https://bit.ly/3KqMZLj \nJoin my discord to chat with other viewers about this video, its free! https://discord.com/invite/an4stY9BCN\n\nC O N T A C T: \n✉ For Business Inquiries - kendall@INFAgency.com\n\n✉ Send me mail ✉\nKendall Rae\n8547 E Arapahoe Rd Ste J # 233\nGreenwood Village, CO 80112\n\n#Unsolved #TrueCrime #KendallRae" + }, + "defaultAudioLanguage": "en" + }, + "contentDetails": { + "duration": "PT35M49S", + "dimension": "2d", + "definition": "hd", + "caption": "false", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "456272", + "likeCount": "21790", + "favoriteCount": "0", + "commentCount": "1307" + } + }, + { + "kind": "youtube#video", + "etag": "yla9NJJX0Y3c8Zt9rV3RW6MySAM", + "id": "RvLkqQ9TJl4", + "snippet": { + "publishedAt": "2023-01-18T11:42:05Z", + "channelId": "UCg-p3lQIqmhh7gHpyaOmOiQ", + "title": "Bam Bam feeds us Korea's Spiciest Street-Food!!", + "description": "Today we return to our K-pop series with Thai prince, Bam Bam of GOT7 as we try the DEATH sauce tteokbokki! Thanks to Bam Bam for giving us his time and filming with us! Go visit his new Youtube channel @bamhome \n\nAlso, we’ve been loving Everydaze with BT21 new lychee flavour konjac jelly. Thanks to them for supporting our content. You can order them here: https://www.amazon.com/stores/Everydaze/page/AADACC61-6459-4EC9-BB56-FB3A6CB0F4C4?ref_=ast_bln\nor outside the US: https://www.iherb.com/c/everydaze\n\n--\n\n오늘은 오랜만에 케이팝 시리즈로 돌아왔는데요! 태국 왕자 GOT7의 뱀뱀님과 함께 응급실 떡볶이 사망맛을 먹으며 많은 얘기들을 나눴습니다! 바쁘신 가운데 시간을 내주시고 촬영을 함께해 주신 뱀뱀님에게 감사의 말씀을 전합니다! 뱀뱀님의 새로운 채널 “뱀집” @bamhome 많은 관심 부탁드립니다!\n\n그리고 이번 시리즈 촬영에 저희가 즐겨 먹은 Everydaze Essential C’s Konjac Jelly가 궁금하시다면 여기서 주문하세요! https://www.iherb.com/c/everydaze", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/RvLkqQ9TJl4/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/RvLkqQ9TJl4/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/RvLkqQ9TJl4/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/RvLkqQ9TJl4/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/RvLkqQ9TJl4/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "영국남자 Korean Englishman", + "tags": [ + "Korean", + "영국남자", + "영국", + "조쉬", + "올리", + "Josh", + "Ollie", + "KoreanEnglish", + "English", + "Man", + "englishman", + "food", + "음식", + "외국인", + "반응", + "영상", + "웃긴", + "남자", + "외국", + "도전", + "매운", + "조니", + "조엘", + "신부님", + "크리스", + "올리아빠", + "해물", + "치킨", + "삼겹살", + "korean", + "BBQ", + "fried", + "chicken", + "라면", + "불닭볶음면", + "미친남자" + ], + "categoryId": "23", + "liveBroadcastContent": "none", + "defaultLanguage": "en", + "localized": { + "title": "Bam Bam feeds us Korea's Spiciest Street-Food!!", + "description": "Today we return to our K-pop series with Thai prince, Bam Bam of GOT7 as we try the DEATH sauce tteokbokki! Thanks to Bam Bam for giving us his time and filming with us! Go visit his new Youtube channel @bamhome \n\nAlso, we’ve been loving Everydaze with BT21 new lychee flavour konjac jelly. Thanks to them for supporting our content. You can order them here: https://www.amazon.com/stores/Everydaze/page/AADACC61-6459-4EC9-BB56-FB3A6CB0F4C4?ref_=ast_bln\nor outside the US: https://www.iherb.com/c/everydaze\n\n--\n\n오늘은 오랜만에 케이팝 시리즈로 돌아왔는데요! 태국 왕자 GOT7의 뱀뱀님과 함께 응급실 떡볶이 사망맛을 먹으며 많은 얘기들을 나눴습니다! 바쁘신 가운데 시간을 내주시고 촬영을 함께해 주신 뱀뱀님에게 감사의 말씀을 전합니다! 뱀뱀님의 새로운 채널 “뱀집” @bamhome 많은 관심 부탁드립니다!\n\n그리고 이번 시리즈 촬영에 저희가 즐겨 먹은 Everydaze Essential C’s Konjac Jelly가 궁금하시다면 여기서 주문하세요! https://www.iherb.com/c/everydaze" + }, + "defaultAudioLanguage": "en" + }, + "contentDetails": { + "duration": "PT13M10S", + "dimension": "2d", + "definition": "hd", + "caption": "false", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "888799", + "likeCount": "61541", + "favoriteCount": "0", + "commentCount": "2381" + } + }, + { + "kind": "youtube#video", + "etag": "_-V0zQEwTfL0_KUjaMWK-bx61is", + "id": "viP5CvCvoec", + "snippet": { + "publishedAt": "2023-01-18T05:01:12Z", + "channelId": "UCz4qHgsY_BtJtTngBI-zQkg", + "title": "Gloss Up - BestFrenn (feat. GloRilla)", + "description": "#NowPlaying Gloss Up - BestFrenn (feat. Glorilla)\nDirected By: Diesel Filmz\n\nStream & Download \" BestFrenn\" here: \nhttps://presave.umusic.com/gloss-up-glorilla-bestfrenn-pre-sav\n\nConnect With Gloss Up:\nInstagram: https://www.instagram.com/glittergirl...\nTwitter: https://twitter.com/GlitterGirlGlos \nTikTok: https://vm.tiktok.com/ZMJajXSKV/", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/viP5CvCvoec/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/viP5CvCvoec/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/viP5CvCvoec/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/viP5CvCvoec/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/viP5CvCvoec/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Gloss Up", + "tags": [ + "Gloss up", + "Glittergloss", + "Qc the label", + "Memphis", + "Glorilla", + "Shabooya", + "Cmg", + "Fnf", + "Tomorrow", + "City girls", + "Lil baby", + "Atlanta", + "Migos", + "Female rap" + ], + "categoryId": "10", + "liveBroadcastContent": "none", + "localized": { + "title": "Gloss Up - BestFrenn (feat. GloRilla)", + "description": "#NowPlaying Gloss Up - BestFrenn (feat. Glorilla)\nDirected By: Diesel Filmz\n\nStream & Download \" BestFrenn\" here: \nhttps://presave.umusic.com/gloss-up-glorilla-bestfrenn-pre-sav\n\nConnect With Gloss Up:\nInstagram: https://www.instagram.com/glittergirl...\nTwitter: https://twitter.com/GlitterGirlGlos \nTikTok: https://vm.tiktok.com/ZMJajXSKV/" + } + }, + "contentDetails": { + "duration": "PT2M23S", + "dimension": "2d", + "definition": "hd", + "caption": "false", + "licensedContent": false, + "regionRestriction": { + "blocked": ["BY", "RU"] + }, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "205187", + "likeCount": "15539", + "favoriteCount": "0", + "commentCount": "985" + } + }, + { + "kind": "youtube#video", + "etag": "aMU3qOJM7ikUTUjRJzAXCg3hmPg", + "id": "KHpMxHOGelo", + "snippet": { + "publishedAt": "2023-01-18T01:00:08Z", + "channelId": "UCDK9qD5DAQML-pzrtA7A4oA", + "title": "OFFLINETV'S LAST UNBOXING EVER", + "description": "Thank you all as always for the wonderful letters & gifts, we hope you enjoyed this series as much as we did! 😄\nGo to https://buyraycon.com/offlinetv for 15% off your order! Brought to you by Raycon.\n\n-------------------------------------------------------------\n\n👕 Merch & Apparel:\n• OfflineTV - https://offlinetv.com\n\n📸 Follow OfflineTV:\n• Twitter - https://www.twitter.com/OfflineTV\n• Instagram - https://www.instagram.com/OfflineTV\n• TikTok - https://www.tiktok.com/@offlinetv\n• Reddit - https://www.reddit.com/r/offlineTV\n• Patreon - https://www.patreon.com/offlinetv\n\n📝 OfflineTV Roster:\n• Scarra - https://twitter.com/scarra\n• Pokimane - https://twitter.com/pokimanelol\n• LilyPichu - https://twitter.com/LilyPichu\n• Disguised Toast - https://twitter.com/DisguisedToast\n• Michael Reeves - https://twitter.com/michaelreeves\n• QuarterJade - https://twitter.com/QuarterJade\n• Masayoshi - https://twitter.com/ItzMasayoshi\n• Sydeon - https://twitter.com/Sydeon\n• Yvonnie - https://twitter.com/yvonnie\n\n🎥 Producer & Director:\n• Brodin - https://twitter.com/brodinplett\n\n🎞️ Editor:\n• Stevo - https://twitter.com/stevotevo\n\n📋 YT Manager: \n• Dunois - https://twitter.com/DunoisKR\n\n\n\n\n\n#OfflineTV #Unboxing #Subscribe", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/KHpMxHOGelo/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/KHpMxHOGelo/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/KHpMxHOGelo/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/KHpMxHOGelo/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/KHpMxHOGelo/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "OfflineTV", + "tags": [ + "OfflineTV", + "Scarra", + "Poki", + "Pokimane", + "Lily", + "LilyPichu", + "DisguisedToast", + "Toast", + "TwitchTV", + "twitch", + "Streaming", + "Vlog", + "Fail", + "Epic", + "Gamers", + "Streamers", + "OTV", + "Lilypichu Voice", + "Pokimane thicc", + "OTV Plays", + "OfflineTV plays", + "Michael Reeves", + "Michael", + "Reeves" + ], + "categoryId": "20", + "liveBroadcastContent": "none", + "localized": { + "title": "OFFLINETV'S LAST UNBOXING EVER", + "description": "Thank you all as always for the wonderful letters & gifts, we hope you enjoyed this series as much as we did! 😄\nGo to https://buyraycon.com/offlinetv for 15% off your order! Brought to you by Raycon.\n\n-------------------------------------------------------------\n\n👕 Merch & Apparel:\n• OfflineTV - https://offlinetv.com\n\n📸 Follow OfflineTV:\n• Twitter - https://www.twitter.com/OfflineTV\n• Instagram - https://www.instagram.com/OfflineTV\n• TikTok - https://www.tiktok.com/@offlinetv\n• Reddit - https://www.reddit.com/r/offlineTV\n• Patreon - https://www.patreon.com/offlinetv\n\n📝 OfflineTV Roster:\n• Scarra - https://twitter.com/scarra\n• Pokimane - https://twitter.com/pokimanelol\n• LilyPichu - https://twitter.com/LilyPichu\n• Disguised Toast - https://twitter.com/DisguisedToast\n• Michael Reeves - https://twitter.com/michaelreeves\n• QuarterJade - https://twitter.com/QuarterJade\n• Masayoshi - https://twitter.com/ItzMasayoshi\n• Sydeon - https://twitter.com/Sydeon\n• Yvonnie - https://twitter.com/yvonnie\n\n🎥 Producer & Director:\n• Brodin - https://twitter.com/brodinplett\n\n🎞️ Editor:\n• Stevo - https://twitter.com/stevotevo\n\n📋 YT Manager: \n• Dunois - https://twitter.com/DunoisKR\n\n\n\n\n\n#OfflineTV #Unboxing #Subscribe" + }, + "defaultAudioLanguage": "en" + }, + "contentDetails": { + "duration": "PT13M28S", + "dimension": "2d", + "definition": "hd", + "caption": "false", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "942973", + "likeCount": "66134", + "favoriteCount": "0", + "commentCount": "2094" + } + }, + { + "kind": "youtube#video", + "etag": "3Nh77QepLmmJtxpk7z1_Nu0ofBQ", + "id": "OpUh77FY0t4", + "snippet": { + "publishedAt": "2023-01-17T21:45:56Z", + "channelId": "UCPJHQ5_DLtxZ1gzBvZE99_g", + "title": "This YouTuber hid a secret for 28 years - I spent a day with DANIEL HOWELL", + "description": "I spent a day with Dan Howell to learn the truth about coming out and taking a break from YouTube. Sponsors ▸This episode is sponsored by BetterHelp — go to http://betterhelp.com/padilla to get 10% off your first month. ▸ Go to http://rocketmoney.com/padilla to cancel your unnecessary subscriptions now.\n\n🎙THE PODCAST (UNCENSORED)\nSpotify ▸ https://open.spotify.com/show/5aOLuPenneHbhLh05fmkeu \nApple ▸ https://podcasts.apple.com/us/podcast/i-spent-a-day-with/id1550213250 \n\n💥NEW YOUTOOZ FIGURE: https://youtooz.com/products/anthony-padilla \n\n🧨HUGE thank you to Dan Howell:\nYOUTUBE:https://www.youtube.com/user/danisnotonfire\nTWITTER: https://twitter.com/danielhowell\nINSTAGRAM: https://www.instagram.com/danielhowell/\n \n🗯MORE EPISODES…\n▸ BRANDON ROGERS - https://youtu.be/MofCGZrHxCI\n▸ JACKSEPTICEYE - https://youtu.be/5obktsi8XdI\n▸ LUDWIG - https://youtu.be/tpXLJq3YZyk\n\n🎥Crew\n▸ Creator, Director, Writer, etc. - Anthony Padilla\n▸ Executive Producer - Alessandra Catanese\n▸ Producer, Co-writer & Research - Elise Felber\n▸ Director of Photography/Gaffer - Kathy Sue Holtorf\n▸ Camera Operator - Matthew Faulkner\n▸ Social Media Manager - Mallory Myers\n▸ Editor - Mike Criscimagna AKA Mork Crispy\n▸ Assistant Editor - Patrick Horba\n▸ Assistant Editor - Ash Duckworth\n▸ Assistant Editor - Nikki Blacklock\n▸ Sound Editor - Gareth Hird\n▸ Post PA - Levi Villalpando\n▸ PA - Joshua Dozier\n▸ Thumbnail Artist - Dill Toma\n▸ Captions - Davy Gerichten\n\n🎵Theme Music Composer - Matt Good AKA The King of Emo \n🖼Portrait painted by: Rhianna Robles - https://instagram.com/zerogattsu\n🦥Slade mascot built by: The Pastel Prince - https://youtube.com/channel/UC7wq2U4FF2NyZD1o_P8QP0g \n📺3D animations by: Jacob Dalton - https://twitter.com/jacobdaltonvfx \n\n📢BE ON THE SHOW\n▸ If you are part of an underrepresented subculture or live a lifestyle you feel is not widely understood and would like to be interviewed by me, email inquiry[at]pressalike.com with your subculture in the title of the email.\n\n❗️You dug this deep into the description. You owe it to yourself to subscribe ▶ https://youtube.com/subscription_center?add_user=AnthonyPadilla or get more at http://instagram.com/anthonypadilla & http://twitter.com/anthonypadilla\n\n0:00 INTRODUCTION\n3:21 BULLIED AS A CHILD\n7:50 ON YOUTUBE FOR 13 YEARS\n10:11 “BASICALLY I’M GAY”\n14:44 REFLECTING ON EMOTIONS\n17:20 STRAIGHT FOR 28 YEARS\n19:45 SPONSOR MESSAGE\n21:59 COMPARING NUMBERS TO SELF-WORTH\n23:46 PARASOCIAL RELATIONSHIPS\n24:52 WHAT’S NEXT FOR DAN HOWELL?\n26:59 WE ARE ALL DOOMED\n31:27 BLOOPER", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/OpUh77FY0t4/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/OpUh77FY0t4/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/OpUh77FY0t4/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/OpUh77FY0t4/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/OpUh77FY0t4/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "AnthonyPadilla", + "tags": [ + "anthony padilla", + "padilla", + "anthony", + "i spent a day with", + "interview" + ], + "categoryId": "27", + "liveBroadcastContent": "none", + "defaultLanguage": "en", + "localized": { + "title": "This YouTuber hid a secret for 28 years - I spent a day with DANIEL HOWELL", + "description": "I spent a day with Dan Howell to learn the truth about coming out and taking a break from YouTube. Sponsors ▸This episode is sponsored by BetterHelp — go to http://betterhelp.com/padilla to get 10% off your first month. ▸ Go to http://rocketmoney.com/padilla to cancel your unnecessary subscriptions now.\n\n🎙THE PODCAST (UNCENSORED)\nSpotify ▸ https://open.spotify.com/show/5aOLuPenneHbhLh05fmkeu \nApple ▸ https://podcasts.apple.com/us/podcast/i-spent-a-day-with/id1550213250 \n\n💥NEW YOUTOOZ FIGURE: https://youtooz.com/products/anthony-padilla \n\n🧨HUGE thank you to Dan Howell:\nYOUTUBE:https://www.youtube.com/user/danisnotonfire\nTWITTER: https://twitter.com/danielhowell\nINSTAGRAM: https://www.instagram.com/danielhowell/\n \n🗯MORE EPISODES…\n▸ BRANDON ROGERS - https://youtu.be/MofCGZrHxCI\n▸ JACKSEPTICEYE - https://youtu.be/5obktsi8XdI\n▸ LUDWIG - https://youtu.be/tpXLJq3YZyk\n\n🎥Crew\n▸ Creator, Director, Writer, etc. - Anthony Padilla\n▸ Executive Producer - Alessandra Catanese\n▸ Producer, Co-writer & Research - Elise Felber\n▸ Director of Photography/Gaffer - Kathy Sue Holtorf\n▸ Camera Operator - Matthew Faulkner\n▸ Social Media Manager - Mallory Myers\n▸ Editor - Mike Criscimagna AKA Mork Crispy\n▸ Assistant Editor - Patrick Horba\n▸ Assistant Editor - Ash Duckworth\n▸ Assistant Editor - Nikki Blacklock\n▸ Sound Editor - Gareth Hird\n▸ Post PA - Levi Villalpando\n▸ PA - Joshua Dozier\n▸ Thumbnail Artist - Dill Toma\n▸ Captions - Davy Gerichten\n\n🎵Theme Music Composer - Matt Good AKA The King of Emo \n🖼Portrait painted by: Rhianna Robles - https://instagram.com/zerogattsu\n🦥Slade mascot built by: The Pastel Prince - https://youtube.com/channel/UC7wq2U4FF2NyZD1o_P8QP0g \n📺3D animations by: Jacob Dalton - https://twitter.com/jacobdaltonvfx \n\n📢BE ON THE SHOW\n▸ If you are part of an underrepresented subculture or live a lifestyle you feel is not widely understood and would like to be interviewed by me, email inquiry[at]pressalike.com with your subculture in the title of the email.\n\n❗️You dug this deep into the description. You owe it to yourself to subscribe ▶ https://youtube.com/subscription_center?add_user=AnthonyPadilla or get more at http://instagram.com/anthonypadilla & http://twitter.com/anthonypadilla\n\n0:00 INTRODUCTION\n3:21 BULLIED AS A CHILD\n7:50 ON YOUTUBE FOR 13 YEARS\n10:11 “BASICALLY I’M GAY”\n14:44 REFLECTING ON EMOTIONS\n17:20 STRAIGHT FOR 28 YEARS\n19:45 SPONSOR MESSAGE\n21:59 COMPARING NUMBERS TO SELF-WORTH\n23:46 PARASOCIAL RELATIONSHIPS\n24:52 WHAT’S NEXT FOR DAN HOWELL?\n26:59 WE ARE ALL DOOMED\n31:27 BLOOPER" + }, + "defaultAudioLanguage": "en" + }, + "contentDetails": { + "duration": "PT32M11S", + "dimension": "2d", + "definition": "hd", + "caption": "false", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "513597", + "likeCount": "45669", + "favoriteCount": "0", + "commentCount": "1674" + } + }, + { + "kind": "youtube#video", + "etag": "wcKmK2vOt0IrfzhSaWKhGwuzux8", + "id": "NRNfPcgFtVc", + "snippet": { + "publishedAt": "2023-01-18T00:00:07Z", + "channelId": "UCYbvqjljebwzWVdTb9Fetiw", + "title": "Trinidad James Talks Kanye, TIG, Def Jam, Painted Nails, Stage Fight", + "description": "Nicholaus Joseph Williams, better known by his stage name Trinidad James is a Trinidadian-American rapper. In 2012, he signed a recording contract with Def Jam Recordings. The label dropped him in 2014 when he failed to release an album, although he continues to release music as an independent artist and is signed to Artist Publishing Group for songwriting. \n\nIn this interview Marco starts off by asking who does Trinidad want to be? The interview starts very awkwardly as Trinidad has a bear mask on. Trinidad challenges Marco and says Marco brought him on the show to exploit him. The tables are turned as Trinidad seems to be trolling Marco and has him on his toes. Marco asks Trinidad to remove his mask and Trinidad asks Marco to tie his tie and in exchange Trinidad takes the tie and puts it on. Trinidad takes off his mask to reveal his face with one eyed made up. Marco gets into the interview asking why Trinidad hasn’t made any new music. Trinidad reveals that he wanted to know what the business of entertainment was about. Trinidad talks about his relationships with record labels. Trinidad goes deeper into relationships. Trinidad then goes into his various products and the meaning behind them. Trinidad asks Marco what he thinks about him. Trinidad and Marco go back and forth about the word ugly. The conversation speeds up and the two go back and forth. Marco’s phone goes off and Marco blames it on Matt the Producer. Matt the Producer enters and Trinidad and Matt get into a discussion that gets a little tense. Trinidad and Marco continue the interview. Marco asks Trinidad about his hair. Matt the Producer tells Trinidad to get out of Marco’s creative space. A lady enters from the backstage and Trinidad yells at the lady and Marco invites her on stage. She awkwardly exits and Marco attempts to end the interview as Marco exits while talking to Matt the Producer and the mics are hot. Trinidad throws his chair and goes under the ladder and Matt the Producer holds exception.\n\nExecutive Producers for Breakbeat: Dave Mays & Brett Jeffries\n \nExecutive Producers: Marco Summers & Harvey Sutton\n \nDirector: Matt Ables IG @mattablespromotions\n\nFilmed on location at 4U Recording, Atlanta\n \nIG @Breakbeatmedia @FunnyMarco\n\nComment, like and subscribe on the Breakbeat Media YouTube page, subscribe on Apple, Spotify or wherever podcasts are available, and visit us at www.breakbeatmedia.com", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/NRNfPcgFtVc/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/NRNfPcgFtVc/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/NRNfPcgFtVc/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/NRNfPcgFtVc/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/NRNfPcgFtVc/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Breakbeat Media", + "categoryId": "24", + "liveBroadcastContent": "none", + "localized": { + "title": "Trinidad James Talks Kanye, TIG, Def Jam, Painted Nails, Stage Fight", + "description": "Nicholaus Joseph Williams, better known by his stage name Trinidad James is a Trinidadian-American rapper. In 2012, he signed a recording contract with Def Jam Recordings. The label dropped him in 2014 when he failed to release an album, although he continues to release music as an independent artist and is signed to Artist Publishing Group for songwriting. \n\nIn this interview Marco starts off by asking who does Trinidad want to be? The interview starts very awkwardly as Trinidad has a bear mask on. Trinidad challenges Marco and says Marco brought him on the show to exploit him. The tables are turned as Trinidad seems to be trolling Marco and has him on his toes. Marco asks Trinidad to remove his mask and Trinidad asks Marco to tie his tie and in exchange Trinidad takes the tie and puts it on. Trinidad takes off his mask to reveal his face with one eyed made up. Marco gets into the interview asking why Trinidad hasn’t made any new music. Trinidad reveals that he wanted to know what the business of entertainment was about. Trinidad talks about his relationships with record labels. Trinidad goes deeper into relationships. Trinidad then goes into his various products and the meaning behind them. Trinidad asks Marco what he thinks about him. Trinidad and Marco go back and forth about the word ugly. The conversation speeds up and the two go back and forth. Marco’s phone goes off and Marco blames it on Matt the Producer. Matt the Producer enters and Trinidad and Matt get into a discussion that gets a little tense. Trinidad and Marco continue the interview. Marco asks Trinidad about his hair. Matt the Producer tells Trinidad to get out of Marco’s creative space. A lady enters from the backstage and Trinidad yells at the lady and Marco invites her on stage. She awkwardly exits and Marco attempts to end the interview as Marco exits while talking to Matt the Producer and the mics are hot. Trinidad throws his chair and goes under the ladder and Matt the Producer holds exception.\n\nExecutive Producers for Breakbeat: Dave Mays & Brett Jeffries\n \nExecutive Producers: Marco Summers & Harvey Sutton\n \nDirector: Matt Ables IG @mattablespromotions\n\nFilmed on location at 4U Recording, Atlanta\n \nIG @Breakbeatmedia @FunnyMarco\n\nComment, like and subscribe on the Breakbeat Media YouTube page, subscribe on Apple, Spotify or wherever podcasts are available, and visit us at www.breakbeatmedia.com" + } + }, + "contentDetails": { + "duration": "PT24M15S", + "dimension": "2d", + "definition": "hd", + "caption": "false", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "376439", + "likeCount": "7471", + "favoriteCount": "0", + "commentCount": "1175" + } + }, + { + "kind": "youtube#video", + "etag": "MxQNGsoqURK80ZwZ3cYRj135TQg", + "id": "ByJafdBwmBI", + "snippet": { + "publishedAt": "2023-01-17T02:23:11Z", + "channelId": "UCT2X19JJaJGUN7mrYuImANQ", + "title": "Keren Montero | Shy Singer SHOCKS The Judges With Her BIG Voice! | AGT: All-Stars 2023", + "description": "16-year-old Keren Montero has a voice that will blow you away! Watch as Keren sings \"Rescue\" by Lauren Daigle. \n\n» Get The America's Got Talent App: http://bit.ly/AGTAppDownload\n» Subscribe for More: http://bit.ly/AGTSub\n» Watch on NBC & Peacock: https://pck.tv/3cCQGhH\n\nAMERICA'S GOT TALENT ON SOCIAL\nLike AGT: https://www.facebook.com/agt\nFollow AGT: https://twitter.com/agt\nAGT Instagram: http://instagram.com/agt\n\nFind America's Got Talent trailers, full episode highlights, previews, promos, clips, and digital exclusives here.\n\nNBC ON SOCIAL:\nYouTube: http://www.youtube.com/nbc\nTwitter: http://Twitter.com/NBC\nFacebook: http://Facebook.com/NBC\nInstagram: http://instagram.com/nbc\n\nKeren Montero | Shy Singer SHOCKS The Judges With Her BIG Voice! | AGT: All-Stars 2023\nhttps://youtu.be/ByJafdBwmBI\n\nAmerica's Got Talent\nhttp://www.youtube.com/user/americasgottalent\n#AGT #AmericasGotTalent #AGTAllStars", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/ByJafdBwmBI/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/ByJafdBwmBI/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/ByJafdBwmBI/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/ByJafdBwmBI/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/ByJafdBwmBI/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "America's Got Talent", + "tags": [ + "AGT", + "America's Got Talent", + "Sofia Vergara", + "Simon Cowell", + "Howie Mandel", + "Heidi Klum", + "Terry Crews", + "Keren Montero", + "Keren Montero AGT", + "Keren Montero America's Got Talent", + "Keren Montero AGT Allstars", + "Keren Montero 2023", + "AGT Rescue", + "Rescue", + "by", + "Lauren", + "Daigle", + "Rescue", + "covers", + "Rescue Lauren Daigle Cover", + "Teen Singers", + "Teen Singer", + "Shocking Voices", + "Surprising Singers", + "Shy Singer Big Voice", + "Shy Singer" + ], + "categoryId": "24", + "liveBroadcastContent": "none", + "localized": { + "title": "Keren Montero | Shy Singer SHOCKS The Judges With Her BIG Voice! | AGT: All-Stars 2023", + "description": "16-year-old Keren Montero has a voice that will blow you away! Watch as Keren sings \"Rescue\" by Lauren Daigle. \n\n» Get The America's Got Talent App: http://bit.ly/AGTAppDownload\n» Subscribe for More: http://bit.ly/AGTSub\n» Watch on NBC & Peacock: https://pck.tv/3cCQGhH\n\nAMERICA'S GOT TALENT ON SOCIAL\nLike AGT: https://www.facebook.com/agt\nFollow AGT: https://twitter.com/agt\nAGT Instagram: http://instagram.com/agt\n\nFind America's Got Talent trailers, full episode highlights, previews, promos, clips, and digital exclusives here.\n\nNBC ON SOCIAL:\nYouTube: http://www.youtube.com/nbc\nTwitter: http://Twitter.com/NBC\nFacebook: http://Facebook.com/NBC\nInstagram: http://instagram.com/nbc\n\nKeren Montero | Shy Singer SHOCKS The Judges With Her BIG Voice! | AGT: All-Stars 2023\nhttps://youtu.be/ByJafdBwmBI\n\nAmerica's Got Talent\nhttp://www.youtube.com/user/americasgottalent\n#AGT #AmericasGotTalent #AGTAllStars" + }, + "defaultAudioLanguage": "en-US" + }, + "contentDetails": { + "duration": "PT6M9S", + "dimension": "2d", + "definition": "hd", + "caption": "true", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "2879895", + "likeCount": "39667", + "favoriteCount": "0", + "commentCount": "2564" + } + }, + { + "kind": "youtube#video", + "etag": "fCIGKtyp1jEQjm7DM_vRxiLpmvM", + "id": "XftJTSLyMNE", + "snippet": { + "publishedAt": "2023-01-17T20:30:03Z", + "channelId": "UCsvn_Po0SmunchJYOWpOxMg", + "title": "The Stanley's Parable", + "description": "\"Shut up Michael, I'm only working here for the pretzel day\" - Stanley Parable.\n\ndonkey store https://dunkeyscastle.com/\ndonkey publishing company https://twitter.com/BIGMODEgames", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/XftJTSLyMNE/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/XftJTSLyMNE/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/XftJTSLyMNE/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/XftJTSLyMNE/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/XftJTSLyMNE/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "videogamedunkey", + "tags": [ + "stanley parable", + "dunkey", + "videogamedunkey", + "dunkey stanley parable", + "the stanly parable", + "the stanley parable", + "stanley parable ultra deluxe", + "stanley parable 2" + ], + "categoryId": "20", + "liveBroadcastContent": "none", + "localized": { + "title": "The Stanley's Parable", + "description": "\"Shut up Michael, I'm only working here for the pretzel day\" - Stanley Parable.\n\ndonkey store https://dunkeyscastle.com/\ndonkey publishing company https://twitter.com/BIGMODEgames" + }, + "defaultAudioLanguage": "en" + }, + "contentDetails": { + "duration": "PT8M43S", + "dimension": "2d", + "definition": "hd", + "caption": "false", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "1674367", + "likeCount": "104071", + "favoriteCount": "0", + "commentCount": "2301" + } + }, + { + "kind": "youtube#video", + "etag": "cUgqEF3RPTLoxKDJH6Q9DS9SoVk", + "id": "gCEeCFlV0IA", + "snippet": { + "publishedAt": "2023-01-17T15:00:26Z", + "channelId": "UC52XYgEExV9VG6Rt-6vnzVA", + "title": "Destiny 2: Lightfall | Neomuna Environment Trailer", + "description": "A neon metropolis.\n \nTravel to a destination unlike any you've explored in Destiny 2. Cross paths with bone-chilling Tormentors and valiant Cloud Striders, join the fight against the Shadow Legion, and prevent devastation in the technologically advanced secret city of Neomuna.\n\nLearn more: http://bung.ie/lightfall\n\nFOLLOW DESTINY:\nFacebook: https://www.facebook.com/DestinyTheGame\nTwitter: https://www.twitter.com/destinythegame\nInstagram: https://www.instagram.com/destinythegame\nDiscord: http://www.discord.gg/destinygame\n\nFOLLOW BUNGIE:\nFacebook: https://www.facebook.com/Bungie/\nTwitter: https://www.twitter.com/bungie\nInstagram: https://www.instagram.com/bungie/\n⠀ ⠀ ⠀ ⠀\nDive into the free-to-play world of Destiny 2 to experience responsive first-person shooter combat, explore the mysteries of our solar system, and unleash elemental abilities against powerful enemies. Create your Guardian and collect unique weapons, armor, and gear to customize your look and playstyle. Experience Destiny 2’s cinematic story alone or with friends, join other Guardians for challenging co-op missions, or compete against them in a variety of PvP modes.", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/gCEeCFlV0IA/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/gCEeCFlV0IA/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/gCEeCFlV0IA/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/gCEeCFlV0IA/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/gCEeCFlV0IA/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Destiny 2", + "tags": ["Destiny"], + "categoryId": "20", + "liveBroadcastContent": "none", + "localized": { + "title": "Destiny 2: Lightfall | Neomuna Environment Trailer", + "description": "A neon metropolis.\n \nTravel to a destination unlike any you've explored in Destiny 2. Cross paths with bone-chilling Tormentors and valiant Cloud Striders, join the fight against the Shadow Legion, and prevent devastation in the technologically advanced secret city of Neomuna.\n\nLearn more: http://bung.ie/lightfall\n\nFOLLOW DESTINY:\nFacebook: https://www.facebook.com/DestinyTheGame\nTwitter: https://www.twitter.com/destinythegame\nInstagram: https://www.instagram.com/destinythegame\nDiscord: http://www.discord.gg/destinygame\n\nFOLLOW BUNGIE:\nFacebook: https://www.facebook.com/Bungie/\nTwitter: https://www.twitter.com/bungie\nInstagram: https://www.instagram.com/bungie/\n⠀ ⠀ ⠀ ⠀\nDive into the free-to-play world of Destiny 2 to experience responsive first-person shooter combat, explore the mysteries of our solar system, and unleash elemental abilities against powerful enemies. Create your Guardian and collect unique weapons, armor, and gear to customize your look and playstyle. Experience Destiny 2’s cinematic story alone or with friends, join other Guardians for challenging co-op missions, or compete against them in a variety of PvP modes." + }, + "defaultAudioLanguage": "en" + }, + "contentDetails": { + "duration": "PT1M40S", + "dimension": "2d", + "definition": "hd", + "caption": "true", + "licensedContent": false, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "739545", + "likeCount": "26434", + "favoriteCount": "0", + "commentCount": "2503" + } + } + ], + "nextPageToken": "CBkQAA", + "pageInfo": { + "totalResults": 200, + "resultsPerPage": 25 + } +} diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..ce12ebf7eecc9bb1efc868bdad4ad8c1ead60ed0 GIT binary patch literal 4286 zcmeI0%}Z2K7{>3Iq7;2tQczM;P?!}lhDC@{EnNvMS_Fc)a9zG^d~spMK9c2PUSbxq8t>-r+ar%zNJRKJPjA-ns8g6s35j(~;k! ztLvg@V-!U#fGIixwigb@HmsUs&anKxyaQneM5jP4?P}mM(pK0Bd!Y>uK?iifQ8-q_ zecL={AN%fuU9b%{!5XN8qRwx+DeMQ}BHVy`@CaVOTlfHas14`1MG5%+ELn0@T) zIazoKkKsPtgiGKYYap!o1pP_CuqZgMlVJTl@B|i1JLo(`)92_6{9FQkYo3KGOQ0S0 zUEar9Fu$;6pc!PnZ)DvX!uw6;nE15#5{A~{(5eH{I+E@^5?8XJ>(dZdPi1?6FF z-?L@w{F|+_Q_AO6IA&&~krAoAU8G{Lef}_2;sXvRP?pNJ^(;=V0yG zh3Y$x*;#2~LhA3A>guY_!`g}IkB>{ey|MKdy#JGv(%_)f++6j#!+HMB`saQ9O;1b1 z!%`+Q@9WRctl0NoE+>tSO5NR3eSPdThqb%?2!0Nf+A8*2TBN={sj;#8IThkRXY5Xe z@v>YJ{O)yZ*BO`N=qK#!XWuFKk#O9yefvXvYo3PP;QFYVIZ66h)7q|qj>Bt6GJd64 zuZo(X{&W4AfeUaQZo@R3e$EwYwKm#=a2PtEvxxh)dCWep>pW*WY=-r)5>|jUg6MMl cpYK4ZVM3dWqP6Gw%fKYHH6fm32c6LV0v!$wH~;_u literal 0 HcmV?d00001 diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..1b2e282 --- /dev/null +++ b/public/index.html @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + Youtube + + + + +
+ + + diff --git a/public/logo192.png b/public/logo192.png new file mode 100644 index 0000000000000000000000000000000000000000..fc44b0a3796c0e0a64c3d858ca038bd4570465d9 GIT binary patch literal 5347 zcmZWtbyO6NvR-oO24RV%BvuJ&=?+<7=`LvyB&A_#M7mSDYw1v6DJkiYl9XjT!%$dLEBTQ8R9|wd3008in6lFF3GV-6mLi?MoP_y~}QUnaDCHI#t z7w^m$@6DI)|C8_jrT?q=f8D?0AM?L)Z}xAo^e^W>t$*Y0KlT5=@bBjT9kxb%-KNdk zeOS1tKO#ChhG7%{ApNBzE2ZVNcxbrin#E1TiAw#BlUhXllzhN$qWez5l;h+t^q#Eav8PhR2|T}y5kkflaK`ba-eoE+Z2q@o6P$)=&` z+(8}+-McnNO>e#$Rr{32ngsZIAX>GH??tqgwUuUz6kjns|LjsB37zUEWd|(&O!)DY zQLrq%Y>)Y8G`yYbYCx&aVHi@-vZ3|ebG!f$sTQqMgi0hWRJ^Wc+Ibv!udh_r%2|U) zPi|E^PK?UE!>_4`f`1k4hqqj_$+d!EB_#IYt;f9)fBOumGNyglU(ofY`yHq4Y?B%- zp&G!MRY<~ajTgIHErMe(Z8JG*;D-PJhd@RX@QatggM7+G(Lz8eZ;73)72Hfx5KDOE zkT(m}i2;@X2AT5fW?qVp?@WgN$aT+f_6eo?IsLh;jscNRp|8H}Z9p_UBO^SJXpZew zEK8fz|0Th%(Wr|KZBGTM4yxkA5CFdAj8=QSrT$fKW#tweUFqr0TZ9D~a5lF{)%-tTGMK^2tz(y2v$i%V8XAxIywrZCp=)83p(zIk6@S5AWl|Oa2hF`~~^W zI;KeOSkw1O#TiQ8;U7OPXjZM|KrnN}9arP)m0v$c|L)lF`j_rpG(zW1Qjv$=^|p*f z>)Na{D&>n`jOWMwB^TM}slgTEcjxTlUby89j1)|6ydRfWERn3|7Zd2&e7?!K&5G$x z`5U3uFtn4~SZq|LjFVrz$3iln-+ucY4q$BC{CSm7Xe5c1J<=%Oagztj{ifpaZk_bQ z9Sb-LaQMKp-qJA*bP6DzgE3`}*i1o3GKmo2pn@dj0;He}F=BgINo};6gQF8!n0ULZ zL>kC0nPSFzlcB7p41doao2F7%6IUTi_+!L`MM4o*#Y#0v~WiO8uSeAUNp=vA2KaR&=jNR2iVwG>7t%sG2x_~yXzY)7K& zk3p+O0AFZ1eu^T3s};B%6TpJ6h-Y%B^*zT&SN7C=N;g|#dGIVMSOru3iv^SvO>h4M=t-N1GSLLDqVTcgurco6)3&XpU!FP6Hlrmj}f$ zp95;b)>M~`kxuZF3r~a!rMf4|&1=uMG$;h^g=Kl;H&Np-(pFT9FF@++MMEx3RBsK?AU0fPk-#mdR)Wdkj)`>ZMl#^<80kM87VvsI3r_c@_vX=fdQ`_9-d(xiI z4K;1y1TiPj_RPh*SpDI7U~^QQ?%0&!$Sh#?x_@;ag)P}ZkAik{_WPB4rHyW#%>|Gs zdbhyt=qQPA7`?h2_8T;-E6HI#im9K>au*(j4;kzwMSLgo6u*}-K`$_Gzgu&XE)udQ zmQ72^eZd|vzI)~!20JV-v-T|<4@7ruqrj|o4=JJPlybwMg;M$Ud7>h6g()CT@wXm` zbq=A(t;RJ^{Xxi*Ff~!|3!-l_PS{AyNAU~t{h;(N(PXMEf^R(B+ZVX3 z8y0;0A8hJYp@g+c*`>eTA|3Tgv9U8#BDTO9@a@gVMDxr(fVaEqL1tl?md{v^j8aUv zm&%PX4^|rX|?E4^CkplWWNv*OKM>DxPa z!RJ)U^0-WJMi)Ksc!^ixOtw^egoAZZ2Cg;X7(5xZG7yL_;UJ#yp*ZD-;I^Z9qkP`} zwCTs0*%rIVF1sgLervtnUo&brwz?6?PXRuOCS*JI-WL6GKy7-~yi0giTEMmDs_-UX zo=+nFrW_EfTg>oY72_4Z0*uG>MnXP=c0VpT&*|rvv1iStW;*^={rP1y?Hv+6R6bxFMkxpWkJ>m7Ba{>zc_q zEefC3jsXdyS5??Mz7IET$Kft|EMNJIv7Ny8ZOcKnzf`K5Cd)&`-fTY#W&jnV0l2vt z?Gqhic}l}mCv1yUEy$%DP}4AN;36$=7aNI^*AzV(eYGeJ(Px-j<^gSDp5dBAv2#?; zcMXv#aj>%;MiG^q^$0MSg-(uTl!xm49dH!{X0){Ew7ThWV~Gtj7h%ZD zVN-R-^7Cf0VH!8O)uUHPL2mO2tmE*cecwQv_5CzWeh)ykX8r5Hi`ehYo)d{Jnh&3p z9ndXT$OW51#H5cFKa76c<%nNkP~FU93b5h-|Cb}ScHs@4Q#|}byWg;KDMJ#|l zE=MKD*F@HDBcX@~QJH%56eh~jfPO-uKm}~t7VkHxHT;)4sd+?Wc4* z>CyR*{w@4(gnYRdFq=^(#-ytb^5ESD?x<0Skhb%Pt?npNW1m+Nv`tr9+qN<3H1f<% zZvNEqyK5FgPsQ`QIu9P0x_}wJR~^CotL|n zk?dn;tLRw9jJTur4uWoX6iMm914f0AJfB@C74a;_qRrAP4E7l890P&{v<}>_&GLrW z)klculcg`?zJO~4;BBAa=POU%aN|pmZJn2{hA!d!*lwO%YSIzv8bTJ}=nhC^n}g(ld^rn#kq9Z3)z`k9lvV>y#!F4e{5c$tnr9M{V)0m(Z< z#88vX6-AW7T2UUwW`g<;8I$Jb!R%z@rCcGT)-2k7&x9kZZT66}Ztid~6t0jKb&9mm zpa}LCb`bz`{MzpZR#E*QuBiZXI#<`5qxx=&LMr-UUf~@dRk}YI2hbMsAMWOmDzYtm zjof16D=mc`^B$+_bCG$$@R0t;e?~UkF?7<(vkb70*EQB1rfUWXh$j)R2)+dNAH5%R zEBs^?N;UMdy}V};59Gu#0$q53$}|+q7CIGg_w_WlvE}AdqoS<7DY1LWS9?TrfmcvT zaypmplwn=P4;a8-%l^e?f`OpGb}%(_mFsL&GywhyN(-VROj`4~V~9bGv%UhcA|YW% zs{;nh@aDX11y^HOFXB$a7#Sr3cEtNd4eLm@Y#fc&j)TGvbbMwze zXtekX_wJqxe4NhuW$r}cNy|L{V=t#$%SuWEW)YZTH|!iT79k#?632OFse{+BT_gau zJwQcbH{b}dzKO?^dV&3nTILYlGw{27UJ72ZN){BILd_HV_s$WfI2DC<9LIHFmtyw? zQ;?MuK7g%Ym+4e^W#5}WDLpko%jPOC=aN)3!=8)s#Rnercak&b3ESRX3z{xfKBF8L z5%CGkFmGO@x?_mPGlpEej!3!AMddChabyf~nJNZxx!D&{@xEb!TDyvqSj%Y5@A{}9 zRzoBn0?x}=krh{ok3Nn%e)#~uh;6jpezhA)ySb^b#E>73e*frBFu6IZ^D7Ii&rsiU z%jzygxT-n*joJpY4o&8UXr2s%j^Q{?e-voloX`4DQyEK+DmrZh8A$)iWL#NO9+Y@!sO2f@rI!@jN@>HOA< z?q2l{^%mY*PNx2FoX+A7X3N}(RV$B`g&N=e0uvAvEN1W^{*W?zT1i#fxuw10%~))J zjx#gxoVlXREWZf4hRkgdHx5V_S*;p-y%JtGgQ4}lnA~MBz-AFdxUxU1RIT$`sal|X zPB6sEVRjGbXIP0U+?rT|y5+ev&OMX*5C$n2SBPZr`jqzrmpVrNciR0e*Wm?fK6DY& zl(XQZ60yWXV-|Ps!A{EF;=_z(YAF=T(-MkJXUoX zI{UMQDAV2}Ya?EisdEW;@pE6dt;j0fg5oT2dxCi{wqWJ<)|SR6fxX~5CzblPGr8cb zUBVJ2CQd~3L?7yfTpLNbt)He1D>*KXI^GK%<`bq^cUq$Q@uJifG>p3LU(!H=C)aEL zenk7pVg}0{dKU}&l)Y2Y2eFMdS(JS0}oZUuVaf2+K*YFNGHB`^YGcIpnBlMhO7d4@vV zv(@N}(k#REdul8~fP+^F@ky*wt@~&|(&&meNO>rKDEnB{ykAZ}k>e@lad7to>Ao$B zz<1(L=#J*u4_LB=8w+*{KFK^u00NAmeNN7pr+Pf+N*Zl^dO{LM-hMHyP6N!~`24jd zXYP|Ze;dRXKdF2iJG$U{k=S86l@pytLx}$JFFs8e)*Vi?aVBtGJ3JZUj!~c{(rw5>vuRF$`^p!P8w1B=O!skwkO5yd4_XuG^QVF z`-r5K7(IPSiKQ2|U9+`@Js!g6sfJwAHVd|s?|mnC*q zp|B|z)(8+mxXyxQ{8Pg3F4|tdpgZZSoU4P&9I8)nHo1@)9_9u&NcT^FI)6|hsAZFk zZ+arl&@*>RXBf-OZxhZerOr&dN5LW9@gV=oGFbK*J+m#R-|e6(Loz(;g@T^*oO)0R zN`N=X46b{7yk5FZGr#5&n1!-@j@g02g|X>MOpF3#IjZ_4wg{dX+G9eqS+Es9@6nC7 zD9$NuVJI}6ZlwtUm5cCAiYv0(Yi{%eH+}t)!E^>^KxB5^L~a`4%1~5q6h>d;paC9c zTj0wTCKrhWf+F#5>EgX`sl%POl?oyCq0(w0xoL?L%)|Q7d|Hl92rUYAU#lc**I&^6p=4lNQPa0 znQ|A~i0ip@`B=FW-Q;zh?-wF;Wl5!+q3GXDu-x&}$gUO)NoO7^$BeEIrd~1Dh{Tr` z8s<(Bn@gZ(mkIGnmYh_ehXnq78QL$pNDi)|QcT*|GtS%nz1uKE+E{7jdEBp%h0}%r zD2|KmYGiPa4;md-t_m5YDz#c*oV_FqXd85d@eub?9N61QuYcb3CnVWpM(D-^|CmkL z(F}L&N7qhL2PCq)fRh}XO@U`Yn<?TNGR4L(mF7#4u29{i~@k;pLsgl({YW5`Mo+p=zZn3L*4{JU;++dG9 X@eDJUQo;Ye2mwlRs?y0|+_a0zY+Zo%Dkae}+MySoIppb75o?vUW_?)>@g{U2`ERQIXV zeY$JrWnMZ$QC<=ii4X|@0H8`si75jB(ElJb00HAB%>SlLR{!zO|C9P3zxw_U8?1d8uRZ=({Ga4shyN}3 zAK}WA(ds|``G4jA)9}Bt2Hy0+f3rV1E6b|@?hpGA=PI&r8)ah|)I2s(P5Ic*Ndhn^ z*T&j@gbCTv7+8rpYbR^Ty}1AY)YH;p!m948r#%7x^Z@_-w{pDl|1S4`EM3n_PaXvK z1JF)E3qy$qTj5Xs{jU9k=y%SQ0>8E$;x?p9ayU0bZZeo{5Z@&FKX>}s!0+^>C^D#z z>xsCPvxD3Z=dP}TTOSJhNTPyVt14VCQ9MQFN`rn!c&_p?&4<5_PGm4a;WS&1(!qKE z_H$;dDdiPQ!F_gsN`2>`X}$I=B;={R8%L~`>RyKcS$72ai$!2>d(YkciA^J0@X%G4 z4cu!%Ps~2JuJ8ex`&;Fa0NQOq_nDZ&X;^A=oc1&f#3P1(!5il>6?uK4QpEG8z0Rhu zvBJ+A9RV?z%v?!$=(vcH?*;vRs*+PPbOQ3cdPr5=tOcLqmfx@#hOqX0iN)wTTO21jH<>jpmwRIAGw7`a|sl?9y9zRBh>(_%| zF?h|P7}~RKj?HR+q|4U`CjRmV-$mLW>MScKnNXiv{vD3&2@*u)-6P@h0A`eeZ7}71 zK(w%@R<4lLt`O7fs1E)$5iGb~fPfJ?WxhY7c3Q>T-w#wT&zW522pH-B%r5v#5y^CF zcC30Se|`D2mY$hAlIULL%-PNXgbbpRHgn<&X3N9W!@BUk@9g*P5mz-YnZBb*-$zMM z7Qq}ic0mR8n{^L|=+diODdV}Q!gwr?y+2m=3HWwMq4z)DqYVg0J~^}-%7rMR@S1;9 z7GFj6K}i32X;3*$SmzB&HW{PJ55kT+EI#SsZf}bD7nW^Haf}_gXciYKX{QBxIPSx2Ma? zHQqgzZq!_{&zg{yxqv3xq8YV+`S}F6A>Gtl39_m;K4dA{pP$BW0oIXJ>jEQ!2V3A2 zdpoTxG&V=(?^q?ZTj2ZUpDUdMb)T?E$}CI>r@}PFPWD9@*%V6;4Ag>D#h>!s)=$0R zRXvdkZ%|c}ubej`jl?cS$onl9Tw52rBKT)kgyw~Xy%z62Lr%V6Y=f?2)J|bZJ5(Wx zmji`O;_B+*X@qe-#~`HFP<{8$w@z4@&`q^Q-Zk8JG3>WalhnW1cvnoVw>*R@c&|o8 zZ%w!{Z+MHeZ*OE4v*otkZqz11*s!#s^Gq>+o`8Z5 z^i-qzJLJh9!W-;SmFkR8HEZJWiXk$40i6)7 zZpr=k2lp}SasbM*Nbn3j$sn0;rUI;%EDbi7T1ZI4qL6PNNM2Y%6{LMIKW+FY_yF3) zSKQ2QSujzNMSL2r&bYs`|i2Dnn z=>}c0>a}>|uT!IiMOA~pVT~R@bGlm}Edf}Kq0?*Af6#mW9f9!}RjW7om0c9Qlp;yK z)=XQs(|6GCadQbWIhYF=rf{Y)sj%^Id-ARO0=O^Ad;Ph+ z0?$eE1xhH?{T$QI>0JP75`r)U_$#%K1^BQ8z#uciKf(C701&RyLQWBUp*Q7eyn76} z6JHpC9}R$J#(R0cDCkXoFSp;j6{x{b&0yE@P7{;pCEpKjS(+1RQy38`=&Yxo%F=3y zCPeefABp34U-s?WmU#JJw23dcC{sPPFc2#J$ZgEN%zod}J~8dLm*fx9f6SpO zn^Ww3bt9-r0XaT2a@Wpw;C23XM}7_14#%QpubrIw5aZtP+CqIFmsG4`Cm6rfxl9n5 z7=r2C-+lM2AB9X0T_`?EW&Byv&K?HS4QLoylJ|OAF z`8atBNTzJ&AQ!>sOo$?^0xj~D(;kS$`9zbEGd>f6r`NC3X`tX)sWgWUUOQ7w=$TO&*j;=u%25ay-%>3@81tGe^_z*C7pb9y*Ed^H3t$BIKH2o+olp#$q;)_ zfpjCb_^VFg5fU~K)nf*d*r@BCC>UZ!0&b?AGk_jTPXaSnCuW110wjHPPe^9R^;jo3 zwvzTl)C`Zl5}O2}3lec=hZ*$JnkW#7enKKc)(pM${_$9Hc=Sr_A9Biwe*Y=T?~1CK z6eZ9uPICjy-sMGbZl$yQmpB&`ouS8v{58__t0$JP%i3R&%QR3ianbZqDs<2#5FdN@n5bCn^ZtH992~5k(eA|8|@G9u`wdn7bnpg|@{m z^d6Y`*$Zf2Xr&|g%sai#5}Syvv(>Jnx&EM7-|Jr7!M~zdAyjt*xl;OLhvW-a%H1m0 z*x5*nb=R5u><7lyVpNAR?q@1U59 zO+)QWwL8t zyip?u_nI+K$uh{y)~}qj?(w0&=SE^8`_WMM zTybjG=999h38Yes7}-4*LJ7H)UE8{mE(6;8voE+TYY%33A>S6`G_95^5QHNTo_;Ao ztIQIZ_}49%{8|=O;isBZ?=7kfdF8_@azfoTd+hEJKWE!)$)N%HIe2cplaK`ry#=pV z0q{9w-`i0h@!R8K3GC{ivt{70IWG`EP|(1g7i_Q<>aEAT{5(yD z=!O?kq61VegV+st@XCw475j6vS)_z@efuqQgHQR1T4;|-#OLZNQJPV4k$AX1Uk8Lm z{N*b*ia=I+MB}kWpupJ~>!C@xEN#Wa7V+7{m4j8c?)ChV=D?o~sjT?0C_AQ7B-vxqX30s0I_`2$in86#`mAsT-w?j{&AL@B3$;P z31G4(lV|b}uSDCIrjk+M1R!X7s4Aabn<)zpgT}#gE|mIvV38^ODy@<&yflpCwS#fRf9ZX3lPV_?8@C5)A;T zqmouFLFk;qIs4rA=hh=GL~sCFsXHsqO6_y~*AFt939UYVBSx1s(=Kb&5;j7cSowdE;7()CC2|-i9Zz+_BIw8#ll~-tyH?F3{%`QCsYa*b#s*9iCc`1P1oC26?`g<9))EJ3%xz+O!B3 zZ7$j~To)C@PquR>a1+Dh>-a%IvH_Y7^ys|4o?E%3`I&ADXfC8++hAdZfzIT#%C+Jz z1lU~K_vAm0m8Qk}K$F>|>RPK%<1SI0(G+8q~H zAsjezyP+u!Se4q3GW)`h`NPSRlMoBjCzNPesWJwVTY!o@G8=(6I%4XHGaSiS3MEBK zhgGFv6Jc>L$4jVE!I?TQuwvz_%CyO!bLh94nqK11C2W$*aa2ueGopG8DnBICVUORP zgytv#)49fVXDaR$SukloYC3u7#5H)}1K21=?DKj^U)8G;MS)&Op)g^zR2($<>C*zW z;X7`hLxiIO#J`ANdyAOJle4V%ppa*(+0i3w;8i*BA_;u8gOO6)MY`ueq7stBMJTB; z-a0R>hT*}>z|Gg}@^zDL1MrH+2hsR8 zHc}*9IvuQC^Ju)^#Y{fOr(96rQNPNhxc;mH@W*m206>Lo<*SaaH?~8zg&f&%YiOEG zGiz?*CP>Bci}!WiS=zj#K5I}>DtpregpP_tfZtPa(N<%vo^#WCQ5BTv0vr%Z{)0q+ z)RbfHktUm|lg&U3YM%lMUM(fu}i#kjX9h>GYctkx9Mt_8{@s%!K_EI zScgwy6%_fR?CGJQtmgNAj^h9B#zmaMDWgH55pGuY1Gv7D z;8Psm(vEPiwn#MgJYu4Ty9D|h!?Rj0ddE|&L3S{IP%H4^N!m`60ZwZw^;eg4sk6K{ ziA^`Sbl_4~f&Oo%n;8Ye(tiAdlZKI!Z=|j$5hS|D$bDJ}p{gh$KN&JZYLUjv4h{NY zBJ>X9z!xfDGY z+oh_Z&_e#Q(-}>ssZfm=j$D&4W4FNy&-kAO1~#3Im;F)Nwe{(*75(p=P^VI?X0GFakfh+X-px4a%Uw@fSbmp9hM1_~R>?Z8+ ziy|e9>8V*`OP}4x5JjdWp}7eX;lVxp5qS}0YZek;SNmm7tEeSF*-dI)6U-A%m6YvCgM(}_=k#a6o^%-K4{`B1+}O4x zztDT%hVb;v#?j`lTvlFQ3aV#zkX=7;YFLS$uIzb0E3lozs5`Xy zi~vF+%{z9uLjKvKPhP%x5f~7-Gj+%5N`%^=yk*Qn{`> z;xj&ROY6g`iy2a@{O)V(jk&8#hHACVDXey5a+KDod_Z&}kHM}xt7}Md@pil{2x7E~ zL$k^d2@Ec2XskjrN+IILw;#7((abu;OJii&v3?60x>d_Ma(onIPtcVnX@ELF0aL?T zSmWiL3(dOFkt!x=1O!_0n(cAzZW+3nHJ{2S>tgSK?~cFha^y(l@-Mr2W$%MN{#af8J;V*>hdq!gx=d0h$T7l}>91Wh07)9CTX zh2_ZdQCyFOQ)l(}gft0UZG`Sh2`x-w`5vC2UD}lZs*5 zG76$akzn}Xi))L3oGJ75#pcN=cX3!=57$Ha=hQ2^lwdyU#a}4JJOz6ddR%zae%#4& za)bFj)z=YQela(F#Y|Q#dp}PJghITwXouVaMq$BM?K%cXn9^Y@g43$=O)F&ZlOUom zJiad#dea;-eywBA@e&D6Pdso1?2^(pXiN91?jvcaUyYoKUmvl5G9e$W!okWe*@a<^ z8cQQ6cNSf+UPDx%?_G4aIiybZHHagF{;IcD(dPO!#=u zWfqLcPc^+7Uu#l(Bpxft{*4lv#*u7X9AOzDO z1D9?^jIo}?%iz(_dwLa{ex#T}76ZfN_Z-hwpus9y+4xaUu9cX}&P{XrZVWE{1^0yw zO;YhLEW!pJcbCt3L8~a7>jsaN{V3>tz6_7`&pi%GxZ=V3?3K^U+*ryLSb)8^IblJ0 zSRLNDvIxt)S}g30?s_3NX>F?NKIGrG_zB9@Z>uSW3k2es_H2kU;Rnn%j5qP)!XHKE zPB2mHP~tLCg4K_vH$xv`HbRsJwbZMUV(t=ez;Ec(vyHH)FbfLg`c61I$W_uBB>i^r z&{_P;369-&>23R%qNIULe=1~T$(DA`ev*EWZ6j(B$(te}x1WvmIll21zvygkS%vwG zzkR6Z#RKA2!z!C%M!O>!=Gr0(J0FP=-MN=5t-Ir)of50y10W}j`GtRCsXBakrKtG& zazmITDJMA0C51&BnLY)SY9r)NVTMs);1<=oosS9g31l{4ztjD3#+2H7u_|66b|_*O z;Qk6nalpqdHOjx|K&vUS_6ITgGll;TdaN*ta=M_YtyC)I9Tmr~VaPrH2qb6sd~=AcIxV+%z{E&0@y=DPArw zdV7z(G1hBx7hd{>(cr43^WF%4Y@PXZ?wPpj{OQ#tvc$pABJbvPGvdR`cAtHn)cSEV zrpu}1tJwQ3y!mSmH*uz*x0o|CS<^w%&KJzsj~DU0cLQUxk5B!hWE>aBkjJle8z~;s z-!A=($+}Jq_BTK5^B!`R>!MulZN)F=iXXeUd0w5lUsE5VP*H*oCy(;?S$p*TVvTxwAeWFB$jHyb0593)$zqalVlDX=GcCN1gU0 zlgU)I$LcXZ8Oyc2TZYTPu@-;7<4YYB-``Qa;IDcvydIA$%kHhJKV^m*-zxcvU4viy&Kr5GVM{IT>WRywKQ9;>SEiQD*NqplK-KK4YR`p0@JW)n_{TU3bt0 zim%;(m1=#v2}zTps=?fU5w^(*y)xT%1vtQH&}50ZF!9YxW=&7*W($2kgKyz1mUgfs zfV<*XVVIFnohW=|j+@Kfo!#liQR^x>2yQdrG;2o8WZR+XzU_nG=Ed2rK?ntA;K5B{ z>M8+*A4!Jm^Bg}aW?R?6;@QG@uQ8&oJ{hFixcfEnJ4QH?A4>P=q29oDGW;L;= z9-a0;g%c`C+Ai!UmK$NC*4#;Jp<1=TioL=t^YM)<<%u#hnnfSS`nq63QKGO1L8RzX z@MFDqs1z ztYmxDl@LU)5acvHk)~Z`RW7=aJ_nGD!mOSYD>5Odjn@TK#LY{jf?+piB5AM-CAoT_ z?S-*q7}wyLJzK>N%eMPuFgN)Q_otKP;aqy=D5f!7<=n(lNkYRXVpkB{TAYLYg{|(jtRqYmg$xH zjmq?B(RE4 zQx^~Pt}gxC2~l=K$$-sYy_r$CO(d=+b3H1MB*y_5g6WLaWTXn+TKQ|hNY^>Mp6k*$ zwkovomhu776vQATqT4blf~g;TY(MWCrf^^yfWJvSAB$p5l;jm@o#=!lqw+Lqfq>X= z$6~kxfm7`3q4zUEB;u4qa#BdJxO!;xGm)wwuisj{0y2x{R(IGMrsIzDY9LW>m!Y`= z04sx3IjnYvL<4JqxQ8f7qYd0s2Ig%`ytYPEMKI)s(LD}D@EY>x`VFtqvnADNBdeao zC96X+MxnwKmjpg{U&gP3HE}1=s!lv&D{6(g_lzyF3A`7Jn*&d_kL<;dAFx!UZ>hB8 z5A*%LsAn;VLp>3${0>M?PSQ)9s3}|h2e?TG4_F{}{Cs>#3Q*t$(CUc}M)I}8cPF6% z=+h(Kh^8)}gj(0}#e7O^FQ6`~fd1#8#!}LMuo3A0bN`o}PYsm!Y}sdOz$+Tegc=qT z8x`PH$7lvnhJp{kHWb22l;@7B7|4yL4UOOVM0MP_>P%S1Lnid)+k9{+3D+JFa#Pyf zhVc#&df87APl4W9X)F3pGS>@etfl=_E5tBcVoOfrD4hmVeTY-cj((pkn%n@EgN{0f zwb_^Rk0I#iZuHK!l*lN`ceJn(sI{$Fq6nN& zE<-=0_2WN}m+*ivmIOxB@#~Q-cZ>l136w{#TIJe478`KE7@=a{>SzPHsKLzYAyBQO zAtuuF$-JSDy_S@6GW0MOE~R)b;+0f%_NMrW(+V#c_d&U8Z9+ec4=HmOHw?gdjF(Lu zzra83M_BoO-1b3;9`%&DHfuUY)6YDV21P$C!Rc?mv&{lx#f8oc6?0?x zK08{WP65?#>(vPfA-c=MCY|%*1_<3D4NX zeVTi-JGl2uP_2@0F{G({pxQOXt_d{g_CV6b?jNpfUG9;8yle-^4KHRvZs-_2siata zt+d_T@U$&t*xaD22(fH(W1r$Mo?3dc%Tncm=C6{V9y{v&VT#^1L04vDrLM9qBoZ4@ z6DBN#m57hX7$C(=#$Y5$bJmwA$T8jKD8+6A!-IJwA{WOfs%s}yxUw^?MRZjF$n_KN z6`_bGXcmE#5e4Ym)aQJ)xg3Pg0@k`iGuHe?f(5LtuzSq=nS^5z>vqU0EuZ&75V%Z{ zYyhRLN^)$c6Ds{f7*FBpE;n5iglx5PkHfWrj3`x^j^t z7ntuV`g!9Xg#^3!x)l*}IW=(Tz3>Y5l4uGaB&lz{GDjm2D5S$CExLT`I1#n^lBH7Y zDgpMag@`iETKAI=p<5E#LTkwzVR@=yY|uBVI1HG|8h+d;G-qfuj}-ZR6fN>EfCCW z9~wRQoAPEa#aO?3h?x{YvV*d+NtPkf&4V0k4|L=uj!U{L+oLa(z#&iuhJr3-PjO3R z5s?=nn_5^*^Rawr>>Nr@K(jwkB#JK-=+HqwfdO<+P5byeim)wvqGlP-P|~Nse8=XF zz`?RYB|D6SwS}C+YQv+;}k6$-%D(@+t14BL@vM z2q%q?f6D-A5s$_WY3{^G0F131bbh|g!}#BKw=HQ7mx;Dzg4Z*bTLQSfo{ed{4}NZW zfrRm^Ca$rlE{Ue~uYv>R9{3smwATcdM_6+yWIO z*ZRH~uXE@#p$XTbCt5j7j2=86e{9>HIB6xDzV+vAo&B?KUiMP|ttOElepnl%|DPqL b{|{}U^kRn2wo}j7|0ATu<;8xA7zX}7|B6mN literal 0 HcmV?d00001 diff --git a/public/manifest.json b/public/manifest.json new file mode 100644 index 0000000..080d6c7 --- /dev/null +++ b/public/manifest.json @@ -0,0 +1,25 @@ +{ + "short_name": "React App", + "name": "Create React App Sample", + "icons": [ + { + "src": "favicon.ico", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" + }, + { + "src": "logo192.png", + "type": "image/png", + "sizes": "192x192" + }, + { + "src": "logo512.png", + "type": "image/png", + "sizes": "512x512" + } + ], + "start_url": ".", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff" +} diff --git a/public/robots.txt b/public/robots.txt new file mode 100644 index 0000000..e9e57dc --- /dev/null +++ b/public/robots.txt @@ -0,0 +1,3 @@ +# https://www.robotstxt.org/robotstxt.html +User-agent: * +Disallow: diff --git a/src/.prettierrc.js b/src/.prettierrc.js new file mode 100644 index 0000000..cd1da4a --- /dev/null +++ b/src/.prettierrc.js @@ -0,0 +1,10 @@ +module.exports = { + semi: true, + printWidth: 120, + endOfLine: 'auto', + singleQuote: true, + useTabs: false, + tabWidth: 2, + trailingComma: 'all', + arrowParens: 'always', +}; diff --git a/src/App.css b/src/App.css new file mode 100644 index 0000000..93682d5 --- /dev/null +++ b/src/App.css @@ -0,0 +1,48 @@ +@import url('./reset.css'); +@import url('./global.css'); + +/* Outlet Layout */ +.outlet-layout-false, +.outlet-layout-true { + margin-top: 56px; + margin-left: 250px; +} + +@media (min-width: 1300px) { + .outlet-layout-true { + margin-left: 72px; + } +} + +@media (min-width: 792px) and (max-width: 1300px) { + .outlet-layout-false, + .outlet-layout-true { + margin-left: 72px; + } +} + +@media (max-width: 792px) { + .outlet-layout-false, + .outlet-layout-true { + margin-left: 0; + } +} + +/* Scroll */ + +::-webkit-scrollbar { + width: 9px; +} + +::-webkit-scrollbar-thumb { + border-radius: 5px; + background-color: #aaa; +} + +::-webkit-scrollbar-thumb:hover { + background-color: #717171; +} + +::-webkit-scrollbar-track { + background-color: #000; +} diff --git a/src/App.js b/src/App.js new file mode 100644 index 0000000..5dabcf5 --- /dev/null +++ b/src/App.js @@ -0,0 +1,32 @@ +import './App.css'; + +import React, { useState } from 'react'; +import { Outlet, useLocation } from 'react-router-dom'; +import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; + +// components +import Header from './components/Header/Header'; +import Sidebar from './components/Sidebar/Sidebar'; + +const queryClient = new QueryClient(); +function App() { + // 페이지별 사이드바 + let location = useLocation(); + // 반응형 사이드바 + const [menuDrop, setMenuDrop] = useState(false); + return ( + <> + +
+
+ {location.pathname === '/watch/:videoId' ? null : } +
+ +
+
+ + + ); +} + +export default App; diff --git a/src/App.test.js b/src/App.test.js new file mode 100644 index 0000000..1f03afe --- /dev/null +++ b/src/App.test.js @@ -0,0 +1,8 @@ +import { render, screen } from '@testing-library/react'; +import App from './App'; + +test('renders learn react link', () => { + render(); + const linkElement = screen.getByText(/learn react/i); + expect(linkElement).toBeInTheDocument(); +}); diff --git a/src/Router.jsx b/src/Router.jsx new file mode 100644 index 0000000..8354acc --- /dev/null +++ b/src/Router.jsx @@ -0,0 +1,31 @@ +import { createBrowserRouter } from 'react-router-dom'; +import App from './App'; +import NotFound from './pages/NotFound'; +import Videos from './pages/Videos'; +import VideoDetail from './pages/VideoDetail/VideoDetail'; +import VideoSearch from './pages/VideoSearch/VideoSearch'; + +//라우터 구조 +// +// / 👉 +// /watch 👉 +// /watch/id 👉 : 비디오 상세페이지 +// /results 👉 +// /results/query 👉 : 검색페이지 + +const router = createBrowserRouter([ + { + path: '/', + element: , + errorElement: , + children: [ + { index: true, element: }, + { path: 'watch', element: }, + { path: 'watch/:videoId', element: }, + { path: 'results', element: }, + { path: 'results/:keyword', element: }, + ], + }, +]); + +export default router; diff --git a/src/api/FakeYoutubeApi.js b/src/api/FakeYoutubeApi.js new file mode 100644 index 0000000..530ae2f --- /dev/null +++ b/src/api/FakeYoutubeApi.js @@ -0,0 +1,42 @@ +import axios from 'axios'; + +export async function search() { + return axios.get(`/data/search.json`).then((res) => res.data.items); +} + +// 채널정보 +export async function channels() { + return axios.get(`/data/channel.json`).then((res) => res.data.items[0].snippet.thumbnails.default.url); +} + +// 조회수,좋아요 정보 +export async function videoInfo() { + return axios.get(`/data/hyewonTest.json`).then((res) => res.data.items[0].statistics); +} + +// 동영상 재생 정보 +export async function contentDetails() { + return axios.get(`/data/hyewonTest.json`).then((res) => res.data.items[0].contentDetails); +} + +export async function VideoComment() { + return axios.get(`/data/VideoComment.json`).then((res) => res.data); +} +export async function videoDataInfo() { + return axios.get(`/data/hyewonTest.json`).then((res) => res.data.items[0]); +} +// export async function relatedVideoList() { +// return axios.get(`/data/relatedVideoList.json`).then((res) => res.data.items); +// } +// export async function videoDetailInfo() { +// return axios.get(`/data/videoInfo.json`).then((res) => res.data.items); +// } +// export async function videoInfoData(videoId) { +// return axios.get(`/data/videoInfo.json`).then((res) => { +// res.data.items.map((item) => { +// if(item.id === videoId){ +// return +// } +// }) +// }) +// } diff --git a/src/api/axios.js b/src/api/axios.js new file mode 100644 index 0000000..668feac --- /dev/null +++ b/src/api/axios.js @@ -0,0 +1,8 @@ +import axios from 'axios'; + +const instance = axios.create({ + baseURL: 'https://youtube.googleapis.com/youtube/v3', + params: { key: process.env.REACT_APP_YOUTUBE_API_KEY }, +}); + +export default instance; diff --git a/src/api/youtube.js b/src/api/youtube.js new file mode 100644 index 0000000..e6fe331 --- /dev/null +++ b/src/api/youtube.js @@ -0,0 +1,38 @@ +import axios from './axios'; + +// 검색 api +export const searchByKeyword = async (keyword) => { + const response = await axios.get('/search', { + params: { + part: 'snippet', + maxResults: 25, + q: keyword, + }, + }); + return response.data.items; +}; + +// 채널정보 api +export const channelImage = async (id) => { + const response = await axios.get('/channels', { + params: { + part: 'snippet', + id, + }, + }); + return response.data.items[0].snippet.thumbnails.default.url; +}; + +// 조회수 api +export const getViewCount = async (videoId) => { + const response = await axios.get('/videos', { + params: { + part: 'snippet', + part: 'contentDetails', + part: 'player', + part: 'statistics', + id: videoId, + }, + }); + return response.data.items[0].statistics; +}; diff --git a/src/assets/images/no-result.png b/src/assets/images/no-result.png new file mode 100644 index 0000000000000000000000000000000000000000..a9188ceba17d7b12d719dc65dbb8fcf08502aeb7 GIT binary patch literal 219633 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

(w^XBWCnZ%J+u=ayxiR>v0+B5d6K2wD%o= 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

s6jU~99vMM^{MvxvQU6s3F8b61ZRH9X-x@N8DK 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

xK6| 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∨4 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

Z9{4`fg#VE;-gaNh(5v%@-wW+Yqm`)QJg=r$ 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 Y@_32BHxoJ-u3XVpH+Wc~Y8(3h0OnmS_5c6? literal 0 HcmV?d00001 diff --git a/src/assets/images/userImage.png b/src/assets/images/userImage.png new file mode 100644 index 0000000000000000000000000000000000000000..54c13a45c4a84f222ebd1f6751e543c9dc02ef7b GIT binary patch literal 2805 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 Hu0mjf6R3f@ literal 0 HcmV?d00001 diff --git a/src/components/ChannelInfo/ChannelInfo.jsx b/src/components/ChannelInfo/ChannelInfo.jsx new file mode 100644 index 0000000..6b250ef --- /dev/null +++ b/src/components/ChannelInfo/ChannelInfo.jsx @@ -0,0 +1,18 @@ +import { useQuery } from '@tanstack/react-query'; +import React from 'react'; +import { channels } from '../../api/FakeYoutubeApi'; +import { channelImage } from '../../api/youtube'; +import styles from './ChannelInfo.module.scss'; + +export default function ChannelInfo({ channelId, title }) { + const { data: channelUrl } = useQuery(['channel', channelId], () => channels(channelId), { + staleTime: 1000 * 60 * 5, + }); + + return ( +

+ {channelUrl && {title}} + {title &&

{title}

} +
+ ); +} diff --git a/src/components/ChannelInfo/ChannelInfo.module.scss b/src/components/ChannelInfo/ChannelInfo.module.scss new file mode 100644 index 0000000..e0b8985 --- /dev/null +++ b/src/components/ChannelInfo/ChannelInfo.module.scss @@ -0,0 +1,17 @@ +.channel { + display: flex; + margin-top: 1rem; + margin-bottom: 1rem; + align-items: center; + color: var(--color-light-gray); + + .img { + width: 1.5rem; + height: 1.5rem; + border-radius: 50%; + } + .title { + font-size: 0.9rem; + margin-left: 0.5rem; + } +} diff --git a/src/components/CommentCard/CommentCard.jsx b/src/components/CommentCard/CommentCard.jsx new file mode 100644 index 0000000..ba5f2a7 --- /dev/null +++ b/src/components/CommentCard/CommentCard.jsx @@ -0,0 +1,56 @@ +import React from 'react'; +import { timeFormat } from '../../util/date'; +import styles from './CommentCard.module.scss'; + +export default function CommentCard({ comment }) { + const { authorProfileImageUrl, authorDisplayName, updatedAt, textDisplay, likeCount } = + comment.snippet.topLevelComment.snippet; + + return ( +
  • +
    +
    + user avatar +
    +
    +
    +

    {authorDisplayName}

    + + {timeFormat(updatedAt)} +
    +

    {textDisplay}

    +
    +
    +
    +
    + + + + {likeCount} +
    +
    + + + +
    + REPLY +
    +
  • + ); +} diff --git a/src/components/CommentCard/CommentCard.module.scss b/src/components/CommentCard/CommentCard.module.scss new file mode 100644 index 0000000..cc95123 --- /dev/null +++ b/src/components/CommentCard/CommentCard.module.scss @@ -0,0 +1,54 @@ +.CommentBoxContainer { + display: flex; + + .CommentAvatarContainer { + display: flex; + img { + width: 40px; + height: 40px; + margin-right: 2rem; + border-radius: 50%; + } + } + .CommentTextContainer { + width: 100%; + overflow: hidden; + font-size: 13.5px; + .CommentAuthorName { + display: flex; + flex-direction: row; + font-weight: 700; + padding: 0 10px 10px 0; + span { + padding: 0 0.8rem; + font-weight: 400; + color: #aaa; + font-size: 95%; + } + .CommentText { + margin-top: 10px; + padding: 1rem 0; + font-size: 105%; + } + } + } +} + +.comment_buttons { + margin-left: 70px; + width: 100%; + padding-top: 0.5rem; + display: flex; + div { + margin-right: 1rem; + display: flex; + justify-content: center; + align-items: center; + } + .muted { + margin-left: 5px; + font-size: 13px; + color: #aaa; + font-weight: 700; + } +} diff --git a/src/components/Comments/Comments.jsx b/src/components/Comments/Comments.jsx new file mode 100644 index 0000000..7e81489 --- /dev/null +++ b/src/components/Comments/Comments.jsx @@ -0,0 +1,30 @@ +import React from 'react'; +import { VideoComment } from '../../api/FakeYoutubeApi'; +import styles from './Comments.module.scss'; +import { format, register } from 'timeago.js'; +import koLocale from 'timeago.js/lib/lang/ko'; +import { useQuery } from '@tanstack/react-query'; +import CommentCard from '../CommentCard/CommentCard'; + +register('ko', koLocale); +const Comments = ({ videoId: id }) => { + // console.log('id', id); + const { isLoading, data: comments } = useQuery(['comments', id], () => VideoComment(id)); + + if (isLoading) return; + + const { items } = comments; + + return ( +
    +

    {items.length} Comments

    +
    + {items.map((comment, index) => ( + + ))} +
    +
    + ); +}; + +export default Comments; diff --git a/src/components/Comments/Comments.module.scss b/src/components/Comments/Comments.module.scss new file mode 100644 index 0000000..7992bea --- /dev/null +++ b/src/components/Comments/Comments.module.scss @@ -0,0 +1,26 @@ +// * { +// position: relative; +// margin: 0; +// padding: 0; +// box-sizing: border-box; +// } + +.CommentContainer { + margin-top: 100px; + margin-left: 50px; + position: relative; + width: 70%; + display: flex; + flex-direction: column; + overflow: hidden; + color: var(--color-white); + + .CommentBox { + li { + display: flex; + padding: 1.5em; + // height: 200px; + flex-direction: column; + } + } +} diff --git a/src/components/Header/Header.jsx b/src/components/Header/Header.jsx new file mode 100644 index 0000000..88e237d --- /dev/null +++ b/src/components/Header/Header.jsx @@ -0,0 +1,108 @@ +import React, { useEffect, useState } from 'react'; +import { Link, useNavigate, useParams } from 'react-router-dom'; +import styles from './Header.module.scss'; +import { Tooltip } from 'react-tooltip'; +import 'react-tooltip/dist/react-tooltip.css'; +import { useMediaQuery } from 'react-responsive'; + +//Components +import SidebarModal from '../Sidebar/SidebarModal'; + +// img and icons +import logo from './assets/logo.png'; +import { BsList, BsBell } from 'react-icons/bs'; +import { RiVideoAddLine, RiMicFill } from 'react-icons/ri'; +import { FaUserAlt } from 'react-icons/fa'; +import { IoSearchOutline } from 'react-icons/io5'; + +export default function Header({ setMenuDrop }) { + const { keyword } = useParams(); + const [text, setText] = useState(''); + const navigate = useNavigate(); + const [modal, setModal] = useState(false); + + // 리액트 반응형 + const Desktop = ({ children }) => { + const isDesktop = useMediaQuery({ minWidth: 1300 }); + return isDesktop ? children : null; + }; + const TabletAndMobile = ({ children }) => { + const isTablet = useMediaQuery({ maxWidth: 1299 }); + return isTablet ? children : null; + }; + + // 데스크탑 사이즈, 메뉴 버튼 클릭 + const menuBtnClick = (e) => { + setMenuDrop((e) => !e); + }; + + // 태블릿과 모바일 사이즈, 메뉴 버튼 클릭 + const printModal = (e) => { + setModal((e) => !e); + }; + + // input 검색어 + const handleSumbit = (event) => { + event.preventDefault(); + navigate(`results/${text}`); + }; + + useEffect(() => setText(keyword || ''), [keyword]); + + return ( + <> +
    +
    + + + + + + {modal ? : null} + + + youtube logo + KR + +
    +
    +
    +
    + setText(event.target.value)} + /> + +
    +
    + + + + +
    +
    + + + + + +
    +
    + + ); +} diff --git a/src/components/Header/Header.module.scss b/src/components/Header/Header.module.scss new file mode 100644 index 0000000..386c7e7 --- /dev/null +++ b/src/components/Header/Header.module.scss @@ -0,0 +1,216 @@ +button { + cursor: pointer; +} + +header { + position: fixed; + z-index: 1020; + display: flex; + justify-content: space-between; + align-items: center; + + width: 100%; + height: 56px; + padding-right: 16px; + background-color: var(--color-black); + + .headerLeftLogomenu { + z-index: 1030; + display: flex; + align-items: center; + width: 250px; + padding-left: 16px; + background-color: var(--color-black); + + .logo { + position: relative; + + &, + img { + width: 120px; + height: 56px; + } + + img { + padding: 18px 14px 18px 16px; + } + sup { + position: absolute; + top: 20%; + right: 1px; + + color: var(--color-light-gray); + font-size: 10px; + } + } + } + + .headerIcon { + display: block; + width: 40px; + height: 40px; + padding: 8px; + color: var(--color-white); + border-radius: 50%; + cursor: pointer; + + &.voice { + padding: 10px; + background-color: var(--color-dark-gray); + } + + &:hover { + background-color: var(--color-dark-gray); + } + + &.search:hover { + background-color: transparent; + } + } + + .headerSearch { + display: flex; + flex: 1; + justify-content: center; + align-items: center; + max-width: 540px; + + form { + position: relative; + width: 100%; + max-width: 540px; + border-radius: 40px 0 0 40px; + + .inputWrap { + display: flex; + align-items: center; + + max-width: 503px; + height: 40px; + margin-left: 32px; + padding: 0px 4px 0px 16px; + + border: 1px solid var(--color-semi-dark-gray); + border-right: none; + border-radius: 40px 0 0 40px; + background-color: var(--color-black); + + color: var(--color-white); + + input { + width: 100%; + color: var(--color-white); + + &:focus { + outline: none; + } + } + + .keyboard { + width: 40px; + height: 30px; + background-color: var(--color-black); + + &:hover { + filter: brightness(140%); + } + } + } + + &:focus-within { + border: 1px solid #1c62b9; + .inputWrap { + margin-left: 0px; + padding-left: 48px; + } + } + + &:focus-within::before { + position: absolute; + top: 50%; + left: 20px; + transform: translateY(-50%); + content: ''; + display: block; + width: 12px; + height: 12px; + background: var(--color-black) url('./assets/formFocusIcon.svg') no-repeat 0; + z-index: 10; + } + } + + .headerSearchZoombtn { + width: 60px; + height: 40px; + margin-right: 10px; + padding: 1px 8px; + border: 1px solid var(--color-semi-dark-gray); + border-radius: 0 40px 40px 0; + background-color: var(--color-dark-gray); + } + } + + .headerRightBtns { + display: flex; + justify-content: flex-end; + align-items: center; + gap: 5px; + width: 225px; + height: 40px; + + .headerIcon { + padding: 10px; + + &.user { + width: 34px; + height: 34px; + margin: 0 12px 0 17px; + padding: 6px 0; + background-color: var(--color-semi-dark-gray); + } + } + } + + .tooltip { + font-size: 12px; + opacity: 70%; + } + + @media (max-width: 636px) { + form { + display: none; + } + + .headerIcon { + &.voice { + border-radius: 0; + } + } + + .headerSearch { + justify-content: flex-end; + + .headerSearchZoombtn { + width: fit-content; + margin-right: 0; + padding: 0; + border: none; + border-radius: none; + background-color: transparent; + } + } + + .headerRightBtns { + width: fit-content; + } + } + + @media (max-width: 428px) { + .headerIcon { + &.voice, + &.notice { + display: none; + } + } + } +} diff --git a/src/components/Header/assets/formFocusIcon.svg b/src/components/Header/assets/formFocusIcon.svg new file mode 100644 index 0000000..b03a394 --- /dev/null +++ b/src/components/Header/assets/formFocusIcon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/components/Header/assets/logo.png b/src/components/Header/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..64d91a3e83fc4e9cb61c6fa227df7929044deea1 GIT binary patch literal 7438 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

    YJ^~_01e24{O#Xkp>|4Ept|ql zJu)#kJw3>-Zc>F^?zvGX`c$hf9WzYv$CLoSp|eGupGlb~jD@OSnyBioMAJ{^l`=q{ z5C$sjx^5w78s@Q~tEER=gkjpTkvqQs@)T!yLjvwx84{BkK^H*}>Ed)xUS@p`0L{^> za8zSo=aJdo(|2bE-ACL<NgCYRt^H2oR z$9o(tfdkS}FB5H^BbOfdGPqLT1Au6&Xc9I@(G?>msyGE{eIXgD*45xlXJ z`QN0_bAtAJZr?})Kn@rZg?#&+T~56{rH`BP*Kb=I^s5!i;D4yR9`zhJLk97F{r^rdChzI- zPk)x94EpD5YP>;$1T%CPIN&dp894ypPDtmM92JZ!kN=rPQt2|DH7um~3PZ3@*E302 z8gjj5{=?iEi`Oy%5Q&vUoJi4Zsr5M7CKYA$t^H`X7Z(8V<4@`SuyDci{x1CBH87@6 zAjVf5Aaz-}ak}(zugd$Rqo$1&NHkzEB(HyXkOTLWW0XogrG`U)NK>UpNZ_40a>N}X zP}%GlbuxhFu*N@3#S>ByO5!D9Rbldc7n^n`KV=JVIoh1`djf`Yq9kcZ9|omOT8e0z{F68Xx@-G=y^SlIe}sUfbx<02mp^*yw9TC5GnLq@ojhzu|d_^`{BJ^ z8C3)wR2Nl2)sI(75COayhl^=Izd`cy z?`7^>%_yBJIr+U38a-`}UjM*saa|g~cXae%<;2L)s3rF`>8tw%WFa;2?ur;7=zI9Z z%RPk!@OtCO@%I~91`Sygna8wvZ*~CA%ue&0>(&C<7i=2MpXF&S>!#(Cr zVDnh=-GxaL4WtvXct_=y)iX3!u8d{E!!&{935}@?wE+h=h$c&W8M4vH_bG?Zmkml0 zZNQ-#b;pL?!`?S5pf_feGvX2L%e~XeDqSXsZif5`Q#xSSf4K9O{LPn6fWkZ zOU$)0=_{AudoK0Lepe%vH(guBuLzAF$Q=rc7SCCIk(#UJjXm`q9Y$F~?(;q&!vsD1 z0?uzOrpbbIFWib0F-`CguI=V(Ggs4c&Bv`y^Wvr7%qSty=Kxu7EaRCyGqWvk7+aV`-$-7sbjem6%Q#}o5WfE< zProH!9aC;4)WW^ObW7|6TW`HgBJQBQ!`=c}r7})YZTzt0$C!CKT>0s;9XH3XfT%;U zP2sZCF8XkCuh{PhiOG|^BZ_hX1wSd@_jYN?C_o_nV`6(8v-(1cn!YD~7tQu(ipMWR`6agP<;>g~OnFNB9gqEY z!b)#D`$In66t!~t$j0>5%n*-dWI?f*j6kK!J;9 zv{Vkhbx#~e!;HLI zZt!wEO8>qt@}-m9G$H9g*qvi!ft){_Hw2M(&Hh)y?M6Yd))A(7!b(1}m8{ba>8?np4yFL3@gc&j;^JH#&ccUCMDfgnynQ5Z^U4k5y(LL zffsohc{GwP9(5(3v9-Lmf60^N3tI)Pi#;qCm5HVsKR0ZOP@|eXkr`lvLP z_lXh7YQiXKD%;=h8^wnq2%=}2fn?9@4-W26Gc@5c!!_NG*$~%KroiG>{leD|}pW1NK%}+=R4X z17@YCfzMZ*Cg+jkrPO?XF56Z=Bn`AD^&SfO7D?-$yjJIb+H?}=viJSfv$r!W3Y0B%C(mhMll@S}*qM)<7bz?&#>t&FzlxkfmA6|#OcGl}{O38m0@t6E> z(Bn6*oSb+SSp5i|QlVYQD;zGU#-I&s_8$M$}l72C}d1MkEUe-hDT@wyx+%&9498u54ixKmY)-&X_{6yk>g+lR4iD zYt12%h { + // console.log('id:', id); + return ( +

    + +
    + ); +}; +export default Player; diff --git a/src/components/Player/Player.module.scss b/src/components/Player/Player.module.scss new file mode 100644 index 0000000..69d93dd --- /dev/null +++ b/src/components/Player/Player.module.scss @@ -0,0 +1,6 @@ +.wrapper { + background-color: var(--color-dark); + max-width: 1280px; + height: 450px; + margin: 20px 0; +} diff --git a/src/components/RelatedVideoInVideoDetail/RelatedVideoInVideoDetail.jsx b/src/components/RelatedVideoInVideoDetail/RelatedVideoInVideoDetail.jsx new file mode 100644 index 0000000..0520530 --- /dev/null +++ b/src/components/RelatedVideoInVideoDetail/RelatedVideoInVideoDetail.jsx @@ -0,0 +1,55 @@ +import React from 'react'; +import RelatedVideo from './relatedVideo.json'; +import VideoInfo from './videoInfo.json'; +import styles from './RelatedVideoInVideoDetail.module.scss'; +import { format, register } from 'timeago.js'; +import koLocale from 'timeago.js/lib/lang/ko'; + +register('ko', koLocale); +const formatDuration = (duration) => { + let arr = (duration || '').split(''); + let output = ''; + for (let i = 0; i < arr.length; i++) { + if (!isNaN(arr[i])) { + output += arr[i]; + } else if (isNaN(arr[i]) && !isNaN(arr[i + 1]) && !isNaN(arr[i - 1])) { + output += ':'; + } + } + return output; +}; +const RelatedVideoInVideoDetail = () => { + return ( + + ); +}; + +export default RelatedVideoInVideoDetail; diff --git a/src/components/RelatedVideoInVideoDetail/RelatedVideoInVideoDetail.module.scss b/src/components/RelatedVideoInVideoDetail/RelatedVideoInVideoDetail.module.scss new file mode 100644 index 0000000..033c950 --- /dev/null +++ b/src/components/RelatedVideoInVideoDetail/RelatedVideoInVideoDetail.module.scss @@ -0,0 +1,77 @@ +.relatedVideoContainer { + margin-top: 50px; + width: 100%; + .relatedList { + display: flex; + flex-direction: column; + .videoCard { + padding: 10px; + box-sizing: border-box; + a { + width: 100%; + height: 100%; + text-decoration: none; + color: inherit; + display: flex; + flex-direction: row; + .videoPreviewContainer { + width: 140px; + max-width: 140px; + height: 80px; + position: relative; + img { + margin: 0; + padding: 0; + width: 100%; + height: 100%; + object-fit: cover; + } + .videoDuration { + color: #fff; + padding: 3px 4px; + background-color: #000c; + position: absolute; + bottom: 5px; + right: 5px; + font-weight: 600; + font-size: 90%; + display: flex; + justify-content: center; + align-items: center; + } + } + .videoInfoContainer { + width: 60%; + padding-left: 1rem; + font-size: 85%; + display: flex; + flex-direction: column; + position: relative; + color: var(--color-white); + h3 { + font-size: 14px; + padding: 0 1rem 0 0; + line-height: 150%; + } + .channelName { + line-height: 150%; + font-size: 12px; + color: #aaa; + &:hover, + &:focus { + color: var(--color-white); + } + } + .videoMetaData { + color: #aaa; + + .videoViewPoint { + line-height: 150%; + font-size: 12px; + } + } + } + } + } + } +} diff --git a/src/components/RelatedVideoInVideoDetail/relatedVideo.json b/src/components/RelatedVideoInVideoDetail/relatedVideo.json new file mode 100644 index 0000000..f3dd4e8 --- /dev/null +++ b/src/components/RelatedVideoInVideoDetail/relatedVideo.json @@ -0,0 +1,1635 @@ +{ + "kind": "youtube#videoListResponse", + "etag": "VXUPcSnS-DmkoPpoxyIJZw9Dy5U", + "items": [ + { + "kind": "youtube#video", + "etag": "KHedm2P0-R17CdL2DNyfO6pC9W0", + "id": "-EXQtU80q1M", + "snippet": { + "publishedAt": "2023-01-18T17:00:00Z", + "channelId": "UCXlfi8sf6cKGQ8sOd0-yRuw", + "title": "Ken Block Tribute Video and Update, from the Hoonigans.", + "description": "The 43 Institute was established to honor Ken Block's memory and spirit. For more information, please visit http://43i.org\n\n00:00 An Update\n04:30 A Celebration of Ken’s Life\n10:15 Words to Live By", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/-EXQtU80q1M/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/-EXQtU80q1M/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/-EXQtU80q1M/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/-EXQtU80q1M/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/-EXQtU80q1M/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Hoonigan", + "tags": [ + "Hoonigan", + "hoonegan", + "Ken Block", + "hoon", + "hooning", + "cars", + "ken block tribute", + "ken block gymkhana", + "ken block mustang", + "hoonigan racing division", + "ken block hoonigan", + "honigan", + "43 institute", + "Кен Блок", + "hoonigans", + "kblock43", + "Lia Block", + "ken block rip" + ], + "categoryId": "22", + "liveBroadcastContent": "none", + "defaultLanguage": "en", + "localized": { + "title": "Ken Block Tribute Video and Update, from the Hoonigans.", + "description": "The 43 Institute was established to honor Ken Block's memory and spirit. For more information, please visit http://43i.org\n\n00:00 An Update\n04:30 A Celebration of Ken’s Life\n10:15 Words to Live By" + }, + "defaultAudioLanguage": "en-US" + } + }, + { + "kind": "youtube#video", + "etag": "M2_S8jaMmeXuETO7RJ5DnJFj3rE", + "id": "-e1_QhJ1EhQ", + "snippet": { + "publishedAt": "2023-01-18T15:00:03Z", + "channelId": "UC7vVhkEfw4nOGp8TyDk7RcQ", + "title": "Atlas Gets a Grip | Boston Dynamics", + "description": "It’s time for Atlas to pick up a new set of skills and get hands on. In this video, the humanoid robot manipulates the world around it: Atlas interacts with objects and modifies the course to reach its goal—pushing the limits of locomotion, sensing, and athleticism.\n\nTo learn how we go from idea to execution, go being the scenes with our team: https://youtu.be/XPVC4IyRTG8\n\n#BostonDynamics #Robots #Robotics", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/-e1_QhJ1EhQ/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/-e1_QhJ1EhQ/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/-e1_QhJ1EhQ/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/-e1_QhJ1EhQ/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/-e1_QhJ1EhQ/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Boston Dynamics", + "tags": [ + "boston dynamics", + "boston dynamics robot", + "boston dynamics atlas", + "boston dynamics parkour", + "atlas", + "atlas robot", + "atlas parkour", + "partners in parkour", + "what's new atlas", + "atlas gets a grip", + "atlas picks things up" + ], + "categoryId": "28", + "liveBroadcastContent": "none", + "defaultLanguage": "en", + "localized": { + "title": "Atlas Gets a Grip | Boston Dynamics", + "description": "It’s time for Atlas to pick up a new set of skills and get hands on. In this video, the humanoid robot manipulates the world around it: Atlas interacts with objects and modifies the course to reach its goal—pushing the limits of locomotion, sensing, and athleticism.\n\nTo learn how we go from idea to execution, go being the scenes with our team: https://youtu.be/XPVC4IyRTG8\n\n#BostonDynamics #Robots #Robotics" + } + } + }, + { + "kind": "youtube#video", + "etag": "7cVUPQEUjnPFI9xcMM3RtLentBM", + "id": "oBrkbWSB3Ls", + "snippet": { + "publishedAt": "2023-01-18T15:00:01Z", + "channelId": "UC2qWxZHgnlwDvcmLqP23jrA", + "title": "Fall Out Boy - Love From The Other Side (Official Video)", + "description": "\"Love From The Other Side\" out now: https://FallOutBoy.lnk.to/lovefromtheotherside\n\nNew album 'So Much (For) Stardust' out March 24th on Fueled By Ramen/DCD2: https://FallOutBoy.lnk.to/somuchforstardust\n\nLimited box sets with new merch, signed CDs and four exclusive vinyl colors are available for pre-order now in our webstore https://FallOutBoy.lnk.to/store\n\n✨ lots more to come soon ✨\n\nFOLLOW FALL OUT BOY\n\nhttps://falloutboy.com/\nhttps://instagram.com/falloutboy \nhttps://www.tiktok.com/@falloutboy\nhttps://twitter.com/falloutboy \nhttps://facebook.com/falloutboy \n\nLYRICS\n\nModel house life meltdown\nStill a modern dream let down\nIt kills me you know I’m dying out here\nWhat would you trade the pain for?\nI’m not sure\n\nWe were a hammer to the Statue of David\nWe were a painting you could never frame and\nYou were the sunshine\nOf my lifetime\nWhat would you trade the pain for?\n\nThis city always hangs a little bit lonely on me\nLoose\nLike a kid playing pretend in his father’s suit\nI’d never go, I just want to be invited \nOh\nGot to give up\nGet the feeling\nGet the feeling\nDon’t fight it\nFight it\n\nSending my love from the other side of the apocalypse \nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\nLove from the other side of the apocalypse\nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\n\nGeneration sleep I’m falling in and out of love\nI’m getting that tilted feeling out here\nWhat would you trade the pain for?\nI’m not sure\n\nNowhere left for us to go but heaven\nSummer falling through our fingers again and\nYou were the sunshine\nOf my lifetime\nWhat would you trade the pain for?\n\nThey say we gotta get ahead yeah,\nNo matter what it takes\nBut there’s no way off the hamster wheel on this rat race\nI’d never go, I just want to be invited \nOh\nGot to give up\nGet the feeling\nGet the feeling\nDon’t fight it\nFight it\n\nSending my love from the other side of the apocalypse \nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\nLove from the other side of the apocalypse\nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\n\nI saw you in a bright clear field\nHurricane heat in my head\nThe kind of pain you feel to get good in the end\nGood in the end\nInscribed like stone and faded by the rain:\n“Give up what you love\nGive up what you love before it does you in…”\n\nSending my love from the other side of the apocalypse \nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\nLove from the other side of the apocalypse\nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\n\n#FallOutBoy #SoMuchForStardust #LoveFromTheOtherSide", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/oBrkbWSB3Ls/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/oBrkbWSB3Ls/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/oBrkbWSB3Ls/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/oBrkbWSB3Ls/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/oBrkbWSB3Ls/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Fall Out Boy", + "tags": [ + "Fall Out Boy", + "FOB", + "FOB8", + "Love From The Other Side", + "Other Side of The Apocalypse", + "Pete Wentz", + "Patrick Stump", + "Joe Trohman", + "Andy Hurley", + "so much (for) stardust", + "so much for stardust", + "new fall out boy", + "new FOB", + "New Fall Out Boy Song", + "New Fall Out Boy Album", + "New FOB Album", + "New FOB Song", + "Fueled By Ramen", + "FBR", + "pop punk", + "emo" + ], + "categoryId": "10", + "liveBroadcastContent": "none", + "localized": { + "title": "Fall Out Boy - Love From The Other Side (Official Video)", + "description": "\"Love From The Other Side\" out now: https://FallOutBoy.lnk.to/lovefromtheotherside\n\nNew album 'So Much (For) Stardust' out March 24th on Fueled By Ramen/DCD2: https://FallOutBoy.lnk.to/somuchforstardust\n\nLimited box sets with new merch, signed CDs and four exclusive vinyl colors are available for pre-order now in our webstore https://FallOutBoy.lnk.to/store\n\n✨ lots more to come soon ✨\n\nFOLLOW FALL OUT BOY\n\nhttps://falloutboy.com/\nhttps://instagram.com/falloutboy \nhttps://www.tiktok.com/@falloutboy\nhttps://twitter.com/falloutboy \nhttps://facebook.com/falloutboy \n\nLYRICS\n\nModel house life meltdown\nStill a modern dream let down\nIt kills me you know I’m dying out here\nWhat would you trade the pain for?\nI’m not sure\n\nWe were a hammer to the Statue of David\nWe were a painting you could never frame and\nYou were the sunshine\nOf my lifetime\nWhat would you trade the pain for?\n\nThis city always hangs a little bit lonely on me\nLoose\nLike a kid playing pretend in his father’s suit\nI’d never go, I just want to be invited \nOh\nGot to give up\nGet the feeling\nGet the feeling\nDon’t fight it\nFight it\n\nSending my love from the other side of the apocalypse \nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\nLove from the other side of the apocalypse\nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\n\nGeneration sleep I’m falling in and out of love\nI’m getting that tilted feeling out here\nWhat would you trade the pain for?\nI’m not sure\n\nNowhere left for us to go but heaven\nSummer falling through our fingers again and\nYou were the sunshine\nOf my lifetime\nWhat would you trade the pain for?\n\nThey say we gotta get ahead yeah,\nNo matter what it takes\nBut there’s no way off the hamster wheel on this rat race\nI’d never go, I just want to be invited \nOh\nGot to give up\nGet the feeling\nGet the feeling\nDon’t fight it\nFight it\n\nSending my love from the other side of the apocalypse \nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\nLove from the other side of the apocalypse\nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\n\nI saw you in a bright clear field\nHurricane heat in my head\nThe kind of pain you feel to get good in the end\nGood in the end\nInscribed like stone and faded by the rain:\n“Give up what you love\nGive up what you love before it does you in…”\n\nSending my love from the other side of the apocalypse \nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\nLove from the other side of the apocalypse\nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\n\n#FallOutBoy #SoMuchForStardust #LoveFromTheOtherSide" + }, + "defaultAudioLanguage": "en" + } + }, + { + "kind": "youtube#video", + "etag": "JZryev20tb1VBCmBeZ3Ew5aZ3RM", + "id": "NthGfn_ddRQ", + "snippet": { + "publishedAt": "2023-01-18T14:00:18Z", + "channelId": "UCNflpbEsoC9uWkSPrx6hMqg", + "title": "Hogwarts Legacy - Official Cinematic Trailer 4K", + "description": "Your letter to Hogwarts has arrived. Live the Unwritten beginning February 10, 2023.\n\nPre-order now.\n\n\nAlways be the first to get #HogwartsLegacy news at \ngo.wbgames.com/HogwartsLegacy \n\nConnect with Hogwarts Legacy online: \nTwitter: https://twitter.com/HogwartsLegacy \nFacebook: https://facebook.com/HogwartsLegacy\nInstagram: https://instagram.com/HogwartsLegacy\nDiscord: Discord.gg/HogwartsLegacy\n\n#4K #WBGames #WizardingWorld", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/NthGfn_ddRQ/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/NthGfn_ddRQ/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/NthGfn_ddRQ/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/NthGfn_ddRQ/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/NthGfn_ddRQ/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Hogwarts Legacy", + "tags": [ + "Hogwarts Legacy", + "Hogwarts", + "Warner Media", + "Warner Bros.", + "WB Games", + "Avalanche", + "Portkey Games", + "Wizarding World", + "Harry Potter", + "Gryffindor", + "Hufflepuff", + "Ravenclaw", + "Slytherin", + "wizard", + "wizardry", + "HP", + "Playstation", + "PS5", + "Microsoft", + "Xbox", + "Xbox Series X", + "Xbox Series S", + "PC", + "RPG", + "open world", + "action", + "action adventure", + "Fantastic Beasts", + "4k", + "video games", + "gaming", + "game", + "dragon", + "hippogriff", + "magical beasts", + "owl", + "Great Hall", + "Nearly Headless Nick", + "Forbidden Forest" + ], + "categoryId": "20", + "liveBroadcastContent": "none", + "localized": { + "title": "Hogwarts Legacy - Official Cinematic Trailer 4K", + "description": "Your letter to Hogwarts has arrived. Live the Unwritten beginning February 10, 2023.\n\nPre-order now.\n\n\nAlways be the first to get #HogwartsLegacy news at \ngo.wbgames.com/HogwartsLegacy \n\nConnect with Hogwarts Legacy online: \nTwitter: https://twitter.com/HogwartsLegacy \nFacebook: https://facebook.com/HogwartsLegacy\nInstagram: https://instagram.com/HogwartsLegacy\nDiscord: Discord.gg/HogwartsLegacy\n\n#4K #WBGames #WizardingWorld" + }, + "defaultAudioLanguage": "en" + } + }, + { + "kind": "youtube#video", + "etag": "l6TdjZUNCst7JD-NdcnHaZu70gk", + "id": "SRknVVlwgsE", + "snippet": { + "publishedAt": "2023-01-18T17:00:18Z", + "channelId": "UC-gW4TeZAlKm7UATp24JsWQ", + "title": "GROUNDED GLIZZY MOMENTS", + "description": "GROUNDED GLIZZY MOMENTS\nLeave a like and Subscribe if you enjoyed! Thanks =)\n\nAll the footage featured in this video was livestreamed on my Twitch channel!\nFollow it to catch the streams live when they happen! - https://www.twitch.tv/smii7y\n\nCheck out my other channels!\nSMii7Y https://www.youtube.com/c/SMii7Y\nSMii7Y➖ https://www.youtube.com/c/SMii7Yminus\n\nFollow my Stream, Social Medias and check out my Merch!\n📺 Stream - http://www.twitch.tv/smii7y\n🐦 Twitter - https://twitter.com/SMii7Y\n📷 Instagram - https://www.instagram.com/smii7y/\n👕 Merch - https://smii7y.store/\n\nFriends in the video:\nhttps://www.twitch.tv/jericho\nhttps://www.twitch.tv/EliLikesRice\nhttps://www.twitch.tv/fl0m\n\n🎵 Music by:\nhttp://www.epidemicsound.com/\nhttp://www.premiumbeat.com/\nhttp://audiojungle.net/\nincompetech.com \nLicensed under Creative Commons: By Attribution 3.0\nhttps://creativecommons.org/licenses/by/3.0/\nhttps://99sounds.org/\n\nOutro Music Created by: @MattercellEntertainment", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/SRknVVlwgsE/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/SRknVVlwgsE/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/SRknVVlwgsE/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/SRknVVlwgsE/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/SRknVVlwgsE/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "SMii7Yplus", + "tags": [ + "grounded", + "grounded game", + "grounded update", + "grounded gameplay", + "grounded full release", + "grounded 1.0", + "grounded new update", + "grounded multiplayer", + "grounded coop", + "grounded playthrough", + "smii7y", + "smii7yplus", + "smii7y+", + "smii7y plus" + ], + "categoryId": "20", + "liveBroadcastContent": "none", + "localized": { + "title": "GROUNDED GLIZZY MOMENTS", + "description": "GROUNDED GLIZZY MOMENTS\nLeave a like and Subscribe if you enjoyed! Thanks =)\n\nAll the footage featured in this video was livestreamed on my Twitch channel!\nFollow it to catch the streams live when they happen! - https://www.twitch.tv/smii7y\n\nCheck out my other channels!\nSMii7Y https://www.youtube.com/c/SMii7Y\nSMii7Y➖ https://www.youtube.com/c/SMii7Yminus\n\nFollow my Stream, Social Medias and check out my Merch!\n📺 Stream - http://www.twitch.tv/smii7y\n🐦 Twitter - https://twitter.com/SMii7Y\n📷 Instagram - https://www.instagram.com/smii7y/\n👕 Merch - https://smii7y.store/\n\nFriends in the video:\nhttps://www.twitch.tv/jericho\nhttps://www.twitch.tv/EliLikesRice\nhttps://www.twitch.tv/fl0m\n\n🎵 Music by:\nhttp://www.epidemicsound.com/\nhttp://www.premiumbeat.com/\nhttp://audiojungle.net/\nincompetech.com \nLicensed under Creative Commons: By Attribution 3.0\nhttps://creativecommons.org/licenses/by/3.0/\nhttps://99sounds.org/\n\nOutro Music Created by: @MattercellEntertainment" + } + } + }, + { + "kind": "youtube#video", + "etag": "-lh3P1hKZm7DaR0fX4H5HXNgIqk", + "id": "Z9rsqMFO_W4", + "snippet": { + "publishedAt": "2023-01-18T14:45:29Z", + "channelId": "UCi4fcBVyo4CAnmdgXeO-NvA", + "title": "Gruesome details revealed in court as Brian Walshe charged with murdering wife Ana Walshe", + "description": "Brian Walshe is charged with allegedly murdering his wife, missing Cohasset woman Ana Walshe.", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/Z9rsqMFO_W4/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/Z9rsqMFO_W4/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/Z9rsqMFO_W4/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/Z9rsqMFO_W4/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/Z9rsqMFO_W4/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "CBS Boston", + "tags": ["CBSN Boston", "Ana Walshe", "Brian Walshe"], + "categoryId": "25", + "liveBroadcastContent": "none", + "localized": { + "title": "Gruesome details revealed in court as Brian Walshe charged with murdering wife Ana Walshe", + "description": "Brian Walshe is charged with allegedly murdering his wife, missing Cohasset woman Ana Walshe." + }, + "defaultAudioLanguage": "en" + } + }, + { + "kind": "youtube#video", + "etag": "4n_KvJgGMsx5_WbMWxuq4SWKNw8", + "id": "k_zz3239DA0", + "snippet": { + "publishedAt": "2023-01-18T15:00:34Z", + "channelId": "UCmGSJVG3mCRXVOP4yZrU1Dw", + "title": "USA vs China, The War You Can't See", + "description": "The US and China are fighting a war. It's a weird one that's hard to see. \nVisit https://bit.ly/Scaler_JohnnyHarris to take the free live class.\n\nThe US and China are fighting a war. It's a weird one that's hard to see. It's being fought in government offices, in company boardrooms. And it’s being fought over the most important technology in the world: Microchips.\n\nNext week's video (about submarines) is live now on Nebula https://nebula.tv/videos/johnnyharris-our-best-military-weapon-is-invisible\nwhere I publish every video one week early. \n\nCheck out all my sources for this video here: https://docs.google.com/document/d/1rb2t8ndF23uXBuYweXya61JClTU30xJD_HBu9exUTF4/edit?usp=sharing\n\nJoin the Newsroom (over on Patreon) to get access to behind-the-scenes vlogs, extended interviews, & to support the channel. See you there! https://www.patreon.com/johnnyharris\n\n- ways to support - \nMy Patreon: https://www.patreon.com/johnnyharris\nOur custom Presets & LUTs: https://store.dftba.com/products/johnny-iz-luts-and-presets\n\n- where to find me -\nInstagram: https://www.instagram.com/johnny.harris/\nTiktok: https://www.tiktok.com/@johnny.harris\nFacebook: https://www.facebook.com/JohnnyHarrisVox\nIz's (my wife’s) channel: https://www.youtube.com/iz-harris\n\n- how i make my videos -\nTom Fox makes my music, work with him here: https://tfbeats.com/\nI make maps using this AE Plugin: https://aescripts.com/geolayers/?aff=77\nAll the gear I use: https://www.izharris.com/gear-guide\n \n- my courses - \nLearn a language: https://brighttrip.com/course/language/\nVisual storytelling: https://www.brighttrip.com/courses/visual-storytelling\n\n- about -\nJohnny Harris is an Emmy-winning journalist. He currently is based in Washington, DC, reporting on interesting trends and stories domestically and around the globe. Johnny's visual style blends motion graphics with cinematic videography to create content that explains complex issues in relatable ways.\n\n- press - \nNYTimes: https://www.nytimes.com/2021/11/09/opinion/democrats-blue-states-legislation.html\nNYTimes: https://www.nytimes.com/video/opinion/100000007358968/covid-pandemic-us-response.html\nVox Borders: https://www.youtube.com/watch?v=hLrFyjGZ9NU\nFinding Founders: https://findingfounders.co/episodes/johnny-harris-2esj3-c3pet-2pg4c-xbtwa-5gaaa\nNPR Planet Money: https://www.npr.org/transcripts/1072164745", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/k_zz3239DA0/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/k_zz3239DA0/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/k_zz3239DA0/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/k_zz3239DA0/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/k_zz3239DA0/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Johnny Harris", + "tags": [ + "Johnny Harris", + "Johnny Harris Vox", + "Vox Borders", + "Johnny Harris Vox Borders", + "Vox", + "microchips", + "china", + "usa", + "us", + "united states", + "geopolitics", + "economics", + "technology", + "semiconductors", + "trade", + "regulations", + "engineering", + "tech", + "war", + "silicon", + "energy", + "electricity", + "military", + "nasa", + "computers", + "television", + "radio", + "phones", + "transistors", + "fabs", + "government", + "japan", + "taiwan", + "tsmc", + "ibm", + "nuclear", + "weapons", + "ai", + "nvidia", + "intel", + "national security", + "fusion", + "defense" + ], + "categoryId": "28", + "liveBroadcastContent": "none", + "localized": { + "title": "USA vs China, The War You Can't See", + "description": "The US and China are fighting a war. It's a weird one that's hard to see. \nVisit https://bit.ly/Scaler_JohnnyHarris to take the free live class.\n\nThe US and China are fighting a war. It's a weird one that's hard to see. It's being fought in government offices, in company boardrooms. And it’s being fought over the most important technology in the world: Microchips.\n\nNext week's video (about submarines) is live now on Nebula https://nebula.tv/videos/johnnyharris-our-best-military-weapon-is-invisible\nwhere I publish every video one week early. \n\nCheck out all my sources for this video here: https://docs.google.com/document/d/1rb2t8ndF23uXBuYweXya61JClTU30xJD_HBu9exUTF4/edit?usp=sharing\n\nJoin the Newsroom (over on Patreon) to get access to behind-the-scenes vlogs, extended interviews, & to support the channel. See you there! https://www.patreon.com/johnnyharris\n\n- ways to support - \nMy Patreon: https://www.patreon.com/johnnyharris\nOur custom Presets & LUTs: https://store.dftba.com/products/johnny-iz-luts-and-presets\n\n- where to find me -\nInstagram: https://www.instagram.com/johnny.harris/\nTiktok: https://www.tiktok.com/@johnny.harris\nFacebook: https://www.facebook.com/JohnnyHarrisVox\nIz's (my wife’s) channel: https://www.youtube.com/iz-harris\n\n- how i make my videos -\nTom Fox makes my music, work with him here: https://tfbeats.com/\nI make maps using this AE Plugin: https://aescripts.com/geolayers/?aff=77\nAll the gear I use: https://www.izharris.com/gear-guide\n \n- my courses - \nLearn a language: https://brighttrip.com/course/language/\nVisual storytelling: https://www.brighttrip.com/courses/visual-storytelling\n\n- about -\nJohnny Harris is an Emmy-winning journalist. He currently is based in Washington, DC, reporting on interesting trends and stories domestically and around the globe. Johnny's visual style blends motion graphics with cinematic videography to create content that explains complex issues in relatable ways.\n\n- press - \nNYTimes: https://www.nytimes.com/2021/11/09/opinion/democrats-blue-states-legislation.html\nNYTimes: https://www.nytimes.com/video/opinion/100000007358968/covid-pandemic-us-response.html\nVox Borders: https://www.youtube.com/watch?v=hLrFyjGZ9NU\nFinding Founders: https://findingfounders.co/episodes/johnny-harris-2esj3-c3pet-2pg4c-xbtwa-5gaaa\nNPR Planet Money: https://www.npr.org/transcripts/1072164745" + }, + "defaultAudioLanguage": "en" + } + }, + { + "kind": "youtube#video", + "etag": "SSkXtOahV5aVgBGdJQu3jP7Uoq8", + "id": "Znsa4Deavgg", + "snippet": { + "publishedAt": "2023-01-17T02:44:15Z", + "channelId": "UCZGYJFUizSax-yElQaFDp5Q", + "title": "The Mandalorian | Season 3 Official Trailer | Disney+", + "description": "Reunited.\n\nThe Mandalorian, Season 3 March 1 on Disney+.\nThe journeys of the Mandalorian through the Star Wars galaxy continue. Once a lone bounty hunter, Din Djarin has reunited with Grogu. Meanwhile, the New Republic struggles to lead the galaxy away from its dark history. The Mandalorian will cross paths with old allies and make new enemies as he and Grogu continue their journey together.\n\nThe series stars Pedro Pascal, Katee Sackhoff, Carl Weathers, Amy Sedaris, Emily Swallow and Giancarlo Esposito.", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/Znsa4Deavgg/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/Znsa4Deavgg/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/Znsa4Deavgg/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/Znsa4Deavgg/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/Znsa4Deavgg/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Star Wars", + "tags": [ + "The Mandalorian", + "Mandalorian", + "Grogu", + "Baby Yoda", + "Star Wars", + "Mando", + "Pedro Pascal", + "Dave Filoni", + "Jon Favreau", + "Carl Weathers", + "Giancarlo Esposito", + "Din Djarin", + "Greef Karga", + "Moff Gideon", + "Katee Sackhoff", + "Bo-Katan Kryze", + "Emily Swallow", + "The Armorer" + ], + "categoryId": "24", + "liveBroadcastContent": "none", + "localized": { + "title": "The Mandalorian | Season 3 Official Trailer | Disney+", + "description": "Reunited.\n\nThe Mandalorian, Season 3 March 1 on Disney+.\nThe journeys of the Mandalorian through the Star Wars galaxy continue. Once a lone bounty hunter, Din Djarin has reunited with Grogu. Meanwhile, the New Republic struggles to lead the galaxy away from its dark history. The Mandalorian will cross paths with old allies and make new enemies as he and Grogu continue their journey together.\n\nThe series stars Pedro Pascal, Katee Sackhoff, Carl Weathers, Amy Sedaris, Emily Swallow and Giancarlo Esposito." + }, + "defaultAudioLanguage": "en-US" + } + }, + { + "kind": "youtube#video", + "etag": "XhtVLeUuhvfjr2SXXYdO0Q2gsjU", + "id": "XPVC4IyRTG8", + "snippet": { + "publishedAt": "2023-01-18T15:00:18Z", + "channelId": "UC7vVhkEfw4nOGp8TyDk7RcQ", + "title": "Inside the Lab: Taking Atlas From Sim to Scaffold", + "description": "How does Atlas recognize and interact with objects? How do we develop new Atlas behaviors? Why is manipulation important for the future of robotics?\n\nJoin our team in the Atlas lab to discover the answers to these questions and more. Keep reading on our blog: https://www.bostondynamics.com/resources/blog/sick-tricks-and-tricky-grips\n\n00:00: Introduction\n01:57: Perception and Manipulation\n05:11: Electrical Doctors\n06:29: Developing in Simulation\n07:13: \"Sick Trick\"\n08:24: What's Next?\n\n#BostonDynamics #robotics", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/XPVC4IyRTG8/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/XPVC4IyRTG8/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/XPVC4IyRTG8/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/XPVC4IyRTG8/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/XPVC4IyRTG8/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Boston Dynamics", + "tags": [ + "boston dynamics", + "boston dynamics robot", + "boston dynamics atlas", + "boston dynamics parkour", + "atlas", + "atlas robot", + "atlas parkour", + "partners in parkour", + "what's new atlas", + "atlas gets a grip", + "atlas picks things up" + ], + "categoryId": "28", + "liveBroadcastContent": "none", + "defaultLanguage": "en", + "localized": { + "title": "Inside the Lab: Taking Atlas From Sim to Scaffold", + "description": "How does Atlas recognize and interact with objects? How do we develop new Atlas behaviors? Why is manipulation important for the future of robotics?\n\nJoin our team in the Atlas lab to discover the answers to these questions and more. Keep reading on our blog: https://www.bostondynamics.com/resources/blog/sick-tricks-and-tricky-grips\n\n00:00: Introduction\n01:57: Perception and Manipulation\n05:11: Electrical Doctors\n06:29: Developing in Simulation\n07:13: \"Sick Trick\"\n08:24: What's Next?\n\n#BostonDynamics #robotics" + } + } + }, + { + "kind": "youtube#video", + "etag": "iBmiuuwmLc_gsTO7SCw55IqInso", + "id": "oMf_i1YBuMk", + "snippet": { + "publishedAt": "2023-01-18T14:44:48Z", + "channelId": "UCE_M8A5yxnLfW0KghEeajjw", + "title": "Introducing the all-new HomePod | Apple", + "description": "A powerful, high-excursion woofer and beamforming tweeters create room-filling sound. HomePod senses its surroundings and automatically adapts audio for where it’s placed. Advanced computational audio, powered by Apple silicon, optimizes acoustic performance. Spatial Audio directs music with great precision, surrounding you in sound. It all comes together for the ultimate home audio experience. \n\nHomePod also works seamlessly with all your Apple devices. It comes with Siri built in and works as a smart home hub to connect and control your home, privately and securely. Available in Midnight and White.\n\n“GMT (Jamie xx Remix)” by Oliver Sim and Jamie xx https://apple.co/GMT-Remix\n\nLearn more about HomePod: https://apple.co/3iPMmC7\n\n#Apple #HomePod\n\nSpatial Audio works with compatible content in supported apps.\nMusic streaming services may require a subscription.\nSmart home functionality requires a HomeKit- or Matter-enabled accessory. Smart home accessories sold separately.\n\nWelcome to the official Apple YouTube channel. Here you’ll find news about product launches, tutorials, and other great content. Apple’s more than 160,000 employees are dedicated to making the best products on earth, and to leaving the world better than we found it.", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/oMf_i1YBuMk/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/oMf_i1YBuMk/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/oMf_i1YBuMk/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/oMf_i1YBuMk/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/oMf_i1YBuMk/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Apple", + "tags": [ + "Apple", + "HomePod", + "home audio", + "smart speaker", + "Siri", + "computational audio", + "room sensing", + "Spatial Audio", + "smart home" + ], + "categoryId": "28", + "liveBroadcastContent": "none", + "localized": { + "title": "Introducing the all-new HomePod | Apple", + "description": "A powerful, high-excursion woofer and beamforming tweeters create room-filling sound. HomePod senses its surroundings and automatically adapts audio for where it’s placed. Advanced computational audio, powered by Apple silicon, optimizes acoustic performance. Spatial Audio directs music with great precision, surrounding you in sound. It all comes together for the ultimate home audio experience. \n\nHomePod also works seamlessly with all your Apple devices. It comes with Siri built in and works as a smart home hub to connect and control your home, privately and securely. Available in Midnight and White.\n\n“GMT (Jamie xx Remix)” by Oliver Sim and Jamie xx https://apple.co/GMT-Remix\n\nLearn more about HomePod: https://apple.co/3iPMmC7\n\n#Apple #HomePod\n\nSpatial Audio works with compatible content in supported apps.\nMusic streaming services may require a subscription.\nSmart home functionality requires a HomeKit- or Matter-enabled accessory. Smart home accessories sold separately.\n\nWelcome to the official Apple YouTube channel. Here you’ll find news about product launches, tutorials, and other great content. Apple’s more than 160,000 employees are dedicated to making the best products on earth, and to leaving the world better than we found it." + }, + "defaultAudioLanguage": "en" + } + }, + { + "kind": "youtube#video", + "etag": "GHJ6SweV8m9QZPtfKh65oDiJSjY", + "id": "SJN903kCJrc", + "snippet": { + "publishedAt": "2023-01-18T00:52:02Z", + "channelId": "UCR_J_SntqJh5eXw66d5hJxA", + "title": "I Built a Secret Gaming Room to Hide From My Mom!", + "description": "I built a hidden gaming room to hide from my mom!!\nBeem Team Merch! ➔ https://www.beemteam.shop\nSUBSCRIBE for a chance at $1,000! ➔ https://www.youtube.com/c/Mbeem10?sub_confirmation=1\n\nNEW VIDEOS EVERY TUESDAY!\n\n📱 FOLLOW MY SOCIALS 📱\n➽ Instagram - @MatthewBeem\n➽ Twitter - @MatthewBeem\n➽ TikTok - @MatthewBeem\n\nEver since I was a kid I’ve been a gamer, but lately it has been hard to find the time. I also may or may not still live with my mom so I feel guilty gaming while at home. That's why I decided to build a secret gaming room under the stairs in a hidden closet so that I can play all the games I want in peace and quiet. So my mom didn’t find out about this project, I sent her and my sister to Paris for the week. This was tricky, but we figured it all out and it turned out incredible! I love my new gaming room, but it was insane and super intense to make. Luckily we had lots of laughs along the way. I love making these videos and can't wait for you to see what is next. \n\nIf you’re reading this you’re a real one! \nComment “I want a secret gaming room!\" so I can notice you!\n\nNot I Built a SECRET Gaming Bunker In My Room *No One Knew*, But I Built a Secret Room to Hide from my Wife, But i built my DREAM Hidden Gaming Room in my Parents House, But I Built a Secret Room to Hide from My Family, But Secret Hidden Gaming Room Inside a Couch, But I Built An EPIC Hidden Gaming Room In My House *PS5*, But Little Girl Finds A Secret Room In Her House That Leads Into An Even Wilder Surprise, But I Built a Secret Room in Public, But I Turned an Old Dumpster into an Epic Secret Room, But INCREDIBLY INGENIOUS Hidden Rooms and Secret Furniture , But I Built a Secret Room, But I Built An EPIC Hidden Gaming Room In My New House, But Hidden Entrance INSIDE Stairs To DREAM Gaming Room, But I Found The ULTIMATE HIDDEN GAMING ROOM In My New House or any other video like JStu, FrenchieFries, Jake Carlini, Ben Azelart, AllWeDoIsFun, Zealous, Tiana Wilson, Dangie Bros, Drew Dirksen, Carter Sharer, MARKO, Interesting & Creative Designs, Chris & Emily, Unspeakable, MrBeast, Faze Rug, or Airrack would make. This is a video where Matthew Beem (aka MBeem10) builds a secret hidden gaming room inside the stairs to hide from his mom!", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/SJN903kCJrc/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/SJN903kCJrc/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/SJN903kCJrc/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/SJN903kCJrc/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/SJN903kCJrc/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Matthew Beem", + "tags": [ + "mbeem10", + "matthew beem", + "beem team", + "matthew beam", + "beam team", + "hidden room", + "hidden gaming room", + "secret room", + "secret gaming room", + "JStu", + "hidden fort", + "hidden secret fort", + "dream gaming room", + "gaming room inside stairs", + "morejstu hidden fort", + "fort under stairs", + "under stairs hidden fort", + "secret entrance inside stairs", + "Secret Room", + "Secret Rooms In Houses", + "Zealous", + "Ben Azelart", + "I Built a Secret Room to Hide from my Wife", + "i built a secret room", + "epic hidden gaming room", + "MoreJStu", + "FrenchieFries" + ], + "categoryId": "22", + "liveBroadcastContent": "none", + "localized": { + "title": "I Built a Secret Gaming Room to Hide From My Mom!", + "description": "I built a hidden gaming room to hide from my mom!!\nBeem Team Merch! ➔ https://www.beemteam.shop\nSUBSCRIBE for a chance at $1,000! ➔ https://www.youtube.com/c/Mbeem10?sub_confirmation=1\n\nNEW VIDEOS EVERY TUESDAY!\n\n📱 FOLLOW MY SOCIALS 📱\n➽ Instagram - @MatthewBeem\n➽ Twitter - @MatthewBeem\n➽ TikTok - @MatthewBeem\n\nEver since I was a kid I’ve been a gamer, but lately it has been hard to find the time. I also may or may not still live with my mom so I feel guilty gaming while at home. That's why I decided to build a secret gaming room under the stairs in a hidden closet so that I can play all the games I want in peace and quiet. So my mom didn’t find out about this project, I sent her and my sister to Paris for the week. This was tricky, but we figured it all out and it turned out incredible! I love my new gaming room, but it was insane and super intense to make. Luckily we had lots of laughs along the way. I love making these videos and can't wait for you to see what is next. \n\nIf you’re reading this you’re a real one! \nComment “I want a secret gaming room!\" so I can notice you!\n\nNot I Built a SECRET Gaming Bunker In My Room *No One Knew*, But I Built a Secret Room to Hide from my Wife, But i built my DREAM Hidden Gaming Room in my Parents House, But I Built a Secret Room to Hide from My Family, But Secret Hidden Gaming Room Inside a Couch, But I Built An EPIC Hidden Gaming Room In My House *PS5*, But Little Girl Finds A Secret Room In Her House That Leads Into An Even Wilder Surprise, But I Built a Secret Room in Public, But I Turned an Old Dumpster into an Epic Secret Room, But INCREDIBLY INGENIOUS Hidden Rooms and Secret Furniture , But I Built a Secret Room, But I Built An EPIC Hidden Gaming Room In My New House, But Hidden Entrance INSIDE Stairs To DREAM Gaming Room, But I Found The ULTIMATE HIDDEN GAMING ROOM In My New House or any other video like JStu, FrenchieFries, Jake Carlini, Ben Azelart, AllWeDoIsFun, Zealous, Tiana Wilson, Dangie Bros, Drew Dirksen, Carter Sharer, MARKO, Interesting & Creative Designs, Chris & Emily, Unspeakable, MrBeast, Faze Rug, or Airrack would make. This is a video where Matthew Beem (aka MBeem10) builds a secret hidden gaming room inside the stairs to hide from his mom!" + }, + "defaultAudioLanguage": "en-US" + } + }, + { + "kind": "youtube#video", + "etag": "AC44d_TlbpUUK_bGGgMOzCNSHgg", + "id": "TkPCdI2aZhQ", + "snippet": { + "publishedAt": "2023-01-17T22:13:41Z", + "channelId": "UC4mLlRa_dezwvytudo9s1sw", + "title": "Touring Colorado's $177 Million Football Facilities! (w/ Travis Hunter)", + "description": "Deestroying and Travis Hunter tour Colorado’s new football facilities for the first time! Even had special guest appearances by Shedeur Sanders and more! Deion Sanders hopes to get many recruits to commit to colorado and this is how..\n\nGET YOUR ELEVEN GEAR HERE : https://theeleven.store\n\nSUBSCRIBE TO MY 2ND CHANNEL :\nhttps://www.youtube.com/@moredeestroying692\n\nTHE ELEVEN : https://theeleven.store\n\nFOLLOW ME ON\nTwitter : https://www.twitter.com/deestroying\nIG : https://www.instagram.com/deestroying", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/TkPCdI2aZhQ/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/TkPCdI2aZhQ/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/TkPCdI2aZhQ/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/TkPCdI2aZhQ/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/TkPCdI2aZhQ/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Deestroying", + "tags": [ + "Travis hunter", + "Deestroying", + "Shedeur sanders", + "Deoin sanders", + "Colorado university", + "Colorado buffs", + "Facility tour", + "D1", + "College visit" + ], + "categoryId": "24", + "liveBroadcastContent": "none", + "localized": { + "title": "Touring Colorado's $177 Million Football Facilities! (w/ Travis Hunter)", + "description": "Deestroying and Travis Hunter tour Colorado’s new football facilities for the first time! Even had special guest appearances by Shedeur Sanders and more! Deion Sanders hopes to get many recruits to commit to colorado and this is how..\n\nGET YOUR ELEVEN GEAR HERE : https://theeleven.store\n\nSUBSCRIBE TO MY 2ND CHANNEL :\nhttps://www.youtube.com/@moredeestroying692\n\nTHE ELEVEN : https://theeleven.store\n\nFOLLOW ME ON\nTwitter : https://www.twitter.com/deestroying\nIG : https://www.instagram.com/deestroying" + }, + "defaultAudioLanguage": "en" + } + }, + { + "kind": "youtube#video", + "etag": "8U9UjGqKIN4xJ9hoVpuA4Rs806Q", + "id": "_I9T4hxmZXU", + "snippet": { + "publishedAt": "2023-01-18T07:59:02Z", + "channelId": "UCD1Em4q90ZUK2R5HKesszJg", + "title": "Lunar New Year Magic Show | Clash of Clans Official", + "description": "Celebrate the Year of the Rabbit with the brand new Lunar Queen skin, the Magic Show statue, as well as the Magic Theatre Scenery and its in-game challenge! Happy Lunar New Year! 🐰✨ \n\n\n\nFollow us on our Socials!\nTwitter ► https://twitter.com/ClashofClans/\nInstagram ► https://www.instagram.com/clashofclans \nFacebook ► https://www.facebook.com/ClashofClans \nTikTok ► https://www.tiktok.com/@clashofclans\n\nAttack. Defend. Strategize. Download for free for mobile devices. http://supr.cl/ThisArmy\n\nFrom rage-\u00adfilled Barbarians with glorious mustaches to pyromaniac wizards, raise your own army and lead your clan to victory! Build your village to fend off raiders, battle against millions of players worldwide, and forge a powerful clan with others to destroy enemy clans.\nPLEASE NOTE! Clash of Clans is free to download and play, however some game items can also be purchased for real money \n\nAlso, under our Terms of Service and Privacy Policy, you must be at least 13 years of age to play or download Clash of Clans.\nA network connection is also required.\n\nFEATURES\n- Build your village into an unbeatable fortress \n- Raise your own army of Barbarians, Archers, Hog Riders, Wizards, Dragons and other mighty fighters\n- Battle with players worldwide and take their Trophies\n- Join together with other players to form the ultimate Clan\n- Fight against rival Clans in epic Clan Wars \n- Build 18 unique units with multiple levels of upgrades\n- Discover your favorite attacking army from countless combinations of troops, spells, Heroes and Clan reinforcements \n- Defend your village with a multitude of Cannons, Towers, Mortars, Bombs, Traps and Walls\n- Fight against the Goblin King in a campaign through the realm\n\nChief, are you having problems? Visit https://help.supercellsupport.com/clash-of-clans/en/\n\nPrivacy Policy:\nhttp://www.supercell.net/privacy-policy/\n\nTerms of Service:\nhttps://supercell.com/en/terms-of-service/\n\nParent’s Guide:\nhttp://www.supercell.net/parents\n\n#clashofclans #lunarnewyear #yearoftherabbit", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/_I9T4hxmZXU/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/_I9T4hxmZXU/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/_I9T4hxmZXU/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/_I9T4hxmZXU/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/_I9T4hxmZXU/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Clash of Clans", + "tags": [ + "clash of clans", + "COC", + "Clash of Clans Gameplay", + "Clash of Clans Strategy", + "Clash of Clans Animation", + "Clash of Clans Commercial", + "Clash of Clans Attacks", + "Clash of Clans Town Hall", + "Hog Rider", + "PEKKA", + "Clan Wars", + "season challenges", + "clan war leagues", + "clash on", + "clan game", + "clan games", + "clash-a-rama", + "clasharama", + "lunar new year", + "year of the rabbit", + "rabbit archer queen", + "Magic Theatre Scenery", + "magic theatre", + "Magic Show Statue", + "magic show" + ], + "categoryId": "20", + "liveBroadcastContent": "none", + "defaultLanguage": "en", + "localized": { + "title": "Lunar New Year Magic Show | Clash of Clans Official", + "description": "Celebrate the Year of the Rabbit with the brand new Lunar Queen skin, the Magic Show statue, as well as the Magic Theatre Scenery and its in-game challenge! Happy Lunar New Year! 🐰✨ \n\n\n\nFollow us on our Socials!\nTwitter ► https://twitter.com/ClashofClans/\nInstagram ► https://www.instagram.com/clashofclans \nFacebook ► https://www.facebook.com/ClashofClans \nTikTok ► https://www.tiktok.com/@clashofclans\n\nAttack. Defend. Strategize. Download for free for mobile devices. http://supr.cl/ThisArmy\n\nFrom rage-\u00adfilled Barbarians with glorious mustaches to pyromaniac wizards, raise your own army and lead your clan to victory! Build your village to fend off raiders, battle against millions of players worldwide, and forge a powerful clan with others to destroy enemy clans.\nPLEASE NOTE! Clash of Clans is free to download and play, however some game items can also be purchased for real money \n\nAlso, under our Terms of Service and Privacy Policy, you must be at least 13 years of age to play or download Clash of Clans.\nA network connection is also required.\n\nFEATURES\n- Build your village into an unbeatable fortress \n- Raise your own army of Barbarians, Archers, Hog Riders, Wizards, Dragons and other mighty fighters\n- Battle with players worldwide and take their Trophies\n- Join together with other players to form the ultimate Clan\n- Fight against rival Clans in epic Clan Wars \n- Build 18 unique units with multiple levels of upgrades\n- Discover your favorite attacking army from countless combinations of troops, spells, Heroes and Clan reinforcements \n- Defend your village with a multitude of Cannons, Towers, Mortars, Bombs, Traps and Walls\n- Fight against the Goblin King in a campaign through the realm\n\nChief, are you having problems? Visit https://help.supercellsupport.com/clash-of-clans/en/\n\nPrivacy Policy:\nhttp://www.supercell.net/privacy-policy/\n\nTerms of Service:\nhttps://supercell.com/en/terms-of-service/\n\nParent’s Guide:\nhttp://www.supercell.net/parents\n\n#clashofclans #lunarnewyear #yearoftherabbit" + }, + "defaultAudioLanguage": "en" + } + }, + { + "kind": "youtube#video", + "etag": "VJ1v59kP-Qgt5k2l965_08k1D-Y", + "id": "Wj5lcSi5Nrg", + "snippet": { + "publishedAt": "2023-01-18T17:36:40Z", + "channelId": "UCUK0HBIBWgM2c4vsPhkYY4w", + "title": "Tiniest Exploding Fire Extinguisher at 150,000FPS - The Slow Mo Guys", + "description": "How do you use a fire extinguisher when it doesn't have a handle? Blow it up?\nGav and Dan film the explosive fire suppression at 150,000fps.\nInstagram - https://www.instagram.com/theslowmoguys\nFilmed at 150,000FPS with the Phantom TMX7510\nTiniest Exploding Fire Extinguisher at 150,000FPS - The Slow Mo Guys", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/Wj5lcSi5Nrg/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/Wj5lcSi5Nrg/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/Wj5lcSi5Nrg/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/Wj5lcSi5Nrg/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/Wj5lcSi5Nrg/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "The Slow Mo Guys", + "tags": [ + "slomo", + "slow", + "mo", + "super", + "motion", + "Slow Motion", + "1000", + "1000fps", + "gav", + "dan", + "slowmoguys", + "phantom", + "guys", + "HD", + "flex", + "gavin", + "free", + "gavin free", + "high speed camera", + "the slow mo guys", + "2000", + "2000fps", + "5000", + "5000fps", + "tiny", + "small", + "fire", + "extinguisher", + "exploding" + ], + "categoryId": "24", + "liveBroadcastContent": "none", + "defaultLanguage": "en-GB", + "localized": { + "title": "Tiniest Exploding Fire Extinguisher at 150,000FPS - The Slow Mo Guys", + "description": "How do you use a fire extinguisher when it doesn't have a handle? Blow it up?\nGav and Dan film the explosive fire suppression at 150,000fps.\nInstagram - https://www.instagram.com/theslowmoguys\nFilmed at 150,000FPS with the Phantom TMX7510\nTiniest Exploding Fire Extinguisher at 150,000FPS - The Slow Mo Guys" + }, + "defaultAudioLanguage": "en-GB" + } + }, + { + "kind": "youtube#video", + "etag": "UGbHMsJFIgoSJ0oGl1cM1nGeHn8", + "id": "rcNPgc7hPBI", + "snippet": { + "publishedAt": "2023-01-18T05:00:16Z", + "channelId": "UCaO6TYtlC8U5ttz62hTrZgg", + "title": "TWICE Pre-release english track \"MOONLIGHT SUNRISE\" M/V Teaser 2", + "description": "TWICE Pre-release english track \"MOONLIGHT SUNRISE\" M/V Teaser 2\n\nTWICE Pre-Release English Single \"MOONLIGHT SUNRISE\"\n\nRelease on 2023.01.20 FRI 2PM KST/0AM EST\n\n📌\"MOONLIGHT SUNRISE\" Digital Pre-Save & Pre-Order\nhttps://TWICE.lnk.to/MoonlightSunrise \n\nTWICE Official Shop: https://TWICE.lnk.to/Shop\nTWICE Official YouTube: http://www.youtube.com/c/TWICE\nTWICE Official Facebook: http://www.facebook.com/JYPETWICE\nTWICE Official Twitter: http://www.twitter.com/JYPETWICE\nTWICE Official TikTok https://www.tiktok.com/@twice_tiktok_...\nTWICE Official Instagram: http://www.instagram.com/TWICETAGRAM\nTWICE Official Homepage: http://TWICE.jype.com\nTWICE Official Fan's: http://fans.jype.com/TWICE\n\nⓒ 2023 JYP Entertainment. All Rights Reserved\n\n#TWICE #MOONLIGHTSUNRISE", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/rcNPgc7hPBI/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/rcNPgc7hPBI/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/rcNPgc7hPBI/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/rcNPgc7hPBI/sddefault.jpg", + "width": 640, + "height": 480 + } + }, + "channelTitle": "JYP Entertainment", + "tags": [ + "JYP Entertainment", + "JYP", + "TWICE", + "트와이스", + "MOONLIGHT SUNRISE", + "문라이트 썬라이즈", + "TWICE MOONLIGHT SUNRISE", + "트와이스 문라이트 썬라이즈", + "TWICE Pre-Release English Single", + "트와이스 영어 선공개곡", + "TWICE English Single", + "트와이스 영어곡", + "TWICE 컴백", + "TWICE 신곡", + "트와이스 컴백", + "트와이스 신곡", + "문라이트 선라이즈 티저", + "Moonlight Sunrise Teaser", + "문라선라 티저", + "트와이스 티저", + "트와이스 신곡 티저" + ], + "categoryId": "10", + "liveBroadcastContent": "none", + "defaultLanguage": "en", + "localized": { + "title": "TWICE Pre-release english track \"MOONLIGHT SUNRISE\" M/V Teaser 2", + "description": "TWICE Pre-release english track \"MOONLIGHT SUNRISE\" M/V Teaser 2\n\nTWICE Pre-Release English Single \"MOONLIGHT SUNRISE\"\n\nRelease on 2023.01.20 FRI 2PM KST/0AM EST\n\n📌\"MOONLIGHT SUNRISE\" Digital Pre-Save & Pre-Order\nhttps://TWICE.lnk.to/MoonlightSunrise \n\nTWICE Official Shop: https://TWICE.lnk.to/Shop\nTWICE Official YouTube: http://www.youtube.com/c/TWICE\nTWICE Official Facebook: http://www.facebook.com/JYPETWICE\nTWICE Official Twitter: http://www.twitter.com/JYPETWICE\nTWICE Official TikTok https://www.tiktok.com/@twice_tiktok_...\nTWICE Official Instagram: http://www.instagram.com/TWICETAGRAM\nTWICE Official Homepage: http://TWICE.jype.com\nTWICE Official Fan's: http://fans.jype.com/TWICE\n\nⓒ 2023 JYP Entertainment. All Rights Reserved\n\n#TWICE #MOONLIGHTSUNRISE" + }, + "defaultAudioLanguage": "ko" + } + }, + { + "kind": "youtube#video", + "etag": "W1UdFr5TFUeJJPT3YD1w4zoQB3c", + "id": "n5zNdiQEtrQ", + "snippet": { + "publishedAt": "2023-01-17T18:47:24Z", + "channelId": "UCWZmCMB7mmKWcXJSIPRhzZw", + "title": "LAST PERSON TO MISS A PENALTY WINS $10,000!", + "description": "What challenge should I do for $10,000 next time?\n\nIf you have an idea you would like to see, let me know here:\r\nhttps://docs.google.com/forms/d/e/1FAIpQLSfrqSDycG6GevuJD7gGvfHsa3O-qdbTTyZjV-Lr3tjoP5hXLQ/viewform?usp=sf_link\r\n\r\nSecond Channel: https://goo.gl/acaMTt\r\nTwitter: https://goo.gl/ugsA1Y\r\nFacebook: https://goo.gl/S7X2XQ\r\n\r\nSidemen Clothing: https://goo.gl/8RLHBR\r\n\r\nSidemen Book: https://goo.gl/wqFrjS\r\n\r\nMy PC: http://bit.ly/miniminter\r\n\r\nCustom Controller: http://bit.ly/SideCCUK\r\n\r\nHOW I RECORD MY GAMEPLAY: http://e.lga.to/mm\r\n\r\nWHERE I GET MY CHAIR:\r\nUK: http://goo.gl/35aEHx\r\nUSA: https://goo.gl/BbkxsF\r\n\r\nMusic from: https://www.youtube.com/user/NoCopyrightSounds\r\n\r\nMusic from MediaMusicNow.co.uk\r\n\r\nVideo uploaded by\r\nSimon/Miniminter/mm7games", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/n5zNdiQEtrQ/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/n5zNdiQEtrQ/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/n5zNdiQEtrQ/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/n5zNdiQEtrQ/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/n5zNdiQEtrQ/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Miniminter", + "tags": ["simon", "sidemen", "miniminter", "mm7games", "random", "vlog"], + "categoryId": "24", + "liveBroadcastContent": "none", + "localized": { + "title": "LAST PERSON TO MISS A PENALTY WINS $10,000!", + "description": "What challenge should I do for $10,000 next time?\n\nIf you have an idea you would like to see, let me know here:\r\nhttps://docs.google.com/forms/d/e/1FAIpQLSfrqSDycG6GevuJD7gGvfHsa3O-qdbTTyZjV-Lr3tjoP5hXLQ/viewform?usp=sf_link\r\n\r\nSecond Channel: https://goo.gl/acaMTt\r\nTwitter: https://goo.gl/ugsA1Y\r\nFacebook: https://goo.gl/S7X2XQ\r\n\r\nSidemen Clothing: https://goo.gl/8RLHBR\r\n\r\nSidemen Book: https://goo.gl/wqFrjS\r\n\r\nMy PC: http://bit.ly/miniminter\r\n\r\nCustom Controller: http://bit.ly/SideCCUK\r\n\r\nHOW I RECORD MY GAMEPLAY: http://e.lga.to/mm\r\n\r\nWHERE I GET MY CHAIR:\r\nUK: http://goo.gl/35aEHx\r\nUSA: https://goo.gl/BbkxsF\r\n\r\nMusic from: https://www.youtube.com/user/NoCopyrightSounds\r\n\r\nMusic from MediaMusicNow.co.uk\r\n\r\nVideo uploaded by\r\nSimon/Miniminter/mm7games" + }, + "defaultAudioLanguage": "en-GB" + } + }, + { + "kind": "youtube#video", + "etag": "06l8CkDR8R1sH_oV8RAoquVJTKo", + "id": "pMK85fUN12I", + "snippet": { + "publishedAt": "2023-01-17T19:00:27Z", + "channelId": "UCKBaL17hXLGJvi2KZKpja5w", + "title": "Missing Baby Found After 51 Years: The Incredible Story of Melissa Highsmith", + "description": "Shop my charity merch! https://milehighermerch.com/ \nAll profits from this charity merch will be donated to the National Center for Missing and Exploited Children: https://www.missingkids.org/ \n\nThank you to NCMEC for participating in this video! You can donate to our campaign here: https://give.missingkids.org/campaign/kendall-rae/c438796 \n\nTrue Crime with Kendall Rae podcast\nApple Podcasts: https://apple.co/3rks84o\nSpotify: https://spoti.fi/3jC66pr \n\nCheck out Higher Love Wellness: https://higherlovewellness.com/ \nUse code KENDALLRAE for 10% off your order (excludes bundles)\n\nSource Material: https://pastebin.com/t2t8isVg\n\nCheck out my other podcasts: \nMile Higher (True Crime)\n@milehigherpod\nYouTube: https://bit.ly/2ROzJcw\nTwitter: http://twitter.com/milehigherpod\nInstagram: http://instagram.com/milehigherpod \n\nThe Sesh (Get To Know Me Podcast)\nhttps://bit.ly/3Mtoz4X\n@the_seshpodcast \nIG: https://bit.ly/3a9t6Xr\nTW: https://bit.ly/2XH4C2A\n\n*Follow My Social!* @KendallRaeOnyt\nVlog Channel: https://www.youtube.com/c/Kendaily \nTwitter: http://twitter.com/kendallraeonyt\nInstagram: http://instagram.com/kendallraeonyt\nFacebook: https://bit.ly/3kar4NK \nMy Zoo: http://instagram.com/milehigherzoo\n\nWatch my documentary, Apartment 801: https://bit.ly/2RJ9XXr \n\nREQUESTS: \nGeneral case suggestion form: https://bit.ly/32kwPly \nForm for people directly related/ close to the victim: https://bit.ly/3KqMZLj \nJoin my discord to chat with other viewers about this video, its free! https://discord.com/invite/an4stY9BCN\n\nC O N T A C T: \n✉ For Business Inquiries - kendall@INFAgency.com\n\n✉ Send me mail ✉\nKendall Rae\n8547 E Arapahoe Rd Ste J # 233\nGreenwood Village, CO 80112\n\n#Unsolved #TrueCrime #KendallRae", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/pMK85fUN12I/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/pMK85fUN12I/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/pMK85fUN12I/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/pMK85fUN12I/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/pMK85fUN12I/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Kendall Rae", + "tags": [ + "kendallraeonyt", + "kendallrae", + "kendall rae", + "true crime", + "crime", + "crime documentaries", + "criminal justice", + "news", + "educational", + "documentary", + "true crime documentary", + "crime stories", + "kendall rae crime", + "kendall rae true crime", + "real stories", + "melissa highsmith found", + "baby found", + "melissa highsmith", + "kidnapping", + "solved kidnapping", + "ncmec", + "national center for missing and exploited children", + "missing kids", + "missing children", + "lost child", + "dna", + "genetic genealogy", + "true crime stories", + "true crime podcast" + ], + "categoryId": "24", + "liveBroadcastContent": "none", + "localized": { + "title": "Missing Baby Found After 51 Years: The Incredible Story of Melissa Highsmith", + "description": "Shop my charity merch! https://milehighermerch.com/ \nAll profits from this charity merch will be donated to the National Center for Missing and Exploited Children: https://www.missingkids.org/ \n\nThank you to NCMEC for participating in this video! You can donate to our campaign here: https://give.missingkids.org/campaign/kendall-rae/c438796 \n\nTrue Crime with Kendall Rae podcast\nApple Podcasts: https://apple.co/3rks84o\nSpotify: https://spoti.fi/3jC66pr \n\nCheck out Higher Love Wellness: https://higherlovewellness.com/ \nUse code KENDALLRAE for 10% off your order (excludes bundles)\n\nSource Material: https://pastebin.com/t2t8isVg\n\nCheck out my other podcasts: \nMile Higher (True Crime)\n@milehigherpod\nYouTube: https://bit.ly/2ROzJcw\nTwitter: http://twitter.com/milehigherpod\nInstagram: http://instagram.com/milehigherpod \n\nThe Sesh (Get To Know Me Podcast)\nhttps://bit.ly/3Mtoz4X\n@the_seshpodcast \nIG: https://bit.ly/3a9t6Xr\nTW: https://bit.ly/2XH4C2A\n\n*Follow My Social!* @KendallRaeOnyt\nVlog Channel: https://www.youtube.com/c/Kendaily \nTwitter: http://twitter.com/kendallraeonyt\nInstagram: http://instagram.com/kendallraeonyt\nFacebook: https://bit.ly/3kar4NK \nMy Zoo: http://instagram.com/milehigherzoo\n\nWatch my documentary, Apartment 801: https://bit.ly/2RJ9XXr \n\nREQUESTS: \nGeneral case suggestion form: https://bit.ly/32kwPly \nForm for people directly related/ close to the victim: https://bit.ly/3KqMZLj \nJoin my discord to chat with other viewers about this video, its free! https://discord.com/invite/an4stY9BCN\n\nC O N T A C T: \n✉ For Business Inquiries - kendall@INFAgency.com\n\n✉ Send me mail ✉\nKendall Rae\n8547 E Arapahoe Rd Ste J # 233\nGreenwood Village, CO 80112\n\n#Unsolved #TrueCrime #KendallRae" + }, + "defaultAudioLanguage": "en" + } + }, + { + "kind": "youtube#video", + "etag": "yUqUiXtYX24QrwPS3iCzhuT39go", + "id": "RvLkqQ9TJl4", + "snippet": { + "publishedAt": "2023-01-18T11:42:05Z", + "channelId": "UCg-p3lQIqmhh7gHpyaOmOiQ", + "title": "Bam Bam feeds us Korea's Spiciest Street-Food!!", + "description": "Today we return to our K-pop series with Thai prince, Bam Bam of GOT7 as we try the DEATH sauce tteokbokki! Thanks to Bam Bam for giving us his time and filming with us! Go visit his new Youtube channel @bamhome \n\nAlso, we’ve been loving Everydaze with BT21 new lychee flavour konjac jelly. Thanks to them for supporting our content. You can order them here: https://www.amazon.com/stores/Everydaze/page/AADACC61-6459-4EC9-BB56-FB3A6CB0F4C4?ref_=ast_bln\nor outside the US: https://www.iherb.com/c/everydaze\n\n--\n\n오늘은 오랜만에 케이팝 시리즈로 돌아왔는데요! 태국 왕자 GOT7의 뱀뱀님과 함께 응급실 떡볶이 사망맛을 먹으며 많은 얘기들을 나눴습니다! 바쁘신 가운데 시간을 내주시고 촬영을 함께해 주신 뱀뱀님에게 감사의 말씀을 전합니다! 뱀뱀님의 새로운 채널 “뱀집” @bamhome 많은 관심 부탁드립니다!\n\n그리고 이번 시리즈 촬영에 저희가 즐겨 먹은 Everydaze Essential C’s Konjac Jelly가 궁금하시다면 여기서 주문하세요! https://www.iherb.com/c/everydaze", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/RvLkqQ9TJl4/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/RvLkqQ9TJl4/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/RvLkqQ9TJl4/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/RvLkqQ9TJl4/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/RvLkqQ9TJl4/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "영국남자 Korean Englishman", + "tags": [ + "Korean", + "영국남자", + "영국", + "조쉬", + "올리", + "Josh", + "Ollie", + "KoreanEnglish", + "English", + "Man", + "englishman", + "food", + "음식", + "외국인", + "반응", + "영상", + "웃긴", + "남자", + "외국", + "도전", + "매운", + "조니", + "조엘", + "신부님", + "크리스", + "올리아빠", + "해물", + "치킨", + "삼겹살", + "korean", + "BBQ", + "fried", + "chicken", + "라면", + "불닭볶음면", + "미친남자" + ], + "categoryId": "23", + "liveBroadcastContent": "none", + "defaultLanguage": "en", + "localized": { + "title": "Bam Bam feeds us Korea's Spiciest Street-Food!!", + "description": "Today we return to our K-pop series with Thai prince, Bam Bam of GOT7 as we try the DEATH sauce tteokbokki! Thanks to Bam Bam for giving us his time and filming with us! Go visit his new Youtube channel @bamhome \n\nAlso, we’ve been loving Everydaze with BT21 new lychee flavour konjac jelly. Thanks to them for supporting our content. You can order them here: https://www.amazon.com/stores/Everydaze/page/AADACC61-6459-4EC9-BB56-FB3A6CB0F4C4?ref_=ast_bln\nor outside the US: https://www.iherb.com/c/everydaze\n\n--\n\n오늘은 오랜만에 케이팝 시리즈로 돌아왔는데요! 태국 왕자 GOT7의 뱀뱀님과 함께 응급실 떡볶이 사망맛을 먹으며 많은 얘기들을 나눴습니다! 바쁘신 가운데 시간을 내주시고 촬영을 함께해 주신 뱀뱀님에게 감사의 말씀을 전합니다! 뱀뱀님의 새로운 채널 “뱀집” @bamhome 많은 관심 부탁드립니다!\n\n그리고 이번 시리즈 촬영에 저희가 즐겨 먹은 Everydaze Essential C’s Konjac Jelly가 궁금하시다면 여기서 주문하세요! https://www.iherb.com/c/everydaze" + }, + "defaultAudioLanguage": "en" + } + }, + { + "kind": "youtube#video", + "etag": "JdLy7KlNPuLI5pQatk7_6YAAeDM", + "id": "viP5CvCvoec", + "snippet": { + "publishedAt": "2023-01-18T05:01:12Z", + "channelId": "UCz4qHgsY_BtJtTngBI-zQkg", + "title": "Gloss Up - BestFrenn (feat. GloRilla)", + "description": "#NowPlaying Gloss Up - BestFrenn (feat. Glorilla)\nDirected By: Diesel Filmz\n\nStream & Download \" BestFrenn\" here: \nhttps://presave.umusic.com/gloss-up-glorilla-bestfrenn-pre-sav\n\nConnect With Gloss Up:\nInstagram: https://www.instagram.com/glittergirl...\nTwitter: https://twitter.com/GlitterGirlGlos \nTikTok: https://vm.tiktok.com/ZMJajXSKV/", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/viP5CvCvoec/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/viP5CvCvoec/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/viP5CvCvoec/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/viP5CvCvoec/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/viP5CvCvoec/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Gloss Up", + "tags": [ + "Gloss up", + "Glittergloss", + "Qc the label", + "Memphis", + "Glorilla", + "Shabooya", + "Cmg", + "Fnf", + "Tomorrow", + "City girls", + "Lil baby", + "Atlanta", + "Migos", + "Female rap" + ], + "categoryId": "10", + "liveBroadcastContent": "none", + "localized": { + "title": "Gloss Up - BestFrenn (feat. GloRilla)", + "description": "#NowPlaying Gloss Up - BestFrenn (feat. Glorilla)\nDirected By: Diesel Filmz\n\nStream & Download \" BestFrenn\" here: \nhttps://presave.umusic.com/gloss-up-glorilla-bestfrenn-pre-sav\n\nConnect With Gloss Up:\nInstagram: https://www.instagram.com/glittergirl...\nTwitter: https://twitter.com/GlitterGirlGlos \nTikTok: https://vm.tiktok.com/ZMJajXSKV/" + } + } + }, + { + "kind": "youtube#video", + "etag": "wSM2WQ0gB2McATr9glQvkriEnyQ", + "id": "KHpMxHOGelo", + "snippet": { + "publishedAt": "2023-01-18T01:00:08Z", + "channelId": "UCDK9qD5DAQML-pzrtA7A4oA", + "title": "OFFLINETV'S LAST UNBOXING EVER", + "description": "Thank you all as always for the wonderful letters & gifts, we hope you enjoyed this series as much as we did! 😄\nGo to https://buyraycon.com/offlinetv for 15% off your order! Brought to you by Raycon.\n\n-------------------------------------------------------------\n\n👕 Merch & Apparel:\n• OfflineTV - https://offlinetv.com\n\n📸 Follow OfflineTV:\n• Twitter - https://www.twitter.com/OfflineTV\n• Instagram - https://www.instagram.com/OfflineTV\n• TikTok - https://www.tiktok.com/@offlinetv\n• Reddit - https://www.reddit.com/r/offlineTV\n• Patreon - https://www.patreon.com/offlinetv\n\n📝 OfflineTV Roster:\n• Scarra - https://twitter.com/scarra\n• Pokimane - https://twitter.com/pokimanelol\n• LilyPichu - https://twitter.com/LilyPichu\n• Disguised Toast - https://twitter.com/DisguisedToast\n• Michael Reeves - https://twitter.com/michaelreeves\n• QuarterJade - https://twitter.com/QuarterJade\n• Masayoshi - https://twitter.com/ItzMasayoshi\n• Sydeon - https://twitter.com/Sydeon\n• Yvonnie - https://twitter.com/yvonnie\n\n🎥 Producer & Director:\n• Brodin - https://twitter.com/brodinplett\n\n🎞️ Editor:\n• Stevo - https://twitter.com/stevotevo\n\n📋 YT Manager: \n• Dunois - https://twitter.com/DunoisKR\n\n\n\n\n\n#OfflineTV #Unboxing #Subscribe", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/KHpMxHOGelo/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/KHpMxHOGelo/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/KHpMxHOGelo/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/KHpMxHOGelo/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/KHpMxHOGelo/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "OfflineTV", + "tags": [ + "OfflineTV", + "Scarra", + "Poki", + "Pokimane", + "Lily", + "LilyPichu", + "DisguisedToast", + "Toast", + "TwitchTV", + "twitch", + "Streaming", + "Vlog", + "Fail", + "Epic", + "Gamers", + "Streamers", + "OTV", + "Lilypichu Voice", + "Pokimane thicc", + "OTV Plays", + "OfflineTV plays", + "Michael Reeves", + "Michael", + "Reeves" + ], + "categoryId": "20", + "liveBroadcastContent": "none", + "localized": { + "title": "OFFLINETV'S LAST UNBOXING EVER", + "description": "Thank you all as always for the wonderful letters & gifts, we hope you enjoyed this series as much as we did! 😄\nGo to https://buyraycon.com/offlinetv for 15% off your order! Brought to you by Raycon.\n\n-------------------------------------------------------------\n\n👕 Merch & Apparel:\n• OfflineTV - https://offlinetv.com\n\n📸 Follow OfflineTV:\n• Twitter - https://www.twitter.com/OfflineTV\n• Instagram - https://www.instagram.com/OfflineTV\n• TikTok - https://www.tiktok.com/@offlinetv\n• Reddit - https://www.reddit.com/r/offlineTV\n• Patreon - https://www.patreon.com/offlinetv\n\n📝 OfflineTV Roster:\n• Scarra - https://twitter.com/scarra\n• Pokimane - https://twitter.com/pokimanelol\n• LilyPichu - https://twitter.com/LilyPichu\n• Disguised Toast - https://twitter.com/DisguisedToast\n• Michael Reeves - https://twitter.com/michaelreeves\n• QuarterJade - https://twitter.com/QuarterJade\n• Masayoshi - https://twitter.com/ItzMasayoshi\n• Sydeon - https://twitter.com/Sydeon\n• Yvonnie - https://twitter.com/yvonnie\n\n🎥 Producer & Director:\n• Brodin - https://twitter.com/brodinplett\n\n🎞️ Editor:\n• Stevo - https://twitter.com/stevotevo\n\n📋 YT Manager: \n• Dunois - https://twitter.com/DunoisKR\n\n\n\n\n\n#OfflineTV #Unboxing #Subscribe" + }, + "defaultAudioLanguage": "en" + } + }, + { + "kind": "youtube#video", + "etag": "JH1TsB9UhW7ZTRiPaxopU9aNFiA", + "id": "OpUh77FY0t4", + "snippet": { + "publishedAt": "2023-01-17T21:45:56Z", + "channelId": "UCPJHQ5_DLtxZ1gzBvZE99_g", + "title": "This YouTuber hid a secret for 28 years - I spent a day with DANIEL HOWELL", + "description": "I spent a day with Dan Howell to learn the truth about coming out and taking a break from YouTube. Sponsors ▸This episode is sponsored by BetterHelp — go to http://betterhelp.com/padilla to get 10% off your first month. ▸ Go to http://rocketmoney.com/padilla to cancel your unnecessary subscriptions now.\n\n🎙THE PODCAST (UNCENSORED)\nSpotify ▸ https://open.spotify.com/show/5aOLuPenneHbhLh05fmkeu \nApple ▸ https://podcasts.apple.com/us/podcast/i-spent-a-day-with/id1550213250 \n\n💥NEW YOUTOOZ FIGURE: https://youtooz.com/products/anthony-padilla \n\n🧨HUGE thank you to Dan Howell:\nYOUTUBE:https://www.youtube.com/user/danisnotonfire\nTWITTER: https://twitter.com/danielhowell\nINSTAGRAM: https://www.instagram.com/danielhowell/\n \n🗯MORE EPISODES…\n▸ BRANDON ROGERS - https://youtu.be/MofCGZrHxCI\n▸ JACKSEPTICEYE - https://youtu.be/5obktsi8XdI\n▸ LUDWIG - https://youtu.be/tpXLJq3YZyk\n\n🎥Crew\n▸ Creator, Director, Writer, etc. - Anthony Padilla\n▸ Executive Producer - Alessandra Catanese\n▸ Producer, Co-writer & Research - Elise Felber\n▸ Director of Photography/Gaffer - Kathy Sue Holtorf\n▸ Camera Operator - Matthew Faulkner\n▸ Social Media Manager - Mallory Myers\n▸ Editor - Mike Criscimagna AKA Mork Crispy\n▸ Assistant Editor - Patrick Horba\n▸ Assistant Editor - Ash Duckworth\n▸ Assistant Editor - Nikki Blacklock\n▸ Sound Editor - Gareth Hird\n▸ Post PA - Levi Villalpando\n▸ PA - Joshua Dozier\n▸ Thumbnail Artist - Dill Toma\n▸ Captions - Davy Gerichten\n\n🎵Theme Music Composer - Matt Good AKA The King of Emo \n🖼Portrait painted by: Rhianna Robles - https://instagram.com/zerogattsu\n🦥Slade mascot built by: The Pastel Prince - https://youtube.com/channel/UC7wq2U4FF2NyZD1o_P8QP0g \n📺3D animations by: Jacob Dalton - https://twitter.com/jacobdaltonvfx \n\n📢BE ON THE SHOW\n▸ If you are part of an underrepresented subculture or live a lifestyle you feel is not widely understood and would like to be interviewed by me, email inquiry[at]pressalike.com with your subculture in the title of the email.\n\n❗️You dug this deep into the description. You owe it to yourself to subscribe ▶ https://youtube.com/subscription_center?add_user=AnthonyPadilla or get more at http://instagram.com/anthonypadilla & http://twitter.com/anthonypadilla\n\n0:00 INTRODUCTION\n3:21 BULLIED AS A CHILD\n7:50 ON YOUTUBE FOR 13 YEARS\n10:11 “BASICALLY I’M GAY”\n14:44 REFLECTING ON EMOTIONS\n17:20 STRAIGHT FOR 28 YEARS\n19:45 SPONSOR MESSAGE\n21:59 COMPARING NUMBERS TO SELF-WORTH\n23:46 PARASOCIAL RELATIONSHIPS\n24:52 WHAT’S NEXT FOR DAN HOWELL?\n26:59 WE ARE ALL DOOMED\n31:27 BLOOPER", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/OpUh77FY0t4/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/OpUh77FY0t4/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/OpUh77FY0t4/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/OpUh77FY0t4/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/OpUh77FY0t4/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "AnthonyPadilla", + "tags": ["anthony padilla", "padilla", "anthony", "i spent a day with", "interview"], + "categoryId": "27", + "liveBroadcastContent": "none", + "defaultLanguage": "en", + "localized": { + "title": "This YouTuber hid a secret for 28 years - I spent a day with DANIEL HOWELL", + "description": "I spent a day with Dan Howell to learn the truth about coming out and taking a break from YouTube. Sponsors ▸This episode is sponsored by BetterHelp — go to http://betterhelp.com/padilla to get 10% off your first month. ▸ Go to http://rocketmoney.com/padilla to cancel your unnecessary subscriptions now.\n\n🎙THE PODCAST (UNCENSORED)\nSpotify ▸ https://open.spotify.com/show/5aOLuPenneHbhLh05fmkeu \nApple ▸ https://podcasts.apple.com/us/podcast/i-spent-a-day-with/id1550213250 \n\n💥NEW YOUTOOZ FIGURE: https://youtooz.com/products/anthony-padilla \n\n🧨HUGE thank you to Dan Howell:\nYOUTUBE:https://www.youtube.com/user/danisnotonfire\nTWITTER: https://twitter.com/danielhowell\nINSTAGRAM: https://www.instagram.com/danielhowell/\n \n🗯MORE EPISODES…\n▸ BRANDON ROGERS - https://youtu.be/MofCGZrHxCI\n▸ JACKSEPTICEYE - https://youtu.be/5obktsi8XdI\n▸ LUDWIG - https://youtu.be/tpXLJq3YZyk\n\n🎥Crew\n▸ Creator, Director, Writer, etc. - Anthony Padilla\n▸ Executive Producer - Alessandra Catanese\n▸ Producer, Co-writer & Research - Elise Felber\n▸ Director of Photography/Gaffer - Kathy Sue Holtorf\n▸ Camera Operator - Matthew Faulkner\n▸ Social Media Manager - Mallory Myers\n▸ Editor - Mike Criscimagna AKA Mork Crispy\n▸ Assistant Editor - Patrick Horba\n▸ Assistant Editor - Ash Duckworth\n▸ Assistant Editor - Nikki Blacklock\n▸ Sound Editor - Gareth Hird\n▸ Post PA - Levi Villalpando\n▸ PA - Joshua Dozier\n▸ Thumbnail Artist - Dill Toma\n▸ Captions - Davy Gerichten\n\n🎵Theme Music Composer - Matt Good AKA The King of Emo \n🖼Portrait painted by: Rhianna Robles - https://instagram.com/zerogattsu\n🦥Slade mascot built by: The Pastel Prince - https://youtube.com/channel/UC7wq2U4FF2NyZD1o_P8QP0g \n📺3D animations by: Jacob Dalton - https://twitter.com/jacobdaltonvfx \n\n📢BE ON THE SHOW\n▸ If you are part of an underrepresented subculture or live a lifestyle you feel is not widely understood and would like to be interviewed by me, email inquiry[at]pressalike.com with your subculture in the title of the email.\n\n❗️You dug this deep into the description. You owe it to yourself to subscribe ▶ https://youtube.com/subscription_center?add_user=AnthonyPadilla or get more at http://instagram.com/anthonypadilla & http://twitter.com/anthonypadilla\n\n0:00 INTRODUCTION\n3:21 BULLIED AS A CHILD\n7:50 ON YOUTUBE FOR 13 YEARS\n10:11 “BASICALLY I’M GAY”\n14:44 REFLECTING ON EMOTIONS\n17:20 STRAIGHT FOR 28 YEARS\n19:45 SPONSOR MESSAGE\n21:59 COMPARING NUMBERS TO SELF-WORTH\n23:46 PARASOCIAL RELATIONSHIPS\n24:52 WHAT’S NEXT FOR DAN HOWELL?\n26:59 WE ARE ALL DOOMED\n31:27 BLOOPER" + }, + "defaultAudioLanguage": "en" + } + }, + { + "kind": "youtube#video", + "etag": "kRXKwKW_BJ3fwuBKWw-mc6MtO8c", + "id": "NRNfPcgFtVc", + "snippet": { + "publishedAt": "2023-01-18T00:00:07Z", + "channelId": "UCYbvqjljebwzWVdTb9Fetiw", + "title": "Trinidad James Talks Kanye, TIG, Def Jam, Painted Nails, Stage Fight", + "description": "Nicholaus Joseph Williams, better known by his stage name Trinidad James is a Trinidadian-American rapper. In 2012, he signed a recording contract with Def Jam Recordings. The label dropped him in 2014 when he failed to release an album, although he continues to release music as an independent artist and is signed to Artist Publishing Group for songwriting. \n\nIn this interview Marco starts off by asking who does Trinidad want to be? The interview starts very awkwardly as Trinidad has a bear mask on. Trinidad challenges Marco and says Marco brought him on the show to exploit him. The tables are turned as Trinidad seems to be trolling Marco and has him on his toes. Marco asks Trinidad to remove his mask and Trinidad asks Marco to tie his tie and in exchange Trinidad takes the tie and puts it on. Trinidad takes off his mask to reveal his face with one eyed made up. Marco gets into the interview asking why Trinidad hasn’t made any new music. Trinidad reveals that he wanted to know what the business of entertainment was about. Trinidad talks about his relationships with record labels. Trinidad goes deeper into relationships. Trinidad then goes into his various products and the meaning behind them. Trinidad asks Marco what he thinks about him. Trinidad and Marco go back and forth about the word ugly. The conversation speeds up and the two go back and forth. Marco’s phone goes off and Marco blames it on Matt the Producer. Matt the Producer enters and Trinidad and Matt get into a discussion that gets a little tense. Trinidad and Marco continue the interview. Marco asks Trinidad about his hair. Matt the Producer tells Trinidad to get out of Marco’s creative space. A lady enters from the backstage and Trinidad yells at the lady and Marco invites her on stage. She awkwardly exits and Marco attempts to end the interview as Marco exits while talking to Matt the Producer and the mics are hot. Trinidad throws his chair and goes under the ladder and Matt the Producer holds exception.\n\nExecutive Producers for Breakbeat: Dave Mays & Brett Jeffries\n \nExecutive Producers: Marco Summers & Harvey Sutton\n \nDirector: Matt Ables IG @mattablespromotions\n\nFilmed on location at 4U Recording, Atlanta\n \nIG @Breakbeatmedia @FunnyMarco\n\nComment, like and subscribe on the Breakbeat Media YouTube page, subscribe on Apple, Spotify or wherever podcasts are available, and visit us at www.breakbeatmedia.com", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/NRNfPcgFtVc/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/NRNfPcgFtVc/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/NRNfPcgFtVc/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/NRNfPcgFtVc/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/NRNfPcgFtVc/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Breakbeat Media", + "categoryId": "24", + "liveBroadcastContent": "none", + "localized": { + "title": "Trinidad James Talks Kanye, TIG, Def Jam, Painted Nails, Stage Fight", + "description": "Nicholaus Joseph Williams, better known by his stage name Trinidad James is a Trinidadian-American rapper. In 2012, he signed a recording contract with Def Jam Recordings. The label dropped him in 2014 when he failed to release an album, although he continues to release music as an independent artist and is signed to Artist Publishing Group for songwriting. \n\nIn this interview Marco starts off by asking who does Trinidad want to be? The interview starts very awkwardly as Trinidad has a bear mask on. Trinidad challenges Marco and says Marco brought him on the show to exploit him. The tables are turned as Trinidad seems to be trolling Marco and has him on his toes. Marco asks Trinidad to remove his mask and Trinidad asks Marco to tie his tie and in exchange Trinidad takes the tie and puts it on. Trinidad takes off his mask to reveal his face with one eyed made up. Marco gets into the interview asking why Trinidad hasn’t made any new music. Trinidad reveals that he wanted to know what the business of entertainment was about. Trinidad talks about his relationships with record labels. Trinidad goes deeper into relationships. Trinidad then goes into his various products and the meaning behind them. Trinidad asks Marco what he thinks about him. Trinidad and Marco go back and forth about the word ugly. The conversation speeds up and the two go back and forth. Marco’s phone goes off and Marco blames it on Matt the Producer. Matt the Producer enters and Trinidad and Matt get into a discussion that gets a little tense. Trinidad and Marco continue the interview. Marco asks Trinidad about his hair. Matt the Producer tells Trinidad to get out of Marco’s creative space. A lady enters from the backstage and Trinidad yells at the lady and Marco invites her on stage. She awkwardly exits and Marco attempts to end the interview as Marco exits while talking to Matt the Producer and the mics are hot. Trinidad throws his chair and goes under the ladder and Matt the Producer holds exception.\n\nExecutive Producers for Breakbeat: Dave Mays & Brett Jeffries\n \nExecutive Producers: Marco Summers & Harvey Sutton\n \nDirector: Matt Ables IG @mattablespromotions\n\nFilmed on location at 4U Recording, Atlanta\n \nIG @Breakbeatmedia @FunnyMarco\n\nComment, like and subscribe on the Breakbeat Media YouTube page, subscribe on Apple, Spotify or wherever podcasts are available, and visit us at www.breakbeatmedia.com" + } + } + }, + { + "kind": "youtube#video", + "etag": "FVMH9S6JU6kMslDiK7xGhaGy7v4", + "id": "ByJafdBwmBI", + "snippet": { + "publishedAt": "2023-01-17T02:23:11Z", + "channelId": "UCT2X19JJaJGUN7mrYuImANQ", + "title": "Keren Montero | Shy Singer SHOCKS The Judges With Her BIG Voice! | AGT: All-Stars 2023", + "description": "16-year-old Keren Montero has a voice that will blow you away! Watch as Keren sings \"Rescue\" by Lauren Daigle. \n\n» Get The America's Got Talent App: http://bit.ly/AGTAppDownload\n» Subscribe for More: http://bit.ly/AGTSub\n» Watch on NBC & Peacock: https://pck.tv/3cCQGhH\n\nAMERICA'S GOT TALENT ON SOCIAL\nLike AGT: https://www.facebook.com/agt\nFollow AGT: https://twitter.com/agt\nAGT Instagram: http://instagram.com/agt\n\nFind America's Got Talent trailers, full episode highlights, previews, promos, clips, and digital exclusives here.\n\nNBC ON SOCIAL:\nYouTube: http://www.youtube.com/nbc\nTwitter: http://Twitter.com/NBC\nFacebook: http://Facebook.com/NBC\nInstagram: http://instagram.com/nbc\n\nKeren Montero | Shy Singer SHOCKS The Judges With Her BIG Voice! | AGT: All-Stars 2023\nhttps://youtu.be/ByJafdBwmBI\n\nAmerica's Got Talent\nhttp://www.youtube.com/user/americasgottalent\n#AGT #AmericasGotTalent #AGTAllStars", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/ByJafdBwmBI/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/ByJafdBwmBI/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/ByJafdBwmBI/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/ByJafdBwmBI/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/ByJafdBwmBI/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "America's Got Talent", + "tags": [ + "AGT", + "America's Got Talent", + "Sofia Vergara", + "Simon Cowell", + "Howie Mandel", + "Heidi Klum", + "Terry Crews", + "Keren Montero", + "Keren Montero AGT", + "Keren Montero America's Got Talent", + "Keren Montero AGT Allstars", + "Keren Montero 2023", + "AGT Rescue", + "Rescue", + "by", + "Lauren", + "Daigle", + "Rescue", + "covers", + "Rescue Lauren Daigle Cover", + "Teen Singers", + "Teen Singer", + "Shocking Voices", + "Surprising Singers", + "Shy Singer Big Voice", + "Shy Singer" + ], + "categoryId": "24", + "liveBroadcastContent": "none", + "localized": { + "title": "Keren Montero | Shy Singer SHOCKS The Judges With Her BIG Voice! | AGT: All-Stars 2023", + "description": "16-year-old Keren Montero has a voice that will blow you away! Watch as Keren sings \"Rescue\" by Lauren Daigle. \n\n» Get The America's Got Talent App: http://bit.ly/AGTAppDownload\n» Subscribe for More: http://bit.ly/AGTSub\n» Watch on NBC & Peacock: https://pck.tv/3cCQGhH\n\nAMERICA'S GOT TALENT ON SOCIAL\nLike AGT: https://www.facebook.com/agt\nFollow AGT: https://twitter.com/agt\nAGT Instagram: http://instagram.com/agt\n\nFind America's Got Talent trailers, full episode highlights, previews, promos, clips, and digital exclusives here.\n\nNBC ON SOCIAL:\nYouTube: http://www.youtube.com/nbc\nTwitter: http://Twitter.com/NBC\nFacebook: http://Facebook.com/NBC\nInstagram: http://instagram.com/nbc\n\nKeren Montero | Shy Singer SHOCKS The Judges With Her BIG Voice! | AGT: All-Stars 2023\nhttps://youtu.be/ByJafdBwmBI\n\nAmerica's Got Talent\nhttp://www.youtube.com/user/americasgottalent\n#AGT #AmericasGotTalent #AGTAllStars" + }, + "defaultAudioLanguage": "en-US" + } + }, + { + "kind": "youtube#video", + "etag": "HETMFp0kTzmd1ewZDb0OUzMhe94", + "id": "XftJTSLyMNE", + "snippet": { + "publishedAt": "2023-01-17T20:30:03Z", + "channelId": "UCsvn_Po0SmunchJYOWpOxMg", + "title": "The Stanley's Parable", + "description": "\"Shut up Michael, I'm only working here for the pretzel day\" - Stanley Parable.\n\ndonkey store https://dunkeyscastle.com/\ndonkey publishing company https://twitter.com/BIGMODEgames", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/XftJTSLyMNE/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/XftJTSLyMNE/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/XftJTSLyMNE/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/XftJTSLyMNE/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/XftJTSLyMNE/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "videogamedunkey", + "tags": [ + "stanley parable", + "dunkey", + "videogamedunkey", + "dunkey stanley parable", + "the stanly parable", + "the stanley parable", + "stanley parable ultra deluxe", + "stanley parable 2" + ], + "categoryId": "20", + "liveBroadcastContent": "none", + "localized": { + "title": "The Stanley's Parable", + "description": "\"Shut up Michael, I'm only working here for the pretzel day\" - Stanley Parable.\n\ndonkey store https://dunkeyscastle.com/\ndonkey publishing company https://twitter.com/BIGMODEgames" + }, + "defaultAudioLanguage": "en" + } + }, + { + "kind": "youtube#video", + "etag": "CvglwtwTLK0K6eG3Q8fjbFbUqLQ", + "id": "gCEeCFlV0IA", + "snippet": { + "publishedAt": "2023-01-17T15:00:26Z", + "channelId": "UC52XYgEExV9VG6Rt-6vnzVA", + "title": "Destiny 2: Lightfall | Neomuna Environment Trailer", + "description": "A neon metropolis.\n \nTravel to a destination unlike any you've explored in Destiny 2. Cross paths with bone-chilling Tormentors and valiant Cloud Striders, join the fight against the Shadow Legion, and prevent devastation in the technologically advanced secret city of Neomuna.\n\nLearn more: http://bung.ie/lightfall\n\nFOLLOW DESTINY:\nFacebook: https://www.facebook.com/DestinyTheGame\nTwitter: https://www.twitter.com/destinythegame\nInstagram: https://www.instagram.com/destinythegame\nDiscord: http://www.discord.gg/destinygame\n\nFOLLOW BUNGIE:\nFacebook: https://www.facebook.com/Bungie/\nTwitter: https://www.twitter.com/bungie\nInstagram: https://www.instagram.com/bungie/\n⠀ ⠀ ⠀ ⠀\nDive into the free-to-play world of Destiny 2 to experience responsive first-person shooter combat, explore the mysteries of our solar system, and unleash elemental abilities against powerful enemies. Create your Guardian and collect unique weapons, armor, and gear to customize your look and playstyle. Experience Destiny 2’s cinematic story alone or with friends, join other Guardians for challenging co-op missions, or compete against them in a variety of PvP modes.", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/gCEeCFlV0IA/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/gCEeCFlV0IA/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/gCEeCFlV0IA/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/gCEeCFlV0IA/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/gCEeCFlV0IA/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Destiny 2", + "tags": ["Destiny"], + "categoryId": "20", + "liveBroadcastContent": "none", + "localized": { + "title": "Destiny 2: Lightfall | Neomuna Environment Trailer", + "description": "A neon metropolis.\n \nTravel to a destination unlike any you've explored in Destiny 2. Cross paths with bone-chilling Tormentors and valiant Cloud Striders, join the fight against the Shadow Legion, and prevent devastation in the technologically advanced secret city of Neomuna.\n\nLearn more: http://bung.ie/lightfall\n\nFOLLOW DESTINY:\nFacebook: https://www.facebook.com/DestinyTheGame\nTwitter: https://www.twitter.com/destinythegame\nInstagram: https://www.instagram.com/destinythegame\nDiscord: http://www.discord.gg/destinygame\n\nFOLLOW BUNGIE:\nFacebook: https://www.facebook.com/Bungie/\nTwitter: https://www.twitter.com/bungie\nInstagram: https://www.instagram.com/bungie/\n⠀ ⠀ ⠀ ⠀\nDive into the free-to-play world of Destiny 2 to experience responsive first-person shooter combat, explore the mysteries of our solar system, and unleash elemental abilities against powerful enemies. Create your Guardian and collect unique weapons, armor, and gear to customize your look and playstyle. Experience Destiny 2’s cinematic story alone or with friends, join other Guardians for challenging co-op missions, or compete against them in a variety of PvP modes." + }, + "defaultAudioLanguage": "en" + } + } + ], + "nextPageToken": "CBkQAA", + "pageInfo": { + "totalResults": 200, + "resultsPerPage": 25 + } +} diff --git a/src/components/RelatedVideoInVideoDetail/videoInfo.json b/src/components/RelatedVideoInVideoDetail/videoInfo.json new file mode 100644 index 0000000..eb9076e --- /dev/null +++ b/src/components/RelatedVideoInVideoDetail/videoInfo.json @@ -0,0 +1,2012 @@ +{ + "kind": "youtube#videoListResponse", + "etag": "cy6lvhx_6o4XWnrbr-g0EVP4Mis", + "items": [ + { + "kind": "youtube#video", + "etag": "-S6Y4k3fNaWnGudyzAaxflhWd_A", + "id": "-EXQtU80q1M", + "snippet": { + "publishedAt": "2023-01-18T17:00:00Z", + "channelId": "UCXlfi8sf6cKGQ8sOd0-yRuw", + "title": "Ken Block Tribute Video and Update, from the Hoonigans.", + "description": "The 43 Institute was established to honor Ken Block's memory and spirit. For more information, please visit http://43i.org\n\n00:00 An Update\n04:30 A Celebration of Ken’s Life\n10:15 Words to Live By", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/-EXQtU80q1M/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/-EXQtU80q1M/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/-EXQtU80q1M/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/-EXQtU80q1M/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/-EXQtU80q1M/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Hoonigan", + "tags": [ + "Hoonigan", + "hoonegan", + "Ken Block", + "hoon", + "hooning", + "cars", + "ken block tribute", + "ken block gymkhana", + "ken block mustang", + "hoonigan racing division", + "ken block hoonigan", + "honigan", + "43 institute", + "Кен Блок", + "hoonigans", + "kblock43", + "Lia Block", + "ken block rip" + ], + "categoryId": "22", + "liveBroadcastContent": "none", + "defaultLanguage": "en", + "localized": { + "title": "Ken Block Tribute Video and Update, from the Hoonigans.", + "description": "The 43 Institute was established to honor Ken Block's memory and spirit. For more information, please visit http://43i.org\n\n00:00 An Update\n04:30 A Celebration of Ken’s Life\n10:15 Words to Live By" + }, + "defaultAudioLanguage": "en-US" + }, + "contentDetails": { + "duration": "PT10M46S", + "dimension": "2d", + "definition": "hd", + "caption": "false", + "licensedContent": false, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "1260054", + "likeCount": "147461", + "favoriteCount": "0", + "commentCount": "10633" + } + }, + { + "kind": "youtube#video", + "etag": "vJwZhjuRsjM_ch4rggs_zNWFKGs", + "id": "-e1_QhJ1EhQ", + "snippet": { + "publishedAt": "2023-01-18T15:00:03Z", + "channelId": "UC7vVhkEfw4nOGp8TyDk7RcQ", + "title": "Atlas Gets a Grip | Boston Dynamics", + "description": "It’s time for Atlas to pick up a new set of skills and get hands on. In this video, the humanoid robot manipulates the world around it: Atlas interacts with objects and modifies the course to reach its goal—pushing the limits of locomotion, sensing, and athleticism.\n\nTo learn how we go from idea to execution, go being the scenes with our team: https://youtu.be/XPVC4IyRTG8\n\n#BostonDynamics #Robots #Robotics", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/-e1_QhJ1EhQ/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/-e1_QhJ1EhQ/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/-e1_QhJ1EhQ/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/-e1_QhJ1EhQ/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/-e1_QhJ1EhQ/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Boston Dynamics", + "tags": [ + "boston dynamics", + "boston dynamics robot", + "boston dynamics atlas", + "boston dynamics parkour", + "atlas", + "atlas robot", + "atlas parkour", + "partners in parkour", + "what's new atlas", + "atlas gets a grip", + "atlas picks things up" + ], + "categoryId": "28", + "liveBroadcastContent": "none", + "defaultLanguage": "en", + "localized": { + "title": "Atlas Gets a Grip | Boston Dynamics", + "description": "It’s time for Atlas to pick up a new set of skills and get hands on. In this video, the humanoid robot manipulates the world around it: Atlas interacts with objects and modifies the course to reach its goal—pushing the limits of locomotion, sensing, and athleticism.\n\nTo learn how we go from idea to execution, go being the scenes with our team: https://youtu.be/XPVC4IyRTG8\n\n#BostonDynamics #Robots #Robotics" + } + }, + "contentDetails": { + "duration": "PT1M21S", + "dimension": "2d", + "definition": "hd", + "caption": "false", + "licensedContent": false, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "1387139", + "likeCount": "55940", + "favoriteCount": "0", + "commentCount": "5000" + } + }, + { + "kind": "youtube#video", + "etag": "Rm_mxUHbw2K4OMWd0X2QMaT7PUU", + "id": "oBrkbWSB3Ls", + "snippet": { + "publishedAt": "2023-01-18T15:00:01Z", + "channelId": "UC2qWxZHgnlwDvcmLqP23jrA", + "title": "Fall Out Boy - Love From The Other Side (Official Video)", + "description": "\"Love From The Other Side\" out now: https://FallOutBoy.lnk.to/lovefromtheotherside\n\nNew album 'So Much (For) Stardust' out March 24th on Fueled By Ramen/DCD2: https://FallOutBoy.lnk.to/somuchforstardust\n\nLimited box sets with new merch, signed CDs and four exclusive vinyl colors are available for pre-order now in our webstore https://FallOutBoy.lnk.to/store\n\n✨ lots more to come soon ✨\n\nFOLLOW FALL OUT BOY\n\nhttps://falloutboy.com/\nhttps://instagram.com/falloutboy \nhttps://www.tiktok.com/@falloutboy\nhttps://twitter.com/falloutboy \nhttps://facebook.com/falloutboy \n\nLYRICS\n\nModel house life meltdown\nStill a modern dream let down\nIt kills me you know I’m dying out here\nWhat would you trade the pain for?\nI’m not sure\n\nWe were a hammer to the Statue of David\nWe were a painting you could never frame and\nYou were the sunshine\nOf my lifetime\nWhat would you trade the pain for?\n\nThis city always hangs a little bit lonely on me\nLoose\nLike a kid playing pretend in his father’s suit\nI’d never go, I just want to be invited \nOh\nGot to give up\nGet the feeling\nGet the feeling\nDon’t fight it\nFight it\n\nSending my love from the other side of the apocalypse \nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\nLove from the other side of the apocalypse\nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\n\nGeneration sleep I’m falling in and out of love\nI’m getting that tilted feeling out here\nWhat would you trade the pain for?\nI’m not sure\n\nNowhere left for us to go but heaven\nSummer falling through our fingers again and\nYou were the sunshine\nOf my lifetime\nWhat would you trade the pain for?\n\nThey say we gotta get ahead yeah,\nNo matter what it takes\nBut there’s no way off the hamster wheel on this rat race\nI’d never go, I just want to be invited \nOh\nGot to give up\nGet the feeling\nGet the feeling\nDon’t fight it\nFight it\n\nSending my love from the other side of the apocalypse \nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\nLove from the other side of the apocalypse\nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\n\nI saw you in a bright clear field\nHurricane heat in my head\nThe kind of pain you feel to get good in the end\nGood in the end\nInscribed like stone and faded by the rain:\n“Give up what you love\nGive up what you love before it does you in…”\n\nSending my love from the other side of the apocalypse \nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\nLove from the other side of the apocalypse\nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\n\n#FallOutBoy #SoMuchForStardust #LoveFromTheOtherSide", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/oBrkbWSB3Ls/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/oBrkbWSB3Ls/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/oBrkbWSB3Ls/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/oBrkbWSB3Ls/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/oBrkbWSB3Ls/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Fall Out Boy", + "tags": [ + "Fall Out Boy", + "FOB", + "FOB8", + "Love From The Other Side", + "Other Side of The Apocalypse", + "Pete Wentz", + "Patrick Stump", + "Joe Trohman", + "Andy Hurley", + "so much (for) stardust", + "so much for stardust", + "new fall out boy", + "new FOB", + "New Fall Out Boy Song", + "New Fall Out Boy Album", + "New FOB Album", + "New FOB Song", + "Fueled By Ramen", + "FBR", + "pop punk", + "emo" + ], + "categoryId": "10", + "liveBroadcastContent": "none", + "localized": { + "title": "Fall Out Boy - Love From The Other Side (Official Video)", + "description": "\"Love From The Other Side\" out now: https://FallOutBoy.lnk.to/lovefromtheotherside\n\nNew album 'So Much (For) Stardust' out March 24th on Fueled By Ramen/DCD2: https://FallOutBoy.lnk.to/somuchforstardust\n\nLimited box sets with new merch, signed CDs and four exclusive vinyl colors are available for pre-order now in our webstore https://FallOutBoy.lnk.to/store\n\n✨ lots more to come soon ✨\n\nFOLLOW FALL OUT BOY\n\nhttps://falloutboy.com/\nhttps://instagram.com/falloutboy \nhttps://www.tiktok.com/@falloutboy\nhttps://twitter.com/falloutboy \nhttps://facebook.com/falloutboy \n\nLYRICS\n\nModel house life meltdown\nStill a modern dream let down\nIt kills me you know I’m dying out here\nWhat would you trade the pain for?\nI’m not sure\n\nWe were a hammer to the Statue of David\nWe were a painting you could never frame and\nYou were the sunshine\nOf my lifetime\nWhat would you trade the pain for?\n\nThis city always hangs a little bit lonely on me\nLoose\nLike a kid playing pretend in his father’s suit\nI’d never go, I just want to be invited \nOh\nGot to give up\nGet the feeling\nGet the feeling\nDon’t fight it\nFight it\n\nSending my love from the other side of the apocalypse \nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\nLove from the other side of the apocalypse\nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\n\nGeneration sleep I’m falling in and out of love\nI’m getting that tilted feeling out here\nWhat would you trade the pain for?\nI’m not sure\n\nNowhere left for us to go but heaven\nSummer falling through our fingers again and\nYou were the sunshine\nOf my lifetime\nWhat would you trade the pain for?\n\nThey say we gotta get ahead yeah,\nNo matter what it takes\nBut there’s no way off the hamster wheel on this rat race\nI’d never go, I just want to be invited \nOh\nGot to give up\nGet the feeling\nGet the feeling\nDon’t fight it\nFight it\n\nSending my love from the other side of the apocalypse \nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\nLove from the other side of the apocalypse\nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\n\nI saw you in a bright clear field\nHurricane heat in my head\nThe kind of pain you feel to get good in the end\nGood in the end\nInscribed like stone and faded by the rain:\n“Give up what you love\nGive up what you love before it does you in…”\n\nSending my love from the other side of the apocalypse \nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\nLove from the other side of the apocalypse\nAnd I just about snapped\nDon’t look back\nEvery lover’s got a little dagger in their hand\n\n#FallOutBoy #SoMuchForStardust #LoveFromTheOtherSide" + }, + "defaultAudioLanguage": "en" + }, + "contentDetails": { + "duration": "PT5M28S", + "dimension": "2d", + "definition": "hd", + "caption": "false", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "403501", + "likeCount": "44250", + "favoriteCount": "0", + "commentCount": "4038" + } + }, + { + "kind": "youtube#video", + "etag": "79M44iBUqkm5PMlUb8fFH1DOPEk", + "id": "NthGfn_ddRQ", + "snippet": { + "publishedAt": "2023-01-18T14:00:18Z", + "channelId": "UCNflpbEsoC9uWkSPrx6hMqg", + "title": "Hogwarts Legacy - Official Cinematic Trailer 4K", + "description": "Your letter to Hogwarts has arrived. Live the Unwritten beginning February 10, 2023.\n\nPre-order now.\n\n\nAlways be the first to get #HogwartsLegacy news at \ngo.wbgames.com/HogwartsLegacy \n\nConnect with Hogwarts Legacy online: \nTwitter: https://twitter.com/HogwartsLegacy \nFacebook: https://facebook.com/HogwartsLegacy\nInstagram: https://instagram.com/HogwartsLegacy\nDiscord: Discord.gg/HogwartsLegacy\n\n#4K #WBGames #WizardingWorld", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/NthGfn_ddRQ/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/NthGfn_ddRQ/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/NthGfn_ddRQ/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/NthGfn_ddRQ/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/NthGfn_ddRQ/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Hogwarts Legacy", + "tags": [ + "Hogwarts Legacy", + "Hogwarts", + "Warner Media", + "Warner Bros.", + "WB Games", + "Avalanche", + "Portkey Games", + "Wizarding World", + "Harry Potter", + "Gryffindor", + "Hufflepuff", + "Ravenclaw", + "Slytherin", + "wizard", + "wizardry", + "HP", + "Playstation", + "PS5", + "Microsoft", + "Xbox", + "Xbox Series X", + "Xbox Series S", + "PC", + "RPG", + "open world", + "action", + "action adventure", + "Fantastic Beasts", + "4k", + "video games", + "gaming", + "game", + "dragon", + "hippogriff", + "magical beasts", + "owl", + "Great Hall", + "Nearly Headless Nick", + "Forbidden Forest" + ], + "categoryId": "20", + "liveBroadcastContent": "none", + "localized": { + "title": "Hogwarts Legacy - Official Cinematic Trailer 4K", + "description": "Your letter to Hogwarts has arrived. Live the Unwritten beginning February 10, 2023.\n\nPre-order now.\n\n\nAlways be the first to get #HogwartsLegacy news at \ngo.wbgames.com/HogwartsLegacy \n\nConnect with Hogwarts Legacy online: \nTwitter: https://twitter.com/HogwartsLegacy \nFacebook: https://facebook.com/HogwartsLegacy\nInstagram: https://instagram.com/HogwartsLegacy\nDiscord: Discord.gg/HogwartsLegacy\n\n#4K #WBGames #WizardingWorld" + }, + "defaultAudioLanguage": "en" + }, + "contentDetails": { + "duration": "PT1M20S", + "dimension": "2d", + "definition": "hd", + "caption": "true", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "1537731", + "likeCount": "50317", + "favoriteCount": "0", + "commentCount": "5269" + } + }, + { + "kind": "youtube#video", + "etag": "qPyRnCWiWKmQIBpDp853cCRz2fw", + "id": "SRknVVlwgsE", + "snippet": { + "publishedAt": "2023-01-18T17:00:18Z", + "channelId": "UC-gW4TeZAlKm7UATp24JsWQ", + "title": "GROUNDED GLIZZY MOMENTS", + "description": "GROUNDED GLIZZY MOMENTS\nLeave a like and Subscribe if you enjoyed! Thanks =)\n\nAll the footage featured in this video was livestreamed on my Twitch channel!\nFollow it to catch the streams live when they happen! - https://www.twitch.tv/smii7y\n\nCheck out my other channels!\nSMii7Y https://www.youtube.com/c/SMii7Y\nSMii7Y➖ https://www.youtube.com/c/SMii7Yminus\n\nFollow my Stream, Social Medias and check out my Merch!\n📺 Stream - http://www.twitch.tv/smii7y\n🐦 Twitter - https://twitter.com/SMii7Y\n📷 Instagram - https://www.instagram.com/smii7y/\n👕 Merch - https://smii7y.store/\n\nFriends in the video:\nhttps://www.twitch.tv/jericho\nhttps://www.twitch.tv/EliLikesRice\nhttps://www.twitch.tv/fl0m\n\n🎵 Music by:\nhttp://www.epidemicsound.com/\nhttp://www.premiumbeat.com/\nhttp://audiojungle.net/\nincompetech.com \nLicensed under Creative Commons: By Attribution 3.0\nhttps://creativecommons.org/licenses/by/3.0/\nhttps://99sounds.org/\n\nOutro Music Created by: @MattercellEntertainment", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/SRknVVlwgsE/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/SRknVVlwgsE/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/SRknVVlwgsE/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/SRknVVlwgsE/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/SRknVVlwgsE/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "SMii7Yplus", + "tags": [ + "grounded", + "grounded game", + "grounded update", + "grounded gameplay", + "grounded full release", + "grounded 1.0", + "grounded new update", + "grounded multiplayer", + "grounded coop", + "grounded playthrough", + "smii7y", + "smii7yplus", + "smii7y+", + "smii7y plus" + ], + "categoryId": "20", + "liveBroadcastContent": "none", + "localized": { + "title": "GROUNDED GLIZZY MOMENTS", + "description": "GROUNDED GLIZZY MOMENTS\nLeave a like and Subscribe if you enjoyed! Thanks =)\n\nAll the footage featured in this video was livestreamed on my Twitch channel!\nFollow it to catch the streams live when they happen! - https://www.twitch.tv/smii7y\n\nCheck out my other channels!\nSMii7Y https://www.youtube.com/c/SMii7Y\nSMii7Y➖ https://www.youtube.com/c/SMii7Yminus\n\nFollow my Stream, Social Medias and check out my Merch!\n📺 Stream - http://www.twitch.tv/smii7y\n🐦 Twitter - https://twitter.com/SMii7Y\n📷 Instagram - https://www.instagram.com/smii7y/\n👕 Merch - https://smii7y.store/\n\nFriends in the video:\nhttps://www.twitch.tv/jericho\nhttps://www.twitch.tv/EliLikesRice\nhttps://www.twitch.tv/fl0m\n\n🎵 Music by:\nhttp://www.epidemicsound.com/\nhttp://www.premiumbeat.com/\nhttp://audiojungle.net/\nincompetech.com \nLicensed under Creative Commons: By Attribution 3.0\nhttps://creativecommons.org/licenses/by/3.0/\nhttps://99sounds.org/\n\nOutro Music Created by: @MattercellEntertainment" + } + }, + "contentDetails": { + "duration": "PT25M11S", + "dimension": "2d", + "definition": "hd", + "caption": "false", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "530384", + "likeCount": "34572", + "favoriteCount": "0", + "commentCount": "864" + } + }, + { + "kind": "youtube#video", + "etag": "k_5wz2lsgVdlirj5j_ddnSTEzXE", + "id": "Z9rsqMFO_W4", + "snippet": { + "publishedAt": "2023-01-18T14:45:29Z", + "channelId": "UCi4fcBVyo4CAnmdgXeO-NvA", + "title": "Gruesome details revealed in court as Brian Walshe charged with murdering wife Ana Walshe", + "description": "Brian Walshe is charged with allegedly murdering his wife, missing Cohasset woman Ana Walshe.", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/Z9rsqMFO_W4/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/Z9rsqMFO_W4/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/Z9rsqMFO_W4/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/Z9rsqMFO_W4/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/Z9rsqMFO_W4/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "CBS Boston", + "tags": ["CBSN Boston", "Ana Walshe", "Brian Walshe"], + "categoryId": "25", + "liveBroadcastContent": "none", + "localized": { + "title": "Gruesome details revealed in court as Brian Walshe charged with murdering wife Ana Walshe", + "description": "Brian Walshe is charged with allegedly murdering his wife, missing Cohasset woman Ana Walshe." + }, + "defaultAudioLanguage": "en" + }, + "contentDetails": { + "duration": "PT13M5S", + "dimension": "2d", + "definition": "hd", + "caption": "true", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "362702", + "likeCount": "3035", + "favoriteCount": "0", + "commentCount": "2118" + } + }, + { + "kind": "youtube#video", + "etag": "JttP_w0aIjM6QRnicNa6OwV1NRU", + "id": "k_zz3239DA0", + "snippet": { + "publishedAt": "2023-01-18T15:00:34Z", + "channelId": "UCmGSJVG3mCRXVOP4yZrU1Dw", + "title": "USA vs China, The War You Can't See", + "description": "The US and China are fighting a war. It's a weird one that's hard to see. \nVisit https://bit.ly/Scaler_JohnnyHarris to take the free live class.\n\nThe US and China are fighting a war. It's a weird one that's hard to see. It's being fought in government offices, in company boardrooms. And it’s being fought over the most important technology in the world: Microchips.\n\nNext week's video (about submarines) is live now on Nebula https://nebula.tv/videos/johnnyharris-our-best-military-weapon-is-invisible\nwhere I publish every video one week early. \n\nCheck out all my sources for this video here: https://docs.google.com/document/d/1rb2t8ndF23uXBuYweXya61JClTU30xJD_HBu9exUTF4/edit?usp=sharing\n\nJoin the Newsroom (over on Patreon) to get access to behind-the-scenes vlogs, extended interviews, & to support the channel. See you there! https://www.patreon.com/johnnyharris\n\n- ways to support - \nMy Patreon: https://www.patreon.com/johnnyharris\nOur custom Presets & LUTs: https://store.dftba.com/products/johnny-iz-luts-and-presets\n\n- where to find me -\nInstagram: https://www.instagram.com/johnny.harris/\nTiktok: https://www.tiktok.com/@johnny.harris\nFacebook: https://www.facebook.com/JohnnyHarrisVox\nIz's (my wife’s) channel: https://www.youtube.com/iz-harris\n\n- how i make my videos -\nTom Fox makes my music, work with him here: https://tfbeats.com/\nI make maps using this AE Plugin: https://aescripts.com/geolayers/?aff=77\nAll the gear I use: https://www.izharris.com/gear-guide\n \n- my courses - \nLearn a language: https://brighttrip.com/course/language/\nVisual storytelling: https://www.brighttrip.com/courses/visual-storytelling\n\n- about -\nJohnny Harris is an Emmy-winning journalist. He currently is based in Washington, DC, reporting on interesting trends and stories domestically and around the globe. Johnny's visual style blends motion graphics with cinematic videography to create content that explains complex issues in relatable ways.\n\n- press - \nNYTimes: https://www.nytimes.com/2021/11/09/opinion/democrats-blue-states-legislation.html\nNYTimes: https://www.nytimes.com/video/opinion/100000007358968/covid-pandemic-us-response.html\nVox Borders: https://www.youtube.com/watch?v=hLrFyjGZ9NU\nFinding Founders: https://findingfounders.co/episodes/johnny-harris-2esj3-c3pet-2pg4c-xbtwa-5gaaa\nNPR Planet Money: https://www.npr.org/transcripts/1072164745", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/k_zz3239DA0/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/k_zz3239DA0/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/k_zz3239DA0/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/k_zz3239DA0/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/k_zz3239DA0/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Johnny Harris", + "tags": [ + "Johnny Harris", + "Johnny Harris Vox", + "Vox Borders", + "Johnny Harris Vox Borders", + "Vox", + "microchips", + "china", + "usa", + "us", + "united states", + "geopolitics", + "economics", + "technology", + "semiconductors", + "trade", + "regulations", + "engineering", + "tech", + "war", + "silicon", + "energy", + "electricity", + "military", + "nasa", + "computers", + "television", + "radio", + "phones", + "transistors", + "fabs", + "government", + "japan", + "taiwan", + "tsmc", + "ibm", + "nuclear", + "weapons", + "ai", + "nvidia", + "intel", + "national security", + "fusion", + "defense" + ], + "categoryId": "28", + "liveBroadcastContent": "none", + "localized": { + "title": "USA vs China, The War You Can't See", + "description": "The US and China are fighting a war. It's a weird one that's hard to see. \nVisit https://bit.ly/Scaler_JohnnyHarris to take the free live class.\n\nThe US and China are fighting a war. It's a weird one that's hard to see. It's being fought in government offices, in company boardrooms. And it’s being fought over the most important technology in the world: Microchips.\n\nNext week's video (about submarines) is live now on Nebula https://nebula.tv/videos/johnnyharris-our-best-military-weapon-is-invisible\nwhere I publish every video one week early. \n\nCheck out all my sources for this video here: https://docs.google.com/document/d/1rb2t8ndF23uXBuYweXya61JClTU30xJD_HBu9exUTF4/edit?usp=sharing\n\nJoin the Newsroom (over on Patreon) to get access to behind-the-scenes vlogs, extended interviews, & to support the channel. See you there! https://www.patreon.com/johnnyharris\n\n- ways to support - \nMy Patreon: https://www.patreon.com/johnnyharris\nOur custom Presets & LUTs: https://store.dftba.com/products/johnny-iz-luts-and-presets\n\n- where to find me -\nInstagram: https://www.instagram.com/johnny.harris/\nTiktok: https://www.tiktok.com/@johnny.harris\nFacebook: https://www.facebook.com/JohnnyHarrisVox\nIz's (my wife’s) channel: https://www.youtube.com/iz-harris\n\n- how i make my videos -\nTom Fox makes my music, work with him here: https://tfbeats.com/\nI make maps using this AE Plugin: https://aescripts.com/geolayers/?aff=77\nAll the gear I use: https://www.izharris.com/gear-guide\n \n- my courses - \nLearn a language: https://brighttrip.com/course/language/\nVisual storytelling: https://www.brighttrip.com/courses/visual-storytelling\n\n- about -\nJohnny Harris is an Emmy-winning journalist. He currently is based in Washington, DC, reporting on interesting trends and stories domestically and around the globe. Johnny's visual style blends motion graphics with cinematic videography to create content that explains complex issues in relatable ways.\n\n- press - \nNYTimes: https://www.nytimes.com/2021/11/09/opinion/democrats-blue-states-legislation.html\nNYTimes: https://www.nytimes.com/video/opinion/100000007358968/covid-pandemic-us-response.html\nVox Borders: https://www.youtube.com/watch?v=hLrFyjGZ9NU\nFinding Founders: https://findingfounders.co/episodes/johnny-harris-2esj3-c3pet-2pg4c-xbtwa-5gaaa\nNPR Planet Money: https://www.npr.org/transcripts/1072164745" + }, + "defaultAudioLanguage": "en" + }, + "contentDetails": { + "duration": "PT33M38S", + "dimension": "2d", + "definition": "hd", + "caption": "true", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "682674", + "likeCount": "37398", + "favoriteCount": "0", + "commentCount": "2885" + } + }, + { + "kind": "youtube#video", + "etag": "6t5KMXAy9ZZ_C8Y1yc3xkcDs17Q", + "id": "Znsa4Deavgg", + "snippet": { + "publishedAt": "2023-01-17T02:44:15Z", + "channelId": "UCZGYJFUizSax-yElQaFDp5Q", + "title": "The Mandalorian | Season 3 Official Trailer | Disney+", + "description": "Reunited.\n\nThe Mandalorian, Season 3 March 1 on Disney+.\nThe journeys of the Mandalorian through the Star Wars galaxy continue. Once a lone bounty hunter, Din Djarin has reunited with Grogu. Meanwhile, the New Republic struggles to lead the galaxy away from its dark history. The Mandalorian will cross paths with old allies and make new enemies as he and Grogu continue their journey together.\n\nThe series stars Pedro Pascal, Katee Sackhoff, Carl Weathers, Amy Sedaris, Emily Swallow and Giancarlo Esposito.", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/Znsa4Deavgg/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/Znsa4Deavgg/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/Znsa4Deavgg/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/Znsa4Deavgg/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/Znsa4Deavgg/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Star Wars", + "tags": [ + "The Mandalorian", + "Mandalorian", + "Grogu", + "Baby Yoda", + "Star Wars", + "Mando", + "Pedro Pascal", + "Dave Filoni", + "Jon Favreau", + "Carl Weathers", + "Giancarlo Esposito", + "Din Djarin", + "Greef Karga", + "Moff Gideon", + "Katee Sackhoff", + "Bo-Katan Kryze", + "Emily Swallow", + "The Armorer" + ], + "categoryId": "24", + "liveBroadcastContent": "none", + "localized": { + "title": "The Mandalorian | Season 3 Official Trailer | Disney+", + "description": "Reunited.\n\nThe Mandalorian, Season 3 March 1 on Disney+.\nThe journeys of the Mandalorian through the Star Wars galaxy continue. Once a lone bounty hunter, Din Djarin has reunited with Grogu. Meanwhile, the New Republic struggles to lead the galaxy away from its dark history. The Mandalorian will cross paths with old allies and make new enemies as he and Grogu continue their journey together.\n\nThe series stars Pedro Pascal, Katee Sackhoff, Carl Weathers, Amy Sedaris, Emily Swallow and Giancarlo Esposito." + }, + "defaultAudioLanguage": "en-US" + }, + "contentDetails": { + "duration": "PT1M43S", + "dimension": "2d", + "definition": "hd", + "caption": "true", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "5191048", + "likeCount": "119206", + "favoriteCount": "0", + "commentCount": "5501" + } + }, + { + "kind": "youtube#video", + "etag": "CWB9qff1Af_XtiK0vhg6YvGaxiQ", + "id": "XPVC4IyRTG8", + "snippet": { + "publishedAt": "2023-01-18T15:00:18Z", + "channelId": "UC7vVhkEfw4nOGp8TyDk7RcQ", + "title": "Inside the Lab: Taking Atlas From Sim to Scaffold", + "description": "How does Atlas recognize and interact with objects? How do we develop new Atlas behaviors? Why is manipulation important for the future of robotics?\n\nJoin our team in the Atlas lab to discover the answers to these questions and more. Keep reading on our blog: https://www.bostondynamics.com/resources/blog/sick-tricks-and-tricky-grips\n\n00:00: Introduction\n01:57: Perception and Manipulation\n05:11: Electrical Doctors\n06:29: Developing in Simulation\n07:13: \"Sick Trick\"\n08:24: What's Next?\n\n#BostonDynamics #robotics", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/XPVC4IyRTG8/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/XPVC4IyRTG8/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/XPVC4IyRTG8/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/XPVC4IyRTG8/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/XPVC4IyRTG8/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Boston Dynamics", + "tags": [ + "boston dynamics", + "boston dynamics robot", + "boston dynamics atlas", + "boston dynamics parkour", + "atlas", + "atlas robot", + "atlas parkour", + "partners in parkour", + "what's new atlas", + "atlas gets a grip", + "atlas picks things up" + ], + "categoryId": "28", + "liveBroadcastContent": "none", + "defaultLanguage": "en", + "localized": { + "title": "Inside the Lab: Taking Atlas From Sim to Scaffold", + "description": "How does Atlas recognize and interact with objects? How do we develop new Atlas behaviors? Why is manipulation important for the future of robotics?\n\nJoin our team in the Atlas lab to discover the answers to these questions and more. Keep reading on our blog: https://www.bostondynamics.com/resources/blog/sick-tricks-and-tricky-grips\n\n00:00: Introduction\n01:57: Perception and Manipulation\n05:11: Electrical Doctors\n06:29: Developing in Simulation\n07:13: \"Sick Trick\"\n08:24: What's Next?\n\n#BostonDynamics #robotics" + } + }, + "contentDetails": { + "duration": "PT9M47S", + "dimension": "2d", + "definition": "hd", + "caption": "false", + "licensedContent": false, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "618393", + "likeCount": "21748", + "favoriteCount": "0", + "commentCount": "1729" + } + }, + { + "kind": "youtube#video", + "etag": "X8Qz41UfwCxAM3efta7ToQ9YhUs", + "id": "oMf_i1YBuMk", + "snippet": { + "publishedAt": "2023-01-18T14:44:48Z", + "channelId": "UCE_M8A5yxnLfW0KghEeajjw", + "title": "Introducing the all-new HomePod | Apple", + "description": "A powerful, high-excursion woofer and beamforming tweeters create room-filling sound. HomePod senses its surroundings and automatically adapts audio for where it’s placed. Advanced computational audio, powered by Apple silicon, optimizes acoustic performance. Spatial Audio directs music with great precision, surrounding you in sound. It all comes together for the ultimate home audio experience. \n\nHomePod also works seamlessly with all your Apple devices. It comes with Siri built in and works as a smart home hub to connect and control your home, privately and securely. Available in Midnight and White.\n\n“GMT (Jamie xx Remix)” by Oliver Sim and Jamie xx https://apple.co/GMT-Remix\n\nLearn more about HomePod: https://apple.co/3iPMmC7\n\n#Apple #HomePod\n\nSpatial Audio works with compatible content in supported apps.\nMusic streaming services may require a subscription.\nSmart home functionality requires a HomeKit- or Matter-enabled accessory. Smart home accessories sold separately.\n\nWelcome to the official Apple YouTube channel. Here you’ll find news about product launches, tutorials, and other great content. Apple’s more than 160,000 employees are dedicated to making the best products on earth, and to leaving the world better than we found it.", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/oMf_i1YBuMk/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/oMf_i1YBuMk/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/oMf_i1YBuMk/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/oMf_i1YBuMk/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/oMf_i1YBuMk/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Apple", + "tags": [ + "Apple", + "HomePod", + "home audio", + "smart speaker", + "Siri", + "computational audio", + "room sensing", + "Spatial Audio", + "smart home" + ], + "categoryId": "28", + "liveBroadcastContent": "none", + "localized": { + "title": "Introducing the all-new HomePod | Apple", + "description": "A powerful, high-excursion woofer and beamforming tweeters create room-filling sound. HomePod senses its surroundings and automatically adapts audio for where it’s placed. Advanced computational audio, powered by Apple silicon, optimizes acoustic performance. Spatial Audio directs music with great precision, surrounding you in sound. It all comes together for the ultimate home audio experience. \n\nHomePod also works seamlessly with all your Apple devices. It comes with Siri built in and works as a smart home hub to connect and control your home, privately and securely. Available in Midnight and White.\n\n“GMT (Jamie xx Remix)” by Oliver Sim and Jamie xx https://apple.co/GMT-Remix\n\nLearn more about HomePod: https://apple.co/3iPMmC7\n\n#Apple #HomePod\n\nSpatial Audio works with compatible content in supported apps.\nMusic streaming services may require a subscription.\nSmart home functionality requires a HomeKit- or Matter-enabled accessory. Smart home accessories sold separately.\n\nWelcome to the official Apple YouTube channel. Here you’ll find news about product launches, tutorials, and other great content. Apple’s more than 160,000 employees are dedicated to making the best products on earth, and to leaving the world better than we found it." + }, + "defaultAudioLanguage": "en" + }, + "contentDetails": { + "duration": "PT2M22S", + "dimension": "2d", + "definition": "hd", + "caption": "true", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "2345826", + "likeCount": "38631", + "favoriteCount": "0" + } + }, + { + "kind": "youtube#video", + "etag": "CC17yLCUP26zanjkDXhs4ThzLwQ", + "id": "SJN903kCJrc", + "snippet": { + "publishedAt": "2023-01-18T00:52:02Z", + "channelId": "UCR_J_SntqJh5eXw66d5hJxA", + "title": "I Built a Secret Gaming Room to Hide From My Mom!", + "description": "I built a hidden gaming room to hide from my mom!!\nBeem Team Merch! ➔ https://www.beemteam.shop\nSUBSCRIBE for a chance at $1,000! ➔ https://www.youtube.com/c/Mbeem10?sub_confirmation=1\n\nNEW VIDEOS EVERY TUESDAY!\n\n📱 FOLLOW MY SOCIALS 📱\n➽ Instagram - @MatthewBeem\n➽ Twitter - @MatthewBeem\n➽ TikTok - @MatthewBeem\n\nEver since I was a kid I’ve been a gamer, but lately it has been hard to find the time. I also may or may not still live with my mom so I feel guilty gaming while at home. That's why I decided to build a secret gaming room under the stairs in a hidden closet so that I can play all the games I want in peace and quiet. So my mom didn’t find out about this project, I sent her and my sister to Paris for the week. This was tricky, but we figured it all out and it turned out incredible! I love my new gaming room, but it was insane and super intense to make. Luckily we had lots of laughs along the way. I love making these videos and can't wait for you to see what is next. \n\nIf you’re reading this you’re a real one! \nComment “I want a secret gaming room!\" so I can notice you!\n\nNot I Built a SECRET Gaming Bunker In My Room *No One Knew*, But I Built a Secret Room to Hide from my Wife, But i built my DREAM Hidden Gaming Room in my Parents House, But I Built a Secret Room to Hide from My Family, But Secret Hidden Gaming Room Inside a Couch, But I Built An EPIC Hidden Gaming Room In My House *PS5*, But Little Girl Finds A Secret Room In Her House That Leads Into An Even Wilder Surprise, But I Built a Secret Room in Public, But I Turned an Old Dumpster into an Epic Secret Room, But INCREDIBLY INGENIOUS Hidden Rooms and Secret Furniture , But I Built a Secret Room, But I Built An EPIC Hidden Gaming Room In My New House, But Hidden Entrance INSIDE Stairs To DREAM Gaming Room, But I Found The ULTIMATE HIDDEN GAMING ROOM In My New House or any other video like JStu, FrenchieFries, Jake Carlini, Ben Azelart, AllWeDoIsFun, Zealous, Tiana Wilson, Dangie Bros, Drew Dirksen, Carter Sharer, MARKO, Interesting & Creative Designs, Chris & Emily, Unspeakable, MrBeast, Faze Rug, or Airrack would make. This is a video where Matthew Beem (aka MBeem10) builds a secret hidden gaming room inside the stairs to hide from his mom!", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/SJN903kCJrc/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/SJN903kCJrc/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/SJN903kCJrc/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/SJN903kCJrc/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/SJN903kCJrc/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Matthew Beem", + "tags": [ + "mbeem10", + "matthew beem", + "beem team", + "matthew beam", + "beam team", + "hidden room", + "hidden gaming room", + "secret room", + "secret gaming room", + "JStu", + "hidden fort", + "hidden secret fort", + "dream gaming room", + "gaming room inside stairs", + "morejstu hidden fort", + "fort under stairs", + "under stairs hidden fort", + "secret entrance inside stairs", + "Secret Room", + "Secret Rooms In Houses", + "Zealous", + "Ben Azelart", + "I Built a Secret Room to Hide from my Wife", + "i built a secret room", + "epic hidden gaming room", + "MoreJStu", + "FrenchieFries" + ], + "categoryId": "22", + "liveBroadcastContent": "none", + "localized": { + "title": "I Built a Secret Gaming Room to Hide From My Mom!", + "description": "I built a hidden gaming room to hide from my mom!!\nBeem Team Merch! ➔ https://www.beemteam.shop\nSUBSCRIBE for a chance at $1,000! ➔ https://www.youtube.com/c/Mbeem10?sub_confirmation=1\n\nNEW VIDEOS EVERY TUESDAY!\n\n📱 FOLLOW MY SOCIALS 📱\n➽ Instagram - @MatthewBeem\n➽ Twitter - @MatthewBeem\n➽ TikTok - @MatthewBeem\n\nEver since I was a kid I’ve been a gamer, but lately it has been hard to find the time. I also may or may not still live with my mom so I feel guilty gaming while at home. That's why I decided to build a secret gaming room under the stairs in a hidden closet so that I can play all the games I want in peace and quiet. So my mom didn’t find out about this project, I sent her and my sister to Paris for the week. This was tricky, but we figured it all out and it turned out incredible! I love my new gaming room, but it was insane and super intense to make. Luckily we had lots of laughs along the way. I love making these videos and can't wait for you to see what is next. \n\nIf you’re reading this you’re a real one! \nComment “I want a secret gaming room!\" so I can notice you!\n\nNot I Built a SECRET Gaming Bunker In My Room *No One Knew*, But I Built a Secret Room to Hide from my Wife, But i built my DREAM Hidden Gaming Room in my Parents House, But I Built a Secret Room to Hide from My Family, But Secret Hidden Gaming Room Inside a Couch, But I Built An EPIC Hidden Gaming Room In My House *PS5*, But Little Girl Finds A Secret Room In Her House That Leads Into An Even Wilder Surprise, But I Built a Secret Room in Public, But I Turned an Old Dumpster into an Epic Secret Room, But INCREDIBLY INGENIOUS Hidden Rooms and Secret Furniture , But I Built a Secret Room, But I Built An EPIC Hidden Gaming Room In My New House, But Hidden Entrance INSIDE Stairs To DREAM Gaming Room, But I Found The ULTIMATE HIDDEN GAMING ROOM In My New House or any other video like JStu, FrenchieFries, Jake Carlini, Ben Azelart, AllWeDoIsFun, Zealous, Tiana Wilson, Dangie Bros, Drew Dirksen, Carter Sharer, MARKO, Interesting & Creative Designs, Chris & Emily, Unspeakable, MrBeast, Faze Rug, or Airrack would make. This is a video where Matthew Beem (aka MBeem10) builds a secret hidden gaming room inside the stairs to hide from his mom!" + }, + "defaultAudioLanguage": "en-US" + }, + "contentDetails": { + "duration": "PT8M59S", + "dimension": "2d", + "definition": "hd", + "caption": "true", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "737136", + "likeCount": "24114", + "favoriteCount": "0", + "commentCount": "2416" + } + }, + { + "kind": "youtube#video", + "etag": "4UhXBniV5RZExCwliRXRGLGVMYY", + "id": "TkPCdI2aZhQ", + "snippet": { + "publishedAt": "2023-01-17T22:13:41Z", + "channelId": "UC4mLlRa_dezwvytudo9s1sw", + "title": "Touring Colorado's $177 Million Football Facilities! (w/ Travis Hunter)", + "description": "Deestroying and Travis Hunter tour Colorado’s new football facilities for the first time! Even had special guest appearances by Shedeur Sanders and more! Deion Sanders hopes to get many recruits to commit to colorado and this is how..\n\nGET YOUR ELEVEN GEAR HERE : https://theeleven.store\n\nSUBSCRIBE TO MY 2ND CHANNEL :\nhttps://www.youtube.com/@moredeestroying692\n\nTHE ELEVEN : https://theeleven.store\n\nFOLLOW ME ON\nTwitter : https://www.twitter.com/deestroying\nIG : https://www.instagram.com/deestroying", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/TkPCdI2aZhQ/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/TkPCdI2aZhQ/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/TkPCdI2aZhQ/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/TkPCdI2aZhQ/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/TkPCdI2aZhQ/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Deestroying", + "tags": [ + "Travis hunter", + "Deestroying", + "Shedeur sanders", + "Deoin sanders", + "Colorado university", + "Colorado buffs", + "Facility tour", + "D1", + "College visit" + ], + "categoryId": "24", + "liveBroadcastContent": "none", + "localized": { + "title": "Touring Colorado's $177 Million Football Facilities! (w/ Travis Hunter)", + "description": "Deestroying and Travis Hunter tour Colorado’s new football facilities for the first time! Even had special guest appearances by Shedeur Sanders and more! Deion Sanders hopes to get many recruits to commit to colorado and this is how..\n\nGET YOUR ELEVEN GEAR HERE : https://theeleven.store\n\nSUBSCRIBE TO MY 2ND CHANNEL :\nhttps://www.youtube.com/@moredeestroying692\n\nTHE ELEVEN : https://theeleven.store\n\nFOLLOW ME ON\nTwitter : https://www.twitter.com/deestroying\nIG : https://www.instagram.com/deestroying" + }, + "defaultAudioLanguage": "en" + }, + "contentDetails": { + "duration": "PT18M25S", + "dimension": "2d", + "definition": "hd", + "caption": "false", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "830309", + "likeCount": "28987", + "favoriteCount": "0", + "commentCount": "1650" + } + }, + { + "kind": "youtube#video", + "etag": "YX5VKjkdWQyMXdja7mwdo-ga_GU", + "id": "_I9T4hxmZXU", + "snippet": { + "publishedAt": "2023-01-18T07:59:02Z", + "channelId": "UCD1Em4q90ZUK2R5HKesszJg", + "title": "Lunar New Year Magic Show | Clash of Clans Official", + "description": "Celebrate the Year of the Rabbit with the brand new Lunar Queen skin, the Magic Show statue, as well as the Magic Theatre Scenery and its in-game challenge! Happy Lunar New Year! 🐰✨ \n\n\n\nFollow us on our Socials!\nTwitter ► https://twitter.com/ClashofClans/\nInstagram ► https://www.instagram.com/clashofclans \nFacebook ► https://www.facebook.com/ClashofClans \nTikTok ► https://www.tiktok.com/@clashofclans\n\nAttack. Defend. Strategize. Download for free for mobile devices. http://supr.cl/ThisArmy\n\nFrom rage-\u00adfilled Barbarians with glorious mustaches to pyromaniac wizards, raise your own army and lead your clan to victory! Build your village to fend off raiders, battle against millions of players worldwide, and forge a powerful clan with others to destroy enemy clans.\nPLEASE NOTE! Clash of Clans is free to download and play, however some game items can also be purchased for real money \n\nAlso, under our Terms of Service and Privacy Policy, you must be at least 13 years of age to play or download Clash of Clans.\nA network connection is also required.\n\nFEATURES\n- Build your village into an unbeatable fortress \n- Raise your own army of Barbarians, Archers, Hog Riders, Wizards, Dragons and other mighty fighters\n- Battle with players worldwide and take their Trophies\n- Join together with other players to form the ultimate Clan\n- Fight against rival Clans in epic Clan Wars \n- Build 18 unique units with multiple levels of upgrades\n- Discover your favorite attacking army from countless combinations of troops, spells, Heroes and Clan reinforcements \n- Defend your village with a multitude of Cannons, Towers, Mortars, Bombs, Traps and Walls\n- Fight against the Goblin King in a campaign through the realm\n\nChief, are you having problems? Visit https://help.supercellsupport.com/clash-of-clans/en/\n\nPrivacy Policy:\nhttp://www.supercell.net/privacy-policy/\n\nTerms of Service:\nhttps://supercell.com/en/terms-of-service/\n\nParent’s Guide:\nhttp://www.supercell.net/parents\n\n#clashofclans #lunarnewyear #yearoftherabbit", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/_I9T4hxmZXU/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/_I9T4hxmZXU/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/_I9T4hxmZXU/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/_I9T4hxmZXU/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/_I9T4hxmZXU/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Clash of Clans", + "tags": [ + "clash of clans", + "COC", + "Clash of Clans Gameplay", + "Clash of Clans Strategy", + "Clash of Clans Animation", + "Clash of Clans Commercial", + "Clash of Clans Attacks", + "Clash of Clans Town Hall", + "Hog Rider", + "PEKKA", + "Clan Wars", + "season challenges", + "clan war leagues", + "clash on", + "clan game", + "clan games", + "clash-a-rama", + "clasharama", + "lunar new year", + "year of the rabbit", + "rabbit archer queen", + "Magic Theatre Scenery", + "magic theatre", + "Magic Show Statue", + "magic show" + ], + "categoryId": "20", + "liveBroadcastContent": "none", + "defaultLanguage": "en", + "localized": { + "title": "Lunar New Year Magic Show | Clash of Clans Official", + "description": "Celebrate the Year of the Rabbit with the brand new Lunar Queen skin, the Magic Show statue, as well as the Magic Theatre Scenery and its in-game challenge! Happy Lunar New Year! 🐰✨ \n\n\n\nFollow us on our Socials!\nTwitter ► https://twitter.com/ClashofClans/\nInstagram ► https://www.instagram.com/clashofclans \nFacebook ► https://www.facebook.com/ClashofClans \nTikTok ► https://www.tiktok.com/@clashofclans\n\nAttack. Defend. Strategize. Download for free for mobile devices. http://supr.cl/ThisArmy\n\nFrom rage-\u00adfilled Barbarians with glorious mustaches to pyromaniac wizards, raise your own army and lead your clan to victory! Build your village to fend off raiders, battle against millions of players worldwide, and forge a powerful clan with others to destroy enemy clans.\nPLEASE NOTE! Clash of Clans is free to download and play, however some game items can also be purchased for real money \n\nAlso, under our Terms of Service and Privacy Policy, you must be at least 13 years of age to play or download Clash of Clans.\nA network connection is also required.\n\nFEATURES\n- Build your village into an unbeatable fortress \n- Raise your own army of Barbarians, Archers, Hog Riders, Wizards, Dragons and other mighty fighters\n- Battle with players worldwide and take their Trophies\n- Join together with other players to form the ultimate Clan\n- Fight against rival Clans in epic Clan Wars \n- Build 18 unique units with multiple levels of upgrades\n- Discover your favorite attacking army from countless combinations of troops, spells, Heroes and Clan reinforcements \n- Defend your village with a multitude of Cannons, Towers, Mortars, Bombs, Traps and Walls\n- Fight against the Goblin King in a campaign through the realm\n\nChief, are you having problems? Visit https://help.supercellsupport.com/clash-of-clans/en/\n\nPrivacy Policy:\nhttp://www.supercell.net/privacy-policy/\n\nTerms of Service:\nhttps://supercell.com/en/terms-of-service/\n\nParent’s Guide:\nhttp://www.supercell.net/parents\n\n#clashofclans #lunarnewyear #yearoftherabbit" + }, + "defaultAudioLanguage": "en" + }, + "contentDetails": { + "duration": "PT1M32S", + "dimension": "2d", + "definition": "hd", + "caption": "false", + "licensedContent": false, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "1655398", + "likeCount": "48987", + "favoriteCount": "0", + "commentCount": "2820" + } + }, + { + "kind": "youtube#video", + "etag": "AkgSRnPv9sHHAcK0UvCoc_hYz0c", + "id": "Wj5lcSi5Nrg", + "snippet": { + "publishedAt": "2023-01-18T17:36:40Z", + "channelId": "UCUK0HBIBWgM2c4vsPhkYY4w", + "title": "Tiniest Exploding Fire Extinguisher at 150,000FPS - The Slow Mo Guys", + "description": "How do you use a fire extinguisher when it doesn't have a handle? Blow it up?\nGav and Dan film the explosive fire suppression at 150,000fps.\nInstagram - https://www.instagram.com/theslowmoguys\nFilmed at 150,000FPS with the Phantom TMX7510\nTiniest Exploding Fire Extinguisher at 150,000FPS - The Slow Mo Guys", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/Wj5lcSi5Nrg/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/Wj5lcSi5Nrg/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/Wj5lcSi5Nrg/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/Wj5lcSi5Nrg/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/Wj5lcSi5Nrg/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "The Slow Mo Guys", + "tags": [ + "slomo", + "slow", + "mo", + "super", + "motion", + "Slow Motion", + "1000", + "1000fps", + "gav", + "dan", + "slowmoguys", + "phantom", + "guys", + "HD", + "flex", + "gavin", + "free", + "gavin free", + "high speed camera", + "the slow mo guys", + "2000", + "2000fps", + "5000", + "5000fps", + "tiny", + "small", + "fire", + "extinguisher", + "exploding" + ], + "categoryId": "24", + "liveBroadcastContent": "none", + "defaultLanguage": "en-GB", + "localized": { + "title": "Tiniest Exploding Fire Extinguisher at 150,000FPS - The Slow Mo Guys", + "description": "How do you use a fire extinguisher when it doesn't have a handle? Blow it up?\nGav and Dan film the explosive fire suppression at 150,000fps.\nInstagram - https://www.instagram.com/theslowmoguys\nFilmed at 150,000FPS with the Phantom TMX7510\nTiniest Exploding Fire Extinguisher at 150,000FPS - The Slow Mo Guys" + }, + "defaultAudioLanguage": "en-GB" + }, + "contentDetails": { + "duration": "PT10M20S", + "dimension": "2d", + "definition": "hd", + "caption": "false", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "378652", + "likeCount": "24720", + "favoriteCount": "0", + "commentCount": "849" + } + }, + { + "kind": "youtube#video", + "etag": "DmZdlq1IBwXkYClPj6R-c1hb_eA", + "id": "rcNPgc7hPBI", + "snippet": { + "publishedAt": "2023-01-18T05:00:16Z", + "channelId": "UCaO6TYtlC8U5ttz62hTrZgg", + "title": "TWICE Pre-release english track \"MOONLIGHT SUNRISE\" M/V Teaser 2", + "description": "TWICE Pre-release english track \"MOONLIGHT SUNRISE\" M/V Teaser 2\n\nTWICE Pre-Release English Single \"MOONLIGHT SUNRISE\"\n\nRelease on 2023.01.20 FRI 2PM KST/0AM EST\n\n📌\"MOONLIGHT SUNRISE\" Digital Pre-Save & Pre-Order\nhttps://TWICE.lnk.to/MoonlightSunrise \n\nTWICE Official Shop: https://TWICE.lnk.to/Shop\nTWICE Official YouTube: http://www.youtube.com/c/TWICE\nTWICE Official Facebook: http://www.facebook.com/JYPETWICE\nTWICE Official Twitter: http://www.twitter.com/JYPETWICE\nTWICE Official TikTok https://www.tiktok.com/@twice_tiktok_...\nTWICE Official Instagram: http://www.instagram.com/TWICETAGRAM\nTWICE Official Homepage: http://TWICE.jype.com\nTWICE Official Fan's: http://fans.jype.com/TWICE\n\nⓒ 2023 JYP Entertainment. All Rights Reserved\n\n#TWICE #MOONLIGHTSUNRISE", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/rcNPgc7hPBI/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/rcNPgc7hPBI/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/rcNPgc7hPBI/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/rcNPgc7hPBI/sddefault.jpg", + "width": 640, + "height": 480 + } + }, + "channelTitle": "JYP Entertainment", + "tags": [ + "JYP Entertainment", + "JYP", + "TWICE", + "트와이스", + "MOONLIGHT SUNRISE", + "문라이트 썬라이즈", + "TWICE MOONLIGHT SUNRISE", + "트와이스 문라이트 썬라이즈", + "TWICE Pre-Release English Single", + "트와이스 영어 선공개곡", + "TWICE English Single", + "트와이스 영어곡", + "TWICE 컴백", + "TWICE 신곡", + "트와이스 컴백", + "트와이스 신곡", + "문라이트 선라이즈 티저", + "Moonlight Sunrise Teaser", + "문라선라 티저", + "트와이스 티저", + "트와이스 신곡 티저" + ], + "categoryId": "10", + "liveBroadcastContent": "none", + "defaultLanguage": "en", + "localized": { + "title": "TWICE Pre-release english track \"MOONLIGHT SUNRISE\" M/V Teaser 2", + "description": "TWICE Pre-release english track \"MOONLIGHT SUNRISE\" M/V Teaser 2\n\nTWICE Pre-Release English Single \"MOONLIGHT SUNRISE\"\n\nRelease on 2023.01.20 FRI 2PM KST/0AM EST\n\n📌\"MOONLIGHT SUNRISE\" Digital Pre-Save & Pre-Order\nhttps://TWICE.lnk.to/MoonlightSunrise \n\nTWICE Official Shop: https://TWICE.lnk.to/Shop\nTWICE Official YouTube: http://www.youtube.com/c/TWICE\nTWICE Official Facebook: http://www.facebook.com/JYPETWICE\nTWICE Official Twitter: http://www.twitter.com/JYPETWICE\nTWICE Official TikTok https://www.tiktok.com/@twice_tiktok_...\nTWICE Official Instagram: http://www.instagram.com/TWICETAGRAM\nTWICE Official Homepage: http://TWICE.jype.com\nTWICE Official Fan's: http://fans.jype.com/TWICE\n\nⓒ 2023 JYP Entertainment. All Rights Reserved\n\n#TWICE #MOONLIGHTSUNRISE" + }, + "defaultAudioLanguage": "ko" + }, + "contentDetails": { + "duration": "PT10S", + "dimension": "2d", + "definition": "hd", + "caption": "false", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "1804963", + "likeCount": "204502", + "favoriteCount": "0", + "commentCount": "9608" + } + }, + { + "kind": "youtube#video", + "etag": "Em2pKReLWOTHdrboiuGsopGDxeQ", + "id": "n5zNdiQEtrQ", + "snippet": { + "publishedAt": "2023-01-17T18:47:24Z", + "channelId": "UCWZmCMB7mmKWcXJSIPRhzZw", + "title": "LAST PERSON TO MISS A PENALTY WINS $10,000!", + "description": "What challenge should I do for $10,000 next time?\n\nIf you have an idea you would like to see, let me know here:\r\nhttps://docs.google.com/forms/d/e/1FAIpQLSfrqSDycG6GevuJD7gGvfHsa3O-qdbTTyZjV-Lr3tjoP5hXLQ/viewform?usp=sf_link\r\n\r\nSecond Channel: https://goo.gl/acaMTt\r\nTwitter: https://goo.gl/ugsA1Y\r\nFacebook: https://goo.gl/S7X2XQ\r\n\r\nSidemen Clothing: https://goo.gl/8RLHBR\r\n\r\nSidemen Book: https://goo.gl/wqFrjS\r\n\r\nMy PC: http://bit.ly/miniminter\r\n\r\nCustom Controller: http://bit.ly/SideCCUK\r\n\r\nHOW I RECORD MY GAMEPLAY: http://e.lga.to/mm\r\n\r\nWHERE I GET MY CHAIR:\r\nUK: http://goo.gl/35aEHx\r\nUSA: https://goo.gl/BbkxsF\r\n\r\nMusic from: https://www.youtube.com/user/NoCopyrightSounds\r\n\r\nMusic from MediaMusicNow.co.uk\r\n\r\nVideo uploaded by\r\nSimon/Miniminter/mm7games", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/n5zNdiQEtrQ/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/n5zNdiQEtrQ/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/n5zNdiQEtrQ/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/n5zNdiQEtrQ/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/n5zNdiQEtrQ/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Miniminter", + "tags": ["simon", "sidemen", "miniminter", "mm7games", "random", "vlog"], + "categoryId": "24", + "liveBroadcastContent": "none", + "localized": { + "title": "LAST PERSON TO MISS A PENALTY WINS $10,000!", + "description": "What challenge should I do for $10,000 next time?\n\nIf you have an idea you would like to see, let me know here:\r\nhttps://docs.google.com/forms/d/e/1FAIpQLSfrqSDycG6GevuJD7gGvfHsa3O-qdbTTyZjV-Lr3tjoP5hXLQ/viewform?usp=sf_link\r\n\r\nSecond Channel: https://goo.gl/acaMTt\r\nTwitter: https://goo.gl/ugsA1Y\r\nFacebook: https://goo.gl/S7X2XQ\r\n\r\nSidemen Clothing: https://goo.gl/8RLHBR\r\n\r\nSidemen Book: https://goo.gl/wqFrjS\r\n\r\nMy PC: http://bit.ly/miniminter\r\n\r\nCustom Controller: http://bit.ly/SideCCUK\r\n\r\nHOW I RECORD MY GAMEPLAY: http://e.lga.to/mm\r\n\r\nWHERE I GET MY CHAIR:\r\nUK: http://goo.gl/35aEHx\r\nUSA: https://goo.gl/BbkxsF\r\n\r\nMusic from: https://www.youtube.com/user/NoCopyrightSounds\r\n\r\nMusic from MediaMusicNow.co.uk\r\n\r\nVideo uploaded by\r\nSimon/Miniminter/mm7games" + }, + "defaultAudioLanguage": "en-GB" + }, + "contentDetails": { + "duration": "PT31M32S", + "dimension": "2d", + "definition": "hd", + "caption": "false", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "1820270", + "likeCount": "102955", + "favoriteCount": "0", + "commentCount": "2489" + } + }, + { + "kind": "youtube#video", + "etag": "kmP75as9A3ldfJWM1FDsMvkMNio", + "id": "pMK85fUN12I", + "snippet": { + "publishedAt": "2023-01-17T19:00:27Z", + "channelId": "UCKBaL17hXLGJvi2KZKpja5w", + "title": "Missing Baby Found After 51 Years: The Incredible Story of Melissa Highsmith", + "description": "Shop my charity merch! https://milehighermerch.com/ \nAll profits from this charity merch will be donated to the National Center for Missing and Exploited Children: https://www.missingkids.org/ \n\nThank you to NCMEC for participating in this video! You can donate to our campaign here: https://give.missingkids.org/campaign/kendall-rae/c438796 \n\nTrue Crime with Kendall Rae podcast\nApple Podcasts: https://apple.co/3rks84o\nSpotify: https://spoti.fi/3jC66pr \n\nCheck out Higher Love Wellness: https://higherlovewellness.com/ \nUse code KENDALLRAE for 10% off your order (excludes bundles)\n\nSource Material: https://pastebin.com/t2t8isVg\n\nCheck out my other podcasts: \nMile Higher (True Crime)\n@milehigherpod\nYouTube: https://bit.ly/2ROzJcw\nTwitter: http://twitter.com/milehigherpod\nInstagram: http://instagram.com/milehigherpod \n\nThe Sesh (Get To Know Me Podcast)\nhttps://bit.ly/3Mtoz4X\n@the_seshpodcast \nIG: https://bit.ly/3a9t6Xr\nTW: https://bit.ly/2XH4C2A\n\n*Follow My Social!* @KendallRaeOnyt\nVlog Channel: https://www.youtube.com/c/Kendaily \nTwitter: http://twitter.com/kendallraeonyt\nInstagram: http://instagram.com/kendallraeonyt\nFacebook: https://bit.ly/3kar4NK \nMy Zoo: http://instagram.com/milehigherzoo\n\nWatch my documentary, Apartment 801: https://bit.ly/2RJ9XXr \n\nREQUESTS: \nGeneral case suggestion form: https://bit.ly/32kwPly \nForm for people directly related/ close to the victim: https://bit.ly/3KqMZLj \nJoin my discord to chat with other viewers about this video, its free! https://discord.com/invite/an4stY9BCN\n\nC O N T A C T: \n✉ For Business Inquiries - kendall@INFAgency.com\n\n✉ Send me mail ✉\nKendall Rae\n8547 E Arapahoe Rd Ste J # 233\nGreenwood Village, CO 80112\n\n#Unsolved #TrueCrime #KendallRae", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/pMK85fUN12I/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/pMK85fUN12I/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/pMK85fUN12I/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/pMK85fUN12I/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/pMK85fUN12I/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Kendall Rae", + "tags": [ + "kendallraeonyt", + "kendallrae", + "kendall rae", + "true crime", + "crime", + "crime documentaries", + "criminal justice", + "news", + "educational", + "documentary", + "true crime documentary", + "crime stories", + "kendall rae crime", + "kendall rae true crime", + "real stories", + "melissa highsmith found", + "baby found", + "melissa highsmith", + "kidnapping", + "solved kidnapping", + "ncmec", + "national center for missing and exploited children", + "missing kids", + "missing children", + "lost child", + "dna", + "genetic genealogy", + "true crime stories", + "true crime podcast" + ], + "categoryId": "24", + "liveBroadcastContent": "none", + "localized": { + "title": "Missing Baby Found After 51 Years: The Incredible Story of Melissa Highsmith", + "description": "Shop my charity merch! https://milehighermerch.com/ \nAll profits from this charity merch will be donated to the National Center for Missing and Exploited Children: https://www.missingkids.org/ \n\nThank you to NCMEC for participating in this video! You can donate to our campaign here: https://give.missingkids.org/campaign/kendall-rae/c438796 \n\nTrue Crime with Kendall Rae podcast\nApple Podcasts: https://apple.co/3rks84o\nSpotify: https://spoti.fi/3jC66pr \n\nCheck out Higher Love Wellness: https://higherlovewellness.com/ \nUse code KENDALLRAE for 10% off your order (excludes bundles)\n\nSource Material: https://pastebin.com/t2t8isVg\n\nCheck out my other podcasts: \nMile Higher (True Crime)\n@milehigherpod\nYouTube: https://bit.ly/2ROzJcw\nTwitter: http://twitter.com/milehigherpod\nInstagram: http://instagram.com/milehigherpod \n\nThe Sesh (Get To Know Me Podcast)\nhttps://bit.ly/3Mtoz4X\n@the_seshpodcast \nIG: https://bit.ly/3a9t6Xr\nTW: https://bit.ly/2XH4C2A\n\n*Follow My Social!* @KendallRaeOnyt\nVlog Channel: https://www.youtube.com/c/Kendaily \nTwitter: http://twitter.com/kendallraeonyt\nInstagram: http://instagram.com/kendallraeonyt\nFacebook: https://bit.ly/3kar4NK \nMy Zoo: http://instagram.com/milehigherzoo\n\nWatch my documentary, Apartment 801: https://bit.ly/2RJ9XXr \n\nREQUESTS: \nGeneral case suggestion form: https://bit.ly/32kwPly \nForm for people directly related/ close to the victim: https://bit.ly/3KqMZLj \nJoin my discord to chat with other viewers about this video, its free! https://discord.com/invite/an4stY9BCN\n\nC O N T A C T: \n✉ For Business Inquiries - kendall@INFAgency.com\n\n✉ Send me mail ✉\nKendall Rae\n8547 E Arapahoe Rd Ste J # 233\nGreenwood Village, CO 80112\n\n#Unsolved #TrueCrime #KendallRae" + }, + "defaultAudioLanguage": "en" + }, + "contentDetails": { + "duration": "PT35M49S", + "dimension": "2d", + "definition": "hd", + "caption": "false", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "456272", + "likeCount": "21790", + "favoriteCount": "0", + "commentCount": "1307" + } + }, + { + "kind": "youtube#video", + "etag": "yla9NJJX0Y3c8Zt9rV3RW6MySAM", + "id": "RvLkqQ9TJl4", + "snippet": { + "publishedAt": "2023-01-18T11:42:05Z", + "channelId": "UCg-p3lQIqmhh7gHpyaOmOiQ", + "title": "Bam Bam feeds us Korea's Spiciest Street-Food!!", + "description": "Today we return to our K-pop series with Thai prince, Bam Bam of GOT7 as we try the DEATH sauce tteokbokki! Thanks to Bam Bam for giving us his time and filming with us! Go visit his new Youtube channel @bamhome \n\nAlso, we’ve been loving Everydaze with BT21 new lychee flavour konjac jelly. Thanks to them for supporting our content. You can order them here: https://www.amazon.com/stores/Everydaze/page/AADACC61-6459-4EC9-BB56-FB3A6CB0F4C4?ref_=ast_bln\nor outside the US: https://www.iherb.com/c/everydaze\n\n--\n\n오늘은 오랜만에 케이팝 시리즈로 돌아왔는데요! 태국 왕자 GOT7의 뱀뱀님과 함께 응급실 떡볶이 사망맛을 먹으며 많은 얘기들을 나눴습니다! 바쁘신 가운데 시간을 내주시고 촬영을 함께해 주신 뱀뱀님에게 감사의 말씀을 전합니다! 뱀뱀님의 새로운 채널 “뱀집” @bamhome 많은 관심 부탁드립니다!\n\n그리고 이번 시리즈 촬영에 저희가 즐겨 먹은 Everydaze Essential C’s Konjac Jelly가 궁금하시다면 여기서 주문하세요! https://www.iherb.com/c/everydaze", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/RvLkqQ9TJl4/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/RvLkqQ9TJl4/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/RvLkqQ9TJl4/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/RvLkqQ9TJl4/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/RvLkqQ9TJl4/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "영국남자 Korean Englishman", + "tags": [ + "Korean", + "영국남자", + "영국", + "조쉬", + "올리", + "Josh", + "Ollie", + "KoreanEnglish", + "English", + "Man", + "englishman", + "food", + "음식", + "외국인", + "반응", + "영상", + "웃긴", + "남자", + "외국", + "도전", + "매운", + "조니", + "조엘", + "신부님", + "크리스", + "올리아빠", + "해물", + "치킨", + "삼겹살", + "korean", + "BBQ", + "fried", + "chicken", + "라면", + "불닭볶음면", + "미친남자" + ], + "categoryId": "23", + "liveBroadcastContent": "none", + "defaultLanguage": "en", + "localized": { + "title": "Bam Bam feeds us Korea's Spiciest Street-Food!!", + "description": "Today we return to our K-pop series with Thai prince, Bam Bam of GOT7 as we try the DEATH sauce tteokbokki! Thanks to Bam Bam for giving us his time and filming with us! Go visit his new Youtube channel @bamhome \n\nAlso, we’ve been loving Everydaze with BT21 new lychee flavour konjac jelly. Thanks to them for supporting our content. You can order them here: https://www.amazon.com/stores/Everydaze/page/AADACC61-6459-4EC9-BB56-FB3A6CB0F4C4?ref_=ast_bln\nor outside the US: https://www.iherb.com/c/everydaze\n\n--\n\n오늘은 오랜만에 케이팝 시리즈로 돌아왔는데요! 태국 왕자 GOT7의 뱀뱀님과 함께 응급실 떡볶이 사망맛을 먹으며 많은 얘기들을 나눴습니다! 바쁘신 가운데 시간을 내주시고 촬영을 함께해 주신 뱀뱀님에게 감사의 말씀을 전합니다! 뱀뱀님의 새로운 채널 “뱀집” @bamhome 많은 관심 부탁드립니다!\n\n그리고 이번 시리즈 촬영에 저희가 즐겨 먹은 Everydaze Essential C’s Konjac Jelly가 궁금하시다면 여기서 주문하세요! https://www.iherb.com/c/everydaze" + }, + "defaultAudioLanguage": "en" + }, + "contentDetails": { + "duration": "PT13M10S", + "dimension": "2d", + "definition": "hd", + "caption": "false", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "888799", + "likeCount": "61541", + "favoriteCount": "0", + "commentCount": "2381" + } + }, + { + "kind": "youtube#video", + "etag": "_-V0zQEwTfL0_KUjaMWK-bx61is", + "id": "viP5CvCvoec", + "snippet": { + "publishedAt": "2023-01-18T05:01:12Z", + "channelId": "UCz4qHgsY_BtJtTngBI-zQkg", + "title": "Gloss Up - BestFrenn (feat. GloRilla)", + "description": "#NowPlaying Gloss Up - BestFrenn (feat. Glorilla)\nDirected By: Diesel Filmz\n\nStream & Download \" BestFrenn\" here: \nhttps://presave.umusic.com/gloss-up-glorilla-bestfrenn-pre-sav\n\nConnect With Gloss Up:\nInstagram: https://www.instagram.com/glittergirl...\nTwitter: https://twitter.com/GlitterGirlGlos \nTikTok: https://vm.tiktok.com/ZMJajXSKV/", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/viP5CvCvoec/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/viP5CvCvoec/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/viP5CvCvoec/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/viP5CvCvoec/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/viP5CvCvoec/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Gloss Up", + "tags": [ + "Gloss up", + "Glittergloss", + "Qc the label", + "Memphis", + "Glorilla", + "Shabooya", + "Cmg", + "Fnf", + "Tomorrow", + "City girls", + "Lil baby", + "Atlanta", + "Migos", + "Female rap" + ], + "categoryId": "10", + "liveBroadcastContent": "none", + "localized": { + "title": "Gloss Up - BestFrenn (feat. GloRilla)", + "description": "#NowPlaying Gloss Up - BestFrenn (feat. Glorilla)\nDirected By: Diesel Filmz\n\nStream & Download \" BestFrenn\" here: \nhttps://presave.umusic.com/gloss-up-glorilla-bestfrenn-pre-sav\n\nConnect With Gloss Up:\nInstagram: https://www.instagram.com/glittergirl...\nTwitter: https://twitter.com/GlitterGirlGlos \nTikTok: https://vm.tiktok.com/ZMJajXSKV/" + } + }, + "contentDetails": { + "duration": "PT2M23S", + "dimension": "2d", + "definition": "hd", + "caption": "false", + "licensedContent": false, + "regionRestriction": { + "blocked": ["BY", "RU"] + }, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "205187", + "likeCount": "15539", + "favoriteCount": "0", + "commentCount": "985" + } + }, + { + "kind": "youtube#video", + "etag": "aMU3qOJM7ikUTUjRJzAXCg3hmPg", + "id": "KHpMxHOGelo", + "snippet": { + "publishedAt": "2023-01-18T01:00:08Z", + "channelId": "UCDK9qD5DAQML-pzrtA7A4oA", + "title": "OFFLINETV'S LAST UNBOXING EVER", + "description": "Thank you all as always for the wonderful letters & gifts, we hope you enjoyed this series as much as we did! 😄\nGo to https://buyraycon.com/offlinetv for 15% off your order! Brought to you by Raycon.\n\n-------------------------------------------------------------\n\n👕 Merch & Apparel:\n• OfflineTV - https://offlinetv.com\n\n📸 Follow OfflineTV:\n• Twitter - https://www.twitter.com/OfflineTV\n• Instagram - https://www.instagram.com/OfflineTV\n• TikTok - https://www.tiktok.com/@offlinetv\n• Reddit - https://www.reddit.com/r/offlineTV\n• Patreon - https://www.patreon.com/offlinetv\n\n📝 OfflineTV Roster:\n• Scarra - https://twitter.com/scarra\n• Pokimane - https://twitter.com/pokimanelol\n• LilyPichu - https://twitter.com/LilyPichu\n• Disguised Toast - https://twitter.com/DisguisedToast\n• Michael Reeves - https://twitter.com/michaelreeves\n• QuarterJade - https://twitter.com/QuarterJade\n• Masayoshi - https://twitter.com/ItzMasayoshi\n• Sydeon - https://twitter.com/Sydeon\n• Yvonnie - https://twitter.com/yvonnie\n\n🎥 Producer & Director:\n• Brodin - https://twitter.com/brodinplett\n\n🎞️ Editor:\n• Stevo - https://twitter.com/stevotevo\n\n📋 YT Manager: \n• Dunois - https://twitter.com/DunoisKR\n\n\n\n\n\n#OfflineTV #Unboxing #Subscribe", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/KHpMxHOGelo/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/KHpMxHOGelo/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/KHpMxHOGelo/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/KHpMxHOGelo/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/KHpMxHOGelo/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "OfflineTV", + "tags": [ + "OfflineTV", + "Scarra", + "Poki", + "Pokimane", + "Lily", + "LilyPichu", + "DisguisedToast", + "Toast", + "TwitchTV", + "twitch", + "Streaming", + "Vlog", + "Fail", + "Epic", + "Gamers", + "Streamers", + "OTV", + "Lilypichu Voice", + "Pokimane thicc", + "OTV Plays", + "OfflineTV plays", + "Michael Reeves", + "Michael", + "Reeves" + ], + "categoryId": "20", + "liveBroadcastContent": "none", + "localized": { + "title": "OFFLINETV'S LAST UNBOXING EVER", + "description": "Thank you all as always for the wonderful letters & gifts, we hope you enjoyed this series as much as we did! 😄\nGo to https://buyraycon.com/offlinetv for 15% off your order! Brought to you by Raycon.\n\n-------------------------------------------------------------\n\n👕 Merch & Apparel:\n• OfflineTV - https://offlinetv.com\n\n📸 Follow OfflineTV:\n• Twitter - https://www.twitter.com/OfflineTV\n• Instagram - https://www.instagram.com/OfflineTV\n• TikTok - https://www.tiktok.com/@offlinetv\n• Reddit - https://www.reddit.com/r/offlineTV\n• Patreon - https://www.patreon.com/offlinetv\n\n📝 OfflineTV Roster:\n• Scarra - https://twitter.com/scarra\n• Pokimane - https://twitter.com/pokimanelol\n• LilyPichu - https://twitter.com/LilyPichu\n• Disguised Toast - https://twitter.com/DisguisedToast\n• Michael Reeves - https://twitter.com/michaelreeves\n• QuarterJade - https://twitter.com/QuarterJade\n• Masayoshi - https://twitter.com/ItzMasayoshi\n• Sydeon - https://twitter.com/Sydeon\n• Yvonnie - https://twitter.com/yvonnie\n\n🎥 Producer & Director:\n• Brodin - https://twitter.com/brodinplett\n\n🎞️ Editor:\n• Stevo - https://twitter.com/stevotevo\n\n📋 YT Manager: \n• Dunois - https://twitter.com/DunoisKR\n\n\n\n\n\n#OfflineTV #Unboxing #Subscribe" + }, + "defaultAudioLanguage": "en" + }, + "contentDetails": { + "duration": "PT13M28S", + "dimension": "2d", + "definition": "hd", + "caption": "false", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "942973", + "likeCount": "66134", + "favoriteCount": "0", + "commentCount": "2094" + } + }, + { + "kind": "youtube#video", + "etag": "3Nh77QepLmmJtxpk7z1_Nu0ofBQ", + "id": "OpUh77FY0t4", + "snippet": { + "publishedAt": "2023-01-17T21:45:56Z", + "channelId": "UCPJHQ5_DLtxZ1gzBvZE99_g", + "title": "This YouTuber hid a secret for 28 years - I spent a day with DANIEL HOWELL", + "description": "I spent a day with Dan Howell to learn the truth about coming out and taking a break from YouTube. Sponsors ▸This episode is sponsored by BetterHelp — go to http://betterhelp.com/padilla to get 10% off your first month. ▸ Go to http://rocketmoney.com/padilla to cancel your unnecessary subscriptions now.\n\n🎙THE PODCAST (UNCENSORED)\nSpotify ▸ https://open.spotify.com/show/5aOLuPenneHbhLh05fmkeu \nApple ▸ https://podcasts.apple.com/us/podcast/i-spent-a-day-with/id1550213250 \n\n💥NEW YOUTOOZ FIGURE: https://youtooz.com/products/anthony-padilla \n\n🧨HUGE thank you to Dan Howell:\nYOUTUBE:https://www.youtube.com/user/danisnotonfire\nTWITTER: https://twitter.com/danielhowell\nINSTAGRAM: https://www.instagram.com/danielhowell/\n \n🗯MORE EPISODES…\n▸ BRANDON ROGERS - https://youtu.be/MofCGZrHxCI\n▸ JACKSEPTICEYE - https://youtu.be/5obktsi8XdI\n▸ LUDWIG - https://youtu.be/tpXLJq3YZyk\n\n🎥Crew\n▸ Creator, Director, Writer, etc. - Anthony Padilla\n▸ Executive Producer - Alessandra Catanese\n▸ Producer, Co-writer & Research - Elise Felber\n▸ Director of Photography/Gaffer - Kathy Sue Holtorf\n▸ Camera Operator - Matthew Faulkner\n▸ Social Media Manager - Mallory Myers\n▸ Editor - Mike Criscimagna AKA Mork Crispy\n▸ Assistant Editor - Patrick Horba\n▸ Assistant Editor - Ash Duckworth\n▸ Assistant Editor - Nikki Blacklock\n▸ Sound Editor - Gareth Hird\n▸ Post PA - Levi Villalpando\n▸ PA - Joshua Dozier\n▸ Thumbnail Artist - Dill Toma\n▸ Captions - Davy Gerichten\n\n🎵Theme Music Composer - Matt Good AKA The King of Emo \n🖼Portrait painted by: Rhianna Robles - https://instagram.com/zerogattsu\n🦥Slade mascot built by: The Pastel Prince - https://youtube.com/channel/UC7wq2U4FF2NyZD1o_P8QP0g \n📺3D animations by: Jacob Dalton - https://twitter.com/jacobdaltonvfx \n\n📢BE ON THE SHOW\n▸ If you are part of an underrepresented subculture or live a lifestyle you feel is not widely understood and would like to be interviewed by me, email inquiry[at]pressalike.com with your subculture in the title of the email.\n\n❗️You dug this deep into the description. You owe it to yourself to subscribe ▶ https://youtube.com/subscription_center?add_user=AnthonyPadilla or get more at http://instagram.com/anthonypadilla & http://twitter.com/anthonypadilla\n\n0:00 INTRODUCTION\n3:21 BULLIED AS A CHILD\n7:50 ON YOUTUBE FOR 13 YEARS\n10:11 “BASICALLY I’M GAY”\n14:44 REFLECTING ON EMOTIONS\n17:20 STRAIGHT FOR 28 YEARS\n19:45 SPONSOR MESSAGE\n21:59 COMPARING NUMBERS TO SELF-WORTH\n23:46 PARASOCIAL RELATIONSHIPS\n24:52 WHAT’S NEXT FOR DAN HOWELL?\n26:59 WE ARE ALL DOOMED\n31:27 BLOOPER", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/OpUh77FY0t4/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/OpUh77FY0t4/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/OpUh77FY0t4/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/OpUh77FY0t4/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/OpUh77FY0t4/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "AnthonyPadilla", + "tags": ["anthony padilla", "padilla", "anthony", "i spent a day with", "interview"], + "categoryId": "27", + "liveBroadcastContent": "none", + "defaultLanguage": "en", + "localized": { + "title": "This YouTuber hid a secret for 28 years - I spent a day with DANIEL HOWELL", + "description": "I spent a day with Dan Howell to learn the truth about coming out and taking a break from YouTube. Sponsors ▸This episode is sponsored by BetterHelp — go to http://betterhelp.com/padilla to get 10% off your first month. ▸ Go to http://rocketmoney.com/padilla to cancel your unnecessary subscriptions now.\n\n🎙THE PODCAST (UNCENSORED)\nSpotify ▸ https://open.spotify.com/show/5aOLuPenneHbhLh05fmkeu \nApple ▸ https://podcasts.apple.com/us/podcast/i-spent-a-day-with/id1550213250 \n\n💥NEW YOUTOOZ FIGURE: https://youtooz.com/products/anthony-padilla \n\n🧨HUGE thank you to Dan Howell:\nYOUTUBE:https://www.youtube.com/user/danisnotonfire\nTWITTER: https://twitter.com/danielhowell\nINSTAGRAM: https://www.instagram.com/danielhowell/\n \n🗯MORE EPISODES…\n▸ BRANDON ROGERS - https://youtu.be/MofCGZrHxCI\n▸ JACKSEPTICEYE - https://youtu.be/5obktsi8XdI\n▸ LUDWIG - https://youtu.be/tpXLJq3YZyk\n\n🎥Crew\n▸ Creator, Director, Writer, etc. - Anthony Padilla\n▸ Executive Producer - Alessandra Catanese\n▸ Producer, Co-writer & Research - Elise Felber\n▸ Director of Photography/Gaffer - Kathy Sue Holtorf\n▸ Camera Operator - Matthew Faulkner\n▸ Social Media Manager - Mallory Myers\n▸ Editor - Mike Criscimagna AKA Mork Crispy\n▸ Assistant Editor - Patrick Horba\n▸ Assistant Editor - Ash Duckworth\n▸ Assistant Editor - Nikki Blacklock\n▸ Sound Editor - Gareth Hird\n▸ Post PA - Levi Villalpando\n▸ PA - Joshua Dozier\n▸ Thumbnail Artist - Dill Toma\n▸ Captions - Davy Gerichten\n\n🎵Theme Music Composer - Matt Good AKA The King of Emo \n🖼Portrait painted by: Rhianna Robles - https://instagram.com/zerogattsu\n🦥Slade mascot built by: The Pastel Prince - https://youtube.com/channel/UC7wq2U4FF2NyZD1o_P8QP0g \n📺3D animations by: Jacob Dalton - https://twitter.com/jacobdaltonvfx \n\n📢BE ON THE SHOW\n▸ If you are part of an underrepresented subculture or live a lifestyle you feel is not widely understood and would like to be interviewed by me, email inquiry[at]pressalike.com with your subculture in the title of the email.\n\n❗️You dug this deep into the description. You owe it to yourself to subscribe ▶ https://youtube.com/subscription_center?add_user=AnthonyPadilla or get more at http://instagram.com/anthonypadilla & http://twitter.com/anthonypadilla\n\n0:00 INTRODUCTION\n3:21 BULLIED AS A CHILD\n7:50 ON YOUTUBE FOR 13 YEARS\n10:11 “BASICALLY I’M GAY”\n14:44 REFLECTING ON EMOTIONS\n17:20 STRAIGHT FOR 28 YEARS\n19:45 SPONSOR MESSAGE\n21:59 COMPARING NUMBERS TO SELF-WORTH\n23:46 PARASOCIAL RELATIONSHIPS\n24:52 WHAT’S NEXT FOR DAN HOWELL?\n26:59 WE ARE ALL DOOMED\n31:27 BLOOPER" + }, + "defaultAudioLanguage": "en" + }, + "contentDetails": { + "duration": "PT32M11S", + "dimension": "2d", + "definition": "hd", + "caption": "false", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "513597", + "likeCount": "45669", + "favoriteCount": "0", + "commentCount": "1674" + } + }, + { + "kind": "youtube#video", + "etag": "wcKmK2vOt0IrfzhSaWKhGwuzux8", + "id": "NRNfPcgFtVc", + "snippet": { + "publishedAt": "2023-01-18T00:00:07Z", + "channelId": "UCYbvqjljebwzWVdTb9Fetiw", + "title": "Trinidad James Talks Kanye, TIG, Def Jam, Painted Nails, Stage Fight", + "description": "Nicholaus Joseph Williams, better known by his stage name Trinidad James is a Trinidadian-American rapper. In 2012, he signed a recording contract with Def Jam Recordings. The label dropped him in 2014 when he failed to release an album, although he continues to release music as an independent artist and is signed to Artist Publishing Group for songwriting. \n\nIn this interview Marco starts off by asking who does Trinidad want to be? The interview starts very awkwardly as Trinidad has a bear mask on. Trinidad challenges Marco and says Marco brought him on the show to exploit him. The tables are turned as Trinidad seems to be trolling Marco and has him on his toes. Marco asks Trinidad to remove his mask and Trinidad asks Marco to tie his tie and in exchange Trinidad takes the tie and puts it on. Trinidad takes off his mask to reveal his face with one eyed made up. Marco gets into the interview asking why Trinidad hasn’t made any new music. Trinidad reveals that he wanted to know what the business of entertainment was about. Trinidad talks about his relationships with record labels. Trinidad goes deeper into relationships. Trinidad then goes into his various products and the meaning behind them. Trinidad asks Marco what he thinks about him. Trinidad and Marco go back and forth about the word ugly. The conversation speeds up and the two go back and forth. Marco’s phone goes off and Marco blames it on Matt the Producer. Matt the Producer enters and Trinidad and Matt get into a discussion that gets a little tense. Trinidad and Marco continue the interview. Marco asks Trinidad about his hair. Matt the Producer tells Trinidad to get out of Marco’s creative space. A lady enters from the backstage and Trinidad yells at the lady and Marco invites her on stage. She awkwardly exits and Marco attempts to end the interview as Marco exits while talking to Matt the Producer and the mics are hot. Trinidad throws his chair and goes under the ladder and Matt the Producer holds exception.\n\nExecutive Producers for Breakbeat: Dave Mays & Brett Jeffries\n \nExecutive Producers: Marco Summers & Harvey Sutton\n \nDirector: Matt Ables IG @mattablespromotions\n\nFilmed on location at 4U Recording, Atlanta\n \nIG @Breakbeatmedia @FunnyMarco\n\nComment, like and subscribe on the Breakbeat Media YouTube page, subscribe on Apple, Spotify or wherever podcasts are available, and visit us at www.breakbeatmedia.com", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/NRNfPcgFtVc/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/NRNfPcgFtVc/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/NRNfPcgFtVc/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/NRNfPcgFtVc/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/NRNfPcgFtVc/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Breakbeat Media", + "categoryId": "24", + "liveBroadcastContent": "none", + "localized": { + "title": "Trinidad James Talks Kanye, TIG, Def Jam, Painted Nails, Stage Fight", + "description": "Nicholaus Joseph Williams, better known by his stage name Trinidad James is a Trinidadian-American rapper. In 2012, he signed a recording contract with Def Jam Recordings. The label dropped him in 2014 when he failed to release an album, although he continues to release music as an independent artist and is signed to Artist Publishing Group for songwriting. \n\nIn this interview Marco starts off by asking who does Trinidad want to be? The interview starts very awkwardly as Trinidad has a bear mask on. Trinidad challenges Marco and says Marco brought him on the show to exploit him. The tables are turned as Trinidad seems to be trolling Marco and has him on his toes. Marco asks Trinidad to remove his mask and Trinidad asks Marco to tie his tie and in exchange Trinidad takes the tie and puts it on. Trinidad takes off his mask to reveal his face with one eyed made up. Marco gets into the interview asking why Trinidad hasn’t made any new music. Trinidad reveals that he wanted to know what the business of entertainment was about. Trinidad talks about his relationships with record labels. Trinidad goes deeper into relationships. Trinidad then goes into his various products and the meaning behind them. Trinidad asks Marco what he thinks about him. Trinidad and Marco go back and forth about the word ugly. The conversation speeds up and the two go back and forth. Marco’s phone goes off and Marco blames it on Matt the Producer. Matt the Producer enters and Trinidad and Matt get into a discussion that gets a little tense. Trinidad and Marco continue the interview. Marco asks Trinidad about his hair. Matt the Producer tells Trinidad to get out of Marco’s creative space. A lady enters from the backstage and Trinidad yells at the lady and Marco invites her on stage. She awkwardly exits and Marco attempts to end the interview as Marco exits while talking to Matt the Producer and the mics are hot. Trinidad throws his chair and goes under the ladder and Matt the Producer holds exception.\n\nExecutive Producers for Breakbeat: Dave Mays & Brett Jeffries\n \nExecutive Producers: Marco Summers & Harvey Sutton\n \nDirector: Matt Ables IG @mattablespromotions\n\nFilmed on location at 4U Recording, Atlanta\n \nIG @Breakbeatmedia @FunnyMarco\n\nComment, like and subscribe on the Breakbeat Media YouTube page, subscribe on Apple, Spotify or wherever podcasts are available, and visit us at www.breakbeatmedia.com" + } + }, + "contentDetails": { + "duration": "PT24M15S", + "dimension": "2d", + "definition": "hd", + "caption": "false", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "376439", + "likeCount": "7471", + "favoriteCount": "0", + "commentCount": "1175" + } + }, + { + "kind": "youtube#video", + "etag": "MxQNGsoqURK80ZwZ3cYRj135TQg", + "id": "ByJafdBwmBI", + "snippet": { + "publishedAt": "2023-01-17T02:23:11Z", + "channelId": "UCT2X19JJaJGUN7mrYuImANQ", + "title": "Keren Montero | Shy Singer SHOCKS The Judges With Her BIG Voice! | AGT: All-Stars 2023", + "description": "16-year-old Keren Montero has a voice that will blow you away! Watch as Keren sings \"Rescue\" by Lauren Daigle. \n\n» Get The America's Got Talent App: http://bit.ly/AGTAppDownload\n» Subscribe for More: http://bit.ly/AGTSub\n» Watch on NBC & Peacock: https://pck.tv/3cCQGhH\n\nAMERICA'S GOT TALENT ON SOCIAL\nLike AGT: https://www.facebook.com/agt\nFollow AGT: https://twitter.com/agt\nAGT Instagram: http://instagram.com/agt\n\nFind America's Got Talent trailers, full episode highlights, previews, promos, clips, and digital exclusives here.\n\nNBC ON SOCIAL:\nYouTube: http://www.youtube.com/nbc\nTwitter: http://Twitter.com/NBC\nFacebook: http://Facebook.com/NBC\nInstagram: http://instagram.com/nbc\n\nKeren Montero | Shy Singer SHOCKS The Judges With Her BIG Voice! | AGT: All-Stars 2023\nhttps://youtu.be/ByJafdBwmBI\n\nAmerica's Got Talent\nhttp://www.youtube.com/user/americasgottalent\n#AGT #AmericasGotTalent #AGTAllStars", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/ByJafdBwmBI/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/ByJafdBwmBI/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/ByJafdBwmBI/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/ByJafdBwmBI/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/ByJafdBwmBI/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "America's Got Talent", + "tags": [ + "AGT", + "America's Got Talent", + "Sofia Vergara", + "Simon Cowell", + "Howie Mandel", + "Heidi Klum", + "Terry Crews", + "Keren Montero", + "Keren Montero AGT", + "Keren Montero America's Got Talent", + "Keren Montero AGT Allstars", + "Keren Montero 2023", + "AGT Rescue", + "Rescue", + "by", + "Lauren", + "Daigle", + "Rescue", + "covers", + "Rescue Lauren Daigle Cover", + "Teen Singers", + "Teen Singer", + "Shocking Voices", + "Surprising Singers", + "Shy Singer Big Voice", + "Shy Singer" + ], + "categoryId": "24", + "liveBroadcastContent": "none", + "localized": { + "title": "Keren Montero | Shy Singer SHOCKS The Judges With Her BIG Voice! | AGT: All-Stars 2023", + "description": "16-year-old Keren Montero has a voice that will blow you away! Watch as Keren sings \"Rescue\" by Lauren Daigle. \n\n» Get The America's Got Talent App: http://bit.ly/AGTAppDownload\n» Subscribe for More: http://bit.ly/AGTSub\n» Watch on NBC & Peacock: https://pck.tv/3cCQGhH\n\nAMERICA'S GOT TALENT ON SOCIAL\nLike AGT: https://www.facebook.com/agt\nFollow AGT: https://twitter.com/agt\nAGT Instagram: http://instagram.com/agt\n\nFind America's Got Talent trailers, full episode highlights, previews, promos, clips, and digital exclusives here.\n\nNBC ON SOCIAL:\nYouTube: http://www.youtube.com/nbc\nTwitter: http://Twitter.com/NBC\nFacebook: http://Facebook.com/NBC\nInstagram: http://instagram.com/nbc\n\nKeren Montero | Shy Singer SHOCKS The Judges With Her BIG Voice! | AGT: All-Stars 2023\nhttps://youtu.be/ByJafdBwmBI\n\nAmerica's Got Talent\nhttp://www.youtube.com/user/americasgottalent\n#AGT #AmericasGotTalent #AGTAllStars" + }, + "defaultAudioLanguage": "en-US" + }, + "contentDetails": { + "duration": "PT6M9S", + "dimension": "2d", + "definition": "hd", + "caption": "true", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "2879895", + "likeCount": "39667", + "favoriteCount": "0", + "commentCount": "2564" + } + }, + { + "kind": "youtube#video", + "etag": "fCIGKtyp1jEQjm7DM_vRxiLpmvM", + "id": "XftJTSLyMNE", + "snippet": { + "publishedAt": "2023-01-17T20:30:03Z", + "channelId": "UCsvn_Po0SmunchJYOWpOxMg", + "title": "The Stanley's Parable", + "description": "\"Shut up Michael, I'm only working here for the pretzel day\" - Stanley Parable.\n\ndonkey store https://dunkeyscastle.com/\ndonkey publishing company https://twitter.com/BIGMODEgames", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/XftJTSLyMNE/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/XftJTSLyMNE/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/XftJTSLyMNE/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/XftJTSLyMNE/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/XftJTSLyMNE/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "videogamedunkey", + "tags": [ + "stanley parable", + "dunkey", + "videogamedunkey", + "dunkey stanley parable", + "the stanly parable", + "the stanley parable", + "stanley parable ultra deluxe", + "stanley parable 2" + ], + "categoryId": "20", + "liveBroadcastContent": "none", + "localized": { + "title": "The Stanley's Parable", + "description": "\"Shut up Michael, I'm only working here for the pretzel day\" - Stanley Parable.\n\ndonkey store https://dunkeyscastle.com/\ndonkey publishing company https://twitter.com/BIGMODEgames" + }, + "defaultAudioLanguage": "en" + }, + "contentDetails": { + "duration": "PT8M43S", + "dimension": "2d", + "definition": "hd", + "caption": "false", + "licensedContent": true, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "1674367", + "likeCount": "104071", + "favoriteCount": "0", + "commentCount": "2301" + } + }, + { + "kind": "youtube#video", + "etag": "cUgqEF3RPTLoxKDJH6Q9DS9SoVk", + "id": "gCEeCFlV0IA", + "snippet": { + "publishedAt": "2023-01-17T15:00:26Z", + "channelId": "UC52XYgEExV9VG6Rt-6vnzVA", + "title": "Destiny 2: Lightfall | Neomuna Environment Trailer", + "description": "A neon metropolis.\n \nTravel to a destination unlike any you've explored in Destiny 2. Cross paths with bone-chilling Tormentors and valiant Cloud Striders, join the fight against the Shadow Legion, and prevent devastation in the technologically advanced secret city of Neomuna.\n\nLearn more: http://bung.ie/lightfall\n\nFOLLOW DESTINY:\nFacebook: https://www.facebook.com/DestinyTheGame\nTwitter: https://www.twitter.com/destinythegame\nInstagram: https://www.instagram.com/destinythegame\nDiscord: http://www.discord.gg/destinygame\n\nFOLLOW BUNGIE:\nFacebook: https://www.facebook.com/Bungie/\nTwitter: https://www.twitter.com/bungie\nInstagram: https://www.instagram.com/bungie/\n⠀ ⠀ ⠀ ⠀\nDive into the free-to-play world of Destiny 2 to experience responsive first-person shooter combat, explore the mysteries of our solar system, and unleash elemental abilities against powerful enemies. Create your Guardian and collect unique weapons, armor, and gear to customize your look and playstyle. Experience Destiny 2’s cinematic story alone or with friends, join other Guardians for challenging co-op missions, or compete against them in a variety of PvP modes.", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/gCEeCFlV0IA/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/gCEeCFlV0IA/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/gCEeCFlV0IA/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/gCEeCFlV0IA/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/gCEeCFlV0IA/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Destiny 2", + "tags": ["Destiny"], + "categoryId": "20", + "liveBroadcastContent": "none", + "localized": { + "title": "Destiny 2: Lightfall | Neomuna Environment Trailer", + "description": "A neon metropolis.\n \nTravel to a destination unlike any you've explored in Destiny 2. Cross paths with bone-chilling Tormentors and valiant Cloud Striders, join the fight against the Shadow Legion, and prevent devastation in the technologically advanced secret city of Neomuna.\n\nLearn more: http://bung.ie/lightfall\n\nFOLLOW DESTINY:\nFacebook: https://www.facebook.com/DestinyTheGame\nTwitter: https://www.twitter.com/destinythegame\nInstagram: https://www.instagram.com/destinythegame\nDiscord: http://www.discord.gg/destinygame\n\nFOLLOW BUNGIE:\nFacebook: https://www.facebook.com/Bungie/\nTwitter: https://www.twitter.com/bungie\nInstagram: https://www.instagram.com/bungie/\n⠀ ⠀ ⠀ ⠀\nDive into the free-to-play world of Destiny 2 to experience responsive first-person shooter combat, explore the mysteries of our solar system, and unleash elemental abilities against powerful enemies. Create your Guardian and collect unique weapons, armor, and gear to customize your look and playstyle. Experience Destiny 2’s cinematic story alone or with friends, join other Guardians for challenging co-op missions, or compete against them in a variety of PvP modes." + }, + "defaultAudioLanguage": "en" + }, + "contentDetails": { + "duration": "PT1M40S", + "dimension": "2d", + "definition": "hd", + "caption": "true", + "licensedContent": false, + "contentRating": {}, + "projection": "rectangular" + }, + "statistics": { + "viewCount": "739545", + "likeCount": "26434", + "favoriteCount": "0", + "commentCount": "2503" + } + } + ], + "nextPageToken": "CBkQAA", + "pageInfo": { + "totalResults": 200, + "resultsPerPage": 25 + } +} diff --git a/src/components/Sidebar/Sidebar.jsx b/src/components/Sidebar/Sidebar.jsx new file mode 100644 index 0000000..70f3718 --- /dev/null +++ b/src/components/Sidebar/Sidebar.jsx @@ -0,0 +1,32 @@ +import React from 'react'; +import { useMediaQuery } from 'react-responsive'; + +// Components +import SidebarLarge from './SidebarLarge'; +import SidebarSmall from './SidebarSmall'; + +export default function Sidebar({ menuDrop }) { + // 리액트 반응형 + const Desktop = ({ children }) => { + const isDesktop = useMediaQuery({ minWidth: 1300 }); + return isDesktop ? children : null; + }; + const Tablet = ({ children }) => { + const isTablet = useMediaQuery({ minWidth: 792, maxWidth: 1299 }); + return isTablet ? children : null; + }; + const Mobile = ({ children }) => { + const isMobile = useMediaQuery({ maxWidth: 791 }); + return isMobile ? children : null; + }; + + return ( + <> + {menuDrop ? : } + + + + + + ); +} diff --git a/src/components/Sidebar/Sidebar.module.scss b/src/components/Sidebar/Sidebar.module.scss new file mode 100644 index 0000000..2286760 --- /dev/null +++ b/src/components/Sidebar/Sidebar.module.scss @@ -0,0 +1,170 @@ +button, +input { + border: none; + background-color: transparent; +} + +.smallNav, +.largeNav { + position: fixed; + z-index: 1010; + top: 56px; + + padding: 0 4px; + height: 100%; + background-color: var(--color-black); +} + +.smallNav { + width: 72px; + + ul { + margin: 0 auto; + + button { + display: flex; + flex-direction: column; + align-items: center; + + margin: 0 auto; + padding: 16px 0 14px; + width: 64px; + height: 72px; + border-radius: 10px; + + font-size: 10px; + color: var(--color-white); + text-align: center; + cursor: pointer; + .sidebarIcon { + margin-bottom: 6px; + } + + &:hover { + background-color: var(--color-dark-gray); + } + } + } +} + +.largeNav { + width: 250px; + overflow: auto; + + ul { + margin: 0 auto; + padding: 12px; + + button { + display: flex; + justify-content: flex-start; + align-items: center; + gap: 24px; + + width: 204px; + height: 40px; + padding: 0 12px; + border-radius: 10px; + + color: var(--color-white); + font-size: 14px; + cursor: pointer; + + &:hover { + background-color: var(--color-dark-gray); + } + } + + .homeBtn { + background-color: var(--color-dark-gray); + } + + .sidebarUlTitle { + display: block; + padding: 6px 12px 8px; + font-size: 16px; + color: var(--color-white); + } + } + + ul + ul { + border-top: 1px solid var(--color-dark-gray); + } + + .sidebarViewmore { + img { + width: 24px; + height: 24px; + } + } + + .navAnchor { + padding: 16px 24px 0; + border-top: 1px solid var(--color-dark-gray); + div + div { + padding-top: 12px; + } + a { + margin-right: 8px; + color: var(--color-light-gray); + font-size: 13px; + font-weight: 500; + line-height: 1.2; + } + } + + footer { + padding: 16px 24px 80px; + color: #717171; + font-size: 12px; + line-height: 1.5; + + a { + color: #3ea6ff; + } + } +} + +.modalNav { + position: fixed; + top: 0; + left: 0; + z-index: 1020; + box-shadow: rgba(0, 0, 0, 0.5) 0 0 0 9999px; + color: var(--color-white); + cursor: pointer; + + .modalLogo { + display: flex; + align-items: center; + width: 250px; + height: 56px; + padding-left: 16px; + background-color: var(--color-black); + + .modalMenuBtn { + margin: 8px; + } + .logo { + position: relative; + + &, + img { + width: 120px; + height: 56px; + } + + img { + padding: 18px 14px 18px 16px; + } + sup { + position: absolute; + top: 20%; + right: 1px; + + color: var(--color-light-gray); + font-size: 10px; + } + } + } +} diff --git a/src/components/Sidebar/SidebarLarge.jsx b/src/components/Sidebar/SidebarLarge.jsx new file mode 100644 index 0000000..d6bee54 --- /dev/null +++ b/src/components/Sidebar/SidebarLarge.jsx @@ -0,0 +1,151 @@ +import React from 'react'; +import styles from './Sidebar.module.scss'; + +// icons +import { RiHome5Fill } from 'react-icons/ri'; +import { BsCollectionPlay, BsLightbulb, BsFlag, BsInfoSquare } from 'react-icons/bs'; +import { + MdOutlineRestore, + MdOutlineQueryBuilder, + MdOutlineVideoLibrary, + MdKeyboardArrowDown, + MdOutlineRecordVoiceOver, +} from 'react-icons/md'; +import { AiOutlinePlaySquare, AiOutlineSetting } from 'react-icons/ai'; +import { HiOutlineFire } from 'react-icons/hi2'; +import { IoMusicalNoteOutline, IoGameControllerOutline, IoHelpCircleOutline } from 'react-icons/io5'; +import { BiMovie } from 'react-icons/bi'; +import { CiTrophy } from 'react-icons/ci'; +import youtube from './assets/youtube.png'; +import youtube_kids from './assets/youtube_kids.png'; +import youtube_music from './assets/youtube_music.svg'; +import youtube_tv from './assets/youtube_tv.png'; + +export default function SidebarLarge() { + return ( + + ); +} diff --git a/src/components/Sidebar/SidebarModal.jsx b/src/components/Sidebar/SidebarModal.jsx new file mode 100644 index 0000000..3822f97 --- /dev/null +++ b/src/components/Sidebar/SidebarModal.jsx @@ -0,0 +1,49 @@ +import React, { useEffect, useRef } from 'react'; +import styles from './Sidebar.module.scss'; +import { Link } from 'react-router-dom'; +import SidebarLarge from './SidebarLarge'; +import logo from '../Header/assets/logo.png'; +import { BsList } from 'react-icons/bs'; + +export default function SidebarModal({ setModal }) { + const modalRef = useRef(null); + + useEffect(() => { + // 이벤트 핸들러 함수 + const clickDocument = (e) => { + // mousedown 이벤트가 발생한 영역이 모달창이 아닐 때, 모달창 제거 처리 + if (modalRef.current && !modalRef.current.contains(e.target)) { + setModal(false); + } + }; + + // 이벤트 핸들러 등록 + document.addEventListener('mousedown', clickDocument); + document.addEventListener('touchstart', clickDocument); // 모바일 대응 + + return () => { + // 이벤트 핸들러 해제 + document.removeEventListener('mousedown', clickDocument); + document.removeEventListener('touchstart', clickDocument); // 모바일 대응 + }; + }); + + const clickMenuBtn = () => { + setModal(false); + }; + + return ( +
    + +
    + ); +} diff --git a/src/components/Sidebar/SidebarSmall.jsx b/src/components/Sidebar/SidebarSmall.jsx new file mode 100644 index 0000000..6ac8601 --- /dev/null +++ b/src/components/Sidebar/SidebarSmall.jsx @@ -0,0 +1,28 @@ +import React from 'react'; +import styles from './Sidebar.module.scss'; + +// icons +import { RiHome5Fill } from 'react-icons/ri'; +import { BsCollectionPlay } from 'react-icons/bs'; +import { MdOutlineRestore, MdOutlineVideoLibrary } from 'react-icons/md'; + +export default function SidebarSmall() { + return ( + + ); +} diff --git a/src/components/Sidebar/assets/youtube.png b/src/components/Sidebar/assets/youtube.png new file mode 100644 index 0000000000000000000000000000000000000000..5abdb7b454d7a7517691c791513490743855e486 GIT binary patch literal 8618 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 Q-%<~M%IajrUmn;0A5D{si2wiq literal 0 HcmV?d00001 diff --git a/src/components/Sidebar/assets/youtube_kids.png b/src/components/Sidebar/assets/youtube_kids.png new file mode 100644 index 0000000000000000000000000000000000000000..82ccb4f7f49a58ef6c797fd6636dd436f07438f8 GIT binary patch literal 1412 zcmV-~1$+95P)hh zbz6u*VuB=yi621>8Z;(^Ceh>%8vML~GeCek)5qdk)xa_5qeqxaP!7rtMj;np%Q?kM*eY@C{p-%a!5-su56 zI5UVxszP|WI*hF~Vbtpj44#ihjL({@Lioe<0Dd+p&xrGU#Q9gPX6Xv#h+QHfe>z2a zTw!!004xLmEg9jejnT~(MtU9%*ka#Q_-~0AZk~%q@aw7hxMs8)=j2+t%#2)dNbFMp zaNMo<@n%LYE)LpzZ{NL4v9%_Qi~P1L3M0n=z%-QjA`2s3n3G;BvelT9-HROxtwXC`XKb@h+X|RRXm&`J+`yl zmvNE$AbiAcy9@wNCep7dB8_#_WnQE{2-l2p_nD}$Hj#mOwVJszmEhyuHe6Ax8F&3~ z8Q3zxiw==}8K+(%WYzKl=e1-5U#N?q*(70oT`h)GJ8qqrH!KFet?;8=q$lDGcuZ{9 zrg6DR2mWPN5Ca|+o6nxbj~g1WI1M=S)rr@Z=aZl(MjWO8Mw*A zt*y9f^=kCGRGc$HGwPpI44kixAS1%HI0HG9#JIa;1M{M+x~w$Lz)c=#X~7p>dJ&z9 z73Yoc7)L=*axEeVef-hA!vJ^16EWGK{QamLTQs17n`~-s#>GpQqRVE**Gld^(L4V! za3^>Pdp4SU;l`77^2qRz1`eJ&h09m2M7K@BWyRimUWacoO>~45k#?l=xBfgMh(&qY zfWnWpx8r*oHW*1=0- zsg)`xW*fKAA8`hFTiB4|-7;R5K&J z7gKnR{|k<{%bfraO=N&qq%EmlrNhbd(Fn?vTpe)GMF1A~WU;61K9~jR3HVW|h7O4y zg~6bR^n*f+)V+UZFyn&t+qiFLkauFe08j-(ff4eonUU_NLylhFX=PIQ>FO}PQS7>I zVWihg$Ww3+$hV4gy-dmFLW^|iiJ<-JJ7e7VdASe2pXN7)x4eJg3k<}&Y3@7fZiwWA z;HJtO!`^qtdhnUBBUY-II&v84RwTL|07gNQ;Elr!0j9025Gg=djP7FlHR|Ht3&3OtWO SZ4`_E0000 \ No newline at end of file diff --git a/src/components/Sidebar/assets/youtube_tv.png b/src/components/Sidebar/assets/youtube_tv.png new file mode 100644 index 0000000000000000000000000000000000000000..16862aa711e0e053efffb3ec0fa668d88d4f698e GIT binary patch literal 3555 zcmd5y<&v%#ep7*@>-gEEC zPabY7wWrLO0sz_!*A=S)2&hQ_5)pk~MK_J2kH%(K@2vou(-c3fp(9R;jDKOQaQ2LD z6L!?EHEf=-_jh-{vXyyoim*hVKF@mAv8e=ouRMXd{t8d>S(7bl2Kru}%(Kke>j}bc zOS9X=O*Rd3htNpFN~4=`g+V7d4K}L)U+?Ed05SlMI8^~m&<6t`0nkwkh4tU3{-imM ze2$aQQEO7~6Xp{!eQ4~{JWVQ#X}*9x%FX)rG~*CA|J-d2K0HglkbI%hMnYg-)s|aU zhe)FOC1l*{**9#)x{l_d`D*1SLsB<*2?is&Il>}s{4df_M)p<> zQu)<^nLY6}#<=6QBR$KDn(eTDsw_luzDp$zJU2IH5W|LAaUqe;9my|wqMm)M-SkX* z0xs+z1V5Ls!epSg?MPswaL*n$X!~B47JbVYZ!=1|b0u<`wN!)O9KcDV!M$0g-chmL znd*4a2*#J&KM_|sPQ}GSolLPh&MGw;wc1_jsB+h-UsV1z5$C+hI^kp)d{Y-cH82Ib zTP*fz;NnYT9TIh%!)_8DA7j;&b`eA=G#H*9U-I?l{kqV-0~6eswJo-h1~>A)fCRR?zTyOD)-(+f@E6a{ zEx2F-O>>a_|KVZ#SWNGdqAbYCJ>_;F^^yS&`0CCQ#{B^*@${Mjj0EQ00+X26SG0Ex zZdG<4iL6Ju69WtX=H{NOZUWgyl9PM#c}WAIb?PWJZpDl(9T~14#E_q)&azch!|`Fe zCBa!bEnyDEDBI2ZLsR><{Es7 zQCoXK$x~U`Q%7s>Q#q9Qj<-@helN<_FQ?n6BDc4)XCu@PL~V=!Qx*r4$l!6zc{vKC zLTd&=74-gomyGzVm5@E-kUL7qcOQmeOpR>w_`PWH6xIYVN7iH|!7fk|sDj54=jA5j z1Q_UTx=SW02@u5P&qLm@AQ|toAQ_0|S0v*-mdPLr+8~^r&!WTpA6z#k)8xTiNxB^&Uw+K)15BMHB8~ zlsr?emWJELtsFyY2}VY32RX%;4N!ZUp?qU~TnvqdRNy%|Kc3HeEmfFw@>sTUk`ZSB zwFe!AhP?4nr>?%Nx?DA6tEv*K*gZ;%3fjHj_(sv|Het}ciK&C;C@Qhpwh^cspzMeNNj$6Z${5eCoF=E%#8OH4I zSes1psH2sIkCXx?XbSuE@?gRf9Rc56Z6EVKVLn0f-WdLzTXY$$I~@!2!HessXhoqq zMn`_H+NRp9Sqn0su1)Q2b;m~SuwY)jy<(&%FR_NlgWz0WTcGs$%>&40!mB|o`a?T_ z=xg6|*_zp7ds)8r5Pc-Aj4F>)$&M0^V*Fw8U0DRSW8{mu62?^Dl`#B+PDpA%4@e!U--ZZUm$TCucGq$z^QGIPHBXF0|t( z7#4d9EQR*!Zpkx8H>fZVJZp%%COqFh{G9#Buqzjalx&98ixGs!Z7pV$ZdS=kHeTcT|W%V+Cf9XpD=X4OI*IHu3 zJ}%%*I#rL`3eS;Z?PQPSNc~lYA31tj~?W z^vsur%Sb>xfV(95KP;!Wbmqv!nevL&B1!}%(&D)!hqPg)iw|I>?WV=z%jm6u;Sh95 zzn7Q*boj&+|Evo{aU*=z1)@NGTamYnx%=Nv C>O|WB literal 0 HcmV?d00001 diff --git a/src/components/VideoCard/VideoCard.jsx b/src/components/VideoCard/VideoCard.jsx new file mode 100644 index 0000000..aaa21c8 --- /dev/null +++ b/src/components/VideoCard/VideoCard.jsx @@ -0,0 +1,33 @@ +import React from 'react'; +import { useNavigate } from 'react-router-dom'; +import ChannelInfo from '../ChannelInfo/ChannelInfo'; +// import VideoPlay from '../VideoPlay/VideoPlay'; +import VideoStatistics from '../VideoStatistics/VideoStatistics'; +import styles from './VideoCard.module.scss'; + +export default function VideoCard({ video }) { + const { title, thumbnails, channelTitle, publishedAt, description, channelId } = video.snippet; + const { videoId } = video.id; + const navigate = useNavigate(); + + return ( +
  • { + // 클릭 시, 해당 동영상으로 이동 및 video 정보 state로 전달 + // state로 video 정보를 전달할 경우, + // 클릭했을때만 정보가 전달 되고 수기로 주소를 직접 작성할 땐 데이터가 전달이 되지 않으니 주의할 것! + navigate(`/watch/${video.id.videoId}`, { state: { video: video } }); + }} + > + {/* */} + {title} +
    +

    {title}

    + + +

    {description}

    +
    +
  • + ); +} diff --git a/src/components/VideoCard/VideoCard.module.scss b/src/components/VideoCard/VideoCard.module.scss new file mode 100644 index 0000000..f52f335 --- /dev/null +++ b/src/components/VideoCard/VideoCard.module.scss @@ -0,0 +1,25 @@ +.video { + display: flex; + margin-bottom: 1rem; + gap: 1.5rem; + color: var(--color-white); + + .video_img { + border-radius: 10px; + } + + .video_info { + margin-top: 0.4rem; + + .title { + margin-bottom: 0.4rem; + } + + .time, + .description { + color: var(--color-light-gray); + font-size: 0.9rem; + margin-bottom: 1.1rem; + } + } +} diff --git a/src/components/VideoInfo/VideoInfo.jsx b/src/components/VideoInfo/VideoInfo.jsx new file mode 100644 index 0000000..f63d705 --- /dev/null +++ b/src/components/VideoInfo/VideoInfo.jsx @@ -0,0 +1,124 @@ +import React from 'react'; +import styles from './VideoInfo.module.scss'; +import { channelImage } from '../../api/youtube'; +import ChannelInfo from '../ChannelInfo/ChannelInfo'; +import { timeToDay } from '../../util/timeToDay'; + +const VideoInfo = (props) => { + const videoData = { + title: props.title, + channelTitle: props.channelTitle, + description: props.description, + publishedAt: props.publishedAt, + }; + + return ( +
    +
    +
    +
    +

    #예시

    +

    #예시

    +

    #예시

    +
    +

    {videoData.title}

    +
    + 조회수 398만 회 + + {timeToDay(videoData.publishedAt)} +
    +
    +
    +
    +
    + + + + 23K +
    +
    + + + + +
    +
    +
    + + + + + + + SHARE +
    +
    + + + + + SAVE +
    +
    + + + + + + +
    +
    +
    +
    +
    + +
    SUBSCRIBED
    +
    +
    {videoData.description}
    +
    +
    + ); +}; + +export default VideoInfo; diff --git a/src/components/VideoInfo/VideoInfo.module.scss b/src/components/VideoInfo/VideoInfo.module.scss new file mode 100644 index 0000000..2952680 --- /dev/null +++ b/src/components/VideoInfo/VideoInfo.module.scss @@ -0,0 +1,98 @@ +.videoDataContainer { + color: var(--color-white); + display: flex; + flex-direction: column; + .videoPlayerInfo { + width: 100%; + padding: 1.2rem 0; + position: relative; + border-bottom: 1px solid rgba(90, 90, 90, 0.55); + h1 { + font-size: 21px; + } + .videoMainIntro { + display: flex; + flex-direction: column; + .tags { + display: flex; + color: #09f; + font-size: 90%; + .tag { + margin-right: 10px; + } + + // padding-bottom: 1.5rem; + } + .VideoTitle { + margin-bottom: 10px; + padding: 1rem 1rem 1rem 0; + } + } + .videoStats { + display: flex; + padding: 0.5rem 0; + color: #aaa; + font-size: 14px; + } + .main_header_buttons { + cursor: pointer; + width: fit-content; + display: flex; + justify-content: center; + align-items: center; + position: absolute; + right: 0; + bottom: 0; + font-weight: 300; + font-size: 105%; + span { + margin-left: 0.5rem; + font-weight: 600; + } + div { + padding: 0.8rem; + display: flex; + justify-content: center; + align-items: center; + } + .likes_container { + margin-bottom: -1px; + padding: 0; + border-bottom: 2px solid white; + } + } + } + .channelData { + margin-top: 30px; + width: 100%; + display: flex; + align-items: center; + position: relative; + ChannelInfo { + img { + width: 50px; + height: 50px; + } + } + .subscribeBtn { + position: absolute; + right: 0px; + padding: 10px 15px; + background-color: red; + color: #fff; + font-weight: 700; + border: none; + border-radius: 3px; + cursor: pointer; + font-size: 14px; + box-sizing: border-box; + } + } + + .videoDescription { + margin-left: 32px; + margin-top: 1rem; + white-space: pre-line; + font-size: 14px; + } +} diff --git a/src/components/VideoPlay/VideoPlay.jsx b/src/components/VideoPlay/VideoPlay.jsx new file mode 100644 index 0000000..483f2a6 --- /dev/null +++ b/src/components/VideoPlay/VideoPlay.jsx @@ -0,0 +1,18 @@ +import { useQuery } from '@tanstack/react-query'; +import React from 'react'; +import { contentDetails } from '../../api/FakeYoutubeApi'; +import { videoTime } from '../../util/videoTime'; + +export default function VideoPlay({ id, url, title }) { + const { isLoading, data: contentInfo } = useQuery(['videos', id], () => contentDetails(id), { enabled: !!id }); + if (isLoading) return; + const { duration } = contentInfo; + + // console.log('contentInfo::::', contentInfo); + return ( +
    + {/* {title} */} +

    {videoTime(duration)}

    +
    + ); +} diff --git a/src/components/VideoStatistics/VideoStatistics.jsx b/src/components/VideoStatistics/VideoStatistics.jsx new file mode 100644 index 0000000..e405412 --- /dev/null +++ b/src/components/VideoStatistics/VideoStatistics.jsx @@ -0,0 +1,21 @@ +import { useQuery } from '@tanstack/react-query'; +import React from 'react'; +import { videoInfo } from '../../api/FakeYoutubeApi'; +import { getViewCount } from '../../api/youtube'; +import { timeFormat } from '../../util/date'; +import numberToKorean from '../../util/numberToKorean'; +import styles from './VideoStatistics.module.scss'; + +export default function VideoStatistics({ id, publishedAt }) { + const { isLoading, data: videos } = useQuery(['videos', id], () => videoInfo(id), { enabled: !!id }); + if (isLoading) return; + const { viewCount } = videos; + + return ( +
    +

    {numberToKorean(viewCount)} views

    + · +

    {timeFormat(publishedAt)}

    +
    + ); +} diff --git a/src/components/VideoStatistics/VideoStatistics.module.scss b/src/components/VideoStatistics/VideoStatistics.module.scss new file mode 100644 index 0000000..bb6219d --- /dev/null +++ b/src/components/VideoStatistics/VideoStatistics.module.scss @@ -0,0 +1,12 @@ +.statistics { + display: flex; + align-items: center; + gap: 0.4rem; + margin-bottom: 1.1rem; + + .viewCount, + .time { + color: var(--color-light-gray); + font-size: 0.9rem; + } +} diff --git a/src/components/mainPage/HoverVideo.jsx b/src/components/mainPage/HoverVideo.jsx new file mode 100644 index 0000000..44e1fca --- /dev/null +++ b/src/components/mainPage/HoverVideo.jsx @@ -0,0 +1,106 @@ +import React, { useState } from 'react'; +import { useNavigate } from 'react-router-dom'; +import { format, register } from 'timeago.js'; +import koLocale from 'timeago.js/lib/lang/ko'; +import HoverVideoMenu from './HoverVideoMenu'; +import styles from './HoverVideo.module.scss'; +import { BsDot, BsList } from 'react-icons/bs'; +import { MdOutlineQueueMusic, MdMoreTime } from 'react-icons/md'; +import VideoStatistics from '../VideoStatistics/VideoStatistics'; +import ChannelInfo from '../ChannelInfo/ChannelInfo'; + +const HoverVideo = ({ profileData, videoCard, videoHover, setVideoHover, setPlayVideo }) => { + const [listOpen, setListOpen] = useState(false); + const { channelId, publishedAt } = videoCard.snippet; + + const navigate = useNavigate(); + + const view = (viewCount) => { + if (viewCount < 1000) { + return viewCount + '회'; + } + if (viewCount >= 1000 && viewCount < 10000) { + return (viewCount / 10000).toFixed(1) + '천회'; + } + if (viewCount >= 10000 && viewCount < 100000) { + return (viewCount / 10000).toFixed(1) + '만회'; + } + if (viewCount >= 100000) { + return (viewCount / 10000).toFixed() + '만회'; + } + }; + + register('ko', koLocale); + + const mouseOn = () => { + setVideoHover(true); + setPlayVideo(true); + }; + + return ( +
    +
    { + navigate(`/watch/${videoCard.id}`, { state: { video: videoCard } }); + }} + > +
    + +
    +
    +
    +
    +
    { + navigate(`/watch/${videoCard.id}`, { state: { video: videoCard } }); + }} + > +
    + +
    +
    +
    { + navigate(`/watch/${videoCard.id}`, { state: { video: videoCard } }); + }} + > +
    +
    {videoCard.snippet.title}
    +
    {videoCard.snippet.channelTitle}
    + +
    +
    +
    +
    + + {listOpen && } +
    +
    + + +
    +
    +
    + ); +}; + +export default HoverVideo; diff --git a/src/components/mainPage/HoverVideo.module.scss b/src/components/mainPage/HoverVideo.module.scss new file mode 100644 index 0000000..570bbee --- /dev/null +++ b/src/components/mainPage/HoverVideo.module.scss @@ -0,0 +1,76 @@ +.hover { + width: 360px; + height: fit-content; + z-index: 5; + position: absolute; + top: 0px; + left: 0px; + background-color: var(--color-dark-gray); + border-radius: 10px; + overflow: hidden; +} +.hoverPosition { + position: relative; + height: 220px; +} +.hoverinfo { + display: flex; + color: var(--color-white); +} +.channelimage { + width: 40px; + height: 40px; + border-radius: 50%; + margin: 10px; +} +.videoInfo { + width: 250px; + margin: 10px 0; + height: 95px; +} +.videoTitle { + height: 40px; + width: 250px; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + overflow: hidden; + white-space: normal; + line-height: 19px; + color: var(--color-white); +} +.chan_view_date { + font-size: 13px; + color: var(--color-white); + margin: 8px 3px; +} +.listicon { + position: relative; + top: -110px; + left: 320px; + color: var(--color-white); +} +.icon { + width: 30px; + height: 30px; + color: var(--color-white); +} +.hoverbuttons { + display: flex; + flex-direction: column; + position: relative; + top: -30px; +} +.hoverbutton { + background-color: var(--color-semi-dark-gray); + margin: 5px 5px; + padding: 10px; + border-radius: 10px; + display: flex; + justify-content: center; + color: var(--color-white); +} +.hoverbutton:hover { + background-color: var(--color-semi-light-gray); + color: var(--color-white); +} diff --git a/src/components/mainPage/HoverVideoMenu.jsx b/src/components/mainPage/HoverVideoMenu.jsx new file mode 100644 index 0000000..64e3f5e --- /dev/null +++ b/src/components/mainPage/HoverVideoMenu.jsx @@ -0,0 +1,25 @@ +import React from 'react'; +import { MdOutlineQueueMusic } from 'react-icons/md'; +import { IoIosShareAlt } from 'react-icons/io'; +import styles from './HoverVideoMenu.module.scss'; + +const HoverVideoMenu = () => { + return ( +
      +
    • + +
    • +
    • + +
    • +
    + ); +}; + +export default HoverVideoMenu; diff --git a/src/components/mainPage/HoverVideoMenu.module.scss b/src/components/mainPage/HoverVideoMenu.module.scss new file mode 100644 index 0000000..9796f54 --- /dev/null +++ b/src/components/mainPage/HoverVideoMenu.module.scss @@ -0,0 +1,22 @@ +.menu { + position: absolute; + height: fit-content; + width: 220px; + right: 10px; + top: -75px; + border: 1px solid lightgray; + background-color: white; + box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3); + z-index: 2; +} +.menulist { + height: 36px; + padding: 8px 16px; + width: auto; +} +.menubutton { + display: flex; +} +.menulist:hover { + background-color: lightgray; +} diff --git a/src/components/mainPage/VideoCard.jsx b/src/components/mainPage/VideoCard.jsx new file mode 100644 index 0000000..6d9629a --- /dev/null +++ b/src/components/mainPage/VideoCard.jsx @@ -0,0 +1,32 @@ +import React, { useState, useEffect } from 'react'; +import axios from 'axios'; +import { BsList } from 'react-icons/bs'; +import VideoPlayer from './VideoPlayer'; +import VideoInfo from './VideoInfo'; +import VideoMenu from './VideoMenu'; +import styles from './VideoCard.module.scss'; + +const VideoCard = ({ videoCard, listOpen, setListOpen }) => { + const [cardHover, setCardHover] = useState(false); + const [profileData, setProfileData] = useState(''); + + return ( +
    +
    setCardHover(true)} onMouseOut={() => setCardHover(false)}> + + {cardHover && ( + + )} + {listOpen === videoCard.id && } + +
    +
    + ); +}; + +export default VideoCard; diff --git a/src/components/mainPage/VideoCard.module.scss b/src/components/mainPage/VideoCard.module.scss new file mode 100644 index 0000000..7762232 --- /dev/null +++ b/src/components/mainPage/VideoCard.module.scss @@ -0,0 +1,22 @@ +.card { + position: relative; + margin: 15px; + padding: 20px 8px 20px; + width: 330px; + height: fit-content; + box-sizing: content-box; +} +.listbutton { + width: 40px; + height: 40px; + z-index: 2; + position: absolute; + right: 15px; + margin: 10px; + bottom: 50px; +} +.listicon { + width: 30px; + height: 30px; + color: var(--color-white); +} diff --git a/src/components/mainPage/VideoCards.jsx b/src/components/mainPage/VideoCards.jsx new file mode 100644 index 0000000..ff38e80 --- /dev/null +++ b/src/components/mainPage/VideoCards.jsx @@ -0,0 +1,67 @@ +import React, { useState, useEffect, useCallback } from 'react'; +import axios from '../../api/axios'; +import { useInView } from 'react-intersection-observer'; +import VideoCard from './VideoCard'; +import styles from './VideoCards.module.scss'; + +const VideoCards = () => { + const [videoData, setVideoData] = useState([]); + const [loading, setLoading] = useState(false); + const [listOpen, setListOpen] = useState(''); + const [page, setPage] = useState(''); + const [ref, inView] = useInView(); + const [data, setData] = useState({}); + + const getVideo = useCallback(async () => { + setLoading(true); + await axios + .get( + `/videos?part=snippet,contentDetails,statistics&chart=mostPopular&maxResults=25${page}`, + // `http://localhost:4000/file`, + ) + .then((response) => { + setVideoData((prev) => [...prev, ...response.data.items]); + }); + const video = await axios.get( + `/videos?part=snippet,contentDetails,statistics&chart=mostPopular&maxResults=25${page}`, + // `http://localhost:4000/file`, + ); + setData(video.data); + setLoading(false); + }, [page]); + + useEffect(() => { + getVideo(); + }, [getVideo]); + + useEffect(() => { + if (inView && !loading) { + setPage(`&pageToken=${data.nextPageToken}`); + } + }, [inView, loading]); + + if (videoData === []) { + return
    ; + } + return ( +
    +
    + {videoData.map((videoCard, index) => ( + + {videoData.length - 5 === index ? ( +
    + +
    + ) : ( +
    + +
    + )} +
    + ))} +
    +
    + ); +}; + +export default VideoCards; diff --git a/src/components/mainPage/VideoCards.module.scss b/src/components/mainPage/VideoCards.module.scss new file mode 100644 index 0000000..9e705ae --- /dev/null +++ b/src/components/mainPage/VideoCards.module.scss @@ -0,0 +1,6 @@ +.top { + display: flex; + flex-wrap: wrap; + justify-content: center; + background-color: var(--color-black); +} diff --git a/src/components/mainPage/VideoInfo.jsx b/src/components/mainPage/VideoInfo.jsx new file mode 100644 index 0000000..590c7ba --- /dev/null +++ b/src/components/mainPage/VideoInfo.jsx @@ -0,0 +1,34 @@ +import React from 'react'; +import { useNavigate } from 'react-router-dom'; +import styles from './VideoInfo.module.scss'; +import ChannelInfo from '../ChannelInfo/ChannelInfo'; +import VideoStatistics from '../VideoStatistics/VideoStatistics'; + +const VideoInfo = ({ videoCard, profileData }) => { + const navigate = useNavigate(); + + const { channelId, publishedAt } = videoCard.snippet; + + return ( +
    { + navigate(`/watch/${videoCard.id}`, { state: { video: videoCard } }); + }} + > +
    +
    + +
    +
    +
    {videoCard.snippet.title}
    +
    {videoCard.snippet.channelTitle}
    +
    + +
    +
    +
    +
    + ); +}; + +export default VideoInfo; diff --git a/src/components/mainPage/VideoInfo.module.scss b/src/components/mainPage/VideoInfo.module.scss new file mode 100644 index 0000000..a3ad89b --- /dev/null +++ b/src/components/mainPage/VideoInfo.module.scss @@ -0,0 +1,30 @@ +.videoinfo { + display: flex; + margin-top: 10px; +} +.channelimage { + width: 40px; + height: 40px; + margin: 10px; + border-radius: 50%; +} +.info { + width: 210px; + margin-left: 1rem; +} +.infotitle { + height: 40px; + width: 210px; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + overflow: hidden; + white-space: normal; + line-height: 19px; + color: var(--color-white); +} +.infochan_view { + font-size: 13px; + color: var(--color-light-gray); + margin: 8px 3px; +} diff --git a/src/components/mainPage/VideoMenu.jsx b/src/components/mainPage/VideoMenu.jsx new file mode 100644 index 0000000..08c0432 --- /dev/null +++ b/src/components/mainPage/VideoMenu.jsx @@ -0,0 +1,25 @@ +import React from 'react'; +import { MdOutlineQueueMusic } from 'react-icons/md'; +import { IoIosShareAlt } from 'react-icons/io'; +import styles from './VideoMenu.module.scss'; + +const VideoMenu = () => { + return ( +
      +
    • + +
    • +
    • + +
    • +
    + ); +}; + +export default VideoMenu; diff --git a/src/components/mainPage/VideoMenu.module.scss b/src/components/mainPage/VideoMenu.module.scss new file mode 100644 index 0000000..8e063bc --- /dev/null +++ b/src/components/mainPage/VideoMenu.module.scss @@ -0,0 +1,22 @@ +.menu { + position: absolute; + height: fit-content; + width: 220px; + right: 0; + bottom: -10px; + background-color: var(--color-dark-gray); + z-index: 2; + border-radius: 10px; +} +.menulist { + height: 36px; + padding: 8px 16px; + width: auto; +} +.menubutton { + display: flex; + color: var(--color-white); +} +.menulist:hover { + background-color: var(--color-semi-dark-gray); +} diff --git a/src/components/mainPage/VideoPlayer.jsx b/src/components/mainPage/VideoPlayer.jsx new file mode 100644 index 0000000..6f43a07 --- /dev/null +++ b/src/components/mainPage/VideoPlayer.jsx @@ -0,0 +1,60 @@ +import React, { useState } from 'react'; +import { useNavigate } from 'react-router-dom'; +import HoverVideo from './HoverVideo'; +import styles from './VideoPlayer.module.scss'; +import { videoTime } from '../../util/videoTime'; + +const VideoPlayer = ({ videoCard, profileData }) => { + + // console.log('videoCard:', videoCard); + // console.log('profileData:',profileData); + + const [videoHover, setVideoHover] = useState(false); + const [playVideo, setPlayVideo] = useState(false); + + const navigate = useNavigate(); + + let timer; + + const mouseOver = async () => { + setVideoHover(true); + timer = await setTimeout(() => { + setPlayVideo(true); + }, 3000); + }; + + const mouseOut = async () => { + setVideoHover(false); + clearTimeout(timer); + setPlayVideo(false); + }; + + return ( +
    +
    { + navigate(`/watch/${videoCard.id}`, { state: { video: videoCard } }); + }} + > + {videoCard.snippet.title} +
    {videoTime(videoCard.contentDetails.duration)}
    + {videoHover &&
    계속 마우스오버하여 재생하기
    } +
    + {playVideo && videoHover && ( + + )} +
    + ); +}; + +export default VideoPlayer; diff --git a/src/components/mainPage/VideoPlayer.module.scss b/src/components/mainPage/VideoPlayer.module.scss new file mode 100644 index 0000000..e0b69e5 --- /dev/null +++ b/src/components/mainPage/VideoPlayer.module.scss @@ -0,0 +1,26 @@ +.videoplayer { + position: relative; +} +.videoimage { + border-radius: 10px; +} +.videotime { + position: absolute; + bottom: 10px; + right: 10px; + background-color: black; + color: white; + font-weight: 500; + padding: 3px; + border-radius: 5px; +} +.videohover { + position: absolute; + bottom: 10px; + right: 10px; + background-color: black; + color: white; + padding: 5px; + border-radius: 5px; + font-size: 12px; +} diff --git a/src/context/YoutubeApiContext.jsx b/src/context/YoutubeApiContext.jsx new file mode 100644 index 0000000..e69de29 diff --git a/src/global.css b/src/global.css new file mode 100644 index 0000000..e221473 --- /dev/null +++ b/src/global.css @@ -0,0 +1,14 @@ +body { + font-family: 'Pretendard Variable', Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, 'Helvetica Neue', + 'Segoe UI', 'Apple SD Gothic Neo', 'Noto Sans KR', 'Malgun Gothic', 'Apple Color Emoji', 'Segoe UI Emoji', + 'Segoe UI Symbol', sans-serif; +} + +:root { + --color-white: #f5f5f5; + --color-black: #0f0f0f; + --color-light-gray: #aaaaaa; + --color-semi-dark-gray: #323232; + --color-dark-gray: #202020; + --color-semi-light-gray: #495057; +} diff --git a/src/index.js b/src/index.js new file mode 100644 index 0000000..4942d0e --- /dev/null +++ b/src/index.js @@ -0,0 +1,14 @@ +import React from 'react'; +import ReactDOM from 'react-dom/client'; +import reportWebVitals from './reportWebVitals'; +import { RouterProvider } from 'react-router-dom'; +import './App.css'; +import router from './Router'; + +const root = ReactDOM.createRoot(document.getElementById('root')); +root.render(); + +// If you want to start measuring performance in your app, pass a function +// to log results (for example: reportWebVitals(console.log)) +// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals +reportWebVitals(); diff --git a/src/pages/NotFound.jsx b/src/pages/NotFound.jsx new file mode 100644 index 0000000..e329609 --- /dev/null +++ b/src/pages/NotFound.jsx @@ -0,0 +1,5 @@ +import React from 'react'; + +export default function NotFound() { + return
    Not Found!
    ; +} diff --git a/src/pages/VideoDetail.module.scss b/src/pages/VideoDetail.module.scss new file mode 100644 index 0000000..2c5a1d3 --- /dev/null +++ b/src/pages/VideoDetail.module.scss @@ -0,0 +1,14 @@ +* { + background: var(--color-dark-gray); +} +.detailContainer { + position: relative; + display: flex; + flex-direction: column; + .column1 { + width: 50%; + } + .column2 { + width: 50%; + } +} diff --git a/src/pages/VideoDetail/VideoDetail.jsx b/src/pages/VideoDetail/VideoDetail.jsx new file mode 100644 index 0000000..c39d3f8 --- /dev/null +++ b/src/pages/VideoDetail/VideoDetail.jsx @@ -0,0 +1,28 @@ +import React from 'react'; +import RelatedVideoInVideoDetail from '../../components/RelatedVideoInVideoDetail/RelatedVideoInVideoDetail'; +import Comments from '../../components/Comments/Comments'; +import Player from '../../components/Player/Player'; +import { useLocation } from 'react-router-dom'; +import VideoInfo from '../../components/VideoInfo/VideoInfo'; +import styles from './VideoDetail.module.scss'; + +const VideoDetail = () => { + const { + state: { video }, + } = useLocation(); + + const { title, channelTitle, description, publishedAt } = video.snippet; + return ( +
    +
    + + + +
    +
    + +
    +
    + ); +}; +export default VideoDetail; diff --git a/src/pages/VideoDetail/VideoDetail.module.scss b/src/pages/VideoDetail/VideoDetail.module.scss new file mode 100644 index 0000000..4566e44 --- /dev/null +++ b/src/pages/VideoDetail/VideoDetail.module.scss @@ -0,0 +1,11 @@ +.detailPage { + display: flex; + background-color: var(--color-black); + .column1 { + width: 80%; + } + .column2 { + // margin-left: 20px; + width: 20%; + } +} diff --git a/src/pages/VideoSearch/VideoSearch.jsx b/src/pages/VideoSearch/VideoSearch.jsx new file mode 100644 index 0000000..881ea07 --- /dev/null +++ b/src/pages/VideoSearch/VideoSearch.jsx @@ -0,0 +1,38 @@ +import React from 'react'; +import { useQuery } from '@tanstack/react-query'; +import VideoCard from '../../components/VideoCard/VideoCard'; +import { useParams } from 'react-router-dom'; +import { search } from '../../api/FakeYoutubeApi'; +import NoResultImage from '../../assets/images/no-result.png'; +import styles from './VideoSearch.module.scss'; +// import { searchByKeyword } from '../../api/youtube'; + +export default function VideoSearch() { + const { keyword } = useParams(); + const { data: videos } = useQuery( + ['videos', keyword], + () => search(keyword), + { enabled: !!keyword }, // keyword가 존재할 경우 이 쿼리가 실행 + ); + + return ( +
    + {!keyword && ( +
    + No result +
    +

    검색결과가 없습니다

    +

    다른 검색어를 시도해 보거나 검색 필터를 삭제하세요.

    +
    +
    + )} + {videos && ( +
      + {videos.map((video) => ( + + ))} +
    + )} +
    + ); +} diff --git a/src/pages/VideoSearch/VideoSearch.module.scss b/src/pages/VideoSearch/VideoSearch.module.scss new file mode 100644 index 0000000..eed4cf2 --- /dev/null +++ b/src/pages/VideoSearch/VideoSearch.module.scss @@ -0,0 +1,31 @@ +.searchPage { + background-color: var(--color-black); + padding-left: 5rem; + + .noResult { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + gap: 2rem; + height: 100vh; + + .img { + width: 30%; + } + + .info { + text-align: center; + color: var(--color-white); + + .title { + font-size: 1.5rem; + margin-bottom: 1.3rem; + } + } + } + + .videos { + padding: 3rem 4rem; + } +} diff --git a/src/pages/Videos.jsx b/src/pages/Videos.jsx new file mode 100644 index 0000000..a0146e0 --- /dev/null +++ b/src/pages/Videos.jsx @@ -0,0 +1,8 @@ +import React from 'react'; +import VideoCards from '../components/mainPage/VideoCards'; + +const Videos = () => { + return ; +}; + +export default Videos; diff --git a/src/reportWebVitals.js b/src/reportWebVitals.js new file mode 100644 index 0000000..5253d3a --- /dev/null +++ b/src/reportWebVitals.js @@ -0,0 +1,13 @@ +const reportWebVitals = onPerfEntry => { + if (onPerfEntry && onPerfEntry instanceof Function) { + import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => { + getCLS(onPerfEntry); + getFID(onPerfEntry); + getFCP(onPerfEntry); + getLCP(onPerfEntry); + getTTFB(onPerfEntry); + }); + } +}; + +export default reportWebVitals; diff --git a/src/reset.css b/src/reset.css new file mode 100644 index 0000000..8b7afd8 --- /dev/null +++ b/src/reset.css @@ -0,0 +1,145 @@ +/* http://meyerweb.com/eric/tools/css/reset/ + v2.0 | 20110126 + License: none (public domain) +*/ + +*, +html, +body, +div, +span, +applet, +object, +iframe, +h1, +h2, +h3, +h4, +h5, +h6, +p, +blockquote, +pre, +a, +abbr, +acronym, +address, +big, +cite, +code, +del, +dfn, +em, +img, +ins, +kbd, +q, +s, +samp, +small, +strike, +strong, +sub, +sup, +tt, +var, +b, +u, +i, +center, +dl, +dt, +dd, +ol, +ul, +li, +fieldset, +form, +label, +legend, +table, +caption, +tbody, +tfoot, +thead, +tr, +th, +td, +article, +aside, +canvas, +details, +embed, +figure, +figcaption, +footer, +header, +hgroup, +menu, +nav, +output, +ruby, +section, +summary, +time, +mark, +audio, +video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline; + text-decoration: none; + box-sizing: border-box; +} +a:hover, +a:visited, +a:link, +a:active { + text-decoration: none; + color: none; +} +a:hover { + color: none; +} +/* HTML5 display-role reset for older browsers */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +menu, +nav, +section { + display: block; +} +body { + line-height: 1; +} +ol, +ul, +li { + padding-left: 0; + margin-left: 0; + list-style: none; +} +blockquote, +q { + quotes: none; +} +blockquote:before, +blockquote:after, +q:before, +q:after { + content: ''; + content: none; +} +table { + border-collapse: collapse; + border-spacing: 0; +} diff --git a/src/setupTests.js b/src/setupTests.js new file mode 100644 index 0000000..8f2609b --- /dev/null +++ b/src/setupTests.js @@ -0,0 +1,5 @@ +// jest-dom adds custom jest matchers for asserting on DOM nodes. +// allows you to do things like: +// expect(element).toHaveTextContent(/react/i) +// learn more: https://github.com/testing-library/jest-dom +import '@testing-library/jest-dom'; diff --git a/src/util/date.js b/src/util/date.js new file mode 100644 index 0000000..d0357a4 --- /dev/null +++ b/src/util/date.js @@ -0,0 +1,5 @@ +import { format } from 'timeago.js'; + +export function timeFormat(date, lang = 'en_US') { + return format(date, lang); +} diff --git a/src/util/numberToKorean.js b/src/util/numberToKorean.js new file mode 100644 index 0000000..37da113 --- /dev/null +++ b/src/util/numberToKorean.js @@ -0,0 +1,22 @@ +export default function numberToKorean(viewCount) { + const inputNumber = Number(viewCount); + const unitWords = ['', '만', '억']; + const splitUnit = 10000; + const splitCount = unitWords.length; + const resultArray = []; + let resultString = ''; + for (let i = 0; i < splitCount; i++) { + let unitResult = (inputNumber % Math.pow(splitUnit, i + 1)) / Math.pow(splitUnit, i); + unitResult = Math.floor(unitResult); + if (unitResult > 0) { + resultArray[i] = unitResult; + } + } + + for (let i = 0; i < resultArray.length; i++) { + if (!resultArray[i]) continue; + resultString = String(resultArray[i]) + unitWords[i]; + } + + return resultString; +} diff --git a/src/util/timeToDay.js b/src/util/timeToDay.js new file mode 100644 index 0000000..a86a120 --- /dev/null +++ b/src/util/timeToDay.js @@ -0,0 +1,45 @@ +export const timeToDay = (time) => { + let arr = time.slice(0, 10); + arr = arr.split('-'); + let res = ''; + switch (parseInt(arr[1])) { + case 1: + res += 'Jan'; + break; + case 2: + res += 'Feb'; + break; + case 3: + res += 'Mar'; + break; + case 4: + res += 'Apr'; + break; + case 5: + res += 'May'; + break; + case 6: + res += 'Jun'; + break; + case 7: + res += 'Jul'; + break; + case 8: + res += 'Aug'; + break; + case 9: + res += 'Sep'; + break; + case 10: + res += 'Oct'; + break; + case 11: + res += 'Nov'; + break; + case 12: + res += 'Dec'; + break; + } + res += ' ' + arr[2] + ', ' + arr[0]; + return res; +}; diff --git a/src/util/videoTime.js b/src/util/videoTime.js new file mode 100644 index 0000000..ff9326f --- /dev/null +++ b/src/util/videoTime.js @@ -0,0 +1,7 @@ +export const videoTime = (duration) => { + let time = [duration.match(/[0-9]+H/) || '', duration.match(/[0-9]+M/) || '00', duration.match(/[0-9]+S/) || '00']; + time = time.map((timeEl) => String(timeEl).replace(/[A-Z]/g, '').padStart(2, '0')); + time = time.join(':').replace(/[A-Z]/g, ''); + time = time.split(':')[0] === '00' ? time.replace('00:', '') : time; + return time; +}; diff --git a/src/util/view.js b/src/util/view.js new file mode 100644 index 0000000..edf25a1 --- /dev/null +++ b/src/util/view.js @@ -0,0 +1,14 @@ +export const view = (viewCount) => { + if (viewCount < 1000) { + return viewCount + '회'; + } + if (viewCount >= 1000 && viewCount < 10000) { + return (viewCount / 10000).toFixed(1) + '천회'; + } + if (viewCount >= 10000 && viewCount < 100000) { + return (viewCount / 10000).toFixed(1) + '만회'; + } + if (viewCount >= 100000) { + return (viewCount / 10000).toFixed() + '만회'; + } +}; From 5727d523ccb16ce754cb145d393e2a2f27e3b9a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A1=B0=EC=8A=B9=ED=9B=84?= Date: Mon, 6 Feb 2023 14:09:06 +0900 Subject: [PATCH 2/2] =?UTF-8?q?2=EC=B0=A8=20PR?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 95 +++++------ package-lock.json | 75 --------- package.json | 1 - public/index.html | 32 +--- public/logo192.png | Bin 5347 -> 0 bytes public/logo512.png | Bin 9664 -> 0 bytes public/manifest.json | 25 --- src/.prettierrc.js | 10 -- src/App.css | 48 ------ src/App.js | 25 +-- src/App.test.js | 8 - src/api/FakeYoutubeApi.js | 8 +- src/components/Header/headerLeftLogomenu.jsx | 6 - src/components/HoverButton/HoverButton.jsx | 37 +++++ .../HoverButton/HoverButton.module.scss | 29 ++++ src/components/{ => Layout}/Header/Header.jsx | 57 ++----- .../{ => Layout}/Header/Header.module.scss | 63 ++++---- src/components/Layout/Header/HeaderMenu.jsx | 37 +++++ .../Header/assets/formFocusIcon.svg | 0 .../{ => Layout}/Header/assets/logo.png | Bin src/components/Layout/Layout.jsx | 25 +++ src/components/Layout/Layout.module.scss | 47 ++++++ src/components/Layout/Sidebar/Sidebar.jsx | 11 ++ .../{ => Layout}/Sidebar/Sidebar.module.scss | 101 +++++++----- .../Layout/Sidebar/SidebarLarge.jsx | 135 ++++++++++++++++ .../Layout/Sidebar/SidebarModal.jsx | 19 +++ .../Layout/Sidebar/SidebarSmall.jsx | 29 ++++ .../{ => Layout}/Sidebar/assets/youtube.png | Bin .../Sidebar/assets/youtube_kids.png | Bin .../Sidebar/assets/youtube_music.svg | 0 .../Sidebar/assets/youtube_tv.png | Bin src/components/PlayVideo/PlayVideo.jsx | 17 ++ .../PlayVideo/PlayVideo.module.scss | 6 + .../RelatedVideoInVideoDetail.jsx | 78 +++++---- src/components/Sidebar/Sidebar.jsx | 32 ---- src/components/Sidebar/SidebarLarge.jsx | 151 ------------------ src/components/Sidebar/SidebarModal.jsx | 49 ------ src/components/Sidebar/SidebarSmall.jsx | 28 ---- src/components/VideoCard/VideoCard.jsx | 62 +++++-- .../VideoCard/VideoCard.module.scss | 26 ++- .../VideoThumbnail.jsx} | 12 +- .../VideoThumbnail/VideoThumbnail.module.scss | 18 +++ src/components/mainPage/HoverVideo.jsx | 16 +- src/components/mainPage/VideoPlayer.jsx | 3 +- src/hooks/useOnClickOutside.js | 18 +++ src/hooks/useWindow.js | 14 ++ src/index.js | 7 - src/pages/VideoDetail/VideoDetail.jsx | 6 +- src/pages/VideoDetail/VideoDetail.module.scss | 10 +- src/reportWebVitals.js | 13 -- src/setupTests.js | 5 - src/styles/App.css | 21 +++ src/{ => styles}/global.css | 0 src/{ => styles}/reset.css | 0 54 files changed, 757 insertions(+), 758 deletions(-) delete mode 100644 public/logo192.png delete mode 100644 public/logo512.png delete mode 100644 public/manifest.json delete mode 100644 src/.prettierrc.js delete mode 100644 src/App.css delete mode 100644 src/App.test.js delete mode 100644 src/components/Header/headerLeftLogomenu.jsx create mode 100644 src/components/HoverButton/HoverButton.jsx create mode 100644 src/components/HoverButton/HoverButton.module.scss rename src/components/{ => Layout}/Header/Header.jsx (65%) rename src/components/{ => Layout}/Header/Header.module.scss (87%) create mode 100644 src/components/Layout/Header/HeaderMenu.jsx rename src/components/{ => Layout}/Header/assets/formFocusIcon.svg (100%) rename src/components/{ => Layout}/Header/assets/logo.png (100%) create mode 100644 src/components/Layout/Layout.jsx create mode 100644 src/components/Layout/Layout.module.scss create mode 100644 src/components/Layout/Sidebar/Sidebar.jsx rename src/components/{ => Layout}/Sidebar/Sidebar.module.scss (76%) create mode 100644 src/components/Layout/Sidebar/SidebarLarge.jsx create mode 100644 src/components/Layout/Sidebar/SidebarModal.jsx create mode 100644 src/components/Layout/Sidebar/SidebarSmall.jsx rename src/components/{ => Layout}/Sidebar/assets/youtube.png (100%) rename src/components/{ => Layout}/Sidebar/assets/youtube_kids.png (100%) rename src/components/{ => Layout}/Sidebar/assets/youtube_music.svg (100%) rename src/components/{ => Layout}/Sidebar/assets/youtube_tv.png (100%) create mode 100644 src/components/PlayVideo/PlayVideo.jsx create mode 100644 src/components/PlayVideo/PlayVideo.module.scss delete mode 100644 src/components/Sidebar/Sidebar.jsx delete mode 100644 src/components/Sidebar/SidebarLarge.jsx delete mode 100644 src/components/Sidebar/SidebarModal.jsx delete mode 100644 src/components/Sidebar/SidebarSmall.jsx rename src/components/{VideoPlay/VideoPlay.jsx => VideoThumbnail/VideoThumbnail.jsx} (57%) create mode 100644 src/components/VideoThumbnail/VideoThumbnail.module.scss create mode 100644 src/hooks/useOnClickOutside.js create mode 100644 src/hooks/useWindow.js delete mode 100644 src/reportWebVitals.js delete mode 100644 src/setupTests.js create mode 100644 src/styles/App.css rename src/{ => styles}/global.css (100%) rename src/{ => styles}/reset.css (100%) diff --git a/README.md b/README.md index 9a30fe6..5b64566 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@

    - +

    Front-End : React Youtube Clone

    🔗 YouTube 페이지

    -

    🔗 Team5 배포 페이지

    -

    🔗 Team5 Git Repository

    +

    🔗 Team5 배포 페이지

    +

    🔗 Team5 Git Repository

    🔗 Team5 Notion


    @@ -17,7 +17,7 @@ | 김지영 | 이은영 | 조승후 | 홍혜원 | | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | | 김지영 | 이은영 | 조승후 | 홍혜원 | -| 메인페이지 | 헤더 및 사이드바 | 영상 상세 페이지 | 검색 페이지 | +| 메인페이지 | 헤더 및 사이드바
    레이아웃 | 영상 상세 페이지 | 검색 페이지 |
    @@ -25,7 +25,8 @@ ![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/grass.png) -2023.01.23(월) ~ 2023.01.20(금) +1차 : 2023.01.23(월) ~ 2023.01.20(금)
    +2차 : 2023.01.25(수) ~ 2023.02.03(금)
    @@ -60,55 +61,38 @@ - 무한 스크롤 가능 -
    -[페이지명] - -- 설명1 - - - 설명2 -
    - - ### 👩‍💻이은영 +### 👩‍💻이은영
    -[헤더 및 사이드바] - -- 검색바 반응형 -- 사이드바 윈도우 창 크기별 반응형 -- 사이드바 태블릿 및 모바일에서는 모달 사이드바 -- 구현 못한 것 - - - 모바일일 때, 검색 버튼 누르면 확장된 검색바 나오기 - - 모달창 버튼 닫기 안됨 - -
    - - ### 👩‍💻조승후 +[레이아웃] +- 영상 디테일 페이지 : 사이드바 모달 형태 +- 그외 페이지 + - 사이드바 반응형에 따라, main 영역 사이즈 변경됨 +- 스크롤 디자인 +
    -[영상플레이어] - -- 설명1 - - - 설명2 -
    +[헤더] +- 검색바 반응형 +
    -[댓글리스트] - -- 설명1 - - - 설명2 -
    - -[관련영상리스트] +[사이드바] +- 데스크탑 사이즈에서는 버튼 클릭시, 토글로 열림 +- 태블릿과 모바일 사이즈에서는 버튼 클릭시, 모달로 열림 +- 모달일 때 + - 사이드바 외 영역 클릭시, 모달 닫기 + - 버튼으로 모달 닫기 +- hover 시에만 스크롤 보임 + -- 설명1 +### 👩‍💻조승후 - - 설명2 - +- 영상플레이어 +- 댓글리스트 +- 관련영상리스트 - ### 👩‍💻홍혜원 +### 👩‍💻홍혜원
    검색페이지 @@ -144,18 +128,21 @@
    👩‍💻이은영 -- 피드백 받고 싶은 점 +[피드백 받고 싶은 점] - - 페이지 공통 레이아웃 - - 헤더와 사이드바를 fixed로 설정했고 outlet은 헤더와 사이드바만큼 반응형마다 다르게 margin을 줬습니다. 괜찮은 방법인지 궁금합니다. 혹은 fixed된 공통 컴포넌트와 아웃렛을 margin을 주지 않고도 겹치지 않게 설정할 수 있는 방법이 있는지 궁금합니다. - - img src 대신 import로 이미지 불러오기 - - 이미지를 img src로 불러오는 것이 안돼서 import 하였습니다. 혹시 원인에 대해 아시는 것이 있으면 알려주시면 감사하겠습니다. - - 사이드바 - - 창크기별로 반응형을 만들고, 창크기별로 버튼에 다른 모션을 주는 것이 어려웠습니다. 버튼을 누르면 확장형 사이드바가 없어지거나 모달 사이드바가 뜨는 것에 대해, state를 하나로 하여 작업하다가 두 개로 변경하여 작업했습니다. 이 과정에서 헤더와 사이드바, app.js 전체 레이아웃 등 고려해야할 것이 많아 어려웠습니다. useContext를 사용해야 했는지 궁금합니다. +- 페이지 공통 레이아웃 + - 헤더와 사이드바를 fixed로 설정했고 outlet은 헤더와 사이드바만큼 반응형마다 다르게 margin을 줬습니다. 괜찮은 방법인지 궁금합니다. 혹은 fixed된 공통 컴포넌트와 아웃렛을 margin을 주지 않고도 겹치지 않게 설정할 수 있는 방법이 있는지 궁금합니다. +- img src 대신 import로 이미지 불러오기 + - 이미지를 img src로 불러오는 것이 안돼서 import 하였습니다. 혹시 원인에 대해 아시는 것이 있으면 알려주시면 감사하겠습니다. +- 사이드바 + - 창크기별로 반응형을 만들고, 창크기별로 버튼에 다른 모션을 주는 것이 어려웠습니다. 버튼을 누르면 확장형 사이드바가 없어지거나 모달 사이드바가 뜨는 것에 대해, state를 하나로 하여 작업하다가 두 개로 변경하여 작업했습니다. 이 과정에서 헤더와 사이드바, app.js 전체 레이아웃 등 고려해야할 것이 많아 어려웠습니다. useContext를 사용해야 했는지 궁금합니다. -- 어려웠던 점 +[어려웠던 점] - - useRef - useRef 사용하는 것이 어려웠고, 수정하여 없어진 부분이나 자식 컴포넌트로 ref prop을 넘겨주는 것이 불가능 해 fowardRef 를 사용하려 했습니다. 하지만 에러가 났는데 해결하지 못해 사용하지 못했습니다. +- useRef 사용 +- 사이드바 슬라이드 transition + - 컴포넌트 계층을 잘못 설계해 transition 적용이 되지 않았음. 작업한 컴포넌트를 대대적으로 수정해야했음. +- 반응형, 헤더의 버튼 클릭시 상황별로 사이드바 형태가 달라야했던 점
    👩‍💻조승후 diff --git a/package-lock.json b/package-lock.json index e874ee7..d199562 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,7 +18,6 @@ "react-dom": "^18.2.0", "react-icons": "^4.7.1", "react-intersection-observer": "^9.4.1", - "react-responsive": "^9.0.2", "react-router-dom": "^6.6.2", "react-scripts": "5.0.1", "react-tooltip": "^5.5.1", @@ -6338,11 +6337,6 @@ "webpack": "^5.0.0" } }, - "node_modules/css-mediaquery": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/css-mediaquery/-/css-mediaquery-0.1.2.tgz", - "integrity": "sha512-COtn4EROW5dBGlE/4PiKnh6rZpAPxDeFLaEEwt4i10jpDMFt2EhQGS79QmmrO+iKCHv0PU/HrOWEhijFd1x99Q==" - }, "node_modules/css-minimizer-webpack-plugin": { "version": "3.4.1", "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", @@ -9477,11 +9471,6 @@ "ms": "^2.0.0" } }, - "node_modules/hyphenate-style-name": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz", - "integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==" - }, "node_modules/iconv-lite": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", @@ -12502,14 +12491,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/matchmediaquery": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/matchmediaquery/-/matchmediaquery-0.3.1.tgz", - "integrity": "sha512-Hlk20WQHRIm9EE9luN1kjRjYXAQToHOIAHPJn9buxBwuhfTHoKUcX+lXBbxc85DVQfXYbEQ4HcwQdd128E3qHQ==", - "dependencies": { - "css-mediaquery": "^0.1.2" - } - }, "node_modules/mdn-data": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", @@ -15426,23 +15407,6 @@ "node": ">=0.10.0" } }, - "node_modules/react-responsive": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/react-responsive/-/react-responsive-9.0.2.tgz", - "integrity": "sha512-+4CCab7z8G8glgJoRjAwocsgsv6VA2w7JPxFWHRc7kvz8mec1/K5LutNC2MG28Mn8mu6+bu04XZxHv5gyfT7xQ==", - "dependencies": { - "hyphenate-style-name": "^1.0.0", - "matchmediaquery": "^0.3.0", - "prop-types": "^15.6.1", - "shallow-equal": "^1.2.1" - }, - "engines": { - "node": ">=0.10" - }, - "peerDependencies": { - "react": ">=16.8.0" - } - }, "node_modules/react-router": { "version": "6.6.2", "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.6.2.tgz", @@ -16556,11 +16520,6 @@ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" }, - "node_modules/shallow-equal": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/shallow-equal/-/shallow-equal-1.2.1.tgz", - "integrity": "sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==" - }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -23429,11 +23388,6 @@ "semver": "^7.3.8" } }, - "css-mediaquery": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/css-mediaquery/-/css-mediaquery-0.1.2.tgz", - "integrity": "sha512-COtn4EROW5dBGlE/4PiKnh6rZpAPxDeFLaEEwt4i10jpDMFt2EhQGS79QmmrO+iKCHv0PU/HrOWEhijFd1x99Q==" - }, "css-minimizer-webpack-plugin": { "version": "3.4.1", "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", @@ -25727,11 +25681,6 @@ "ms": "^2.0.0" } }, - "hyphenate-style-name": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz", - "integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==" - }, "iconv-lite": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", @@ -27923,14 +27872,6 @@ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==" }, - "matchmediaquery": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/matchmediaquery/-/matchmediaquery-0.3.1.tgz", - "integrity": "sha512-Hlk20WQHRIm9EE9luN1kjRjYXAQToHOIAHPJn9buxBwuhfTHoKUcX+lXBbxc85DVQfXYbEQ4HcwQdd128E3qHQ==", - "requires": { - "css-mediaquery": "^0.1.2" - } - }, "mdn-data": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", @@ -29868,17 +29809,6 @@ "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==" }, - "react-responsive": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/react-responsive/-/react-responsive-9.0.2.tgz", - "integrity": "sha512-+4CCab7z8G8glgJoRjAwocsgsv6VA2w7JPxFWHRc7kvz8mec1/K5LutNC2MG28Mn8mu6+bu04XZxHv5gyfT7xQ==", - "requires": { - "hyphenate-style-name": "^1.0.0", - "matchmediaquery": "^0.3.0", - "prop-types": "^15.6.1", - "shallow-equal": "^1.2.1" - } - }, "react-router": { "version": "6.6.2", "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.6.2.tgz", @@ -30693,11 +30623,6 @@ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" }, - "shallow-equal": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/shallow-equal/-/shallow-equal-1.2.1.tgz", - "integrity": "sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==" - }, "shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", diff --git a/package.json b/package.json index 713aff9..c931bd9 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,6 @@ "react-dom": "^18.2.0", "react-icons": "^4.7.1", "react-intersection-observer": "^9.4.1", - "react-responsive": "^9.0.2", "react-router-dom": "^6.6.2", "react-scripts": "5.0.1", "react-tooltip": "^5.5.1", diff --git a/public/index.html b/public/index.html index 1b2e282..4c49081 100644 --- a/public/index.html +++ b/public/index.html @@ -2,41 +2,11 @@ - - - - - - - - + Youtube - -
    - diff --git a/public/logo192.png b/public/logo192.png deleted file mode 100644 index fc44b0a3796c0e0a64c3d858ca038bd4570465d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5347 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 b{|{}U^kRn2wo}j7|0ATu<;8xA7zX}7|B6mN diff --git a/public/manifest.json b/public/manifest.json deleted file mode 100644 index 080d6c7..0000000 --- a/public/manifest.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "short_name": "React App", - "name": "Create React App Sample", - "icons": [ - { - "src": "favicon.ico", - "sizes": "64x64 32x32 24x24 16x16", - "type": "image/x-icon" - }, - { - "src": "logo192.png", - "type": "image/png", - "sizes": "192x192" - }, - { - "src": "logo512.png", - "type": "image/png", - "sizes": "512x512" - } - ], - "start_url": ".", - "display": "standalone", - "theme_color": "#000000", - "background_color": "#ffffff" -} diff --git a/src/.prettierrc.js b/src/.prettierrc.js deleted file mode 100644 index cd1da4a..0000000 --- a/src/.prettierrc.js +++ /dev/null @@ -1,10 +0,0 @@ -module.exports = { - semi: true, - printWidth: 120, - endOfLine: 'auto', - singleQuote: true, - useTabs: false, - tabWidth: 2, - trailingComma: 'all', - arrowParens: 'always', -}; diff --git a/src/App.css b/src/App.css deleted file mode 100644 index 93682d5..0000000 --- a/src/App.css +++ /dev/null @@ -1,48 +0,0 @@ -@import url('./reset.css'); -@import url('./global.css'); - -/* Outlet Layout */ -.outlet-layout-false, -.outlet-layout-true { - margin-top: 56px; - margin-left: 250px; -} - -@media (min-width: 1300px) { - .outlet-layout-true { - margin-left: 72px; - } -} - -@media (min-width: 792px) and (max-width: 1300px) { - .outlet-layout-false, - .outlet-layout-true { - margin-left: 72px; - } -} - -@media (max-width: 792px) { - .outlet-layout-false, - .outlet-layout-true { - margin-left: 0; - } -} - -/* Scroll */ - -::-webkit-scrollbar { - width: 9px; -} - -::-webkit-scrollbar-thumb { - border-radius: 5px; - background-color: #aaa; -} - -::-webkit-scrollbar-thumb:hover { - background-color: #717171; -} - -::-webkit-scrollbar-track { - background-color: #000; -} diff --git a/src/App.js b/src/App.js index 5dabcf5..d914a3a 100644 --- a/src/App.js +++ b/src/App.js @@ -1,29 +1,18 @@ -import './App.css'; +import './styles/App.css'; -import React, { useState } from 'react'; -import { Outlet, useLocation } from 'react-router-dom'; +import React from 'react'; +import { Outlet } from 'react-router-dom'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; - -// components -import Header from './components/Header/Header'; -import Sidebar from './components/Sidebar/Sidebar'; +import Layout from './components/Layout/Layout'; const queryClient = new QueryClient(); function App() { - // 페이지별 사이드바 - let location = useLocation(); - // 반응형 사이드바 - const [menuDrop, setMenuDrop] = useState(false); return ( <> -
    -
    - {location.pathname === '/watch/:videoId' ? null : } -
    - -
    -
    + + + ); diff --git a/src/App.test.js b/src/App.test.js deleted file mode 100644 index 1f03afe..0000000 --- a/src/App.test.js +++ /dev/null @@ -1,8 +0,0 @@ -import { render, screen } from '@testing-library/react'; -import App from './App'; - -test('renders learn react link', () => { - render(); - const linkElement = screen.getByText(/learn react/i); - expect(linkElement).toBeInTheDocument(); -}); diff --git a/src/api/FakeYoutubeApi.js b/src/api/FakeYoutubeApi.js index 530ae2f..9158000 100644 --- a/src/api/FakeYoutubeApi.js +++ b/src/api/FakeYoutubeApi.js @@ -25,9 +25,11 @@ export async function VideoComment() { export async function videoDataInfo() { return axios.get(`/data/hyewonTest.json`).then((res) => res.data.items[0]); } -// export async function relatedVideoList() { -// return axios.get(`/data/relatedVideoList.json`).then((res) => res.data.items); -// } + +export async function relatedVideo() { + return axios.get(`/data/relatedVideoList.json`).then((res) => res.data.items); +} + // export async function videoDetailInfo() { // return axios.get(`/data/videoInfo.json`).then((res) => res.data.items); // } diff --git a/src/components/Header/headerLeftLogomenu.jsx b/src/components/Header/headerLeftLogomenu.jsx deleted file mode 100644 index 89314a9..0000000 --- a/src/components/Header/headerLeftLogomenu.jsx +++ /dev/null @@ -1,6 +0,0 @@ -import React, { useState } from 'react'; -import styles from './Header.module.scss'; - -export default function HeaderLeftLogomenu({ setMenuDrop }) { - return; -} diff --git a/src/components/HoverButton/HoverButton.jsx b/src/components/HoverButton/HoverButton.jsx new file mode 100644 index 0000000..544ab51 --- /dev/null +++ b/src/components/HoverButton/HoverButton.jsx @@ -0,0 +1,37 @@ +import React, { useRef } from 'react'; +import styles from './HoverButton.module.scss'; +import { MdOutlineQueueMusic } from 'react-icons/md'; +import { BiTimeFive, BiListPlus } from 'react-icons/bi'; +import { RiShareForwardLine } from 'react-icons/ri'; +import { MdOutlineFlag } from 'react-icons/md'; +import useOnClickOutside from '../../hooks/useOnClickOutside'; + +export default function HoverButton({ setListOpen }) { + const ref = useRef(null); + useOnClickOutside(ref, () => setListOpen(false)); + + return ( +
      +
    • + +

      현재 재생목록에 추가

      +
    • +
    • + +

      나중에 볼 동영상에 저장

      +
    • +
    • + +

      재생목록에 저장

      +
    • +
    • + +

      공유

      +
    • +
    • + +

      신고

      +
    • +
    + ); +} diff --git a/src/components/HoverButton/HoverButton.module.scss b/src/components/HoverButton/HoverButton.module.scss new file mode 100644 index 0000000..6d709e2 --- /dev/null +++ b/src/components/HoverButton/HoverButton.module.scss @@ -0,0 +1,29 @@ +.list { + position: absolute; + top: 1.7rem; + right: 0; + display: flex; + flex-direction: column; + padding: 0.4rem 0; + background-color: var(--color-semi-dark-gray); + border-radius: 10px; + color: var(--color-white); + width: 15rem; + z-index: 999; + + .card { + display: flex; + align-items: center; + padding: 0.6rem 1rem; + gap: 1rem; + font-style: 0.9rem; + + .icon { + font-size: 1.5rem; + } + } + + .card:hover { + background-color: var(--color-light-gray); + } +} diff --git a/src/components/Header/Header.jsx b/src/components/Layout/Header/Header.jsx similarity index 65% rename from src/components/Header/Header.jsx rename to src/components/Layout/Header/Header.jsx index 88e237d..fcbd40b 100644 --- a/src/components/Header/Header.jsx +++ b/src/components/Layout/Header/Header.jsx @@ -1,47 +1,25 @@ import React, { useEffect, useState } from 'react'; -import { Link, useNavigate, useParams } from 'react-router-dom'; +import { useNavigate, useParams } from 'react-router-dom'; import styles from './Header.module.scss'; import { Tooltip } from 'react-tooltip'; import 'react-tooltip/dist/react-tooltip.css'; -import { useMediaQuery } from 'react-responsive'; +import useWindow from '../../../hooks/useWindow'; //Components +import HeaderMenu from './HeaderMenu'; import SidebarModal from '../Sidebar/SidebarModal'; // img and icons -import logo from './assets/logo.png'; -import { BsList, BsBell } from 'react-icons/bs'; +import { BsBell } from 'react-icons/bs'; import { RiVideoAddLine, RiMicFill } from 'react-icons/ri'; import { FaUserAlt } from 'react-icons/fa'; import { IoSearchOutline } from 'react-icons/io5'; -export default function Header({ setMenuDrop }) { +export default function Header({ setSidebar, findDetailPage }) { + // input 검색어 const { keyword } = useParams(); const [text, setText] = useState(''); const navigate = useNavigate(); - const [modal, setModal] = useState(false); - - // 리액트 반응형 - const Desktop = ({ children }) => { - const isDesktop = useMediaQuery({ minWidth: 1300 }); - return isDesktop ? children : null; - }; - const TabletAndMobile = ({ children }) => { - const isTablet = useMediaQuery({ maxWidth: 1299 }); - return isTablet ? children : null; - }; - - // 데스크탑 사이즈, 메뉴 버튼 클릭 - const menuBtnClick = (e) => { - setMenuDrop((e) => !e); - }; - - // 태블릿과 모바일 사이즈, 메뉴 버튼 클릭 - const printModal = (e) => { - setModal((e) => !e); - }; - - // input 검색어 const handleSumbit = (event) => { event.preventDefault(); navigate(`results/${text}`); @@ -49,22 +27,19 @@ export default function Header({ setMenuDrop }) { useEffect(() => setText(keyword || ''), [keyword]); + // 사이드바 + const resize = useWindow(); + const [modal, setModal] = useState(false); + return ( <>
    -
    - - - - - - {modal ? : null} - - - youtube logo - KR - -
    + +
    diff --git a/src/components/Header/Header.module.scss b/src/components/Layout/Header/Header.module.scss similarity index 87% rename from src/components/Header/Header.module.scss rename to src/components/Layout/Header/Header.module.scss index 386c7e7..4ed6056 100644 --- a/src/components/Header/Header.module.scss +++ b/src/components/Layout/Header/Header.module.scss @@ -4,7 +4,7 @@ button { header { position: fixed; - z-index: 1020; + z-index: 1000; display: flex; justify-content: space-between; align-items: center; @@ -14,37 +14,6 @@ header { padding-right: 16px; background-color: var(--color-black); - .headerLeftLogomenu { - z-index: 1030; - display: flex; - align-items: center; - width: 250px; - padding-left: 16px; - background-color: var(--color-black); - - .logo { - position: relative; - - &, - img { - width: 120px; - height: 56px; - } - - img { - padding: 18px 14px 18px 16px; - } - sup { - position: absolute; - top: 20%; - right: 1px; - - color: var(--color-light-gray); - font-size: 10px; - } - } - } - .headerIcon { display: block; width: 40px; @@ -214,3 +183,33 @@ header { } } } + +.headerMenu { + display: flex; + align-items: center; + width: 250px; + padding-left: 16px; + background-color: var(--color-black); + + .logo { + position: relative; + + &, + img { + width: 120px; + height: 56px; + } + + img { + padding: 18px 14px 18px 16px; + } + sup { + position: absolute; + top: 20%; + right: 1px; + + color: var(--color-light-gray); + font-size: 10px; + } + } +} diff --git a/src/components/Layout/Header/HeaderMenu.jsx b/src/components/Layout/Header/HeaderMenu.jsx new file mode 100644 index 0000000..c36ef72 --- /dev/null +++ b/src/components/Layout/Header/HeaderMenu.jsx @@ -0,0 +1,37 @@ +import React from 'react'; +import { Link } from 'react-router-dom'; +import styles from './Header.module.scss'; + +import logo from './assets/logo.png'; +import { BsList } from 'react-icons/bs'; + +export default function HeaderMenu({ setModal, setSidebar, menuBtn }) { + const btnClick = () => { + switch (menuBtn) { + case 'openModal': + // 태블릿과 모바일 사이즈, 메뉴 버튼으로 모달 사이드바 열기 + (function openModal(e) { + setModal((e) => !e); + })(); + break; + case 'openSidebar': + // 데스크탑 사이즈, 메뉴 버튼 클릭 + (function openSidebar(e) { + setSidebar((e) => !e); + })(); + break; + default: + break; + } + }; + + return ( +
    + + + youtube logo + KR + +
    + ); +} diff --git a/src/components/Header/assets/formFocusIcon.svg b/src/components/Layout/Header/assets/formFocusIcon.svg similarity index 100% rename from src/components/Header/assets/formFocusIcon.svg rename to src/components/Layout/Header/assets/formFocusIcon.svg diff --git a/src/components/Header/assets/logo.png b/src/components/Layout/Header/assets/logo.png similarity index 100% rename from src/components/Header/assets/logo.png rename to src/components/Layout/Header/assets/logo.png diff --git a/src/components/Layout/Layout.jsx b/src/components/Layout/Layout.jsx new file mode 100644 index 0000000..d35f9b8 --- /dev/null +++ b/src/components/Layout/Layout.jsx @@ -0,0 +1,25 @@ +import React, { useState } from 'react'; +import { useLocation } from 'react-router-dom'; +import styles from './Layout.module.scss'; +import Header from './Header/Header'; +import Sidebar from './Sidebar/Sidebar'; + +export default function Layout({ children }) { + const [sidebar, setSidebar] = useState(false); + + // 현재 영상 디테일 페이지인지? + const location = useLocation(); + const findDetailPage = location.pathname.slice(0, 6) === '/watch'; + + return ( + <> +
    +
    +
    + +
    +
    {children}
    +
    + + ); +} diff --git a/src/components/Layout/Layout.module.scss b/src/components/Layout/Layout.module.scss new file mode 100644 index 0000000..3680fd3 --- /dev/null +++ b/src/components/Layout/Layout.module.scss @@ -0,0 +1,47 @@ +// 레이아웃 +.layout { + display: flex; + padding-top: 56px; + + .outlet { + display: flex; + justify-content: center; + width: 100%; + background-color: var(--color-black); + } +} + +// 메뉴 버튼 상태에 따른, outlet 영역 크기 변경 +.btnFalse { + margin-left: 250px; +} + +.btnTrue { + margin-left: 72px; +} + +@media (min-width: 792px) and (max-width: 1300px) { + .btnFalse, + .btnTrue { + margin-left: 72px; + } +} + +@media (max-width: 792px) { + .btnFalse, + .btnTrue { + margin-left: 0; + } +} + +// 디테일 페이지일 때, outlet 영역 margin 조절과 사이드바 제거 +.detailPage { + .btnFalse, + .btnTrue { + margin-left: 0; + } + + .sidebarNone { + display: none; + } +} diff --git a/src/components/Layout/Sidebar/Sidebar.jsx b/src/components/Layout/Sidebar/Sidebar.jsx new file mode 100644 index 0000000..d43b3c9 --- /dev/null +++ b/src/components/Layout/Sidebar/Sidebar.jsx @@ -0,0 +1,11 @@ +import React from 'react'; +import useWindow from '../../../hooks/useWindow'; +import SidebarLarge from './SidebarLarge'; +import SidebarSmall from './SidebarSmall'; + +export default function Sidebar({ sidebar }) { + const resize = useWindow(); + return ( + <>{resize >= 1300 ? sidebar ? : : resize >= 792 ? : null} + ); +} diff --git a/src/components/Sidebar/Sidebar.module.scss b/src/components/Layout/Sidebar/Sidebar.module.scss similarity index 76% rename from src/components/Sidebar/Sidebar.module.scss rename to src/components/Layout/Sidebar/Sidebar.module.scss index 2286760..ed0b81c 100644 --- a/src/components/Sidebar/Sidebar.module.scss +++ b/src/components/Layout/Sidebar/Sidebar.module.scss @@ -7,41 +7,48 @@ input { .smallNav, .largeNav { position: fixed; - z-index: 1010; top: 56px; padding: 0 4px; - height: 100%; background-color: var(--color-black); + + ol { + margin: 0 auto; + + button { + display: flex; + align-items: center; + + border-radius: 10px; + color: var(--color-white); + cursor: pointer; + + &:hover { + background-color: var(--color-dark-gray); + } + } + } } .smallNav { width: 72px; + height: 100%; - ul { - margin: 0 auto; - + ol { button { - display: flex; flex-direction: column; - align-items: center; - margin: 0 auto; - padding: 16px 0 14px; width: 64px; height: 72px; - border-radius: 10px; + margin: 0 auto; + padding: 16px 0 14px; font-size: 10px; - color: var(--color-white); text-align: center; - cursor: pointer; - .sidebarIcon { - margin-bottom: 6px; - } - &:hover { - background-color: var(--color-dark-gray); + .icon { + font-size: 24px; + margin-bottom: 6px; } } } @@ -49,37 +56,37 @@ input { .largeNav { width: 250px; - overflow: auto; + height: calc(100vh - 56px); + overflow-y: auto; - ul { - margin: 0 auto; + ol { padding: 12px; button { - display: flex; justify-content: flex-start; - align-items: center; gap: 24px; width: 204px; height: 40px; padding: 0 12px; - border-radius: 10px; - color: var(--color-white); font-size: 14px; - cursor: pointer; - &:hover { - background-color: var(--color-dark-gray); + .icon { + font-size: 22px; + } + + .img img { + width: 24px; + height: 24px; } } - .homeBtn { + .homeIcon { background-color: var(--color-dark-gray); } - .sidebarUlTitle { + .olTitle { display: block; padding: 6px 12px 8px; font-size: 16px; @@ -87,23 +94,14 @@ input { } } - ul + ul { + ol + ol { border-top: 1px solid var(--color-dark-gray); } - .sidebarViewmore { - img { - width: 24px; - height: 24px; - } - } - - .navAnchor { + .navLink { padding: 16px 24px 0; border-top: 1px solid var(--color-dark-gray); - div + div { - padding-top: 12px; - } + a { margin-right: 8px; color: var(--color-light-gray); @@ -114,7 +112,7 @@ input { } footer { - padding: 16px 24px 80px; + padding: 16px 24px; color: #717171; font-size: 12px; line-height: 1.5; @@ -123,16 +121,31 @@ input { color: #3ea6ff; } } + + &::-webkit-scrollbar-thumb { + border-radius: 5px; + background-color: var(--color-black); + } + + &:hover::-webkit-scrollbar-thumb { + background-color: #717171; + } } .modalNav { position: fixed; top: 0; left: 0; - z-index: 1020; - box-shadow: rgba(0, 0, 0, 0.5) 0 0 0 9999px; + z-index: 1010; color: var(--color-white); cursor: pointer; + transform: translateX(-100%); + transition: all 0.3s ease-in-out; + + &.open { + transform: translateX(0); + box-shadow: rgba(0, 0, 0, 0.5) 0 0 0 9999px; + } .modalLogo { display: flex; diff --git a/src/components/Layout/Sidebar/SidebarLarge.jsx b/src/components/Layout/Sidebar/SidebarLarge.jsx new file mode 100644 index 0000000..6b9fd20 --- /dev/null +++ b/src/components/Layout/Sidebar/SidebarLarge.jsx @@ -0,0 +1,135 @@ +import React from 'react'; +import styles from './Sidebar.module.scss'; + +// icons +import { RiHome5Fill } from 'react-icons/ri'; +import { BsCollectionPlay, BsLightbulb, BsFlag, BsInfoSquare } from 'react-icons/bs'; +import { + MdOutlineRestore, + MdOutlineQueryBuilder, + MdOutlineVideoLibrary, + MdKeyboardArrowDown, + MdOutlineRecordVoiceOver, +} from 'react-icons/md'; +import { AiOutlinePlaySquare, AiOutlineSetting } from 'react-icons/ai'; +import { HiOutlineFire } from 'react-icons/hi2'; +import { IoMusicalNoteOutline, IoGameControllerOutline, IoHelpCircleOutline } from 'react-icons/io5'; +import { BiMovie } from 'react-icons/bi'; +import { CiTrophy } from 'react-icons/ci'; +import youtube from './assets/youtube.png'; +import youtube_kids from './assets/youtube_kids.png'; +import youtube_music from './assets/youtube_music.svg'; +import youtube_tv from './assets/youtube_tv.png'; + +const iconList = { + list1: [ + { icon: , title: '홈' }, + { icon: , title: '구독' }, + { icon: , title: '보관함' }, + ], + list2: [ + { icon: , title: '시청기록' }, + { icon: , title: '내 동영상' }, + { icon: , title: '나중에 볼 동영상' }, + { icon: , title: '더보기' }, + ], + list3: [ + { icon: , title: '인기 급상승' }, + { icon: , title: '음악' }, + { icon: , title: '영화' }, + { icon: , title: '실시간' }, + { icon: , title: '게임' }, + { icon: , title: '스포츠' }, + { icon: , title: '학습' }, + ], + list4: [ + { icon: , title: 'YouTube Premium' }, + { icon: , title: 'YouTube Music' }, + { icon: , title: 'YouTube Kids' }, + { icon: , title: 'YouTube TV' }, + ], + list5: [ + { icon: , title: '설정' }, + { icon: , title: '신고 기록' }, + { icon: , title: '고객센터' }, + { icon: , title: '의견 보내기' }, + ], +}; + +const linkList = [ + { title: '정보' }, + { title: '보도자료' }, + { title: '저작권' }, + { title: '문의하기' }, + { title: '크리에이터' }, + { title: '광고 개발자' }, + { title: '약관' }, + { title: '개인정보처리방침' }, + { title: '정책 및 안전' }, + { title: 'YouTube 작동의 원리' }, + { title: '새로운 기능 테스트하기' }, +]; + +export default function SidebarLarge() { + return ( + + ); +} diff --git a/src/components/Layout/Sidebar/SidebarModal.jsx b/src/components/Layout/Sidebar/SidebarModal.jsx new file mode 100644 index 0000000..daa35fe --- /dev/null +++ b/src/components/Layout/Sidebar/SidebarModal.jsx @@ -0,0 +1,19 @@ +import React, { useRef } from 'react'; +import styles from './Sidebar.module.scss'; +import useOnClickOutside from '../../../hooks/useOnClickOutside'; + +// Components +import SidebarLarge from './SidebarLarge'; +import HeaderMenu from '../Header/HeaderMenu'; + +export default function SidebarModal({ modal, setModal }) { + const modalRef = useRef(null); + useOnClickOutside(modalRef, () => setModal(false)); + + return ( + + ); +} diff --git a/src/components/Layout/Sidebar/SidebarSmall.jsx b/src/components/Layout/Sidebar/SidebarSmall.jsx new file mode 100644 index 0000000..340069d --- /dev/null +++ b/src/components/Layout/Sidebar/SidebarSmall.jsx @@ -0,0 +1,29 @@ +import React from 'react'; +import styles from './Sidebar.module.scss'; + +// icons +import { RiHome5Fill } from 'react-icons/ri'; +import { BsCollectionPlay } from 'react-icons/bs'; +import { MdOutlineRestore, MdOutlineVideoLibrary } from 'react-icons/md'; + +const iconList = [ + { icon: , title: '홈' }, + { icon: , title: '구독' }, + { icon: , title: '보관함' }, + { icon: , title: '시청기록' }, +]; + +export default function SidebarSmall() { + return ( + + ); +} diff --git a/src/components/Sidebar/assets/youtube.png b/src/components/Layout/Sidebar/assets/youtube.png similarity index 100% rename from src/components/Sidebar/assets/youtube.png rename to src/components/Layout/Sidebar/assets/youtube.png diff --git a/src/components/Sidebar/assets/youtube_kids.png b/src/components/Layout/Sidebar/assets/youtube_kids.png similarity index 100% rename from src/components/Sidebar/assets/youtube_kids.png rename to src/components/Layout/Sidebar/assets/youtube_kids.png diff --git a/src/components/Sidebar/assets/youtube_music.svg b/src/components/Layout/Sidebar/assets/youtube_music.svg similarity index 100% rename from src/components/Sidebar/assets/youtube_music.svg rename to src/components/Layout/Sidebar/assets/youtube_music.svg diff --git a/src/components/Sidebar/assets/youtube_tv.png b/src/components/Layout/Sidebar/assets/youtube_tv.png similarity index 100% rename from src/components/Sidebar/assets/youtube_tv.png rename to src/components/Layout/Sidebar/assets/youtube_tv.png diff --git a/src/components/PlayVideo/PlayVideo.jsx b/src/components/PlayVideo/PlayVideo.jsx new file mode 100644 index 0000000..875cafd --- /dev/null +++ b/src/components/PlayVideo/PlayVideo.jsx @@ -0,0 +1,17 @@ +import React from 'react'; +import styles from './PlayVideo.module.scss'; + +export default function PlayVideo({ id, videoHover }) { + return ( +
    + +
    + ); +} diff --git a/src/components/PlayVideo/PlayVideo.module.scss b/src/components/PlayVideo/PlayVideo.module.scss new file mode 100644 index 0000000..b5f0e22 --- /dev/null +++ b/src/components/PlayVideo/PlayVideo.module.scss @@ -0,0 +1,6 @@ +.playVideo { + position: absolute; + border-radius: 9px; + overflow: hidden; + z-index: 5; +} diff --git a/src/components/RelatedVideoInVideoDetail/RelatedVideoInVideoDetail.jsx b/src/components/RelatedVideoInVideoDetail/RelatedVideoInVideoDetail.jsx index 0520530..cacb452 100644 --- a/src/components/RelatedVideoInVideoDetail/RelatedVideoInVideoDetail.jsx +++ b/src/components/RelatedVideoInVideoDetail/RelatedVideoInVideoDetail.jsx @@ -4,6 +4,9 @@ import VideoInfo from './videoInfo.json'; import styles from './RelatedVideoInVideoDetail.module.scss'; import { format, register } from 'timeago.js'; import koLocale from 'timeago.js/lib/lang/ko'; +import { useQuery } from '@tanstack/react-query'; +import { relatedVideo } from '../../api/FakeYoutubeApi'; +import VideoCard from '../VideoCard/VideoCard'; register('ko', koLocale); const formatDuration = (duration) => { @@ -18,38 +21,53 @@ const formatDuration = (duration) => { } return output; }; -const RelatedVideoInVideoDetail = () => { + +const RelatedVideoInVideoDetail = ({ id }) => { + const { isLoading, data: videos } = useQuery(['related', id], () => relatedVideo(id), { staleTime: 1000 * 60 * 5 }); + + if (isLoading) return; + return ( - + <> + {videos.map((video) => ( + + ))} + ); }; export default RelatedVideoInVideoDetail; + +// const RelatedVideoInVideoDetail = () => { +// return ( +// +// ); +// }; diff --git a/src/components/Sidebar/Sidebar.jsx b/src/components/Sidebar/Sidebar.jsx deleted file mode 100644 index 70f3718..0000000 --- a/src/components/Sidebar/Sidebar.jsx +++ /dev/null @@ -1,32 +0,0 @@ -import React from 'react'; -import { useMediaQuery } from 'react-responsive'; - -// Components -import SidebarLarge from './SidebarLarge'; -import SidebarSmall from './SidebarSmall'; - -export default function Sidebar({ menuDrop }) { - // 리액트 반응형 - const Desktop = ({ children }) => { - const isDesktop = useMediaQuery({ minWidth: 1300 }); - return isDesktop ? children : null; - }; - const Tablet = ({ children }) => { - const isTablet = useMediaQuery({ minWidth: 792, maxWidth: 1299 }); - return isTablet ? children : null; - }; - const Mobile = ({ children }) => { - const isMobile = useMediaQuery({ maxWidth: 791 }); - return isMobile ? children : null; - }; - - return ( - <> - {menuDrop ? : } - - - - - - ); -} diff --git a/src/components/Sidebar/SidebarLarge.jsx b/src/components/Sidebar/SidebarLarge.jsx deleted file mode 100644 index d6bee54..0000000 --- a/src/components/Sidebar/SidebarLarge.jsx +++ /dev/null @@ -1,151 +0,0 @@ -import React from 'react'; -import styles from './Sidebar.module.scss'; - -// icons -import { RiHome5Fill } from 'react-icons/ri'; -import { BsCollectionPlay, BsLightbulb, BsFlag, BsInfoSquare } from 'react-icons/bs'; -import { - MdOutlineRestore, - MdOutlineQueryBuilder, - MdOutlineVideoLibrary, - MdKeyboardArrowDown, - MdOutlineRecordVoiceOver, -} from 'react-icons/md'; -import { AiOutlinePlaySquare, AiOutlineSetting } from 'react-icons/ai'; -import { HiOutlineFire } from 'react-icons/hi2'; -import { IoMusicalNoteOutline, IoGameControllerOutline, IoHelpCircleOutline } from 'react-icons/io5'; -import { BiMovie } from 'react-icons/bi'; -import { CiTrophy } from 'react-icons/ci'; -import youtube from './assets/youtube.png'; -import youtube_kids from './assets/youtube_kids.png'; -import youtube_music from './assets/youtube_music.svg'; -import youtube_tv from './assets/youtube_tv.png'; - -export default function SidebarLarge() { - return ( - - ); -} diff --git a/src/components/Sidebar/SidebarModal.jsx b/src/components/Sidebar/SidebarModal.jsx deleted file mode 100644 index 3822f97..0000000 --- a/src/components/Sidebar/SidebarModal.jsx +++ /dev/null @@ -1,49 +0,0 @@ -import React, { useEffect, useRef } from 'react'; -import styles from './Sidebar.module.scss'; -import { Link } from 'react-router-dom'; -import SidebarLarge from './SidebarLarge'; -import logo from '../Header/assets/logo.png'; -import { BsList } from 'react-icons/bs'; - -export default function SidebarModal({ setModal }) { - const modalRef = useRef(null); - - useEffect(() => { - // 이벤트 핸들러 함수 - const clickDocument = (e) => { - // mousedown 이벤트가 발생한 영역이 모달창이 아닐 때, 모달창 제거 처리 - if (modalRef.current && !modalRef.current.contains(e.target)) { - setModal(false); - } - }; - - // 이벤트 핸들러 등록 - document.addEventListener('mousedown', clickDocument); - document.addEventListener('touchstart', clickDocument); // 모바일 대응 - - return () => { - // 이벤트 핸들러 해제 - document.removeEventListener('mousedown', clickDocument); - document.removeEventListener('touchstart', clickDocument); // 모바일 대응 - }; - }); - - const clickMenuBtn = () => { - setModal(false); - }; - - return ( -
    - -
    - ); -} diff --git a/src/components/Sidebar/SidebarSmall.jsx b/src/components/Sidebar/SidebarSmall.jsx deleted file mode 100644 index 6ac8601..0000000 --- a/src/components/Sidebar/SidebarSmall.jsx +++ /dev/null @@ -1,28 +0,0 @@ -import React from 'react'; -import styles from './Sidebar.module.scss'; - -// icons -import { RiHome5Fill } from 'react-icons/ri'; -import { BsCollectionPlay } from 'react-icons/bs'; -import { MdOutlineRestore, MdOutlineVideoLibrary } from 'react-icons/md'; - -export default function SidebarSmall() { - return ( - - ); -} diff --git a/src/components/VideoCard/VideoCard.jsx b/src/components/VideoCard/VideoCard.jsx index aaa21c8..919db47 100644 --- a/src/components/VideoCard/VideoCard.jsx +++ b/src/components/VideoCard/VideoCard.jsx @@ -1,32 +1,62 @@ -import React from 'react'; +import React, { useState } from 'react'; import { useNavigate } from 'react-router-dom'; import ChannelInfo from '../ChannelInfo/ChannelInfo'; -// import VideoPlay from '../VideoPlay/VideoPlay'; import VideoStatistics from '../VideoStatistics/VideoStatistics'; import styles from './VideoCard.module.scss'; +import VideoThumbnail from '../VideoThumbnail/VideoThumbnail'; +import PlayVideo from '../PlayVideo/PlayVideo'; +import HoverButton from '../HoverButton/HoverButton'; +import { RxDotsVertical } from 'react-icons/rx'; -export default function VideoCard({ video }) { +export default function VideoCard({ video, type }) { const { title, thumbnails, channelTitle, publishedAt, description, channelId } = video.snippet; + const [videoHover, setVideoHover] = useState(false); + const [playVideo, setPlayVideo] = useState(false); + const [listOpen, setListOpen] = useState(false); + const { videoId } = video.id; + const navigate = useNavigate(); + const isList = type === 'list'; + + let timer; + + const handleMouseHover = async () => { + setVideoHover(true); + timer = await setTimeout(() => { + setPlayVideo(true); + }, 100); + }; + + const handleMouseOut = async () => { + setVideoHover(false); + clearTimeout(timer); + setPlayVideo(false); + }; + + const goToDetailPage = (event) => { + if (event.target.dataset.name !== 'button' && event.target.dataset.name !== 'icon') + navigate(`/watch/${video.id.videoId}`, { state: { video: video } }); + }; + return ( -
  • { - // 클릭 시, 해당 동영상으로 이동 및 video 정보 state로 전달 - // state로 video 정보를 전달할 경우, - // 클릭했을때만 정보가 전달 되고 수기로 주소를 직접 작성할 땐 데이터가 전달이 되지 않으니 주의할 것! - navigate(`/watch/${video.id.videoId}`, { state: { video: video } }); - }} - > - {/* */} - {title} +
  • + + {videoHover && }
    -

    {title}

    +
    +

    {title}

    + {videoHover && ( + + )} + {listOpen ? : null} +
    -

    {description}

    + {isList ? null :

    {description}

    }
  • ); diff --git a/src/components/VideoCard/VideoCard.module.scss b/src/components/VideoCard/VideoCard.module.scss index f52f335..c5f1f64 100644 --- a/src/components/VideoCard/VideoCard.module.scss +++ b/src/components/VideoCard/VideoCard.module.scss @@ -1,8 +1,10 @@ .video { display: flex; + position: relative; margin-bottom: 1rem; gap: 1.5rem; color: var(--color-white); + overflow-x: hidden; .video_img { border-radius: 10px; @@ -11,8 +13,26 @@ .video_info { margin-top: 0.4rem; - .title { - margin-bottom: 0.4rem; + .video_info_setting { + display: flex; + + .title { + flex-basis: 90%; + margin-bottom: 0.4rem; + } + + .hoverBtn { + position: absolute; + right: -1rem; + top: -0.5rem; + padding: 0.5rem; + border-radius: 50%; + + .icon { + font-size: 1.2rem; + color: var(--color-white); + } + } } .time, @@ -20,6 +40,8 @@ color: var(--color-light-gray); font-size: 0.9rem; margin-bottom: 1.1rem; + overflow: hidden; + text-overflow: ellipsis; } } } diff --git a/src/components/VideoPlay/VideoPlay.jsx b/src/components/VideoThumbnail/VideoThumbnail.jsx similarity index 57% rename from src/components/VideoPlay/VideoPlay.jsx rename to src/components/VideoThumbnail/VideoThumbnail.jsx index 483f2a6..c23bb4e 100644 --- a/src/components/VideoPlay/VideoPlay.jsx +++ b/src/components/VideoThumbnail/VideoThumbnail.jsx @@ -1,18 +1,18 @@ import { useQuery } from '@tanstack/react-query'; -import React from 'react'; import { contentDetails } from '../../api/FakeYoutubeApi'; import { videoTime } from '../../util/videoTime'; +import styles from './VideoThumbnail.module.scss'; -export default function VideoPlay({ id, url, title }) { +export default function VideoThumbnail({ id, url, title }) { const { isLoading, data: contentInfo } = useQuery(['videos', id], () => contentDetails(id), { enabled: !!id }); + if (isLoading) return; const { duration } = contentInfo; - // console.log('contentInfo::::', contentInfo); return ( -
    - {/* {title} */} -

    {videoTime(duration)}

    +
    + {title} +

    {videoTime(duration)}

    ); } diff --git a/src/components/VideoThumbnail/VideoThumbnail.module.scss b/src/components/VideoThumbnail/VideoThumbnail.module.scss new file mode 100644 index 0000000..d141802 --- /dev/null +++ b/src/components/VideoThumbnail/VideoThumbnail.module.scss @@ -0,0 +1,18 @@ +.thumbnail { + display: flex; + position: relative; + + .img { + border-radius: 10px; + } + + .duration { + position: absolute; + right: 0.3rem; + bottom: 0.3rem; + font-size: 0.8rem; + background-color: var(--color-black); + padding: 0.2rem; + border-radius: 5px; + } +} diff --git a/src/components/mainPage/HoverVideo.jsx b/src/components/mainPage/HoverVideo.jsx index 44e1fca..21348b8 100644 --- a/src/components/mainPage/HoverVideo.jsx +++ b/src/components/mainPage/HoverVideo.jsx @@ -11,25 +11,11 @@ import ChannelInfo from '../ChannelInfo/ChannelInfo'; const HoverVideo = ({ profileData, videoCard, videoHover, setVideoHover, setPlayVideo }) => { const [listOpen, setListOpen] = useState(false); + const { channelId, publishedAt } = videoCard.snippet; const navigate = useNavigate(); - const view = (viewCount) => { - if (viewCount < 1000) { - return viewCount + '회'; - } - if (viewCount >= 1000 && viewCount < 10000) { - return (viewCount / 10000).toFixed(1) + '천회'; - } - if (viewCount >= 10000 && viewCount < 100000) { - return (viewCount / 10000).toFixed(1) + '만회'; - } - if (viewCount >= 100000) { - return (viewCount / 10000).toFixed() + '만회'; - } - }; - register('ko', koLocale); const mouseOn = () => { diff --git a/src/components/mainPage/VideoPlayer.jsx b/src/components/mainPage/VideoPlayer.jsx index 6f43a07..91e4f86 100644 --- a/src/components/mainPage/VideoPlayer.jsx +++ b/src/components/mainPage/VideoPlayer.jsx @@ -5,9 +5,8 @@ import styles from './VideoPlayer.module.scss'; import { videoTime } from '../../util/videoTime'; const VideoPlayer = ({ videoCard, profileData }) => { - // console.log('videoCard:', videoCard); - // console.log('profileData:',profileData); + // console.log('profileData:', profileData); const [videoHover, setVideoHover] = useState(false); const [playVideo, setPlayVideo] = useState(false); diff --git a/src/hooks/useOnClickOutside.js b/src/hooks/useOnClickOutside.js new file mode 100644 index 0000000..7fea75f --- /dev/null +++ b/src/hooks/useOnClickOutside.js @@ -0,0 +1,18 @@ +import { useEffect } from 'react'; + +export default function useOnClickOutside(ref, handler) { + useEffect(() => { + const listener = (event) => { + if (ref.current.contains(event.target)) { + return; + } + handler(event); + }; + document.addEventListener('mousedown', listener); + document.addEventListener('touchstart', listener); // 모바일 대응 + return () => { + document.removeEventListener('mousedown', listener); + document.removeEventListener('touchstart', listener); // 모바일 대응 + }; + }, [ref, handler]); +} diff --git a/src/hooks/useWindow.js b/src/hooks/useWindow.js new file mode 100644 index 0000000..4738cba --- /dev/null +++ b/src/hooks/useWindow.js @@ -0,0 +1,14 @@ +import { useEffect, useState } from 'react'; + +export default function useWindow() { + const [resize, setResize] = useState(window.innerWidth); + useEffect(() => { + const listener = () => { + setResize(window.innerWidth); + }; + + window.addEventListener('resize', listener); + return () => window.removeEventListener('resize', listener); + }, [resize]); + return resize; +} diff --git a/src/index.js b/src/index.js index 4942d0e..5ec2006 100644 --- a/src/index.js +++ b/src/index.js @@ -1,14 +1,7 @@ import React from 'react'; import ReactDOM from 'react-dom/client'; -import reportWebVitals from './reportWebVitals'; import { RouterProvider } from 'react-router-dom'; -import './App.css'; import router from './Router'; const root = ReactDOM.createRoot(document.getElementById('root')); root.render(); - -// If you want to start measuring performance in your app, pass a function -// to log results (for example: reportWebVitals(console.log)) -// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals -reportWebVitals(); diff --git a/src/pages/VideoDetail/VideoDetail.jsx b/src/pages/VideoDetail/VideoDetail.jsx index c39d3f8..740ba8b 100644 --- a/src/pages/VideoDetail/VideoDetail.jsx +++ b/src/pages/VideoDetail/VideoDetail.jsx @@ -14,13 +14,13 @@ const VideoDetail = () => { const { title, channelTitle, description, publishedAt } = video.snippet; return (
    -
    +
    -
    - +
    +
    ); diff --git a/src/pages/VideoDetail/VideoDetail.module.scss b/src/pages/VideoDetail/VideoDetail.module.scss index 4566e44..598288b 100644 --- a/src/pages/VideoDetail/VideoDetail.module.scss +++ b/src/pages/VideoDetail/VideoDetail.module.scss @@ -1,11 +1,15 @@ .detailPage { display: flex; background-color: var(--color-black); + // overflow-x: hidden; + .column1 { - width: 80%; + width: 70%; + margin: 0 2rem; } .column2 { - // margin-left: 20px; - width: 20%; + width: 30%; + margin-top: 1rem; + margin-right: 2rem; } } diff --git a/src/reportWebVitals.js b/src/reportWebVitals.js deleted file mode 100644 index 5253d3a..0000000 --- a/src/reportWebVitals.js +++ /dev/null @@ -1,13 +0,0 @@ -const reportWebVitals = onPerfEntry => { - if (onPerfEntry && onPerfEntry instanceof Function) { - import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => { - getCLS(onPerfEntry); - getFID(onPerfEntry); - getFCP(onPerfEntry); - getLCP(onPerfEntry); - getTTFB(onPerfEntry); - }); - } -}; - -export default reportWebVitals; diff --git a/src/setupTests.js b/src/setupTests.js deleted file mode 100644 index 8f2609b..0000000 --- a/src/setupTests.js +++ /dev/null @@ -1,5 +0,0 @@ -// jest-dom adds custom jest matchers for asserting on DOM nodes. -// allows you to do things like: -// expect(element).toHaveTextContent(/react/i) -// learn more: https://github.com/testing-library/jest-dom -import '@testing-library/jest-dom'; diff --git a/src/styles/App.css b/src/styles/App.css new file mode 100644 index 0000000..7f0f473 --- /dev/null +++ b/src/styles/App.css @@ -0,0 +1,21 @@ +@import url('./reset.css'); +@import url('./global.css'); + +/* Scroll */ + +::-webkit-scrollbar { + width: 9px; +} + +::-webkit-scrollbar-thumb { + border-radius: 5px; + background-color: #aaa; +} + +::-webkit-scrollbar-thumb:hover { + background-color: #717171; +} + +::-webkit-scrollbar-track { + background-color: var(--color-black); +} diff --git a/src/global.css b/src/styles/global.css similarity index 100% rename from src/global.css rename to src/styles/global.css diff --git a/src/reset.css b/src/styles/reset.css similarity index 100% rename from src/reset.css rename to src/styles/reset.css