From 8367e6115a769cb9666f4202bea21453f542f4e9 Mon Sep 17 00:00:00 2001 From: "solis.sergioariel@gmail.com" <42455008+SergioAriel@users.noreply.github.com> Date: Mon, 12 Jun 2023 13:07:39 -0300 Subject: [PATCH 01/18] rebase --- ui/components/Editor/index.tsx | 152 ++++---- ui/components/Layout/index.tsx | 274 ++++++++++++++ ui/components/NewItem/index.tsx | 13 +- ui/components/card/index.tsx | 23 +- .../section/EditInstruction/Tabs/tabs.tsx | 337 ++++++++++++++++++ .../EditInstruction/Tabs/verifyType.ts | 71 ++++ .../section/EditInstruction/index.tsx | 80 +++++ ui/components/section/index.tsx | 123 ++++--- ui/const/index.ts | 18 + ui/context/IDL/index.tsx | 36 ++ ui/helpers/cleanProject.ts | 26 +- ui/helpers/openIDLFile.ts | 124 ++++--- ui/package-lock.json | 162 ++++----- ui/package.json | 2 + ui/pages/_app.tsx | 7 +- ui/pages/index.tsx | 60 ++-- ui/tailwind.config.js | 14 +- 17 files changed, 1194 insertions(+), 328 deletions(-) create mode 100644 ui/components/Layout/index.tsx create mode 100644 ui/components/section/EditInstruction/Tabs/tabs.tsx create mode 100644 ui/components/section/EditInstruction/Tabs/verifyType.ts create mode 100644 ui/components/section/EditInstruction/index.tsx create mode 100644 ui/const/index.ts create mode 100644 ui/context/IDL/index.tsx diff --git a/ui/components/Editor/index.tsx b/ui/components/Editor/index.tsx index e3570c6..f6bb587 100644 --- a/ui/components/Editor/index.tsx +++ b/ui/components/Editor/index.tsx @@ -1,68 +1,90 @@ -import { FC } from "react"; +import { FC, useState } from "react"; import { Section } from "@/components/section"; +import { useIDL } from "@/context/IDL"; export const Editor: FC = ({ - name, - setName, - instructions, - setInstructions, - accounts, - setAccounts, - types, - setTypes, - events, - setEvents, - errors, - setErrors, -}) => ( - <> - setName(e.target.value)} - className="p-5 mb-5 m-5 bg-black text-white text-center text-base font-mono rounded-md ring-2 ring-neutral-700" - /> - { - [ - { - name: "Instructions", - item: instructions, - setItem: setInstructions, - initExpanded: true, - }, - { - name: "Accounts", - item: accounts, - setItem: setAccounts, - initExpanded: false, - }, - { - name: "Types", - item: types, - setItem: setTypes, - initExpanded: false, - }, - { - name: "Events", - item: events, - setItem: setEvents, - initExpanded: false, - }, - { - name: "Errors", - item: errors, - setItem: setErrors, - initExpanded: false, - }, - ].map(({ item, setItem, name, initExpanded }) => ( -
- )) - } - -); + // name, + // setName, + // instructions, + // setInstructions, + // accounts, + // setAccounts, + // types, + // setTypes, + // events, + // setEvents, + // errors, + // setErrors, +}) => { + + const [select, setSelect] = useState("instructions") + const { IDL, setIDL } = useIDL() + // const options = [ + // { + // name: "Instructions", + // item: instructions, + // setItem: setInstructions, + // initExpanded: false, + // }, + // { + // name: "Accounts", + // item: accounts, + // setItem: setAccounts, + // initExpanded: false, + // }, + // { + // name: "Types", + // item: types, + // setItem: setTypes, + // initExpanded: false, + // }, + // { + // name: "Events", + // item: events, + // setItem: setEvents, + // initExpanded: false, + // }, + // { + // name: "Errors", + // item: errors, + // setItem: setErrors, + // initExpanded: false, + // }, + // ] + + return ( +
+ setIDL(e.target.value)} + className=" w-3/12 p-5 bg-[#102042] text-white text-base rounded-xl" + /> +
+
+ { + Object.keys(IDL).map((name, index) => { + if( name !== "name" && name !== "version" && name !== "metadata" ) + return ( +
+
setSelect(name)} + > +

+ {name} +

+
+
+ ) + }) + } +
+
+
+
+ ) +}; diff --git a/ui/components/Layout/index.tsx b/ui/components/Layout/index.tsx new file mode 100644 index 0000000..c2cfa4d --- /dev/null +++ b/ui/components/Layout/index.tsx @@ -0,0 +1,274 @@ +import { FC, Fragment, useEffect, useState } from 'react' +import { Dialog, Transition } from '@headlessui/react' +import { + Bars3Icon, + PencilSquareIcon, + CodeBracketIcon, + DocumentIcon, + XMarkIcon +} from '@heroicons/react/24/outline' +import { readTextFile } from "@tauri-apps/api/fs"; +import { open } from "@tauri-apps/api/dialog"; +import { invoke } from "@tauri-apps/api/tauri"; +import { emit, listen } from '@tauri-apps/api/event' + +import Image from 'next/image' +import { useIDL } from '@/context/IDL' + + + +function classNames(...classes: any) { + return classes.filter(Boolean).join(' ') +} + +const Layout: FC = ({ children, openIDL, newProject, generateIDL, handleTemplateFolder, exportData }) => { + const [sidebarOpen, setSidebarOpen] = useState(false) + const [templateFolder, setTemplateFolder] = useState(undefined); + const { IDL, setIDL } = useIDL() + const [baseFolder, setBaseFolder] = useState(undefined); + + // const openIDLFile = async () => { + // try { + // const result = await open({ + // multiple: false, + // directory: false, + // title: "Select an IDL file", + // filters: [ + // { + // name: "IDL", + // extensions: ["json"], + // }, + // ], + + // }); + // console.log(result); + // if (typeof result !== "string") return; + // const idl = await readTextFile(result); + // console.log(idl); + // const parsed = JSON.parse(idl); + // if (parsed.name) setIDL({ + // ...IDL, + // name: parsed.name + // }); + // if (parsed.instructions) setIDL({ + // ...IDL, + // instructions: parsed.instructions + // }); + // if (parsed.accounts) setIDL({ + // ...IDL, + // accounts: parsed.accounts + // }); + // if (parsed.types) setIDL({ + // ...IDL, + // types: parsed.types + // }); + // if (parsed.events) setIDL({ + // ...IDL, + // events: parsed.events + // }); + // if (parsed.errors) setIDL({ + // ...IDL, + // errors: parsed.errors + // }); + // } catch (e) { + // console.error(e); + // } + // }; + + + const navigation = [ + { + name: 'Open IDL file', + href: '#', + event: openIDL + }, + { + name: 'New IDL', + href: '#', + event: newProject + }, + { + name: 'Save IDL', + href: '#', + event: generateIDL + }, + { + name: 'Select a template', + href: '#', + event: handleTemplateFolder + }, + { + name: 'Create Project', + href: '#', + event: exportData + }, + ] + + return ( + <> +
+ + + +
+ + +
+ + + +
+ +
+
+ {/* Sidebar component, swap this element with another sidebar if you like */} +
+
+ {/* Your Company */} +
+ +
+
+
+
+
+
+ + {/* Static sidebar for desktop */} +
+ {/* Sidebar component, swap this element with another sidebar if you like */} +
+
+ {/* Your Company */} +
+ +
+
+ +
+ +
Dashboard
+ + Your profile + {/* */} + +
+ +
+ {children} +
+
+ + ) +} + +export default Layout \ No newline at end of file diff --git a/ui/components/NewItem/index.tsx b/ui/components/NewItem/index.tsx index 208328c..5bd366c 100644 --- a/ui/components/NewItem/index.tsx +++ b/ui/components/NewItem/index.tsx @@ -1,10 +1,17 @@ import { FC } from "react"; +import { PlusIcon } from "@heroicons/react/24/solid" -export const NewItem: FC = ({ onClick }) => ( +export const NewItem: FC = ({ name, onClick }) => (
- + + +
); diff --git a/ui/components/card/index.tsx b/ui/components/card/index.tsx index feae3d8..55086eb 100644 --- a/ui/components/card/index.tsx +++ b/ui/components/card/index.tsx @@ -1,10 +1,25 @@ -import { FC } from "react"; +import { FC, useState } from "react"; +import { TrashIcon } from "@heroicons/react/24/solid" -export const Card: FC = ({name, onClick}) => ( +export const Card: FC = ({ name, onClick, filter}) => { + const [showDelete, setShowDelete] = useState(false) + + + return (
{setShowDelete(true)}} + onMouseOut={()=>{setShowDelete(false)}} >

{name}

+ { + showDelete && + + }
- ); \ No newline at end of file + ) +}; \ No newline at end of file diff --git a/ui/components/section/EditInstruction/Tabs/tabs.tsx b/ui/components/section/EditInstruction/Tabs/tabs.tsx new file mode 100644 index 0000000..27be958 --- /dev/null +++ b/ui/components/section/EditInstruction/Tabs/tabs.tsx @@ -0,0 +1,337 @@ +import { useIDL } from '@/context/IDL' +import { FC, useLayoutEffect, useRef, useState } from 'react' +import { isProperty } from './verifyType' + +function classNames(...classes: any) { + return classes.filter(Boolean).join(' ') +} + +const Tab: FC = ({ objConfig, elements, property, instruction, editingInstruction }) => { + const checkbox = useRef() + const [checked, setChecked] = useState(false) + const [newProperty, setNewProperty] = useState({}) + const [indeterminate, setIndeterminate] = useState(false) + const [selectedProperty, setSelectedProperties] = useState([]) + const [propertySelectedEdit, setPropertySelectedEdit] = useState() + const [propertyEdit, setPropertyEdit] = useState({}) + const { IDL, setIDL } = useIDL() + + console.log(IDL) + + useLayoutEffect(() => { + const isIndeterminate = selectedProperty.length > 0 && selectedProperty.length < IDL[instruction][editingInstruction][property]?.length + setChecked(selectedProperty.length === IDL[instruction][editingInstruction][property]?.length) + setIndeterminate(isIndeterminate) + checkbox.current.indeterminate = isIndeterminate + }, [selectedProperty]) + + function toggleAll() { + setSelectedProperties(checked || indeterminate ? [] : IDL[instruction][editingInstruction][property]) + setChecked(!checked && !indeterminate) + setIndeterminate(false) + } + + + const addProperty = () => { + const verifyProperty = isProperty(newProperty, property) + if (verifyProperty) { + setIDL({ + ...IDL, + [instruction]: IDL[instruction].map((inst: any, index: any) => { + if (index === editingInstruction && !inst?.[property]?.includes(newProperty)) { + + return { + ...inst, + [property]: [ + ...inst?.[property] || [], + newProperty + ] + } + + } + return inst + }) + }) + } + } + + const editProperty = () => { + const verifyProperty = isProperty(propertyEdit, property) + if (verifyProperty) { + const newProperty ={ + ...IDL, + [instruction]: IDL[instruction].map((inst: any, index: any) => { + if (index === editingInstruction) { + return { + ...inst, + [property]: inst[property].map((prop: any, index: number) => { + if (index === propertySelectedEdit) { + return propertyEdit + } else { + return prop + } + }) + } + } + return inst + }) + } + setIDL(newProperty) + } + setPropertySelectedEdit(undefined) + } + + + return ( +
+
+
+ { + selectedProperty.length > 0 && ( +
+ +
+ ) + } + + + + + { + objConfig.map(({ name }: { name: string }) => { + return ( + + ) + }) + } + + + + + + { + objConfig.map(({ name, options }: any) => { + if (options) { + return ( + + ) + + } else { + return ( + + ) + } + }) + } + + + { + IDL?.[instruction]?.[editingInstruction]?.[property]?.map((property: any, index: number) => { + return propertySelectedEdit === index ? + + + { + objConfig.map(({ name, options }: any) => { + if (options) { + return ( + + ) + + } else { + return ( + + ) + } + }) + } + + + : + + + { + objConfig.map(({name}: any) => { + return ( + + + ) + }) + } + + + }) + } + +
+ + + {name} +
+ + + + { + setNewProperty({ + ...newProperty, + [e.target.id]: e.target.value + }) + }} + /> + + +
+ + + + { + setPropertyEdit({ + ...propertyEdit, + [e.target.id]: e.target.value + }) + }} + /> + + +
+ {selectedProperty.includes(property) && ( +
+ )} + + setSelectedProperties( + e.target.checked + ? [...selectedProperty, property] + : selectedProperty.filter((p: any) => p !== property) + ) + } + /> +
+ { + typeof property[name] === "object" ? + JSON.stringify(property[name]) + : + property[name] + } + + +
+
+
+
+ ) +} + +export default Tab \ No newline at end of file diff --git a/ui/components/section/EditInstruction/Tabs/verifyType.ts b/ui/components/section/EditInstruction/Tabs/verifyType.ts new file mode 100644 index 0000000..4424816 --- /dev/null +++ b/ui/components/section/EditInstruction/Tabs/verifyType.ts @@ -0,0 +1,71 @@ +interface Args { + name: string, + type: string +} +interface Fields { + name: string, + type: string, + index?: boolean +} +interface Variants { + name: string, +} +interface Accounts { + name: string, + isMut: boolean, + isSigner: boolean +} +type PropertyTypes = Args | Fields | Variants | Accounts; + +const isArgs = (item: PropertyTypes): item is Args => { + return "name" in item && "type" in item; +}; + +const isFields = (item: PropertyTypes): item is Fields => { + return "name" in item && "type" in item && "index" in item; +}; + +const isVariants = (item: PropertyTypes): item is Variants => { + return "name" in item; +}; + +const isAccounts = (item: PropertyTypes): item is Accounts => { + return "name" in item && "isMut" in item && "isSigner" in item; +}; + +export const isProperty = (item: PropertyTypes, property: string) => { + switch (property) { + case "args": + if (isArgs(item)) { + // Realizar acciones para Args + // console.log("Args:", item); + return item; + } + break; + case "fields": + if (isFields(item)) { + // Realizar acciones para Fields + // console.log("Fields:", item); + return item; + } + break; + case "variants": + if (isVariants(item)) { + // Realizar acciones para Variants + // console.log("Variants:", item); + return item; + } + break; + case "accounts": + if (isAccounts(item)) { + // Realizar acciones para Accounts + // console.log("Accounts:", item); + return item; + } + break; + default: + break; + } + + return false; +}; \ No newline at end of file diff --git a/ui/components/section/EditInstruction/index.tsx b/ui/components/section/EditInstruction/index.tsx new file mode 100644 index 0000000..13299d2 --- /dev/null +++ b/ui/components/section/EditInstruction/index.tsx @@ -0,0 +1,80 @@ +import { FC, useState, useEffect } from "react" +import Tab from "./Tabs/tabs" +import { type_args } from "@/const" +import { useIDL } from "@/context/IDL" + +const EditInstructions: FC = ({ editingItem: editingInstruction, instruction }) => { + const [tabInstruction, setTabInstruction] = useState("accounts") + const { IDL } = useIDL() + + const tabs = () => { + if (instruction === "instructions") { + return ( +
+
+ { + ["accounts", "args"].map((name, index) => { + return ( +
+
setTabInstruction(name)} + > +

+ {name} +

+
+
+ ) + }) + } +
+ { + tabInstruction === "accounts" && + + } + { + tabInstruction === "args" && + + } +
+ ) + } else if (instruction === "errors") { + return ( +
+ +
+ ) + } + return ( +
+ +
+ ) + } + + return ( +
+ { + tabs() + } +
+ ) +} + +export default EditInstructions \ No newline at end of file diff --git a/ui/components/section/index.tsx b/ui/components/section/index.tsx index 307d570..fdc5356 100644 --- a/ui/components/section/index.tsx +++ b/ui/components/section/index.tsx @@ -1,78 +1,75 @@ import { FC, useState, useEffect } from "react"; import { NewItem } from "../NewItem"; +import { CheckIcon, XMarkIcon } from "@heroicons/react/24/solid" import { Card } from "../card"; +import Tab from "./EditInstruction/Tabs/tabs"; +import EditInstructions from "./EditInstruction"; +import { useIDL } from "@/context/IDL"; -export const Section: FC = ({ name, content, setContent, initExpanded= false }) => { - const [expanded, setExpanded] = useState(initExpanded); - const [isModalOpen, setIsModalOpen] = useState(false); - const [newIntructionName, setNewIntructionName] = useState("instruction_name"); +export const Section: FC = ({ instruction }) => { + const { IDL, setIDL } = useIDL() + const [newIntructionName, setNewIntructionName] = useState(""); const [editingItem, setEditingItem] = useState(0); - useEffect(()=>console.log(isModalOpen),[isModalOpen]) return ( -
-
- {name} -
-
- {content.map((item: { name: string; }, index:number) => ( - { - setEditingItem(index) - setIsModalOpen(true) - }} - /> - ))} - { - setEditingItem((content?.length ?? 0) + 1) - setIsModalOpen(true)} - } - /> -
- - {isModalOpen && ( -
- + { + instruction !== "errors" && +
+ setNewIntructionName(e.target.value)} - className="p-5 mb-5 text-center bg-black rounded-md ring-2 ring-green-400 text-white" + className=" w-full bg-transparent focus:outline-none" /> -
- - +
+ { + if(!IDL[instruction].find((inst: any)=>inst.name === newIntructionName)){ + setIDL({ + ...IDL, + [instruction]: [ + ...IDL[instruction], + { + name: newIntructionName + } + ] + }) + }} + } + />
- )} + } +
+
+ + { + IDL[instruction]?.map((item: { name: string; }, index: number) => ( + { + const del = IDL[instruction].toSpliced(index, 1) + setIDL({ + ...IDL, + [instruction]: del + }) + }} + onClick={() => { + setEditingItem(index) + }} + /> + ))} +
+ +
); }; diff --git a/ui/const/index.ts b/ui/const/index.ts new file mode 100644 index 0000000..a8420ca --- /dev/null +++ b/ui/const/index.ts @@ -0,0 +1,18 @@ +export const type_args = [ + "bool", + "f32", + "f64", + "i8", + "i16", + "i32", + "i64", + "i128", + "publicKey", + "Struct", + "String", + "u8", + "u16", + "u32", + "u64", + "u128", +] \ No newline at end of file diff --git a/ui/context/IDL/index.tsx b/ui/context/IDL/index.tsx new file mode 100644 index 0000000..49b64ed --- /dev/null +++ b/ui/context/IDL/index.tsx @@ -0,0 +1,36 @@ +import { ReactNode, createContext, useContext, useEffect, SetStateAction, useState, Dispatch, useRef } from "react"; + +const IDLContext = createContext({ + instructions: [], + accounts: [], + types: [], + events: [], + errors: [], +}); + +const IDLProvider = ({ children }: { children: ReactNode }) => { + const [IDL, setIDL] = useState({ + name: "", + version: "0.1.0", + instructions: [{ + name: "initialize" + }], + accounts: [], + types: [], + events: [], + errors: [], + metadata: undefined + }); + + + + return ( + + {children} + + ); +}; + +const useIDL = () => useContext(IDLContext); + +export { IDLProvider, useIDL }; diff --git a/ui/helpers/cleanProject.ts b/ui/helpers/cleanProject.ts index 40f759f..2b6b92b 100644 --- a/ui/helpers/cleanProject.ts +++ b/ui/helpers/cleanProject.ts @@ -1,22 +1,22 @@ import { ask } from '@tauri-apps/api/dialog'; -const cleanProject = (setVersion: Function, setName: Function, setInstructions: Function, setAccounts: Function, setTypes: Function, setEvents: Function, setErrors: Function, setMetadata: Function) => { +const cleanProject = (setIDL: Function) => { return async () => { const confirm = await ask('Are you sure?', 'This will close your previus project'); if (!confirm) return; - setVersion("0.1.0"); - setName("Project's Name"); - setInstructions([ - { - name: "initialize", - }, - ]); - setAccounts([]); - setTypes([]); - setEvents([]); - setErrors([]); - setMetadata(undefined); + setIDL({ + name: "", + version: "0.1.0", + instructions: [{ + name: "initialize" + }], + accounts: [], + types: [], + events: [], + errors: [], + metadata: undefined + }) }; } diff --git a/ui/helpers/openIDLFile.ts b/ui/helpers/openIDLFile.ts index 69c89d1..b8dc72b 100644 --- a/ui/helpers/openIDLFile.ts +++ b/ui/helpers/openIDLFile.ts @@ -2,54 +2,78 @@ import { open } from "@tauri-apps/api/dialog"; import { message } from "@tauri-apps/api/dialog"; import { readTextFile } from "@tauri-apps/api/fs"; -const openIDLFile = (setName: Function, setInstructions: Function, setAccounts: Function, setTypes: Function, setEvents: Function, setErrors: Function, setMetadata: Function) => { - return async () => { - try { - const result = await open({ - multiple: false, - directory: false, - title: "Select an IDL file", - filters: [ - { - name: "IDL", - extensions: ["json"], - }, - ], - }); - if (typeof result !== "string") { - await message( - `The type resulted of the selection is ${typeof result}`, - { - title: "Something fail while tryng to open an IDL File.", - type: "error", - } - ); - } else { - const idl = await readTextFile(result); - console.log(idl); - const parsed = JSON.parse(idl); - if (parsed.name) - setName(parsed.name); - if (parsed.instructions) - setInstructions(parsed.instructions); - if (parsed.accounts) - setAccounts(parsed.accounts); - if (parsed.types) - setTypes(parsed.types); - if (parsed.events) - setEvents(parsed.events); - if (parsed.errors) - setErrors(parsed.errors); - if (parsed.metadata) - setMetadata(parsed.metadata); - } - } catch (e) { - await message(`${e}`, { - title: "Something fail while tryng to open an IDL File.", - type: "error", - }); +const openIDLFile = (IDL: any, setIDL: Function) => { + return async () => { + try { + const result = await open({ + multiple: false, + directory: false, + title: "Select an IDL file", + filters: [ + { + name: "IDL", + extensions: ["json"], + }, + ], + }); + if (typeof result !== "string") { + await message( + `The type resulted of the selection is ${typeof result}`, + { + title: "Something fail while tryng to open an IDL File.", + type: "error", + } + ); + } else { + const idl = await readTextFile(result); + console.log(idl); + const parsed = JSON.parse(idl); + setIDL({ + version: parsed.version, + name: parsed.name, + instructions: parsed.instructions ? parsed.instructions : [], + accounts: parsed.accounts ? parsed.accounts : [], + types: parsed.types ? parsed.types : [], + events: parsed.events ? parsed.events : [], + errors: parsed.errors ? parsed.errors : [], + metadata: parsed.metadata + }) + // if (parsed.name) setIDL({ + // ...IDL, + // name: parsed.name + // }); + // if (parsed.instructions) setIDL({ + // ...IDL, + // instructions: parsed.instructions + // }); + // if (parsed.accounts) setIDL({ + // ...IDL, + // accounts: parsed.accounts + // }); + // if (parsed.types) setIDL({ + // ...IDL, + // types: parsed.types + // }); + // if (parsed.events) setIDL({ + // ...IDL, + // events: parsed.events + // }); + // if (parsed.errors) setIDL({ + // ...IDL, + // errors: parsed.errors + // }); + // if(parsed.metadata) setIDL({ + // ...IDL, + // errors: parsed.errors + // }); } - }; - } - - export default openIDLFile; \ No newline at end of file + } catch (e) { + await message(`${e}`, { + title: "Something fail while tryng to open an IDL File.", + type: "error", + }); + } + }; +} + +export default openIDLFile; \ No newline at end of file diff --git a/ui/package-lock.json b/ui/package-lock.json index 098cd33..fb810ed 100644 --- a/ui/package-lock.json +++ b/ui/package-lock.json @@ -8,6 +8,8 @@ "name": "ui", "version": "0.1.0", "dependencies": { + "@heroicons/react": "^2.0.18", + "@tailwindcss/forms": "^0.5.3", "@tauri-apps/api": "^1.2.0", "@types/node": "18.15.0", "@types/react": "18.0.28", @@ -66,6 +68,14 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, + "node_modules/@heroicons/react": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/@heroicons/react/-/react-2.0.18.tgz", + "integrity": "sha512-7TyMjRrZZMBPa+/5Y8lN0iyvUU/01PeMGX2+RE7cQWpEUIcb4QotzUObFkJDejj/HUH4qjP/eQ0gzzKs2f+6Yw==", + "peerDependencies": { + "react": ">= 16" + } + }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.8", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", @@ -368,6 +378,17 @@ "tslib": "^2.4.0" } }, + "node_modules/@tailwindcss/forms": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.3.tgz", + "integrity": "sha512-y5mb86JUoiUgBjY/o6FJSFZSEttfb3Q5gllE4xoKjAAD+vBrnIhE4dViwUuow3va8mpH4s9jyUbUbrRGoRdc2Q==", + "dependencies": { + "mini-svg-data-uri": "^1.2.3" + }, + "peerDependencies": { + "tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1" + } + }, "node_modules/@tauri-apps/api": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-1.2.0.tgz", @@ -539,7 +560,6 @@ "version": "1.8.2", "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", - "dev": true, "dependencies": { "acorn": "^7.0.0", "acorn-walk": "^7.0.0", @@ -550,7 +570,6 @@ "version": "7.4.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true, "bin": { "acorn": "bin/acorn" }, @@ -562,7 +581,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "dev": true, "engines": { "node": ">=0.4.0" } @@ -608,7 +626,6 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -620,8 +637,7 @@ "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==", - "dev": true + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" }, "node_modules/argparse": { "version": "2.0.1", @@ -782,7 +798,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, "engines": { "node": ">=8" } @@ -859,7 +874,6 @@ "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==", - "dev": true, "engines": { "node": ">= 6" } @@ -898,7 +912,6 @@ "version": "3.5.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, "funding": [ { "type": "individual", @@ -925,7 +938,6 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, "dependencies": { "is-glob": "^4.0.1" }, @@ -976,7 +988,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true, "bin": { "cssesc": "bin/cssesc" }, @@ -1069,7 +1080,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", - "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -1078,7 +1088,6 @@ "version": "5.2.1", "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", - "dev": true, "dependencies": { "acorn-node": "^1.8.2", "defined": "^1.0.0", @@ -1094,8 +1103,7 @@ "node_modules/didyoumean": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", - "dev": true + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" }, "node_modules/dir-glob": { "version": "3.0.1", @@ -1111,8 +1119,7 @@ "node_modules/dlv": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", - "dev": true + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" }, "node_modules/doctrine": { "version": "3.0.0", @@ -1844,7 +1851,6 @@ "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, "hasInstallScript": true, "optional": true, "os": [ @@ -2203,7 +2209,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, "dependencies": { "binary-extensions": "^2.0.0" }, @@ -2563,7 +2568,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", - "dev": true, "engines": { "node": ">=10" } @@ -2629,6 +2633,14 @@ "node": ">=8.6" } }, + "node_modules/mini-svg-data-uri": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz", + "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==", + "bin": { + "mini-svg-data-uri": "cli.js" + } + }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -2757,7 +2769,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -2783,7 +2794,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", - "dev": true, "engines": { "node": ">= 6" } @@ -3029,7 +3039,6 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -3038,7 +3047,6 @@ "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==", - "dev": true, "funding": [ { "type": "opencollective", @@ -3062,7 +3070,6 @@ "version": "14.1.0", "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", - "dev": true, "dependencies": { "postcss-value-parser": "^4.0.0", "read-cache": "^1.0.0", @@ -3079,7 +3086,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", - "dev": true, "dependencies": { "camelcase-css": "^2.0.1" }, @@ -3098,7 +3104,6 @@ "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==", - "dev": true, "dependencies": { "lilconfig": "^2.0.5", "yaml": "^1.10.2" @@ -3127,7 +3132,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz", "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==", - "dev": true, "dependencies": { "postcss-selector-parser": "^6.0.10" }, @@ -3146,7 +3150,6 @@ "version": "6.0.11", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", - "dev": true, "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -3158,8 +3161,7 @@ "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==", - "dev": true + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" }, "node_modules/prelude-ls": { "version": "1.2.1", @@ -3210,7 +3212,6 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "dev": true, "engines": { "node": ">=10" }, @@ -3250,7 +3251,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", - "dev": true, "dependencies": { "pify": "^2.3.0" } @@ -3259,7 +3259,6 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, "dependencies": { "picomatch": "^2.2.1" }, @@ -3599,7 +3598,6 @@ "version": "3.2.7", "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.7.tgz", "integrity": "sha512-B6DLqJzc21x7wntlH/GsZwEXTBttVSl1FtCzC8WP4oBc/NKef7kaax5jeihkkCEWc831/5NDJ9gRNDK6NEioQQ==", - "dev": true, "dependencies": { "arg": "^5.0.2", "chokidar": "^3.5.3", @@ -3802,8 +3800,7 @@ "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==", - "dev": true + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "node_modules/which": { "version": "2.0.2", @@ -3884,7 +3881,6 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true, "engines": { "node": ">=0.4" } @@ -3898,7 +3894,6 @@ "version": "1.10.2", "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true, "engines": { "node": ">= 6" } @@ -3945,6 +3940,12 @@ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.35.0.tgz", "integrity": "sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw==" }, + "@heroicons/react": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/@heroicons/react/-/react-2.0.18.tgz", + "integrity": "sha512-7TyMjRrZZMBPa+/5Y8lN0iyvUU/01PeMGX2+RE7cQWpEUIcb4QotzUObFkJDejj/HUH4qjP/eQ0gzzKs2f+6Yw==", + "requires": {} + }, "@humanwhocodes/config-array": { "version": "0.11.8", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", @@ -4105,6 +4106,14 @@ "tslib": "^2.4.0" } }, + "@tailwindcss/forms": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.3.tgz", + "integrity": "sha512-y5mb86JUoiUgBjY/o6FJSFZSEttfb3Q5gllE4xoKjAAD+vBrnIhE4dViwUuow3va8mpH4s9jyUbUbrRGoRdc2Q==", + "requires": { + "mini-svg-data-uri": "^1.2.3" + } + }, "@tauri-apps/api": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-1.2.0.tgz", @@ -4211,7 +4220,6 @@ "version": "1.8.2", "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", - "dev": true, "requires": { "acorn": "^7.0.0", "acorn-walk": "^7.0.0", @@ -4221,16 +4229,14 @@ "acorn": { "version": "7.4.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true + "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==", - "dev": true + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" }, "ajv": { "version": "6.12.6", @@ -4260,7 +4266,6 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, "requires": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -4269,8 +4274,7 @@ "arg": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "dev": true + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" }, "argparse": { "version": "2.0.1", @@ -4381,8 +4385,7 @@ "binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" }, "brace-expansion": { "version": "1.1.11", @@ -4430,8 +4433,7 @@ "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==", - "dev": true + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" }, "caniuse-lite": { "version": "1.0.30001464", @@ -4451,7 +4453,6 @@ "version": "3.5.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, "requires": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -4467,7 +4468,6 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, "requires": { "is-glob": "^4.0.1" } @@ -4510,8 +4510,7 @@ "cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" }, "csstype": { "version": "3.1.1", @@ -4577,14 +4576,12 @@ "defined": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", - "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", - "dev": true + "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==" }, "detective": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", - "dev": true, "requires": { "acorn-node": "^1.8.2", "defined": "^1.0.0", @@ -4594,8 +4591,7 @@ "didyoumean": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", - "dev": true + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" }, "dir-glob": { "version": "3.0.1", @@ -4608,8 +4604,7 @@ "dlv": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", - "dev": true + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" }, "doctrine": { "version": "3.0.0", @@ -5168,7 +5163,6 @@ "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, "optional": true }, "function-bind": { @@ -5412,7 +5406,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, "requires": { "binary-extensions": "^2.0.0" } @@ -5653,8 +5646,7 @@ "lilconfig": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", - "dev": true + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==" }, "locate-path": { "version": "6.0.0", @@ -5699,6 +5691,11 @@ "picomatch": "^2.3.1" } }, + "mini-svg-data-uri": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz", + "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==" + }, "minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -5773,8 +5770,7 @@ "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" }, "normalize-range": { "version": "0.1.2", @@ -5790,8 +5786,7 @@ "object-hash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", - "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", - "dev": true + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==" }, "object-inspect": { "version": "1.12.3", @@ -5955,14 +5950,12 @@ "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" }, "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==", - "dev": true, "requires": { "nanoid": "^3.3.4", "picocolors": "^1.0.0", @@ -5973,7 +5966,6 @@ "version": "14.1.0", "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", - "dev": true, "requires": { "postcss-value-parser": "^4.0.0", "read-cache": "^1.0.0", @@ -5984,7 +5976,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", - "dev": true, "requires": { "camelcase-css": "^2.0.1" } @@ -5993,7 +5984,6 @@ "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==", - "dev": true, "requires": { "lilconfig": "^2.0.5", "yaml": "^1.10.2" @@ -6003,7 +5993,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz", "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==", - "dev": true, "requires": { "postcss-selector-parser": "^6.0.10" } @@ -6012,7 +6001,6 @@ "version": "6.0.11", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", - "dev": true, "requires": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -6021,8 +6009,7 @@ "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==", - "dev": true + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" }, "prelude-ls": { "version": "1.2.1", @@ -6052,8 +6039,7 @@ "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==", - "dev": true + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==" }, "react": { "version": "18.2.0", @@ -6081,7 +6067,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", - "dev": true, "requires": { "pify": "^2.3.0" } @@ -6090,7 +6075,6 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, "requires": { "picomatch": "^2.2.1" } @@ -6305,7 +6289,6 @@ "version": "3.2.7", "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.7.tgz", "integrity": "sha512-B6DLqJzc21x7wntlH/GsZwEXTBttVSl1FtCzC8WP4oBc/NKef7kaax5jeihkkCEWc831/5NDJ9gRNDK6NEioQQ==", - "dev": true, "requires": { "arg": "^5.0.2", "chokidar": "^3.5.3", @@ -6450,8 +6433,7 @@ "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "which": { "version": "2.0.2", @@ -6510,8 +6492,7 @@ "xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" }, "yallist": { "version": "4.0.0", @@ -6521,8 +6502,7 @@ "yaml": { "version": "1.10.2", "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" }, "yocto-queue": { "version": "0.1.0", diff --git a/ui/package.json b/ui/package.json index 1654c0e..e15ed58 100644 --- a/ui/package.json +++ b/ui/package.json @@ -10,6 +10,8 @@ "export": "next export" }, "dependencies": { + "@heroicons/react": "^2.0.18", + "@tailwindcss/forms": "^0.5.3", "@tauri-apps/api": "^1.2.0", "@types/node": "18.15.0", "@types/react": "18.0.28", diff --git a/ui/pages/_app.tsx b/ui/pages/_app.tsx index 021681f..54262b5 100644 --- a/ui/pages/_app.tsx +++ b/ui/pages/_app.tsx @@ -1,6 +1,11 @@ +import { IDLProvider } from '@/context/IDL' import '@/styles/globals.css' import type { AppProps } from 'next/app' export default function App({ Component, pageProps }: AppProps) { - return + return ( + + + + ) } diff --git a/ui/pages/index.tsx b/ui/pages/index.tsx index db219b4..486d2b2 100644 --- a/ui/pages/index.tsx +++ b/ui/pages/index.tsx @@ -3,30 +3,32 @@ import { useEffect, useState } from "react"; import { Editor } from "@/components/Editor"; import { TauriEvent, listen } from "@tauri-apps/api/event"; import { about, cleanProject, generateProjectFiles, nameSetter, openIDLFile, saveIDLFile, selectTemplateFolder } from "@/helpers"; +import Layout from "@/components/Layout"; +import { useIDL } from "@/context/IDL"; export default function Home() { - const [name, setName] = useState("Project's Name"); - const [instructions, setInstructions] = useState([ - { - name: "initialize", - }, - ]); - const [accounts, setAccounts] = useState([]); - const [types, setTypes] = useState([]); - const [events, setEvents] = useState([]); - const [errors, setErrors] = useState([]); + // const [name, setName] = useState("Project's Name"); + // const [instructions, setInstructions] = useState([ + // { + // name: "initialize", + // }, + // ]); + // const [accounts, setAccounts] = useState([]); + // const [types, setTypes] = useState([]); + // const [events, setEvents] = useState([]); + // const [errors, setErrors] = useState([]); + const { IDL, setIDL } = useIDL() const [templateFolder, setTemplateFolder] = useState(undefined); const [baseFolder, setBaseFolder] = useState(undefined); - const [version, setVersion] = useState("0.1.0"); - const [metadata, setMetadata] = useState(undefined); + // const [version, setVersion] = useState("0.1.0"); + // const [metadata, setMetadata] = useState(undefined); - const exportData = generateProjectFiles(version, name, instructions, accounts, types, events, errors, metadata, templateFolder, setTemplateFolder, setBaseFolder); + const exportData = generateProjectFiles(IDL.version, IDL.name, IDL.instructions, IDL.accounts, IDL.types, IDL.events, IDL.errors, IDL.metadata, templateFolder, setTemplateFolder, setBaseFolder); const handleTemplateFolder = selectTemplateFolder(setTemplateFolder); - const openIDL = openIDLFile(setName, setInstructions, setAccounts, setTypes, setEvents, setErrors, setMetadata); - const newProject = cleanProject(setVersion, setName, setInstructions, setAccounts, setTypes, setEvents, setErrors, setMetadata); - const generateIDL = saveIDLFile(setBaseFolder, version, name, instructions, accounts, types, events, errors, metadata); + const openIDL = openIDLFile(IDL, setIDL); + const newProject = cleanProject(setIDL); + const generateIDL = saveIDLFile(setBaseFolder, IDL.version , IDL.name, IDL.instructions, IDL.accounts, IDL.types, IDL.events, IDL.errors, IDL.metadata); - const handleName = (name: string) => { nameSetter(name, setName) }; useEffect(() => { (async () => { const unlisten = await listen(TauriEvent.MENU, (event) => { @@ -69,7 +71,7 @@ export default function Home() { -
+ {/*
-
- - -
+ */} + + + + {/*
*/} ); } diff --git a/ui/tailwind.config.js b/ui/tailwind.config.js index 021a414..c7cd0a9 100644 --- a/ui/tailwind.config.js +++ b/ui/tailwind.config.js @@ -9,7 +9,15 @@ module.exports = { "./src/**/*.{js,ts,jsx,tsx}", ], theme: { - extend: {}, + extend: { + boxShadow: { + 'tab': '0px 1px 0px -0.5px', + 'tabSelected': "0px 0px 4px -2px " + } + }, }, - plugins: [], -}; + plugins: [ + // ... + require('@tailwindcss/forms'), + ], +} From c2de0abfefd2639f86714bea7fca5a1b9047a701 Mon Sep 17 00:00:00 2001 From: "solis.sergioariel@gmail.com" <42455008+SergioAriel@users.noreply.github.com> Date: Wed, 7 Jun 2023 22:07:38 -0300 Subject: [PATCH 02/18] pull actualization main --- ui/components/Editor/index.tsx | 50 ++++--------------- .../section/EditInstruction/Tabs/tabs.tsx | 2 - ui/components/section/index.tsx | 1 + ui/context/IDL/index.tsx | 2 +- ui/package-lock.json | 24 +++++++++ ui/package.json | 1 + 6 files changed, 38 insertions(+), 42 deletions(-) diff --git a/ui/components/Editor/index.tsx b/ui/components/Editor/index.tsx index f6bb587..65d60f8 100644 --- a/ui/components/Editor/index.tsx +++ b/ui/components/Editor/index.tsx @@ -19,59 +19,31 @@ export const Editor: FC = ({ const [select, setSelect] = useState("instructions") const { IDL, setIDL } = useIDL() - // const options = [ - // { - // name: "Instructions", - // item: instructions, - // setItem: setInstructions, - // initExpanded: false, - // }, - // { - // name: "Accounts", - // item: accounts, - // setItem: setAccounts, - // initExpanded: false, - // }, - // { - // name: "Types", - // item: types, - // setItem: setTypes, - // initExpanded: false, - // }, - // { - // name: "Events", - // item: events, - // setItem: setEvents, - // initExpanded: false, - // }, - // { - // name: "Errors", - // item: errors, - // setItem: setErrors, - // initExpanded: false, - // }, - // ] return ( -
+
setIDL(e.target.value)} - className=" w-3/12 p-5 bg-[#102042] text-white text-base rounded-xl" + onChange={(e) => setIDL({ + ...IDL, + name: e.target.value + }) + } + className=" w-3/12 h-20 p-5 bg-[#102042] text-white text-base rounded-xl" /> -
-
+
+
{ Object.keys(IDL).map((name, index) => { if( name !== "name" && name !== "version" && name !== "metadata" ) return (
setSelect(name)} >

diff --git a/ui/components/section/EditInstruction/Tabs/tabs.tsx b/ui/components/section/EditInstruction/Tabs/tabs.tsx index 27be958..9b043cf 100644 --- a/ui/components/section/EditInstruction/Tabs/tabs.tsx +++ b/ui/components/section/EditInstruction/Tabs/tabs.tsx @@ -16,8 +16,6 @@ const Tab: FC = ({ objConfig, elements, property, instruction, editingInstr const [propertyEdit, setPropertyEdit] = useState({}) const { IDL, setIDL } = useIDL() - console.log(IDL) - useLayoutEffect(() => { const isIndeterminate = selectedProperty.length > 0 && selectedProperty.length < IDL[instruction][editingInstruction][property]?.length setChecked(selectedProperty.length === IDL[instruction][editingInstruction][property]?.length) diff --git a/ui/components/section/index.tsx b/ui/components/section/index.tsx index fdc5356..6f9d090 100644 --- a/ui/components/section/index.tsx +++ b/ui/components/section/index.tsx @@ -11,6 +11,7 @@ export const Section: FC = ({ instruction }) => { const [newIntructionName, setNewIntructionName] = useState(""); const [editingItem, setEditingItem] = useState(0); + return (

{ diff --git a/ui/context/IDL/index.tsx b/ui/context/IDL/index.tsx index 49b64ed..6665081 100644 --- a/ui/context/IDL/index.tsx +++ b/ui/context/IDL/index.tsx @@ -13,7 +13,7 @@ const IDLProvider = ({ children }: { children: ReactNode }) => { name: "", version: "0.1.0", instructions: [{ - name: "initialize" + name: "initialize", }], accounts: [], types: [], diff --git a/ui/package-lock.json b/ui/package-lock.json index fb810ed..aafb689 100644 --- a/ui/package-lock.json +++ b/ui/package-lock.json @@ -8,6 +8,7 @@ "name": "ui", "version": "0.1.0", "dependencies": { + "@headlessui/react": "^1.7.15", "@heroicons/react": "^2.0.18", "@tailwindcss/forms": "^0.5.3", "@tauri-apps/api": "^1.2.0", @@ -68,6 +69,21 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, + "node_modules/@headlessui/react": { + "version": "1.7.15", + "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-1.7.15.tgz", + "integrity": "sha512-OTO0XtoRQ6JPB1cKNFYBZv2Q0JMqMGNhYP1CjPvcJvjz8YGokz8oAj89HIYZGN0gZzn/4kk9iUpmMF4Q21Gsqw==", + "dependencies": { + "client-only": "^0.0.1" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "react": "^16 || ^17 || ^18", + "react-dom": "^16 || ^17 || ^18" + } + }, "node_modules/@heroicons/react": { "version": "2.0.18", "resolved": "https://registry.npmjs.org/@heroicons/react/-/react-2.0.18.tgz", @@ -3940,6 +3956,14 @@ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.35.0.tgz", "integrity": "sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw==" }, + "@headlessui/react": { + "version": "1.7.15", + "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-1.7.15.tgz", + "integrity": "sha512-OTO0XtoRQ6JPB1cKNFYBZv2Q0JMqMGNhYP1CjPvcJvjz8YGokz8oAj89HIYZGN0gZzn/4kk9iUpmMF4Q21Gsqw==", + "requires": { + "client-only": "^0.0.1" + } + }, "@heroicons/react": { "version": "2.0.18", "resolved": "https://registry.npmjs.org/@heroicons/react/-/react-2.0.18.tgz", diff --git a/ui/package.json b/ui/package.json index e15ed58..702dbe4 100644 --- a/ui/package.json +++ b/ui/package.json @@ -10,6 +10,7 @@ "export": "next export" }, "dependencies": { + "@headlessui/react": "^1.7.15", "@heroicons/react": "^2.0.18", "@tailwindcss/forms": "^0.5.3", "@tauri-apps/api": "^1.2.0", From 8e91cecaf21d3c91f4709139f810c5b071d72ec3 Mon Sep 17 00:00:00 2001 From: "solis.sergioariel@gmail.com" <42455008+SergioAriel@users.noreply.github.com> Date: Wed, 14 Jun 2023 11:30:33 -0300 Subject: [PATCH 03/18] all intructions. edit/add properties --- .../Tabs/{tabs.tsx => tab.tsx} | 81 +---- .../EditInstruction/Tabs/tabWithoutType.tsx | 337 ++++++++++++++++++ .../section/EditInstruction/index.tsx | 304 +++++++++++++--- ui/components/section/index.tsx | 45 +-- 4 files changed, 623 insertions(+), 144 deletions(-) rename ui/components/section/EditInstruction/Tabs/{tabs.tsx => tab.tsx} (83%) create mode 100644 ui/components/section/EditInstruction/Tabs/tabWithoutType.tsx diff --git a/ui/components/section/EditInstruction/Tabs/tabs.tsx b/ui/components/section/EditInstruction/Tabs/tab.tsx similarity index 83% rename from ui/components/section/EditInstruction/Tabs/tabs.tsx rename to ui/components/section/EditInstruction/Tabs/tab.tsx index 9b043cf..0b11c55 100644 --- a/ui/components/section/EditInstruction/Tabs/tabs.tsx +++ b/ui/components/section/EditInstruction/Tabs/tab.tsx @@ -6,80 +6,28 @@ function classNames(...classes: any) { return classes.filter(Boolean).join(' ') } -const Tab: FC = ({ objConfig, elements, property, instruction, editingInstruction }) => { +const Tab: FC = ({ addProperty, editProperty, objConfig, elements }) => { const checkbox = useRef() const [checked, setChecked] = useState(false) const [newProperty, setNewProperty] = useState({}) const [indeterminate, setIndeterminate] = useState(false) const [selectedProperty, setSelectedProperties] = useState([]) const [propertySelectedEdit, setPropertySelectedEdit] = useState() - const [propertyEdit, setPropertyEdit] = useState({}) - const { IDL, setIDL } = useIDL() + const [propertyEditing, setPropertyEditing] = useState({}) useLayoutEffect(() => { - const isIndeterminate = selectedProperty.length > 0 && selectedProperty.length < IDL[instruction][editingInstruction][property]?.length - setChecked(selectedProperty.length === IDL[instruction][editingInstruction][property]?.length) + const isIndeterminate = selectedProperty.length > 0 && selectedProperty.length < elements.length + setChecked(selectedProperty.length === elements?.length) setIndeterminate(isIndeterminate) checkbox.current.indeterminate = isIndeterminate }, [selectedProperty]) function toggleAll() { - setSelectedProperties(checked || indeterminate ? [] : IDL[instruction][editingInstruction][property]) + setSelectedProperties(checked || indeterminate ? [] : elements) setChecked(!checked && !indeterminate) setIndeterminate(false) } - - const addProperty = () => { - const verifyProperty = isProperty(newProperty, property) - if (verifyProperty) { - setIDL({ - ...IDL, - [instruction]: IDL[instruction].map((inst: any, index: any) => { - if (index === editingInstruction && !inst?.[property]?.includes(newProperty)) { - - return { - ...inst, - [property]: [ - ...inst?.[property] || [], - newProperty - ] - } - - } - return inst - }) - }) - } - } - - const editProperty = () => { - const verifyProperty = isProperty(propertyEdit, property) - if (verifyProperty) { - const newProperty ={ - ...IDL, - [instruction]: IDL[instruction].map((inst: any, index: any) => { - if (index === editingInstruction) { - return { - ...inst, - [property]: inst[property].map((prop: any, index: number) => { - if (index === propertySelectedEdit) { - return propertyEdit - } else { - return prop - } - }) - } - } - return inst - }) - } - setIDL(newProperty) - } - setPropertySelectedEdit(undefined) - } - - return (
@@ -188,7 +136,7 @@ const Tab: FC = ({ objConfig, elements, property, instruction, editingInstr } +
+ ) + } + + + + + { + objConfig.map(({ name }: { name: string }) => { + return ( + + ) + }) + } + + + + + + { + objConfig.map(({ name, options }: any) => { + if (options) { + return ( + + ) + + } else { + return ( + + ) + } + }) + } + + + { + elements?.map((property: any, index: number) => { + return propertySelectedEdit === index ? + + + { + objConfig.map(({ name, options }: any) => { + if (options) { + return ( + + ) + + } else { + return ( + + ) + } + }) + } + + + : + + + { + objConfig.map(({name}: any) => { + return ( + + + ) + }) + } + + + }) + } + +
+ + + {name} +
+ + + + { + setNewProperty({ + ...newProperty, + [e.target.id]: e.target.value + }) + }} + /> + + +
+ + + + { + setPropertyEditing({ + ...propertyEditing, + [e.target.id]: e.target.value + }) + }} + /> + + +
+ {selectedProperty.includes(property) && ( +
+ )} + + setSelectedProperties( + e.target.checked + ? [...selectedProperty, property] + : selectedProperty.filter((p: any) => p !== property) + ) + } + /> +
+ { + typeof property[name] === "object" ? + JSON.stringify(property[name]) + : + property[name] + } + + +
+
+
+
+ ) +} + +export default Tab \ No newline at end of file diff --git a/ui/components/section/EditInstruction/index.tsx b/ui/components/section/EditInstruction/index.tsx index 13299d2..facd165 100644 --- a/ui/components/section/EditInstruction/index.tsx +++ b/ui/components/section/EditInstruction/index.tsx @@ -1,80 +1,268 @@ import { FC, useState, useEffect } from "react" -import Tab from "./Tabs/tabs" +import Tab from "./Tabs/tab" import { type_args } from "@/const" import { useIDL } from "@/context/IDL" +import { isProperty } from "./Tabs/verifyType" -const EditInstructions: FC = ({ editingItem: editingInstruction, instruction }) => { - const [tabInstruction, setTabInstruction] = useState("accounts") - const { IDL } = useIDL() +const EditInstructions: FC = ({ editingItem, instruction }) => { + const [tabConfig, setTab] = useState("accounts") + const [kind, setKind] = useState("") + const { IDL, setIDL } = useIDL() - const tabs = () => { - if (instruction === "instructions") { - return ( -
-
- { - ["accounts", "args"].map((name, index) => { - return ( -
-
setTabInstruction(name)} - > -

- {name} -

-
-
- ) - }) + useEffect(() => { + if (IDL?.[instruction]?.[editingItem]?.type) { + console.log(IDL?.[instruction]?.[editingItem]?.type) + setKind(IDL?.[instruction]?.[editingItem]?.type?.kind) + } else { + setKind("") + } + }, [editingItem]) + + const addProperty = (newProperty: any) => { + // const verifyProperty = isProperty(newProperty, tabConfig) + // if (verifyProperty) { + if (instruction === "errors") { + return setIDL({ + ...IDL, + [instruction]: [ + ...IDL[instruction], + newProperty + ] + }) + } + setIDL({ + ...IDL, + [instruction]: IDL[instruction].map((inst: any, index: number) => { + if (index === editingItem) { + if (instruction === "instructions" && !inst?.[tabConfig]?.includes(newProperty)) { + return { + ...inst, + [tabConfig]: [ + ...inst?.[tabConfig] || [], + newProperty + ] } -
- { - tabInstruction === "accounts" && - } - { - tabInstruction === "args" && - + if (instruction === "events" && !inst?.[tabConfig]?.includes(newProperty)) { + return { + ...inst, + fields: [ + ...inst?.fields || [], + newProperty + ] + } } -
- ) - } else if (instruction === "errors") { - return ( -
+ if (!inst?.types?.[tabConfig]?.includes(newProperty)) { + return { + ...inst, + type: { + kind: kind, + [kind === "struct" ? "fields" : "variants"]: [ + ...inst?.type?.[kind === "struct" ? "fields" : "variants"] || [], + newProperty + ] -
- ) + } + } + } + } + return inst + }) + }) + // } + } + + const editProperty = (propertyEdit: any) => { + + const editing = { + ...IDL, + propertyEdit } - return ( -
+ setIDL(editing) + // } + } + const render = { + instructions: ( + IDL?.[instruction]?.[editingItem] && +
+
+ { + ["accounts", "args"].map((name, index) => { + return ( +
+
setTab(name)} + > +

+ {name} +

+
+
+ ) + }) + } +
+ { + tabConfig === "accounts" && + + } + { + tabConfig === "args" && + + }
- ) + ), + errors: ( +
+ +
+ ), + events: ( + IDL?.[instruction]?.[editingItem] && +
+ +
+ ), } + // if (instruction === "instructions") { + // return ( + //
+ //
+ // { + // ["accounts", "args"].map((name, index) => { + // return ( + //
+ //
setTab(name)} + // > + //

+ // {name} + //

+ //
+ //
+ // ) + // }) + // } + //
+ // { + // tabConfig === "accounts" && + // + // } + // { + // tabConfig === "args" && + // + // } + //
+ // ) + // } else if (instruction === "errors") { + // return ( + //
+ + //
+ // ) + // } else if (instruction === "events") { + //
+ // + //
+ // } + if (render[instruction as keyof typeof render]) return render[instruction as keyof typeof render] return ( -
+ IDL?.[instruction]?.[editingItem] && +
{ - tabs() + !IDL?.[instruction]?.[editingItem]?.type && + + } + { + kind === "enum" && + + } + { + kind === "struct" && + }
+ ) + + } export default EditInstructions \ No newline at end of file diff --git a/ui/components/section/index.tsx b/ui/components/section/index.tsx index 6f9d090..3af9e9e 100644 --- a/ui/components/section/index.tsx +++ b/ui/components/section/index.tsx @@ -2,7 +2,7 @@ import { FC, useState, useEffect } from "react"; import { NewItem } from "../NewItem"; import { CheckIcon, XMarkIcon } from "@heroicons/react/24/solid" import { Card } from "../card"; -import Tab from "./EditInstruction/Tabs/tabs"; +import Tab from "./EditInstruction/Tabs/tabWithoutType"; import EditInstructions from "./EditInstruction"; import { useIDL } from "@/context/IDL"; @@ -46,26 +46,29 @@ export const Section: FC = ({ instruction }) => {
}
-
- - { - IDL[instruction]?.map((item: { name: string; }, index: number) => ( - { - const del = IDL[instruction].toSpliced(index, 1) - setIDL({ - ...IDL, - [instruction]: del - }) - }} - onClick={() => { - setEditingItem(index) - }} - /> - ))} -
+ { + instruction !== "errors" && +
+ + { + IDL[instruction]?.map((item: { name: string; }, index: number) => ( + { + const del = IDL[instruction].toSpliced(index, 1) + setIDL({ + ...IDL, + [instruction]: del + }) + }} + onClick={() => { + setEditingItem(index) + }} + /> + ))} +
+ } Date: Wed, 14 Jun 2023 14:50:44 -0300 Subject: [PATCH 04/18] all intructions. edit/add properties --- ui/components/Layout/index.tsx | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/ui/components/Layout/index.tsx b/ui/components/Layout/index.tsx index c2cfa4d..256acb7 100644 --- a/ui/components/Layout/index.tsx +++ b/ui/components/Layout/index.tsx @@ -164,7 +164,10 @@ const Layout: FC = ({ children, openIDL, newProject, generateIDL, handleTem
  • From 6776ae051c3280ffc6fe2af3435a1e2b69a24888 Mon Sep 17 00:00:00 2001 From: Marche Date: Sun, 11 Jun 2023 07:26:22 -0300 Subject: [PATCH 05/18] Update tauri.conf.json --- ui/src-tauri/tauri.conf.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ui/src-tauri/tauri.conf.json b/ui/src-tauri/tauri.conf.json index b9d0d34..611a1bb 100644 --- a/ui/src-tauri/tauri.conf.json +++ b/ui/src-tauri/tauri.conf.json @@ -7,7 +7,7 @@ }, "package": { "productName": "soda", - "version": "0.0.4" + "version": "0.0.5" }, "tauri": { "allowlist": { @@ -82,4 +82,4 @@ } ] } -} \ No newline at end of file +} From 9605c585b753ba22875157d7b28b090088f07e1c Mon Sep 17 00:00:00 2001 From: "solis.sergioariel@gmail.com" <42455008+SergioAriel@users.noreply.github.com> Date: Thu, 15 Jun 2023 20:27:46 -0300 Subject: [PATCH 06/18] edit name instructions --- ui/components/Layout/index.tsx | 79 +++---------------- ui/components/card/index.tsx | 58 +++++++++++--- .../section/EditInstruction/index.tsx | 1 - ui/components/section/index.tsx | 24 ++++-- 4 files changed, 76 insertions(+), 86 deletions(-) diff --git a/ui/components/Layout/index.tsx b/ui/components/Layout/index.tsx index 256acb7..c36bd1b 100644 --- a/ui/components/Layout/index.tsx +++ b/ui/components/Layout/index.tsx @@ -23,58 +23,6 @@ function classNames(...classes: any) { const Layout: FC = ({ children, openIDL, newProject, generateIDL, handleTemplateFolder, exportData }) => { const [sidebarOpen, setSidebarOpen] = useState(false) - const [templateFolder, setTemplateFolder] = useState(undefined); - const { IDL, setIDL } = useIDL() - const [baseFolder, setBaseFolder] = useState(undefined); - - // const openIDLFile = async () => { - // try { - // const result = await open({ - // multiple: false, - // directory: false, - // title: "Select an IDL file", - // filters: [ - // { - // name: "IDL", - // extensions: ["json"], - // }, - // ], - - // }); - // console.log(result); - // if (typeof result !== "string") return; - // const idl = await readTextFile(result); - // console.log(idl); - // const parsed = JSON.parse(idl); - // if (parsed.name) setIDL({ - // ...IDL, - // name: parsed.name - // }); - // if (parsed.instructions) setIDL({ - // ...IDL, - // instructions: parsed.instructions - // }); - // if (parsed.accounts) setIDL({ - // ...IDL, - // accounts: parsed.accounts - // }); - // if (parsed.types) setIDL({ - // ...IDL, - // types: parsed.types - // }); - // if (parsed.events) setIDL({ - // ...IDL, - // events: parsed.events - // }); - // if (parsed.errors) setIDL({ - // ...IDL, - // errors: parsed.errors - // }); - // } catch (e) { - // console.error(e); - // } - // }; - const navigation = [ { @@ -108,7 +56,7 @@ const Layout: FC = ({ children, openIDL, newProject, generateIDL, handleTem <>
    - + = ({ children, openIDL, newProject, generateIDL, handleTem {/* Static sidebar for desktop */} -
    + {/*
    */} {/* Sidebar component, swap this element with another sidebar if you like */} -
    -
    + {/*
    +
    */} {/* = ({ children, openIDL, newProject, generateIDL, handleTem src="https://tailwindui.com/img/logos/mark.svg?color=indigo&shade=600" alt="Your Company" /> */} -
    + {/*
    -
    +
    */} -
    -
    -
    +
    {children}
    diff --git a/ui/components/card/index.tsx b/ui/components/card/index.tsx index 55086eb..e16d249 100644 --- a/ui/components/card/index.tsx +++ b/ui/components/card/index.tsx @@ -1,24 +1,58 @@ import { FC, useState } from "react"; -import { TrashIcon } from "@heroicons/react/24/solid" +import { TrashIcon, CheckIcon } from "@heroicons/react/24/solid" +import { useIDL } from "@/context/IDL"; -export const Card: FC = ({ name, onClick, filter}) => { - const [showDelete, setShowDelete] = useState(false) - + + +export const Card: FC = ({ name, onClick, filter, instruction, index }) => { + const { IDL, setIDL } = useIDL() + const [showOptions, setShowOptions] = useState(false) + const [newName, setNewName] = useState(name) + + const editNameInstruction = () => { + setIDL({ + ...IDL, + [instruction]: IDL[instruction].map((inst: any, i: number) => { + if (index === i) { + return { + ...inst, + name: newName + } + } + return inst + }) + }) + } + + console.log(IDL) return (
    {setShowDelete(true)}} - onMouseOut={()=>{setShowDelete(false)}} + onMouseOver={() => { setShowOptions(true) }} + onMouseOut={() => { setShowOptions(false) }} > -

    {name}

    + { + setNewName(e.target.value) + }} + className=" w-full bg-transparent focus:outline-none" + /> { - showDelete && - + showOptions && +
    + + +
    }
    ) diff --git a/ui/components/section/EditInstruction/index.tsx b/ui/components/section/EditInstruction/index.tsx index facd165..2be5389 100644 --- a/ui/components/section/EditInstruction/index.tsx +++ b/ui/components/section/EditInstruction/index.tsx @@ -2,7 +2,6 @@ import { FC, useState, useEffect } from "react" import Tab from "./Tabs/tab" import { type_args } from "@/const" import { useIDL } from "@/context/IDL" -import { isProperty } from "./Tabs/verifyType" const EditInstructions: FC = ({ editingItem, instruction }) => { const [tabConfig, setTab] = useState("accounts") diff --git a/ui/components/section/index.tsx b/ui/components/section/index.tsx index 3af9e9e..cb9119b 100644 --- a/ui/components/section/index.tsx +++ b/ui/components/section/index.tsx @@ -1,6 +1,6 @@ import { FC, useState, useEffect } from "react"; import { NewItem } from "../NewItem"; -import { CheckIcon, XMarkIcon } from "@heroicons/react/24/solid" +import { CheckIcon } from "@heroicons/react/24/solid" import { Card } from "../card"; import Tab from "./EditInstruction/Tabs/tabWithoutType"; import EditInstructions from "./EditInstruction"; @@ -10,7 +10,14 @@ export const Section: FC = ({ instruction }) => { const { IDL, setIDL } = useIDL() const [newIntructionName, setNewIntructionName] = useState(""); const [editingItem, setEditingItem] = useState(0); + const [editingName, setEditingName] = useState() + // const editNameInstruction = (e) => { + // setIDL({ + // ...IDL, + // IDL[instruction][index].name = e.target.value + // }) + // } return (
    @@ -29,7 +36,7 @@ export const Section: FC = ({ instruction }) => { { - if(!IDL[instruction].find((inst: any)=>inst.name === newIntructionName)){ + if (!IDL[instruction].find((inst: any) => inst.name === newIntructionName)) { setIDL({ ...IDL, [instruction]: [ @@ -39,8 +46,9 @@ export const Section: FC = ({ instruction }) => { } ] }) - }} } + } + } />
    @@ -49,12 +57,14 @@ export const Section: FC = ({ instruction }) => { { instruction !== "errors" &&
    - + { - IDL[instruction]?.map((item: { name: string; }, index: number) => ( + IDL[instruction]?.map(({ name }: { name: string; }, index: number) => ( { const del = IDL[instruction].toSpliced(index, 1) setIDL({ From 4b93fafc717b30f54b2442c82134ef78d849fb0c Mon Sep 17 00:00:00 2001 From: "solis.sergioariel@gmail.com" <42455008+SergioAriel@users.noreply.github.com> Date: Thu, 15 Jun 2023 21:04:15 -0300 Subject: [PATCH 07/18] update edit name instructions --- ui/components/card/index.tsx | 38 ++++++++++++++++++++---------------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/ui/components/card/index.tsx b/ui/components/card/index.tsx index e16d249..e42c7d1 100644 --- a/ui/components/card/index.tsx +++ b/ui/components/card/index.tsx @@ -1,4 +1,4 @@ -import { FC, useState } from "react"; +import { FC, useEffect, useRef, useState } from "react"; import { TrashIcon, CheckIcon } from "@heroicons/react/24/solid" import { useIDL } from "@/context/IDL"; @@ -8,23 +8,27 @@ export const Card: FC = ({ name, onClick, filter, instruction, index }) => const { IDL, setIDL } = useIDL() const [showOptions, setShowOptions] = useState(false) const [newName, setNewName] = useState(name) + const timeoutName = useRef() - const editNameInstruction = () => { - setIDL({ - ...IDL, - [instruction]: IDL[instruction].map((inst: any, i: number) => { - if (index === i) { - return { - ...inst, - name: newName + useEffect(()=> { + clearTimeout(timeoutName.current) + + timeoutName.current = setTimeout(()=> { + + setIDL({ + ...IDL, + [instruction]: IDL[instruction].map((inst: any, i: number) => { + if (index === i) { + return { + ...inst, + name: newName + } } - } - return inst + return inst + }) }) - }) - } - - console.log(IDL) + }, 1000) + },[newName]) return (
    = ({ name, onClick, filter, instruction, index }) => { showOptions &&
    - + /> */} Date: Fri, 16 Jun 2023 13:12:08 -0300 Subject: [PATCH 08/18] Release CLI (#79) --- README.MD | 29 ++++++++++++-------------- cli/Cargo.lock | 22 +++++++++++--------- cli/Cargo.toml | 6 ++++-- cli/package.json | 25 +++++++++++++++++++++++ cli/pre-install.js | 42 ++++++++++++++++++++++++++++++++++++++ cli/src/main.rs | 2 +- cli/start.js | 23 +++++++++++++++++++++ cli/uninstall.js | 44 ++++++++++++++++++++++++++++++++++++++++ crate/Cargo.lock | 4 ++-- crate/Cargo.toml | 8 ++++++-- ui/src-tauri/Cargo.toml | 2 +- ui/src-tauri/src/main.rs | 2 +- 12 files changed, 174 insertions(+), 35 deletions(-) create mode 100644 cli/package.json create mode 100644 cli/pre-install.js create mode 100644 cli/start.js create mode 100644 cli/uninstall.js diff --git a/README.MD b/README.MD index 6d81cd0..68ea7db 100644 --- a/README.MD +++ b/README.MD @@ -1,39 +1,36 @@ # SODA: Ship a Solana program inferred from Solana data. A tool for Solana development and audit that allows you to automate tasks and build Solana programs and clients from: IDLs, on-chain data, existing repos, input and output examples of each instruction, and naming conventions, among other possible resources. -From IDL to whatever you want. - -### First Version Features +From an IDL to whatever you want. +### Current Features - **Generate Solana Program and client from IDL.** - **Write, read and edit IDL in a desktop UI.** - **Template based: create your custom building blocks.** - **Lang and chain agnostic.** -- **Compatibility with Anchor.** - -## Getting Started -This is a tool that can read an IDL and outputs the files needed for a Solana program and client code. Current default template outputs an Anchor-Workspace and a NEXT.js, Typescript and Tailwind client. +## Install Soda CLI -Do you prefer a different client? the program code in other language? write a template and all your projects can generate from it. +You can install the CLI using cargo or npm. +- Using cargo: +`cargo install soda-cli` -*** +- Using npm: +`npm i @use_soda/soda-cli` -#### Steps to run this project +## Install Soda Desktop -0. prerrequisites: rust, node -1. to run desktop program `cd ui/cargo tauri dev` -2. to run cli `cd cli` and follow usage instrutions bellow +To install the Desktop App you need to [download the lastest release](https://github.com/Web3-Builders-Alliance/soda/releases) #### CLI Usage -`soda`: from ./idl.json generates code using default template. +`soda-cli`: from ./idl.json generates code using default template. -`soda ` from idl file or url in `` generate project using default template. +`soda-cli ` from idl file or url in `` generate project using default template. -`soda ` from idl file or url in `` generate project using template in ``. +`soda-cli ` from idl file or url in `` generate project using template in ``. ## Note diff --git a/cli/Cargo.lock b/cli/Cargo.lock index 1fb1374..c46804b 100644 --- a/cli/Cargo.lock +++ b/cli/Cargo.lock @@ -553,25 +553,27 @@ dependencies = [ ] [[package]] -name = "soda" -version = "0.1.0" +name = "soda-cli" +version = "0.0.1" dependencies = [ + "clap", "env_logger", - "handlebars", - "serde", - "serde_derive", "serde_json", - "walkdir", + "soda_sol", ] [[package]] -name = "soda-cli" -version = "0.1.0" +name = "soda_sol" +version = "0.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "718c25eca226235a9debb10bc6e35d4460354a11d458e1f6dc548b26d12c8004" dependencies = [ - "clap", "env_logger", + "handlebars", + "serde", + "serde_derive", "serde_json", - "soda", + "walkdir", ] [[package]] diff --git a/cli/Cargo.toml b/cli/Cargo.toml index 422b6c5..8612e1c 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -1,7 +1,9 @@ [package] name = "soda-cli" -version = "0.1.0" +version = "0.0.1" edition = "2021" +license = "Apache-2.0" +description = "Generates Solana Projects from an IDL" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html @@ -9,4 +11,4 @@ edition = "2021" serde_json = "1.0.93" env_logger = "0.10" clap = { version = "4.1.8", features = ["derive"] } -soda = { path = "../crate" } \ No newline at end of file +soda_sol = "0.0.1" \ No newline at end of file diff --git a/cli/package.json b/cli/package.json new file mode 100644 index 0000000..752335a --- /dev/null +++ b/cli/package.json @@ -0,0 +1,25 @@ +{ + "name": "@use_soda/soda-cli", + "version": "0.0.1", + "description": "Generates Solana Projects from an IDL", + "main": "start.js", + "directories": { + "test": "tests" + }, + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "postinstall": "node ./pre-install.js", + "uninstall": "node ./uninstall.js" + }, + "keywords": [], + + "license": "Apache-2.0", + "files": [ + "pre-install.js", + "start.js", + "uninstall.js", + "README.md", + "LICENSE" + ] +} + \ No newline at end of file diff --git a/cli/pre-install.js b/cli/pre-install.js new file mode 100644 index 0000000..610c742 --- /dev/null +++ b/cli/pre-install.js @@ -0,0 +1,42 @@ +#!/usr/bin/env node + +const fs = require("fs"); +const path = require("path"); +const { exec } = require("child_process"); +const { homedir } = require("os"); + +const cargoDir = path.join(homedir(), ".cargo"); + +// check if directory exists +if (fs.existsSync(cargoDir)) { + // console.log("Cargo found."); +} else { + const setCargo = 'PATH="/$HOME/.cargo/bin:${PATH}"'; + console.log("Installing deps [cargo]."); + + exec( + `curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y && ${setCargo}`, + (error) => { + if (error) { + console.log( + "curl failed! Curl may not be installed on the OS. View https://curl.se/download.html to install." + ); + console.log(error); + } + } + ); +} + +const features = process.env.npm_config_features ? `--features ${process.env.npm_config_features.replace(",", " ")}` : ""; + +console.log(`Installing and compiling soda-cli 0.0.1 ${features} ...`); +exec(`cargo install soda-cli --vers 0.0.1 ${features}`, (error, stdout, stderr) => { + console.log(stdout); + if (error || stderr) { + console.log(error || stderr); + } else { + console.log("install finished!"); + } +}); + + \ No newline at end of file diff --git a/cli/src/main.rs b/cli/src/main.rs index 6880a9e..3da9ca8 100644 --- a/cli/src/main.rs +++ b/cli/src/main.rs @@ -1,6 +1,6 @@ #![allow(non_snake_case, non_camel_case_types)] use clap::Parser; -use soda::{generate_from_idl, IDL}; +use soda_sol::{generate_from_idl, IDL}; use std::error::Error; use std::fs::{canonicalize, File}; diff --git a/cli/start.js b/cli/start.js new file mode 100644 index 0000000..7ddabc1 --- /dev/null +++ b/cli/start.js @@ -0,0 +1,23 @@ +#!/usr/bin/env node + +const { exec } = require("child_process"); + +const controller = typeof AbortController !== "undefined" ? new AbortController() : { abort: () => {}, signal: typeof AbortSignal !== "undefined" ? new AbortSignal() : undefined }; +const { signal } = controller; + +exec("soda-cli", { signal }, (error, stdout, stderr) => { + stdout && console.log(stdout); + stderr && console.error(stderr); + if (error !== null) { + console.log(`exec error: ${error}`); + } +}); + +process.on("SIGTERM", () => { + controller && controller.abort(); +}); + +process.on("SIGINT", () => { + controller && controller.abort(); +}); + \ No newline at end of file diff --git a/cli/uninstall.js b/cli/uninstall.js new file mode 100644 index 0000000..0094345 --- /dev/null +++ b/cli/uninstall.js @@ -0,0 +1,44 @@ +#!/usr/bin/env node + +const fs = require("fs"); +const path = require("path"); +const { exec } = require("child_process"); +const { homedir } = require("os"); + +const cargoDir = path.join(homedir(), ".cargo"); + +// check if directory exists +if (fs.existsSync(cargoDir)) { + // console.log("Cargo found."); +} else { + const setCargo = 'PATH="/$HOME/.cargo/bin:${PATH}"'; + console.log("Installing deps [cargo]."); + + exec( + `curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y && ${setCargo}`, + (error) => { + if (error) { + console.log( + "curl failed! Curl may not be installed on the OS. View https://curl.se/download.html to install." + ); + console.log(error); + } + } + ); +} + +const binp = path.join(cargoDir, "bin", "soda-cli"); + +if (fs.existsSync(binp)) { + console.log("Uninstalling soda-cli..."); + exec(`cargo uninstall soda-cli`, (error, stdout, stderr) => { + console.log(stdout); + if (error || stderr) { + console.log(error || stderr); + } + }); +} else { + console.log("soda-cli not found skipping!"); +} + + \ No newline at end of file diff --git a/crate/Cargo.lock b/crate/Cargo.lock index 4841a16..3d7d3f2 100644 --- a/crate/Cargo.lock +++ b/crate/Cargo.lock @@ -480,8 +480,8 @@ dependencies = [ ] [[package]] -name = "soda" -version = "0.1.0" +name = "soda_sol" +version = "0.0.1" dependencies = [ "env_logger", "handlebars", diff --git a/crate/Cargo.toml b/crate/Cargo.toml index 74cfc64..7809132 100644 --- a/crate/Cargo.toml +++ b/crate/Cargo.toml @@ -1,7 +1,11 @@ [package] -name = "soda" -version = "0.1.0" +name = "soda_sol" +version = "0.0.1" edition = "2021" +license = "Apache-2.0" +description = "Generates Solana Projects from an IDL" +repository = "https://github.com/Web3-Builders-Alliance/soda" +authors = ["Juan Patricio Marchetto"] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/ui/src-tauri/Cargo.toml b/ui/src-tauri/Cargo.toml index 1a614aa..e7800c1 100644 --- a/ui/src-tauri/Cargo.toml +++ b/ui/src-tauri/Cargo.toml @@ -18,7 +18,7 @@ tauri-build = { version = "1.2.1", features = [] } tauri = { version = "1.2.5", features = ["dialog-all", "fs-create-dir", "fs-read-dir", "fs-read-file", "fs-write-file", "shell-open"] } serde_json = "1.0.93" env_logger = "0.10" -soda = { path = "../../crate" } +soda_sol = "0.0.1" [features] # by default Tauri runs in production mode diff --git a/ui/src-tauri/src/main.rs b/ui/src-tauri/src/main.rs index 9ad43d7..0dd3507 100644 --- a/ui/src-tauri/src/main.rs +++ b/ui/src-tauri/src/main.rs @@ -3,7 +3,7 @@ windows_subsystem = "windows" )] #![allow(non_snake_case, non_camel_case_types)] -use soda::{generate_from_idl, IDL}; +use soda_sol::{generate_from_idl, IDL}; use std::io::Write; use tauri::{CustomMenuItem, Menu, MenuItem, Submenu}; From 27f5e1bea86656eda08503e8c6813a9031301c9c Mon Sep 17 00:00:00 2001 From: Marche Date: Fri, 16 Jun 2023 13:20:10 -0300 Subject: [PATCH 09/18] Tauri State (#80) --- ui/context/IDL/index.tsx | 73 +++++++++++++++++-------- ui/helpers/about.ts | 2 +- ui/helpers/egg.ts | 14 ----- ui/helpers/generateProjectFiles.ts | 27 +++------- ui/helpers/handleBaseFolder.ts | 7 +++ ui/helpers/handleTemplateFolder.ts | 7 +++ ui/helpers/index.ts | 6 ++- ui/helpers/nameSetter.ts | 10 +++- ui/helpers/saveIDLFile.ts | 18 ++----- ui/pages/{egg.tsx => bubbles.tsx} | 2 +- ui/pages/index.tsx | 2 +- ui/src-tauri/src/main.rs | 87 ++++++++++++++++++++++-------- ui/src-tauri/tauri.conf.json | 7 +-- 13 files changed, 159 insertions(+), 103 deletions(-) delete mode 100644 ui/helpers/egg.ts create mode 100644 ui/helpers/handleBaseFolder.ts create mode 100644 ui/helpers/handleTemplateFolder.ts rename ui/pages/{egg.tsx => bubbles.tsx} (98%) diff --git a/ui/context/IDL/index.tsx b/ui/context/IDL/index.tsx index 6665081..088761e 100644 --- a/ui/context/IDL/index.tsx +++ b/ui/context/IDL/index.tsx @@ -1,34 +1,61 @@ -import { ReactNode, createContext, useContext, useEffect, SetStateAction, useState, Dispatch, useRef } from "react"; +import { + ReactNode, + createContext, + useContext, + useEffect, + SetStateAction, + useState, + Dispatch, + useRef, +} from "react"; +import { invoke } from "@tauri-apps/api/tauri"; +import { message } from "@tauri-apps/api/dialog"; const IDLContext = createContext({ - instructions: [], + instructions: [], + accounts: [], + types: [], + events: [], + errors: [], +}); + +const IDLProvider = ({ children }: { children: ReactNode }) => { + const [IDL, setIDL] = useState({ + name: "", + version: "0.1.0", + instructions: [ + { + name: "initialize", + }, + ], accounts: [], types: [], events: [], errors: [], -}); - -const IDLProvider = ({ children }: { children: ReactNode }) => { - const [IDL, setIDL] = useState({ - name: "", - version: "0.1.0", - instructions: [{ - name: "initialize", - }], - accounts: [], - types: [], - events: [], - errors: [], - metadata: undefined - }); - + metadata: undefined, + }); + const handleIDL = (IDL: any) => { + const idl = JSON.stringify(IDL, null, 2); + invoke("update_idl_string", { idl }) + .then(() => { + if (IDL.name === "Chewing Glass") { + invoke("new_window", { target: "bubbles" }).catch(async (e) => { + await message(e, { title: "Error", type: "error" }); + }); + } + setIDL(IDL); + }) + .catch(async (e) => { + await message(e, { title: "Error", type: "error" }); + }); + }; - return ( - - {children} - - ); + return ( + + {children} + + ); }; const useIDL = () => useContext(IDLContext); diff --git a/ui/helpers/about.ts b/ui/helpers/about.ts index 058e530..15a448b 100644 --- a/ui/helpers/about.ts +++ b/ui/helpers/about.ts @@ -2,7 +2,7 @@ import { message } from "@tauri-apps/api/dialog"; import { invoke } from "@tauri-apps/api/tauri"; const about = () => { - invoke("show_about") + invoke("new_window", {target: "about"}) .then( ()=>{console.log("about");} ) diff --git a/ui/helpers/egg.ts b/ui/helpers/egg.ts deleted file mode 100644 index 5b526d0..0000000 --- a/ui/helpers/egg.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { message } from "@tauri-apps/api/dialog"; -import { invoke } from "@tauri-apps/api/tauri"; - -const egg = () => { - invoke("egg") - .then(() => { - console.log("Egg"); - }) - .catch(async (e) => { - await message(e, { title: "Error", type: "error" }); - }); -}; - -export default egg; diff --git a/ui/helpers/generateProjectFiles.ts b/ui/helpers/generateProjectFiles.ts index 66f111c..6f54e43 100644 --- a/ui/helpers/generateProjectFiles.ts +++ b/ui/helpers/generateProjectFiles.ts @@ -1,32 +1,16 @@ import { message } from "@tauri-apps/api/dialog"; import { open } from "@tauri-apps/api/dialog"; import { invoke } from "@tauri-apps/api/tauri"; +import handleBaseFolder from "./handleBaseFolder"; +import handleTemplateFolder from "./handleTemplateFolder"; const generateProjectFiles = ( - version: string | undefined, name: string, - instructions: any, - accounts: any, - types: any, - events: any, - errors: any, - metadata: any, templateFolder: any, setTemplateFolder: Function, setBaseFolder: Function, ) => { return async () => { - const idl = JSON.stringify({ - version, - name, - instructions, - accounts, - types, - events, - errors, - metadata, - }); - try { let template = templateFolder; if (templateFolder === undefined) { @@ -39,7 +23,7 @@ const generateProjectFiles = ( directory: true, title: "Select a template folder", }); - setTemplateFolder(template); + handleTemplateFolder(template, setTemplateFolder); await message( "Select in wich folder you want to generate the project", "Select a output folder" @@ -50,9 +34,10 @@ const generateProjectFiles = ( directory: true, title: "Select a target folder", }); - setBaseFolder(result); + if (typeof result !== "string") return; + handleBaseFolder(result, setBaseFolder); - invoke("generate", { baseFolder: result, idl, templateFolder: template }) + invoke("generate") .then(async () => { await message(`Output path: ${result}/${name}`, "Project generated"); }) diff --git a/ui/helpers/handleBaseFolder.ts b/ui/helpers/handleBaseFolder.ts new file mode 100644 index 0000000..f463470 --- /dev/null +++ b/ui/helpers/handleBaseFolder.ts @@ -0,0 +1,7 @@ +import { invoke } from "@tauri-apps/api/tauri"; + +const handleBaseFolder = (base: string, setBaseFolder: Function) => { + invoke("update_base_folder_path", { base } ).then(() => setBaseFolder(base)); + }; + + export default handleBaseFolder; \ No newline at end of file diff --git a/ui/helpers/handleTemplateFolder.ts b/ui/helpers/handleTemplateFolder.ts new file mode 100644 index 0000000..221cb83 --- /dev/null +++ b/ui/helpers/handleTemplateFolder.ts @@ -0,0 +1,7 @@ +import { invoke } from "@tauri-apps/api/tauri"; + +const handleTemplateFolder = (template: string, setTemplateFolder: Function) => { + invoke("update_template_folder_path", { template } ).then(() => setTemplateFolder(template)); + }; + + export default handleTemplateFolder; \ No newline at end of file diff --git a/ui/helpers/index.ts b/ui/helpers/index.ts index 2d1ab9f..7699d8d 100644 --- a/ui/helpers/index.ts +++ b/ui/helpers/index.ts @@ -3,9 +3,10 @@ import selectTemplateFolder from "./selectTemplateFolder"; import openIDLFile from "./openIDLFile"; import cleanProject from "./cleanProject"; import saveIDLFile from "./saveIDLFile"; -import egg from "./egg"; import about from "./about"; import nameSetter from "./nameSetter"; +import handleBaseFolder from "./handleBaseFolder"; +import handleTemplateFolder from "./handleTemplateFolder"; export { generateProjectFiles, @@ -13,7 +14,8 @@ export { openIDLFile, cleanProject, saveIDLFile, - egg, about, nameSetter, + handleBaseFolder, + handleTemplateFolder, }; \ No newline at end of file diff --git a/ui/helpers/nameSetter.ts b/ui/helpers/nameSetter.ts index 6003e80..fe6b3a4 100644 --- a/ui/helpers/nameSetter.ts +++ b/ui/helpers/nameSetter.ts @@ -1,6 +1,12 @@ -import { egg } from "@/helpers"; +import { message } from "@tauri-apps/api/dialog"; +import { invoke } from "@tauri-apps/api/tauri"; const nameSetter = (name: string, setName: Function) => { - if (name === (process.env.egg ?? "Chewing Glass")) egg(); + if (name === "Chewing Glass") { + invoke("new_window", { target: "bubbles" }) + .catch(async (e) => { + await message(e, { title: "Error", type: "error" }); + }); + }; setName(name); } export default nameSetter; diff --git a/ui/helpers/saveIDLFile.ts b/ui/helpers/saveIDLFile.ts index a5f4cbb..f27ead2 100644 --- a/ui/helpers/saveIDLFile.ts +++ b/ui/helpers/saveIDLFile.ts @@ -1,6 +1,7 @@ import { invoke } from "@tauri-apps/api/tauri"; import { open } from "@tauri-apps/api/dialog"; import { message } from "@tauri-apps/api/dialog"; +import handleBaseFolder from "./handleBaseFolder"; const saveIDLFile = (setBaseFolder: Function, version: string | undefined, name: string, instructions: any, accounts: any, types: any, events: any, errors: any, metadata: any) => { return async () => { @@ -10,20 +11,9 @@ const saveIDLFile = (setBaseFolder: Function, version: string | undefined, name: directory: true, title: "Select a target folder", }); - setBaseFolder(result); - invoke("generate_idl_file", { - baseFolder: result, - idl: JSON.stringify({ - version, - name, - instructions, - accounts, - types, - events, - errors, - metadata, - }), - }) + if (typeof result !== "string")return; + handleBaseFolder(result, setBaseFolder); + invoke("generate_idl_file") .then(async () => { await message(`Output path: ${result}/idl.json`, "Project generated"); }) diff --git a/ui/pages/egg.tsx b/ui/pages/bubbles.tsx similarity index 98% rename from ui/pages/egg.tsx rename to ui/pages/bubbles.tsx index 3eccf81..1b5ab0f 100644 --- a/ui/pages/egg.tsx +++ b/ui/pages/bubbles.tsx @@ -6,7 +6,7 @@ interface Bubble { timestamp: number; } -export default function Egg() { +export default function Bubbles() { const [bubbles, setBubbles] = useState>([]); const [count, setCount] = useState(0); const [isPlaying, setIsPlaying] = useState(true); diff --git a/ui/pages/index.tsx b/ui/pages/index.tsx index 486d2b2..f373c9a 100644 --- a/ui/pages/index.tsx +++ b/ui/pages/index.tsx @@ -23,7 +23,7 @@ export default function Home() { // const [version, setVersion] = useState("0.1.0"); // const [metadata, setMetadata] = useState(undefined); - const exportData = generateProjectFiles(IDL.version, IDL.name, IDL.instructions, IDL.accounts, IDL.types, IDL.events, IDL.errors, IDL.metadata, templateFolder, setTemplateFolder, setBaseFolder); + const exportData = generateProjectFiles(IDL.name, templateFolder, setTemplateFolder, setBaseFolder); const handleTemplateFolder = selectTemplateFolder(setTemplateFolder); const openIDL = openIDLFile(IDL, setIDL); const newProject = cleanProject(setIDL); diff --git a/ui/src-tauri/src/main.rs b/ui/src-tauri/src/main.rs index 0dd3507..25a72fb 100644 --- a/ui/src-tauri/src/main.rs +++ b/ui/src-tauri/src/main.rs @@ -4,8 +4,18 @@ )] #![allow(non_snake_case, non_camel_case_types)] use soda_sol::{generate_from_idl, IDL}; -use std::io::Write; -use tauri::{CustomMenuItem, Menu, MenuItem, Submenu}; +use std::{io::Write, sync::Mutex}; +use tauri::{CustomMenuItem, Menu, MenuItem, Submenu, State}; + +#[derive(Debug)] +struct StateStruct { + base_folder: String, + template_folder: String, + idl_string: String, +} + +#[derive(Debug)] +struct AppState(Mutex); fn main() { let quit = CustomMenuItem::new("quit".to_string(), "Quit"); @@ -33,6 +43,13 @@ fn main() { .add_submenu(submenu); tauri::Builder::default() + .manage(AppState(Mutex::new( + StateStruct { + base_folder: ".".to_string(), + template_folder: ".".to_string(), + idl_string: r#"{"version":"0.1.0","name":"Project's Name","instructions":[{"name":"initialize","accounts":[],"args":[]}],"accounts":[],"types":[],"events":[],"errors":[],"metadata":{"address":""}}"#.to_string(), + } + ))) .menu(menu) .on_menu_event(|event| match event.menu_item_id() { "open_idl" => { @@ -78,43 +95,71 @@ fn main() { .invoke_handler(tauri::generate_handler![ generate, generate_idl_file, - egg, - show_about + update_base_folder_path, + new_window, + update_template_folder_path, + update_idl_string, ]) .run(tauri::generate_context!()) .expect("error while running tauri application"); } #[tauri::command] -fn generate(handle: tauri::AppHandle, baseFolder: &str, idl: &str, templateFolder: &str) -> () { - let idl: IDL = serde_json::from_str(idl).expect("error while reading json"); - generate_from_idl(baseFolder, idl, templateFolder); +fn generate(handle: tauri::AppHandle, state: State) -> () { + let (idl_string, base_folder, template_folder) = { + let state = state.0.lock().unwrap(); + ( + &state.idl_string.clone(), + &state.base_folder.clone(), + &state.template_folder.clone(), + ) + }; + let idl: IDL = serde_json::from_str(idl_string).expect("error while reading json"); + generate_from_idl(base_folder, idl, template_folder); } #[tauri::command] -fn generate_idl_file(handle: tauri::AppHandle, baseFolder: &str, idl: &str) -> () { - let idl: IDL = serde_json::from_str(idl).expect("error while reading json"); - let mut file = std::fs::File::create(format!("{}/idl.json", baseFolder)).unwrap(); +fn generate_idl_file(handle: tauri::AppHandle, state: State) -> () { + let (idl_string, base_folder) = { + let state = state.0.lock().unwrap(); + ( + &state.idl_string.clone(), + &state.base_folder.clone(), + ) + }; + let idl: IDL = serde_json::from_str(idl_string).expect("error while reading json"); + let mut file = std::fs::File::create(format!("{}/idl.json", base_folder)).unwrap(); file.write_all(serde_json::to_string_pretty(&idl).unwrap().as_bytes()) .unwrap(); } #[tauri::command] -async fn egg(handle: tauri::AppHandle) { - tauri::WindowBuilder::new(&handle, "egg", tauri::WindowUrl::App("egg".into())) - .title("Bubbles") +async fn new_window(handle: tauri::AppHandle, target: &str) -> Result<(), ()> { + tauri::WindowBuilder::new(&handle, target, tauri::WindowUrl::App(target.into())) + .title(target) .inner_size(800.0, 700.0) - .position(0.0, 0.0) .build() .unwrap(); + Ok(()) } #[tauri::command] -async fn show_about(handle: tauri::AppHandle) { - tauri::WindowBuilder::new(&handle, "about", tauri::WindowUrl::App("about".into())) - .title("About") - .inner_size(800.0, 700.0) - .position(500.0, 0.0) - .build() - .unwrap(); +fn update_base_folder_path(base: String, state: State) -> Result<(), ()> { + let mut state = state.0.lock().unwrap(); + state.base_folder = base; + Ok(()) +} + +#[tauri::command] +fn update_template_folder_path(template: String, state: State) -> Result<(), ()> { + let mut state = state.0.lock().unwrap(); + state.template_folder = template; + Ok(()) } + +#[tauri::command] +fn update_idl_string(idl: String, state: State) -> Result<(), ()> { + let mut state = state.0.lock().unwrap(); + state.idl_string = idl; + Ok(()) +} \ No newline at end of file diff --git a/ui/src-tauri/tauri.conf.json b/ui/src-tauri/tauri.conf.json index 611a1bb..aead85b 100644 --- a/ui/src-tauri/tauri.conf.json +++ b/ui/src-tauri/tauri.conf.json @@ -74,11 +74,12 @@ }, "windows": [ { + "title": "soda", "fullscreen": false, - "height": 600, + "maximized": true, "resizable": true, - "title": "soda", - "width": 800 + "height": 700, + "width": 1000 } ] } From eaeaeae3b4e9a8bcbf45c946fc40918792c5a877 Mon Sep 17 00:00:00 2001 From: Marche Date: Fri, 16 Jun 2023 13:22:35 -0300 Subject: [PATCH 10/18] add deterministic paths (#81) --- crate/src/lib.rs | 19 ++++++++-------- crate/src/structs.rs | 20 ++++++++--------- ...ach instructions}}{{name}}{{#each}}.ts.hbs | 22 +++++++++++++++++++ 3 files changed, 41 insertions(+), 20 deletions(-) create mode 100644 templates/anchor_nextjs/files/client/src/utils/{{#each instructions}}{{name}}{{#each}}.ts.hbs diff --git a/crate/src/lib.rs b/crate/src/lib.rs index 9975cbb..14b03a3 100644 --- a/crate/src/lib.rs +++ b/crate/src/lib.rs @@ -5,7 +5,7 @@ use walkdir::WalkDir; mod helpers; pub mod structs; use helpers::{apply_user_helpers, create_handlebars_registry}; -pub use structs::IDL; +pub use structs::{Data,IDL}; pub fn generate_from_idl(base_path: &str, idl: IDL, template_path: &str) { let mut handlebars = create_handlebars_registry(); @@ -53,26 +53,25 @@ pub fn generate_from_idl(base_path: &str, idl: IDL, template_path: &str) { files.push((path.clone(), path, [].to_vec())); } } + let mut data: Data = idl.into(); - for (path, template, _path_replacements) in files { - // The data struct will be parth of the finalization of the deterministic path feature - //let mut data: Data = idl.clone().into(); - //data.path_replacements = path_replacements; + for (path, template, path_replacements) in files { + data.path_replacements = path_replacements; let rel_path = path.get(template_path.len() + 6..path.len()).unwrap(); if path.split('.').last().unwrap() == "hbs" { let file_path = handlebars - .render_template(rel_path.get(0..rel_path.len() - 4).unwrap(), &idl) + .render_template(rel_path.get(0..rel_path.len() - 4).unwrap(), &data) .unwrap(); handlebars .register_template_file("template", template) .unwrap(); - let mut output_lib_file = File::create(format!("{}/{}/{}", base_path, &idl.name, file_path)).unwrap(); + let mut output_lib_file = File::create(format!("{}/{}/{}", base_path, &data.name, file_path)).unwrap(); handlebars - .render_to_write("template", &idl, &mut output_lib_file) + .render_to_write("template", &data, &mut output_lib_file) .unwrap(); } else { - let dir_path = handlebars.render_template(rel_path, &idl).unwrap(); - create_dir_all(format!("{}/{}/{}", base_path, &idl.name, dir_path)).unwrap(); + let dir_path = handlebars.render_template(rel_path, &data).unwrap(); + create_dir_all(format!("{}/{}/{}", base_path, &data.name, dir_path)).unwrap(); }; } } diff --git a/crate/src/structs.rs b/crate/src/structs.rs index ad125a6..59085b1 100644 --- a/crate/src/structs.rs +++ b/crate/src/structs.rs @@ -18,21 +18,21 @@ pub struct IDL { } #[derive(Deserialize, Serialize, Debug)] -pub(crate) struct Data { - pub(crate) version: String, - pub(crate) name: String, - pub(crate) instructions: Vec, +pub struct Data { + pub version: String, + pub name: String, + pub instructions: Vec, #[serde(default)] - pub(crate) accounts: Vec, + pub accounts: Vec, #[serde(default)] - pub(crate) types: Vec, + pub types: Vec, #[serde(default)] - pub(crate) events: Vec, + pub events: Vec, #[serde(default)] - pub(crate) errors: Vec, + pub errors: Vec, #[serde(default)] - pub(crate) metadata: Metadata, - pub(crate) path_replacements: Vec, + pub metadata: Metadata, + pub path_replacements: Vec, } impl From for Data { diff --git a/templates/anchor_nextjs/files/client/src/utils/{{#each instructions}}{{name}}{{#each}}.ts.hbs b/templates/anchor_nextjs/files/client/src/utils/{{#each instructions}}{{name}}{{#each}}.ts.hbs new file mode 100644 index 0000000..e7d9417 --- /dev/null +++ b/templates/anchor_nextjs/files/client/src/utils/{{#each instructions}}{{name}}{{#each}}.ts.hbs @@ -0,0 +1,22 @@ +import { web3 } from "@project-serum/anchor"; + +{{#each instructions}} +{{#if (eq name ../path_replacements.0)}} +export const {{name}} = (program,{{#each args}} {{name}},{{/each}}{{#each accounts}} {{name}},{{/each}}) => { + if (program) { + (async () => { + try { + const tx = await program.methods + .{{name}}({{#each args}} {{name}},{{/each}}) + .accounts({ + {{#each accounts}} + {{name}}, + {{/each}} + }) + .rpc(); + } catch (error) { console.log(error) } + })(); + } +}; +{{/if}} +{{/each}} \ No newline at end of file From de55f50f11f5d7a33a46cfe9790ac487a54a17ea Mon Sep 17 00:00:00 2001 From: Marche Date: Thu, 22 Jun 2023 12:16:36 -0300 Subject: [PATCH 11/18] change crate (#83) --- cli/Cargo.lock | 4 +- cli/Cargo.toml | 2 +- crate/Cargo.lock | 2 +- crate/Cargo.toml | 2 +- crate/src/helpers.rs | 31 ++-- crate/src/lib.rs | 147 +++++++++++++---- crate/src/structs.rs | 83 +++++++--- ui/src-tauri/Cargo.lock | 8 +- ui/src-tauri/Cargo.toml | 2 +- ui/src-tauri/template.json | 325 +++++++++++++++++++++++++++++++++++++ 10 files changed, 526 insertions(+), 80 deletions(-) create mode 100644 ui/src-tauri/template.json diff --git a/cli/Cargo.lock b/cli/Cargo.lock index c46804b..85c0811 100644 --- a/cli/Cargo.lock +++ b/cli/Cargo.lock @@ -564,9 +564,9 @@ dependencies = [ [[package]] name = "soda_sol" -version = "0.0.1" +version = "0.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "718c25eca226235a9debb10bc6e35d4460354a11d458e1f6dc548b26d12c8004" +checksum = "1646a373eb756dab91c2a499b41495a781846895df6c833aa0c5426fe04c9848" dependencies = [ "env_logger", "handlebars", diff --git a/cli/Cargo.toml b/cli/Cargo.toml index 8612e1c..47af478 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -11,4 +11,4 @@ description = "Generates Solana Projects from an IDL" serde_json = "1.0.93" env_logger = "0.10" clap = { version = "4.1.8", features = ["derive"] } -soda_sol = "0.0.1" \ No newline at end of file +soda_sol = "0.0.2" \ No newline at end of file diff --git a/crate/Cargo.lock b/crate/Cargo.lock index 3d7d3f2..70a8ee8 100644 --- a/crate/Cargo.lock +++ b/crate/Cargo.lock @@ -481,7 +481,7 @@ dependencies = [ [[package]] name = "soda_sol" -version = "0.0.1" +version = "0.0.2" dependencies = [ "env_logger", "handlebars", diff --git a/crate/Cargo.toml b/crate/Cargo.toml index 7809132..9ef5de7 100644 --- a/crate/Cargo.toml +++ b/crate/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "soda_sol" -version = "0.0.1" +version = "0.0.2" edition = "2021" license = "Apache-2.0" description = "Generates Solana Projects from an IDL" diff --git a/crate/src/helpers.rs b/crate/src/helpers.rs index 85126ad..fff72fc 100644 --- a/crate/src/helpers.rs +++ b/crate/src/helpers.rs @@ -1,7 +1,6 @@ use crate::structs; use handlebars::{handlebars_helper, Handlebars}; -use structs::{InstructionType, InstructionTypeVec, VecEnum, IDL}; -use walkdir::WalkDir; +use structs::{InstructionType, InstructionTypeVec, VecEnum, IDL, TemplateHelper}; pub(crate) fn create_handlebars_registry() -> Handlebars<'static> { handlebars_helper!(snakecase: |name: String| name.chars().fold( @@ -16,10 +15,14 @@ pub(crate) fn create_handlebars_registry() -> Handlebars<'static> { handlebars_helper!(pascalcase: |name: String|{ let mut passcalcaseChars: Vec = name.chars().collect(); + if passcalcaseChars.len() == 0 { + "".to_string() + } else { let first: Vec = passcalcaseChars[0].to_uppercase().to_string().chars().collect(); passcalcaseChars[0] = *first.first().unwrap(); let passcalcase: String = passcalcaseChars.into_iter().collect(); passcalcase + } } ); @@ -55,24 +58,10 @@ pub(crate) fn create_handlebars_registry() -> Handlebars<'static> { handlebars } -pub fn apply_user_helpers(template_path: &str, handlebars: &mut handlebars::Handlebars) { - for entry in WalkDir::new(format!("{}/helpers/", template_path)) { - match entry { - Ok(val) => { - let path = format!("{}", val.path().to_string_lossy()); - if path.split('.').count() > 1 { - let helper_name = path - .get(0..path.len() - 5) - .unwrap() - .split('/') - .last() - .unwrap(); - handlebars - .register_script_helper_file(helper_name, &path) - .unwrap(); - } - } - Err(err) => println!("{}", err), - } +pub fn apply_user_helpers(helpers: Vec, handlebars: &mut handlebars::Handlebars) { + for TemplateHelper{helper_name, script} in helpers { + handlebars + .register_script_helper(&helper_name, &script) + .unwrap(); } } diff --git a/crate/src/lib.rs b/crate/src/lib.rs index 14b03a3..f04cc1a 100644 --- a/crate/src/lib.rs +++ b/crate/src/lib.rs @@ -1,19 +1,101 @@ #![allow(non_snake_case, non_camel_case_types)] -use std::fs::{create_dir_all, File}; +use std::{ + fs::{create_dir_all, read, read_to_string, File}, + io::Write, + path::PathBuf, +}; use walkdir::WalkDir; mod helpers; pub mod structs; use helpers::{apply_user_helpers, create_handlebars_registry}; -pub use structs::{Data,IDL}; +pub use structs::{Content, Data, Template, IDL, TemplateFile, TemplateHelper}; pub fn generate_from_idl(base_path: &str, idl: IDL, template_path: &str) { - let mut handlebars = create_handlebars_registry(); - apply_user_helpers(template_path, &mut handlebars); + let template = get_template_from_fs(template_path); + let dinamyc_files = generate_project(template, &idl); + write_project_to_fs(dinamyc_files, idl, base_path); +} + +pub fn write_project_to_fs(dinamyc_files: Vec<(String, bool, Content)>, idl: IDL, base_path: &str) { + let handlebars = create_handlebars_registry(); + for (path, is_dir, content) in dinamyc_files { + if is_dir { + let dir_path = handlebars.render_template(&path, &idl).unwrap(); + create_dir_all(format!("{}/{}", base_path, dir_path)).unwrap(); + } else { + let file_path = handlebars.render_template(&path, &idl).unwrap(); + let mut output_lib_file = File::create(format!("{}/{}", base_path, file_path)).unwrap(); + match content { + Content::String(content) => { + let content = handlebars.render_template(&content, &idl).unwrap(); + output_lib_file.write_all(content.as_bytes()).unwrap(); + } + Content::Vec(content) => { + output_lib_file.write_all(content.as_slice()).unwrap(); + } + } + }; + } +} + +pub fn get_template_from_fs(template_path: &str) -> Template { let mut files = vec![]; for entry in WalkDir::new(format!("{}/files/", template_path)) { let entry = entry.unwrap(); - let path = format!("{}", entry.path().display()); + let path = &format!("{}", entry.path().display()); + let is_dir = PathBuf::from(path).is_dir(); + let content: Content = if is_dir { + structs::Content::String("".to_string()) + } else { + if PathBuf::from(path).extension().unwrap() == "hbs" { + structs::Content::String(read_to_string(path.clone()).unwrap()) + } else { + structs::Content::Vec(read(path.clone()).unwrap()) + } + }; + files.push(TemplateFile { + path: path + .get(template_path.len() + 6..path.len()) + .unwrap() + .to_string(), + content, + is_dir, + }); + } + let mut helpers = vec![]; + for entry in WalkDir::new(format!("{}/helpers/", template_path)) { + match entry { + Ok(val) => { + let path = format!("{}", val.path().to_string_lossy()); + if path.split('.').count() > 1 { + let script = read_to_string(val.path()).unwrap(); + let helper_name = path + .get(0..path.len() - 5) + .unwrap() + .split('/') + .last() + .unwrap() + .to_string(); + helpers.push(TemplateHelper{helper_name, script}); + } + } + Err(err) => println!("{}", err), + } + } + Template { files, helpers } +} + +pub fn generate_project( + template: Template, + idl: &IDL, +) -> Vec<(String, bool, Content)> { + let Template{files, helpers} = template; + let mut handlebars = create_handlebars_registry(); + apply_user_helpers(helpers, &mut handlebars); + let mut data: Data = idl.clone().into(); + let mut dinamic_files = vec![]; + for TemplateFile{path, content, is_dir} in files { if path.contains("{{#each") { let breaks: Vec<(usize, &str)> = path.match_indices("{{#each").collect(); if breaks.len() % 2 == 0 { @@ -26,21 +108,22 @@ pub fn generate_from_idl(base_path: &str, idl: IDL, template_path: &str) { let expresion_whithout_last: String = exp.get(0..exp.len() - 9).unwrap().to_string(); let expresion = format!("{},{}", expresion_whithout_last, "{{/each}}"); - let new_paths = handlebars.render_template(&expresion, &idl); + let new_paths = handlebars.render_template(&expresion, idl); let new_paths_unwrapped = new_paths.unwrap(); - let mut new_paths_with_template: Vec<(String, String, Vec)> = + let mut new_paths_with_template: Vec<(String, Content, bool, Vec)> = (new_paths_unwrapped) .split(',') .map(|middle_part| { ( format!("{}{}{}", prev_part, middle_part, last_part), - path.clone(), + content.clone(), + is_dir, [middle_part.to_string()].to_vec(), ) }) .collect(); - - files.append(&mut new_paths_with_template); + new_paths_with_template.pop(); + dinamic_files.append(&mut new_paths_with_template); } } } else { @@ -50,28 +133,36 @@ pub fn generate_from_idl(base_path: &str, idl: IDL, template_path: &str) { ) } } else { - files.push((path.clone(), path, [].to_vec())); + dinamic_files.push((path.clone(), content.clone(), is_dir, [].to_vec())); } } - let mut data: Data = idl.into(); - - for (path, template, path_replacements) in files { + let mut project: Vec<(String, bool, Content)> = vec![]; + for (path, template, is_dir, path_replacements) in dinamic_files { data.path_replacements = path_replacements; - let rel_path = path.get(template_path.len() + 6..path.len()).unwrap(); - if path.split('.').last().unwrap() == "hbs" { - let file_path = handlebars - .render_template(rel_path.get(0..rel_path.len() - 4).unwrap(), &data) - .unwrap(); - handlebars - .register_template_file("template", template) - .unwrap(); - let mut output_lib_file = File::create(format!("{}/{}/{}", base_path, &data.name, file_path)).unwrap(); - handlebars - .render_to_write("template", &data, &mut output_lib_file) - .unwrap(); + if is_dir { + let dir_path = handlebars.render_template(&path, &data).unwrap(); + project.push(( + format!("{}/{}", &data.name, dir_path), + is_dir, + structs::Content::String("".to_string()), + )) } else { - let dir_path = handlebars.render_template(rel_path, &data).unwrap(); - create_dir_all(format!("{}/{}/{}", base_path, &data.name, dir_path)).unwrap(); + let file_path = if PathBuf::from(&path).extension().unwrap() == "hbs" { + handlebars + .render_template(path.get(0..path.len() - 4).unwrap(), &data) + .unwrap() + } else { + handlebars.render_template(&path, &data).unwrap() + }; + let content: Content = match template { + Content::String(content) => { + structs::Content::String(handlebars.render_template(&content, &data).unwrap()) + } + Content::Vec(content) => structs::Content::Vec(content), + }; + + project.push((format!("{}/{}", &data.name, file_path), is_dir, content)) }; } + project } diff --git a/crate/src/structs.rs b/crate/src/structs.rs index 59085b1..f0e3566 100644 --- a/crate/src/structs.rs +++ b/crate/src/structs.rs @@ -1,6 +1,6 @@ use serde_derive::{self, Deserialize, Serialize}; use std::convert::From; -#[derive(Deserialize, Serialize, Debug)] +#[derive(Deserialize, Serialize, Debug, Clone)] pub struct IDL { pub(crate) version: String, pub(crate) name: String, @@ -51,7 +51,40 @@ impl From for Data { } } -#[derive(Deserialize, Serialize, Debug)] +impl From for IDL { + fn from(idl: Data) -> Self { + IDL { + version: idl.version, + name: idl.name, + instructions: idl.instructions, + accounts: idl.accounts, + types: idl.types, + events: idl.events, + errors: idl.errors, + metadata: idl.metadata, + } + } +} + +#[derive(Deserialize, Serialize, Debug, Clone)] +pub struct Template { + pub(crate) files: Vec, + pub(crate) helpers: Vec, +} + +#[derive(Deserialize, Serialize, Debug, Clone)] +pub struct TemplateFile { + pub(crate) path: String, + pub(crate) content: Content, + pub(crate) is_dir: bool, +} + +#[derive(Deserialize, Serialize, Debug, Clone)] +pub struct TemplateHelper { + pub(crate) helper_name: String, + pub(crate) script: String, +} +#[derive(Deserialize, Serialize, Debug, Clone)] pub struct Instruction { pub(crate) name: String, #[serde(default)] @@ -60,34 +93,34 @@ pub struct Instruction { pub(crate) args: Vec, } -#[derive(Deserialize, Serialize, Debug)] +#[derive(Deserialize, Serialize, Debug, Clone)] pub struct Accounts { pub(crate) name: String, #[serde(rename = "type")] pub(crate) type_: Type, } -#[derive(Deserialize, Serialize, Debug)] +#[derive(Deserialize, Serialize, Debug, Clone)] pub struct Types { pub(crate) name: String, #[serde(rename = "type")] pub(crate) type_: Kind, } -#[derive(Deserialize, Serialize, Debug)] +#[derive(Deserialize, Serialize, Debug, Clone)] pub struct Event { pub(crate) name: String, pub(crate) fields: Vec, } -#[derive(Deserialize, Serialize, Debug)] +#[derive(Deserialize, Serialize, Debug, Clone)] pub struct ErrorDesc { pub(crate) code: u64, pub(crate) name: String, pub(crate) msg: String, } -#[derive(Deserialize, Serialize, Debug)] +#[derive(Deserialize, Serialize, Debug, Clone)] pub struct InstructionAccount { pub(crate) name: String, pub(crate) isMut: bool, @@ -96,27 +129,27 @@ pub struct InstructionAccount { pub(crate) pda: PDA, } -#[derive(Deserialize, Serialize, Debug)] +#[derive(Deserialize, Serialize, Clone, Debug)] pub struct InstructionArgs { pub(crate) name: String, #[serde(rename = "type")] pub(crate) type_: InstructionType, } -#[derive(Deserialize, Serialize, Debug)] +#[derive(Deserialize, Serialize, Debug, Clone)] pub struct Type { pub(crate) kind: String, pub(crate) fields: Vec, } -#[derive(Deserialize, Serialize, Debug)] +#[derive(Deserialize, Serialize, Debug, Clone)] pub struct Kind { pub(crate) kind: String, #[serde(default)] pub(crate) variants: Vec, } -#[derive(Deserialize, Serialize, Debug)] +#[derive(Deserialize, Serialize, Debug, Clone)] pub struct Field { pub(crate) name: String, #[serde(rename = "type")] @@ -124,12 +157,12 @@ pub struct Field { pub(crate) index: bool, } -#[derive(Deserialize, Serialize, Default, Debug)] +#[derive(Deserialize, Serialize, Debug, Clone, Default)] pub struct PDA { pub(crate) seeds: Vec, } -#[derive(Deserialize, Serialize, Debug)] +#[derive(Deserialize, Serialize, Debug, Clone)] pub struct Seed { pub(crate) kind: String, #[serde(rename = "type")] @@ -140,7 +173,7 @@ pub struct Seed { pub(crate) path: String, } -#[derive(Deserialize, Serialize, Debug)] +#[derive(Deserialize, Serialize, Debug, Clone)] #[serde(untagged)] pub enum InstructionType { String(String), @@ -149,7 +182,7 @@ pub enum InstructionType { option(OptionType), } -#[derive(Deserialize, Serialize, Debug)] +#[derive(Deserialize, Serialize, Debug, Clone)] #[serde(untagged)] pub enum InstructionTypeVec { String(String), @@ -157,41 +190,47 @@ pub enum InstructionTypeVec { vec(Vec_), } -#[derive(Deserialize, Serialize, Debug)] +#[derive(Deserialize, Serialize, Debug, Clone)] pub struct Defined { pub(crate) defined: String, } -#[derive(Deserialize, Serialize, Debug)] +#[derive(Deserialize, Serialize, Debug, Clone)] pub struct Vec_ { pub(crate) vec: VecEnum, } -#[derive(Deserialize, Serialize, Debug)] +#[derive(Deserialize, Serialize, Debug, Clone)] #[serde(untagged)] pub enum VecEnum { String(String), defined(Defined), } -#[derive(Deserialize, Serialize, Debug)] +#[derive(Deserialize, Serialize, Debug, Clone)] pub struct OptionType { pub(crate) option: String, } -#[derive(Deserialize, Serialize, Debug)] +#[derive(Deserialize, Serialize, Debug, Clone)] pub struct Name { pub(crate) name: String, } -#[derive(Deserialize, Serialize, Debug)] +#[derive(Deserialize, Serialize, Debug, Clone)] pub struct TypeFields { pub(crate) name: String, #[serde(rename = "type")] pub(crate) type_: InstructionType, } -#[derive(Deserialize, Serialize, Debug, Default)] +#[derive(Deserialize, Serialize, Debug, Clone, Default)] pub struct Metadata { pub(crate) address: String, } + +#[derive(Deserialize, Serialize, Debug, Clone)] +pub enum Content { + String(String), + Vec(Vec) +} \ No newline at end of file diff --git a/ui/src-tauri/Cargo.lock b/ui/src-tauri/Cargo.lock index c61ec0f..f69d046 100644 --- a/ui/src-tauri/Cargo.lock +++ b/ui/src-tauri/Cargo.lock @@ -57,7 +57,7 @@ version = "0.1.0" dependencies = [ "env_logger", "serde_json", - "soda", + "soda_sol", "tauri", "tauri-build", ] @@ -2393,8 +2393,10 @@ dependencies = [ ] [[package]] -name = "soda" -version = "0.1.0" +name = "soda_sol" +version = "0.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1646a373eb756dab91c2a499b41495a781846895df6c833aa0c5426fe04c9848" dependencies = [ "env_logger", "handlebars", diff --git a/ui/src-tauri/Cargo.toml b/ui/src-tauri/Cargo.toml index e7800c1..24a37dd 100644 --- a/ui/src-tauri/Cargo.toml +++ b/ui/src-tauri/Cargo.toml @@ -18,7 +18,7 @@ tauri-build = { version = "1.2.1", features = [] } tauri = { version = "1.2.5", features = ["dialog-all", "fs-create-dir", "fs-read-dir", "fs-read-file", "fs-write-file", "shell-open"] } serde_json = "1.0.93" env_logger = "0.10" -soda_sol = "0.0.1" +soda_sol = "0.0.2" [features] # by default Tauri runs in production mode diff --git a/ui/src-tauri/template.json b/ui/src-tauri/template.json new file mode 100644 index 0000000..3cd7d1c --- /dev/null +++ b/ui/src-tauri/template.json @@ -0,0 +1,325 @@ +{ + "files": [ + { + "path": "/", + "content": { + "String": "" + }, + "is_dir": true + }, + { + "path": "/anchor_workspace", + "content": { + "String": "" + }, + "is_dir": true + }, + { + "path": "/anchor_workspace/.prettierignore.hbs", + "content": { + "String": "\n.anchor\n.DS_Store\ntarget\nnode_modules\ndist\nbuild\ntest-ledger\n" + }, + "is_dir": false + }, + { + "path": "/anchor_workspace/Anchor.toml.hbs", + "content": { + "String": "[features]\nseeds = false\nskip-lint = false\n[programs.localnet]\nempty = \"Fg6PaFpoGXkYsidMpWTK6W2BeZ7FEfcYkg476zPFsLnS\"\n\n[registry]\nurl = \"https://api.apr.dev\"\n\n[provider]\ncluster = \"localnet\"\nwallet = \"~/.config/solana/id.json\"\n\n[scripts]\ntest = \"yarn run ts-mocha -p ./tsconfig.json -t 1000000 tests/**/*.ts\"\n" + }, + "is_dir": false + }, + { + "path": "/anchor_workspace/Cargo.toml.hbs", + "content": { + "String": "[workspace]\nmembers = [\n \"programs/*\"\n]\n\n[profile.release]\noverflow-checks = true\nlto = \"fat\"\ncodegen-units = 1\n[profile.release.build-override]\nopt-level = 3\nincremental = false\ncodegen-units = 1\n" + }, + "is_dir": false + }, + { + "path": "/anchor_workspace/package.json.hbs", + "content": { + "String": "{\n \"scripts\": {\n \"lint:fix\": \"prettier */*.js \\\"*/**/*{.js,.ts}\\\" -w\",\n \"lint\": \"prettier */*.js \\\"*/**/*{.js,.ts}\\\" --check\"\n },\n \"dependencies\": {\n \"@project-serum/anchor\": \"^0.25.0\"\n },\n \"devDependencies\": {\n \"chai\": \"^4.3.4\",\n \"mocha\": \"^9.0.3\",\n \"ts-mocha\": \"^10.0.0\",\n \"@types/bn.js\": \"^5.1.0\",\n \"@types/chai\": \"^4.3.0\",\n \"@types/mocha\": \"^9.0.0\",\n \"typescript\": \"^4.3.5\",\n \"prettier\": \"^2.6.2\"\n }\n}\n" + }, + "is_dir": false + }, + { + "path": "/anchor_workspace/yarn.lock.hbs", + "content": { + "String": "# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.\n# yarn lockfile v1\n\n\n\"@babel/runtime@^7.12.5\", \"@babel/runtime@^7.17.2\":\n version \"7.21.0\"\n resolved \"https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.21.0.tgz#5b55c9d394e5fcf304909a8b00c07dc217b56673\"\n integrity sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==\n dependencies:\n regenerator-runtime \"^0.13.11\"\n\n\"@noble/ed25519@^1.7.0\":\n version \"1.7.3\"\n resolved \"https://registry.yarnpkg.com/@noble/ed25519/-/ed25519-1.7.3.tgz#57e1677bf6885354b466c38e2b620c62f45a7123\"\n integrity sha512-iR8GBkDt0Q3GyaVcIu7mSsVIqnFbkbRzGLWlvhwunacoLwt4J3swfKhfaM6rN6WY+TBGoYT1GtT1mIh2/jGbRQ==\n\n\"@noble/hashes@^1.1.2\":\n version \"1.2.0\"\n resolved \"https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.2.0.tgz#a3150eeb09cc7ab207ebf6d7b9ad311a9bdbed12\"\n integrity sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==\n\n\"@noble/secp256k1@^1.6.3\":\n version \"1.7.1\"\n resolved \"https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.7.1.tgz#b251c70f824ce3ca7f8dc3df08d58f005cc0507c\"\n integrity sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==\n\n\"@project-serum/anchor@^0.25.0\":\n version \"0.25.0\"\n resolved \"https://registry.yarnpkg.com/@project-serum/anchor/-/anchor-0.25.0.tgz#88ee4843336005cf5a64c80636ce626f0996f503\"\n integrity sha512-E6A5Y/ijqpfMJ5psJvbw0kVTzLZFUcOFgs6eSM2M2iWE1lVRF18T6hWZVNl6zqZsoz98jgnNHtVGJMs+ds9A7A==\n dependencies:\n \"@project-serum/borsh\" \"^0.2.5\"\n \"@solana/web3.js\" \"^1.36.0\"\n base64-js \"^1.5.1\"\n bn.js \"^5.1.2\"\n bs58 \"^4.0.1\"\n buffer-layout \"^1.2.2\"\n camelcase \"^5.3.1\"\n cross-fetch \"^3.1.5\"\n crypto-hash \"^1.3.0\"\n eventemitter3 \"^4.0.7\"\n js-sha256 \"^0.9.0\"\n pako \"^2.0.3\"\n snake-case \"^3.0.4\"\n superstruct \"^0.15.4\"\n toml \"^3.0.0\"\n\n\"@project-serum/borsh@^0.2.5\":\n version \"0.2.5\"\n resolved \"https://registry.yarnpkg.com/@project-serum/borsh/-/borsh-0.2.5.tgz#6059287aa624ecebbfc0edd35e4c28ff987d8663\"\n integrity sha512-UmeUkUoKdQ7rhx6Leve1SssMR/Ghv8qrEiyywyxSWg7ooV7StdpPBhciiy5eB3T0qU1BXvdRNC8TdrkxK7WC5Q==\n dependencies:\n bn.js \"^5.1.2\"\n buffer-layout \"^1.2.0\"\n\n\"@solana/buffer-layout@^4.0.0\":\n version \"4.0.1\"\n resolved \"https://registry.yarnpkg.com/@solana/buffer-layout/-/buffer-layout-4.0.1.tgz#b996235eaec15b1e0b5092a8ed6028df77fa6c15\"\n integrity sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA==\n dependencies:\n buffer \"~6.0.3\"\n\n\"@solana/web3.js@^1.36.0\":\n version \"1.73.2\"\n resolved \"https://registry.yarnpkg.com/@solana/web3.js/-/web3.js-1.73.2.tgz#4b30cd402b35733dae3a7d0b638be26a7742b395\"\n integrity sha512-9WACF8W4Nstj7xiDw3Oom22QmrhBh0VyZyZ7JvvG3gOxLWLlX3hvm5nPVJOGcCE/9fFavBbCUb5A6CIuvMGdoA==\n dependencies:\n \"@babel/runtime\" \"^7.12.5\"\n \"@noble/ed25519\" \"^1.7.0\"\n \"@noble/hashes\" \"^1.1.2\"\n \"@noble/secp256k1\" \"^1.6.3\"\n \"@solana/buffer-layout\" \"^4.0.0\"\n agentkeepalive \"^4.2.1\"\n bigint-buffer \"^1.1.5\"\n bn.js \"^5.0.0\"\n borsh \"^0.7.0\"\n bs58 \"^4.0.1\"\n buffer \"6.0.1\"\n fast-stable-stringify \"^1.0.0\"\n jayson \"^3.4.4\"\n node-fetch \"2\"\n rpc-websockets \"^7.5.0\"\n superstruct \"^0.14.2\"\n\n\"@types/bn.js@^5.1.0\":\n version \"5.1.1\"\n resolved \"https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.1.tgz#b51e1b55920a4ca26e9285ff79936bbdec910682\"\n integrity sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g==\n dependencies:\n \"@types/node\" \"*\"\n\n\"@types/chai@^4.3.0\":\n version \"4.3.4\"\n resolved \"https://registry.yarnpkg.com/@types/chai/-/chai-4.3.4.tgz#e913e8175db8307d78b4e8fa690408ba6b65dee4\"\n integrity sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==\n\n\"@types/connect@^3.4.33\":\n version \"3.4.35\"\n resolved \"https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1\"\n integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==\n dependencies:\n \"@types/node\" \"*\"\n\n\"@types/json5@^0.0.29\":\n version \"0.0.29\"\n resolved \"https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee\"\n integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==\n\n\"@types/mocha@^9.0.0\":\n version \"9.1.1\"\n resolved \"https://registry.yarnpkg.com/@types/mocha/-/mocha-9.1.1.tgz#e7c4f1001eefa4b8afbd1eee27a237fee3bf29c4\"\n integrity sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw==\n\n\"@types/node@*\":\n version \"18.14.0\"\n resolved \"https://registry.yarnpkg.com/@types/node/-/node-18.14.0.tgz#94c47b9217bbac49d4a67a967fdcdeed89ebb7d0\"\n integrity sha512-5EWrvLmglK+imbCJY0+INViFWUHg1AHel1sq4ZVSfdcNqGy9Edv3UB9IIzzg+xPaUcAgZYcfVs2fBcwDeZzU0A==\n\n\"@types/node@^12.12.54\":\n version \"12.20.55\"\n resolved \"https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240\"\n integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==\n\n\"@types/ws@^7.4.4\":\n version \"7.4.7\"\n resolved \"https://registry.yarnpkg.com/@types/ws/-/ws-7.4.7.tgz#f7c390a36f7a0679aa69de2d501319f4f8d9b702\"\n integrity sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==\n dependencies:\n \"@types/node\" \"*\"\n\n\"@ungap/promise-all-settled@1.1.2\":\n version \"1.1.2\"\n resolved \"https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44\"\n integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==\n\nJSONStream@^1.3.5:\n version \"1.3.5\"\n resolved \"https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0\"\n integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==\n dependencies:\n jsonparse \"^1.2.0\"\n through \">=2.2.7 <3\"\n\nagentkeepalive@^4.2.1:\n version \"4.2.1\"\n resolved \"https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.2.1.tgz#a7975cbb9f83b367f06c90cc51ff28fe7d499717\"\n integrity sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==\n dependencies:\n debug \"^4.1.0\"\n depd \"^1.1.2\"\n humanize-ms \"^1.2.1\"\n\nansi-colors@4.1.1:\n version \"4.1.1\"\n resolved \"https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348\"\n integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==\n\nansi-regex@^5.0.1:\n version \"5.0.1\"\n resolved \"https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304\"\n integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==\n\nansi-styles@^4.0.0, ansi-styles@^4.1.0:\n version \"4.3.0\"\n resolved \"https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937\"\n integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\n dependencies:\n color-convert \"^2.0.1\"\n\nanymatch@~3.1.2:\n version \"3.1.3\"\n resolved \"https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e\"\n integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==\n dependencies:\n normalize-path \"^3.0.0\"\n picomatch \"^2.0.4\"\n\nargparse@^2.0.1:\n version \"2.0.1\"\n resolved \"https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38\"\n integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==\n\narrify@^1.0.0:\n version \"1.0.1\"\n resolved \"https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d\"\n integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==\n\nassertion-error@^1.1.0:\n version \"1.1.0\"\n resolved \"https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b\"\n integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==\n\nbalanced-match@^1.0.0:\n version \"1.0.2\"\n resolved \"https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee\"\n integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==\n\nbase-x@^3.0.2:\n version \"3.0.9\"\n resolved \"https://registry.yarnpkg.com/base-x/-/base-x-3.0.9.tgz#6349aaabb58526332de9f60995e548a53fe21320\"\n integrity sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==\n dependencies:\n safe-buffer \"^5.0.1\"\n\nbase64-js@^1.3.1, base64-js@^1.5.1:\n version \"1.5.1\"\n resolved \"https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a\"\n integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==\n\nbigint-buffer@^1.1.5:\n version \"1.1.5\"\n resolved \"https://registry.yarnpkg.com/bigint-buffer/-/bigint-buffer-1.1.5.tgz#d038f31c8e4534c1f8d0015209bf34b4fa6dd442\"\n integrity sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA==\n dependencies:\n bindings \"^1.3.0\"\n\nbinary-extensions@^2.0.0:\n version \"2.2.0\"\n resolved \"https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d\"\n integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==\n\nbindings@^1.3.0:\n version \"1.5.0\"\n resolved \"https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df\"\n integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==\n dependencies:\n file-uri-to-path \"1.0.0\"\n\nbn.js@^5.0.0, bn.js@^5.1.2, bn.js@^5.2.0:\n version \"5.2.1\"\n resolved \"https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70\"\n integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==\n\nborsh@^0.7.0:\n version \"0.7.0\"\n resolved \"https://registry.yarnpkg.com/borsh/-/borsh-0.7.0.tgz#6e9560d719d86d90dc589bca60ffc8a6c51fec2a\"\n integrity sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA==\n dependencies:\n bn.js \"^5.2.0\"\n bs58 \"^4.0.0\"\n text-encoding-utf-8 \"^1.0.2\"\n\nbrace-expansion@^1.1.7:\n version \"1.1.11\"\n resolved \"https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd\"\n integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==\n dependencies:\n balanced-match \"^1.0.0\"\n concat-map \"0.0.1\"\n\nbraces@~3.0.2:\n version \"3.0.2\"\n resolved \"https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107\"\n integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==\n dependencies:\n fill-range \"^7.0.1\"\n\nbrowser-stdout@1.3.1:\n version \"1.3.1\"\n resolved \"https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60\"\n integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==\n\nbs58@^4.0.0, bs58@^4.0.1:\n version \"4.0.1\"\n resolved \"https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a\"\n integrity sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==\n dependencies:\n base-x \"^3.0.2\"\n\nbuffer-from@^1.0.0, buffer-from@^1.1.0:\n version \"1.1.2\"\n resolved \"https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5\"\n integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==\n\nbuffer-layout@^1.2.0, buffer-layout@^1.2.2:\n version \"1.2.2\"\n resolved \"https://registry.yarnpkg.com/buffer-layout/-/buffer-layout-1.2.2.tgz#b9814e7c7235783085f9ca4966a0cfff112259d5\"\n integrity sha512-kWSuLN694+KTk8SrYvCqwP2WcgQjoRCiF5b4QDvkkz8EmgD+aWAIceGFKMIAdmF/pH+vpgNV3d3kAKorcdAmWA==\n\nbuffer@6.0.1:\n version \"6.0.1\"\n resolved \"https://registry.yarnpkg.com/buffer/-/buffer-6.0.1.tgz#3cbea8c1463e5a0779e30b66d4c88c6ffa182ac2\"\n integrity sha512-rVAXBwEcEoYtxnHSO5iWyhzV/O1WMtkUYWlfdLS7FjU4PnSJJHEfHXi/uHPI5EwltmOA794gN3bm3/pzuctWjQ==\n dependencies:\n base64-js \"^1.3.1\"\n ieee754 \"^1.2.1\"\n\nbuffer@~6.0.3:\n version \"6.0.3\"\n resolved \"https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6\"\n integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==\n dependencies:\n base64-js \"^1.3.1\"\n ieee754 \"^1.2.1\"\n\nbufferutil@^4.0.1:\n version \"4.0.7\"\n resolved \"https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.7.tgz#60c0d19ba2c992dd8273d3f73772ffc894c153ad\"\n integrity sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw==\n dependencies:\n node-gyp-build \"^4.3.0\"\n\ncamelcase@^5.3.1:\n version \"5.3.1\"\n resolved \"https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320\"\n integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==\n\ncamelcase@^6.0.0:\n version \"6.3.0\"\n resolved \"https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a\"\n integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==\n\nchai@^4.3.4:\n version \"4.3.7\"\n resolved \"https://registry.yarnpkg.com/chai/-/chai-4.3.7.tgz#ec63f6df01829088e8bf55fca839bcd464a8ec51\"\n integrity sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==\n dependencies:\n assertion-error \"^1.1.0\"\n check-error \"^1.0.2\"\n deep-eql \"^4.1.2\"\n get-func-name \"^2.0.0\"\n loupe \"^2.3.1\"\n pathval \"^1.1.1\"\n type-detect \"^4.0.5\"\n\nchalk@^4.1.0:\n version \"4.1.2\"\n resolved \"https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01\"\n integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\n dependencies:\n ansi-styles \"^4.1.0\"\n supports-color \"^7.1.0\"\n\ncheck-error@^1.0.2:\n version \"1.0.2\"\n resolved \"https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82\"\n integrity sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==\n\nchokidar@3.5.3:\n version \"3.5.3\"\n resolved \"https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd\"\n integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==\n dependencies:\n anymatch \"~3.1.2\"\n braces \"~3.0.2\"\n glob-parent \"~5.1.2\"\n is-binary-path \"~2.1.0\"\n is-glob \"~4.0.1\"\n normalize-path \"~3.0.0\"\n readdirp \"~3.6.0\"\n optionalDependencies:\n fsevents \"~2.3.2\"\n\ncliui@^7.0.2:\n version \"7.0.4\"\n resolved \"https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f\"\n integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==\n dependencies:\n string-width \"^4.2.0\"\n strip-ansi \"^6.0.0\"\n wrap-ansi \"^7.0.0\"\n\ncolor-convert@^2.0.1:\n version \"2.0.1\"\n resolved \"https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3\"\n integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\n dependencies:\n color-name \"~1.1.4\"\n\ncolor-name@~1.1.4:\n version \"1.1.4\"\n resolved \"https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2\"\n integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\n\ncommander@^2.20.3:\n version \"2.20.3\"\n resolved \"https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33\"\n integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==\n\nconcat-map@0.0.1:\n version \"0.0.1\"\n resolved \"https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b\"\n integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==\n\ncross-fetch@^3.1.5:\n version \"3.1.5\"\n resolved \"https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f\"\n integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==\n dependencies:\n node-fetch \"2.6.7\"\n\ncrypto-hash@^1.3.0:\n version \"1.3.0\"\n resolved \"https://registry.yarnpkg.com/crypto-hash/-/crypto-hash-1.3.0.tgz#b402cb08f4529e9f4f09346c3e275942f845e247\"\n integrity sha512-lyAZ0EMyjDkVvz8WOeVnuCPvKVBXcMv1l5SVqO1yC7PzTwrD/pPje/BIRbWhMoPe436U+Y2nD7f5bFx0kt+Sbg==\n\ndebug@4.3.3:\n version \"4.3.3\"\n resolved \"https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664\"\n integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==\n dependencies:\n ms \"2.1.2\"\n\ndebug@^4.1.0:\n version \"4.3.4\"\n resolved \"https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865\"\n integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==\n dependencies:\n ms \"2.1.2\"\n\ndecamelize@^4.0.0:\n version \"4.0.0\"\n resolved \"https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837\"\n integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==\n\ndeep-eql@^4.1.2:\n version \"4.1.3\"\n resolved \"https://registry.yarnpkg.com/deep-eql/-/deep-eql-4.1.3.tgz#7c7775513092f7df98d8df9996dd085eb668cc6d\"\n integrity sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==\n dependencies:\n type-detect \"^4.0.0\"\n\ndelay@^5.0.0:\n version \"5.0.0\"\n resolved \"https://registry.yarnpkg.com/delay/-/delay-5.0.0.tgz#137045ef1b96e5071060dd5be60bf9334436bd1d\"\n integrity sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==\n\ndepd@^1.1.2:\n version \"1.1.2\"\n resolved \"https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9\"\n integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==\n\ndiff@5.0.0:\n version \"5.0.0\"\n resolved \"https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b\"\n integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==\n\ndiff@^3.1.0:\n version \"3.5.0\"\n resolved \"https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12\"\n integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==\n\ndot-case@^3.0.4:\n version \"3.0.4\"\n resolved \"https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751\"\n integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==\n dependencies:\n no-case \"^3.0.4\"\n tslib \"^2.0.3\"\n\nemoji-regex@^8.0.0:\n version \"8.0.0\"\n resolved \"https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37\"\n integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==\n\nes6-promise@^4.0.3:\n version \"4.2.8\"\n resolved \"https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a\"\n integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==\n\nes6-promisify@^5.0.0:\n version \"5.0.0\"\n resolved \"https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203\"\n integrity sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==\n dependencies:\n es6-promise \"^4.0.3\"\n\nescalade@^3.1.1:\n version \"3.1.1\"\n resolved \"https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40\"\n integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==\n\nescape-string-regexp@4.0.0:\n version \"4.0.0\"\n resolved \"https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34\"\n integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==\n\neventemitter3@^4.0.7:\n version \"4.0.7\"\n resolved \"https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f\"\n integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==\n\neyes@^0.1.8:\n version \"0.1.8\"\n resolved \"https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0\"\n integrity sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==\n\nfast-stable-stringify@^1.0.0:\n version \"1.0.0\"\n resolved \"https://registry.yarnpkg.com/fast-stable-stringify/-/fast-stable-stringify-1.0.0.tgz#5c5543462b22aeeefd36d05b34e51c78cb86d313\"\n integrity sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag==\n\nfile-uri-to-path@1.0.0:\n version \"1.0.0\"\n resolved \"https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd\"\n integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==\n\nfill-range@^7.0.1:\n version \"7.0.1\"\n resolved \"https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40\"\n integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==\n dependencies:\n to-regex-range \"^5.0.1\"\n\nfind-up@5.0.0:\n version \"5.0.0\"\n resolved \"https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc\"\n integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==\n dependencies:\n locate-path \"^6.0.0\"\n path-exists \"^4.0.0\"\n\nflat@^5.0.2:\n version \"5.0.2\"\n resolved \"https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241\"\n integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==\n\nfs.realpath@^1.0.0:\n version \"1.0.0\"\n resolved \"https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f\"\n integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==\n\nfsevents@~2.3.2:\n version \"2.3.2\"\n resolved \"https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a\"\n integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==\n\nget-caller-file@^2.0.5:\n version \"2.0.5\"\n resolved \"https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e\"\n integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==\n\nget-func-name@^2.0.0:\n version \"2.0.0\"\n resolved \"https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41\"\n integrity sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==\n\nglob-parent@~5.1.2:\n version \"5.1.2\"\n resolved \"https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4\"\n integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==\n dependencies:\n is-glob \"^4.0.1\"\n\nglob@7.2.0:\n version \"7.2.0\"\n resolved \"https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023\"\n integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==\n dependencies:\n fs.realpath \"^1.0.0\"\n inflight \"^1.0.4\"\n inherits \"2\"\n minimatch \"^3.0.4\"\n once \"^1.3.0\"\n path-is-absolute \"^1.0.0\"\n\ngrowl@1.10.5:\n version \"1.10.5\"\n resolved \"https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e\"\n integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==\n\nhas-flag@^4.0.0:\n version \"4.0.0\"\n resolved \"https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b\"\n integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\n\nhe@1.2.0:\n version \"1.2.0\"\n resolved \"https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f\"\n integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==\n\nhumanize-ms@^1.2.1:\n version \"1.2.1\"\n resolved \"https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed\"\n integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==\n dependencies:\n ms \"^2.0.0\"\n\nieee754@^1.2.1:\n version \"1.2.1\"\n resolved \"https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352\"\n integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==\n\ninflight@^1.0.4:\n version \"1.0.6\"\n resolved \"https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9\"\n integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==\n dependencies:\n once \"^1.3.0\"\n wrappy \"1\"\n\ninherits@2:\n version \"2.0.4\"\n resolved \"https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c\"\n integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==\n\nis-binary-path@~2.1.0:\n version \"2.1.0\"\n resolved \"https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09\"\n integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==\n dependencies:\n binary-extensions \"^2.0.0\"\n\nis-extglob@^2.1.1:\n version \"2.1.1\"\n resolved \"https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2\"\n integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==\n\nis-fullwidth-code-point@^3.0.0:\n version \"3.0.0\"\n resolved \"https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d\"\n integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==\n\nis-glob@^4.0.1, is-glob@~4.0.1:\n version \"4.0.3\"\n resolved \"https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084\"\n integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==\n dependencies:\n is-extglob \"^2.1.1\"\n\nis-number@^7.0.0:\n version \"7.0.0\"\n resolved \"https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b\"\n integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==\n\nis-plain-obj@^2.1.0:\n version \"2.1.0\"\n resolved \"https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287\"\n integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==\n\nis-unicode-supported@^0.1.0:\n version \"0.1.0\"\n resolved \"https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7\"\n integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==\n\nisexe@^2.0.0:\n version \"2.0.0\"\n resolved \"https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10\"\n integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==\n\nisomorphic-ws@^4.0.1:\n version \"4.0.1\"\n resolved \"https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#55fd4cd6c5e6491e76dc125938dd863f5cd4f2dc\"\n integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==\n\njayson@^3.4.4:\n version \"3.7.0\"\n resolved \"https://registry.yarnpkg.com/jayson/-/jayson-3.7.0.tgz#b735b12d06d348639ae8230d7a1e2916cb078f25\"\n integrity sha512-tfy39KJMrrXJ+mFcMpxwBvFDetS8LAID93+rycFglIQM4kl3uNR3W4lBLE/FFhsoUCEox5Dt2adVpDm/XtebbQ==\n dependencies:\n \"@types/connect\" \"^3.4.33\"\n \"@types/node\" \"^12.12.54\"\n \"@types/ws\" \"^7.4.4\"\n JSONStream \"^1.3.5\"\n commander \"^2.20.3\"\n delay \"^5.0.0\"\n es6-promisify \"^5.0.0\"\n eyes \"^0.1.8\"\n isomorphic-ws \"^4.0.1\"\n json-stringify-safe \"^5.0.1\"\n lodash \"^4.17.20\"\n uuid \"^8.3.2\"\n ws \"^7.4.5\"\n\njs-sha256@^0.9.0:\n version \"0.9.0\"\n resolved \"https://registry.yarnpkg.com/js-sha256/-/js-sha256-0.9.0.tgz#0b89ac166583e91ef9123644bd3c5334ce9d0966\"\n integrity sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA==\n\njs-yaml@4.1.0:\n version \"4.1.0\"\n resolved \"https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602\"\n integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==\n dependencies:\n argparse \"^2.0.1\"\n\njson-stringify-safe@^5.0.1:\n version \"5.0.1\"\n resolved \"https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb\"\n integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==\n\njson5@^1.0.1:\n version \"1.0.2\"\n resolved \"https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593\"\n integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==\n dependencies:\n minimist \"^1.2.0\"\n\njsonparse@^1.2.0:\n version \"1.3.1\"\n resolved \"https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280\"\n integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==\n\nlocate-path@^6.0.0:\n version \"6.0.0\"\n resolved \"https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286\"\n integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==\n dependencies:\n p-locate \"^5.0.0\"\n\nlodash@^4.17.20:\n version \"4.17.21\"\n resolved \"https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c\"\n integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==\n\nlog-symbols@4.1.0:\n version \"4.1.0\"\n resolved \"https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503\"\n integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==\n dependencies:\n chalk \"^4.1.0\"\n is-unicode-supported \"^0.1.0\"\n\nloupe@^2.3.1:\n version \"2.3.6\"\n resolved \"https://registry.yarnpkg.com/loupe/-/loupe-2.3.6.tgz#76e4af498103c532d1ecc9be102036a21f787b53\"\n integrity sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==\n dependencies:\n get-func-name \"^2.0.0\"\n\nlower-case@^2.0.2:\n version \"2.0.2\"\n resolved \"https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28\"\n integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==\n dependencies:\n tslib \"^2.0.3\"\n\nmake-error@^1.1.1:\n version \"1.3.6\"\n resolved \"https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2\"\n integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==\n\nminimatch@4.2.1:\n version \"4.2.1\"\n resolved \"https://registry.yarnpkg.com/minimatch/-/minimatch-4.2.1.tgz#40d9d511a46bdc4e563c22c3080cde9c0d8299b4\"\n integrity sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g==\n dependencies:\n brace-expansion \"^1.1.7\"\n\nminimatch@^3.0.4:\n version \"3.1.2\"\n resolved \"https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b\"\n integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==\n dependencies:\n brace-expansion \"^1.1.7\"\n\nminimist@^1.2.0, minimist@^1.2.6:\n version \"1.2.8\"\n resolved \"https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c\"\n integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==\n\nmkdirp@^0.5.1:\n version \"0.5.6\"\n resolved \"https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6\"\n integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==\n dependencies:\n minimist \"^1.2.6\"\n\nmocha@^9.0.3:\n version \"9.2.2\"\n resolved \"https://registry.yarnpkg.com/mocha/-/mocha-9.2.2.tgz#d70db46bdb93ca57402c809333e5a84977a88fb9\"\n integrity sha512-L6XC3EdwT6YrIk0yXpavvLkn8h+EU+Y5UcCHKECyMbdUIxyMuZj4bX4U9e1nvnvUUvQVsV2VHQr5zLdcUkhW/g==\n dependencies:\n \"@ungap/promise-all-settled\" \"1.1.2\"\n ansi-colors \"4.1.1\"\n browser-stdout \"1.3.1\"\n chokidar \"3.5.3\"\n debug \"4.3.3\"\n diff \"5.0.0\"\n escape-string-regexp \"4.0.0\"\n find-up \"5.0.0\"\n glob \"7.2.0\"\n growl \"1.10.5\"\n he \"1.2.0\"\n js-yaml \"4.1.0\"\n log-symbols \"4.1.0\"\n minimatch \"4.2.1\"\n ms \"2.1.3\"\n nanoid \"3.3.1\"\n serialize-javascript \"6.0.0\"\n strip-json-comments \"3.1.1\"\n supports-color \"8.1.1\"\n which \"2.0.2\"\n workerpool \"6.2.0\"\n yargs \"16.2.0\"\n yargs-parser \"20.2.4\"\n yargs-unparser \"2.0.0\"\n\nms@2.1.2:\n version \"2.1.2\"\n resolved \"https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009\"\n integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==\n\nms@2.1.3, ms@^2.0.0:\n version \"2.1.3\"\n resolved \"https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2\"\n integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==\n\nnanoid@3.3.1:\n version \"3.3.1\"\n resolved \"https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.1.tgz#6347a18cac88af88f58af0b3594b723d5e99bb35\"\n integrity sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==\n\nno-case@^3.0.4:\n version \"3.0.4\"\n resolved \"https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d\"\n integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==\n dependencies:\n lower-case \"^2.0.2\"\n tslib \"^2.0.3\"\n\nnode-fetch@2:\n version \"2.6.9\"\n resolved \"https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.9.tgz#7c7f744b5cc6eb5fd404e0c7a9fec630a55657e6\"\n integrity sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==\n dependencies:\n whatwg-url \"^5.0.0\"\n\nnode-fetch@2.6.7:\n version \"2.6.7\"\n resolved \"https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad\"\n integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==\n dependencies:\n whatwg-url \"^5.0.0\"\n\nnode-gyp-build@^4.3.0:\n version \"4.6.0\"\n resolved \"https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.6.0.tgz#0c52e4cbf54bbd28b709820ef7b6a3c2d6209055\"\n integrity sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==\n\nnormalize-path@^3.0.0, normalize-path@~3.0.0:\n version \"3.0.0\"\n resolved \"https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65\"\n integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==\n\nonce@^1.3.0:\n version \"1.4.0\"\n resolved \"https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1\"\n integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==\n dependencies:\n wrappy \"1\"\n\np-limit@^3.0.2:\n version \"3.1.0\"\n resolved \"https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b\"\n integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==\n dependencies:\n yocto-queue \"^0.1.0\"\n\np-locate@^5.0.0:\n version \"5.0.0\"\n resolved \"https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834\"\n integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==\n dependencies:\n p-limit \"^3.0.2\"\n\npako@^2.0.3:\n version \"2.1.0\"\n resolved \"https://registry.yarnpkg.com/pako/-/pako-2.1.0.tgz#266cc37f98c7d883545d11335c00fbd4062c9a86\"\n integrity sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==\n\npath-exists@^4.0.0:\n version \"4.0.0\"\n resolved \"https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3\"\n integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==\n\npath-is-absolute@^1.0.0:\n version \"1.0.1\"\n resolved \"https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f\"\n integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==\n\npathval@^1.1.1:\n version \"1.1.1\"\n resolved \"https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d\"\n integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==\n\npicomatch@^2.0.4, picomatch@^2.2.1:\n version \"2.3.1\"\n resolved \"https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42\"\n integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==\n\nprettier@^2.6.2:\n version \"2.8.4\"\n resolved \"https://registry.yarnpkg.com/prettier/-/prettier-2.8.4.tgz#34dd2595629bfbb79d344ac4a91ff948694463c3\"\n integrity sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==\n\nrandombytes@^2.1.0:\n version \"2.1.0\"\n resolved \"https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a\"\n integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==\n dependencies:\n safe-buffer \"^5.1.0\"\n\nreaddirp@~3.6.0:\n version \"3.6.0\"\n resolved \"https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7\"\n integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==\n dependencies:\n picomatch \"^2.2.1\"\n\nregenerator-runtime@^0.13.11:\n version \"0.13.11\"\n resolved \"https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9\"\n integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==\n\nrequire-directory@^2.1.1:\n version \"2.1.1\"\n resolved \"https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42\"\n integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==\n\nrpc-websockets@^7.5.0:\n version \"7.5.0\"\n resolved \"https://registry.yarnpkg.com/rpc-websockets/-/rpc-websockets-7.5.0.tgz#bbeb87572e66703ff151e50af1658f98098e2748\"\n integrity sha512-9tIRi1uZGy7YmDjErf1Ax3wtqdSSLIlnmL5OtOzgd5eqPKbsPpwDP5whUDO2LQay3Xp0CcHlcNSGzacNRluBaQ==\n dependencies:\n \"@babel/runtime\" \"^7.17.2\"\n eventemitter3 \"^4.0.7\"\n uuid \"^8.3.2\"\n ws \"^8.5.0\"\n optionalDependencies:\n bufferutil \"^4.0.1\"\n utf-8-validate \"^5.0.2\"\n\nsafe-buffer@^5.0.1, safe-buffer@^5.1.0:\n version \"5.2.1\"\n resolved \"https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6\"\n integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==\n\nserialize-javascript@6.0.0:\n version \"6.0.0\"\n resolved \"https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8\"\n integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==\n dependencies:\n randombytes \"^2.1.0\"\n\nsnake-case@^3.0.4:\n version \"3.0.4\"\n resolved \"https://registry.yarnpkg.com/snake-case/-/snake-case-3.0.4.tgz#4f2bbd568e9935abdfd593f34c691dadb49c452c\"\n integrity sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==\n dependencies:\n dot-case \"^3.0.4\"\n tslib \"^2.0.3\"\n\nsource-map-support@^0.5.6:\n version \"0.5.21\"\n resolved \"https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f\"\n integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==\n dependencies:\n buffer-from \"^1.0.0\"\n source-map \"^0.6.0\"\n\nsource-map@^0.6.0:\n version \"0.6.1\"\n resolved \"https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263\"\n integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\n\nstring-width@^4.1.0, string-width@^4.2.0:\n version \"4.2.3\"\n resolved \"https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010\"\n integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==\n dependencies:\n emoji-regex \"^8.0.0\"\n is-fullwidth-code-point \"^3.0.0\"\n strip-ansi \"^6.0.1\"\n\nstrip-ansi@^6.0.0, strip-ansi@^6.0.1:\n version \"6.0.1\"\n resolved \"https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9\"\n integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==\n dependencies:\n ansi-regex \"^5.0.1\"\n\nstrip-bom@^3.0.0:\n version \"3.0.0\"\n resolved \"https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3\"\n integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==\n\nstrip-json-comments@3.1.1:\n version \"3.1.1\"\n resolved \"https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006\"\n integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==\n\nsuperstruct@^0.14.2:\n version \"0.14.2\"\n resolved \"https://registry.yarnpkg.com/superstruct/-/superstruct-0.14.2.tgz#0dbcdf3d83676588828f1cf5ed35cda02f59025b\"\n integrity sha512-nPewA6m9mR3d6k7WkZ8N8zpTWfenFH3q9pA2PkuiZxINr9DKB2+40wEQf0ixn8VaGuJ78AB6iWOtStI+/4FKZQ==\n\nsuperstruct@^0.15.4:\n version \"0.15.5\"\n resolved \"https://registry.yarnpkg.com/superstruct/-/superstruct-0.15.5.tgz#0f0a8d3ce31313f0d84c6096cd4fa1bfdedc9dab\"\n integrity sha512-4AOeU+P5UuE/4nOUkmcQdW5y7i9ndt1cQd/3iUe+LTz3RxESf/W/5lg4B74HbDMMv8PHnPnGCQFH45kBcrQYoQ==\n\nsupports-color@8.1.1:\n version \"8.1.1\"\n resolved \"https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c\"\n integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==\n dependencies:\n has-flag \"^4.0.0\"\n\nsupports-color@^7.1.0:\n version \"7.2.0\"\n resolved \"https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da\"\n integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\n dependencies:\n has-flag \"^4.0.0\"\n\ntext-encoding-utf-8@^1.0.2:\n version \"1.0.2\"\n resolved \"https://registry.yarnpkg.com/text-encoding-utf-8/-/text-encoding-utf-8-1.0.2.tgz#585b62197b0ae437e3c7b5d0af27ac1021e10d13\"\n integrity sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg==\n\n\"through@>=2.2.7 <3\":\n version \"2.3.8\"\n resolved \"https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5\"\n integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==\n\nto-regex-range@^5.0.1:\n version \"5.0.1\"\n resolved \"https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4\"\n integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==\n dependencies:\n is-number \"^7.0.0\"\n\ntoml@^3.0.0:\n version \"3.0.0\"\n resolved \"https://registry.yarnpkg.com/toml/-/toml-3.0.0.tgz#342160f1af1904ec9d204d03a5d61222d762c5ee\"\n integrity sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==\n\ntr46@~0.0.3:\n version \"0.0.3\"\n resolved \"https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a\"\n integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==\n\nts-mocha@^10.0.0:\n version \"10.0.0\"\n resolved \"https://registry.yarnpkg.com/ts-mocha/-/ts-mocha-10.0.0.tgz#41a8d099ac90dbbc64b06976c5025ffaebc53cb9\"\n integrity sha512-VRfgDO+iiuJFlNB18tzOfypJ21xn2xbuZyDvJvqpTbWgkAgD17ONGr8t+Tl8rcBtOBdjXp5e/Rk+d39f7XBHRw==\n dependencies:\n ts-node \"7.0.1\"\n optionalDependencies:\n tsconfig-paths \"^3.5.0\"\n\nts-node@7.0.1:\n version \"7.0.1\"\n resolved \"https://registry.yarnpkg.com/ts-node/-/ts-node-7.0.1.tgz#9562dc2d1e6d248d24bc55f773e3f614337d9baf\"\n integrity sha512-BVwVbPJRspzNh2yfslyT1PSbl5uIk03EZlb493RKHN4qej/D06n1cEhjlOJG69oFsE7OT8XjpTUcYf6pKTLMhw==\n dependencies:\n arrify \"^1.0.0\"\n buffer-from \"^1.1.0\"\n diff \"^3.1.0\"\n make-error \"^1.1.1\"\n minimist \"^1.2.0\"\n mkdirp \"^0.5.1\"\n source-map-support \"^0.5.6\"\n yn \"^2.0.0\"\n\ntsconfig-paths@^3.5.0:\n version \"3.14.1\"\n resolved \"https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz#ba0734599e8ea36c862798e920bcf163277b137a\"\n integrity sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==\n dependencies:\n \"@types/json5\" \"^0.0.29\"\n json5 \"^1.0.1\"\n minimist \"^1.2.6\"\n strip-bom \"^3.0.0\"\n\ntslib@^2.0.3:\n version \"2.5.0\"\n resolved \"https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf\"\n integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==\n\ntype-detect@^4.0.0, type-detect@^4.0.5:\n version \"4.0.8\"\n resolved \"https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c\"\n integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==\n\ntypescript@^4.3.5:\n version \"4.9.5\"\n resolved \"https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a\"\n integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==\n\nutf-8-validate@^5.0.2:\n version \"5.0.10\"\n resolved \"https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.10.tgz#d7d10ea39318171ca982718b6b96a8d2442571a2\"\n integrity sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==\n dependencies:\n node-gyp-build \"^4.3.0\"\n\nuuid@^8.3.2:\n version \"8.3.2\"\n resolved \"https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2\"\n integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==\n\nwebidl-conversions@^3.0.0:\n version \"3.0.1\"\n resolved \"https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871\"\n integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==\n\nwhatwg-url@^5.0.0:\n version \"5.0.0\"\n resolved \"https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d\"\n integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==\n dependencies:\n tr46 \"~0.0.3\"\n webidl-conversions \"^3.0.0\"\n\nwhich@2.0.2:\n version \"2.0.2\"\n resolved \"https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1\"\n integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==\n dependencies:\n isexe \"^2.0.0\"\n\nworkerpool@6.2.0:\n version \"6.2.0\"\n resolved \"https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.0.tgz#827d93c9ba23ee2019c3ffaff5c27fccea289e8b\"\n integrity sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A==\n\nwrap-ansi@^7.0.0:\n version \"7.0.0\"\n resolved \"https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43\"\n integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==\n dependencies:\n ansi-styles \"^4.0.0\"\n string-width \"^4.1.0\"\n strip-ansi \"^6.0.0\"\n\nwrappy@1:\n version \"1.0.2\"\n resolved \"https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f\"\n integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==\n\nws@^7.4.5:\n version \"7.5.9\"\n resolved \"https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591\"\n integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==\n\nws@^8.5.0:\n version \"8.12.1\"\n resolved \"https://registry.yarnpkg.com/ws/-/ws-8.12.1.tgz#c51e583d79140b5e42e39be48c934131942d4a8f\"\n integrity sha512-1qo+M9Ba+xNhPB+YTWUlK6M17brTut5EXbcBaMRN5pH5dFrXz7lzz1ChFSUq3bOUl8yEvSenhHmYUNJxFzdJew==\n\ny18n@^5.0.5:\n version \"5.0.8\"\n resolved \"https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55\"\n integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==\n\nyargs-parser@20.2.4:\n version \"20.2.4\"\n resolved \"https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54\"\n integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==\n\nyargs-parser@^20.2.2:\n version \"20.2.9\"\n resolved \"https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee\"\n integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==\n\nyargs-unparser@2.0.0:\n version \"2.0.0\"\n resolved \"https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb\"\n integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==\n dependencies:\n camelcase \"^6.0.0\"\n decamelize \"^4.0.0\"\n flat \"^5.0.2\"\n is-plain-obj \"^2.1.0\"\n\nyargs@16.2.0:\n version \"16.2.0\"\n resolved \"https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66\"\n integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==\n dependencies:\n cliui \"^7.0.2\"\n escalade \"^3.1.1\"\n get-caller-file \"^2.0.5\"\n require-directory \"^2.1.1\"\n string-width \"^4.2.0\"\n y18n \"^5.0.5\"\n yargs-parser \"^20.2.2\"\n\nyn@^2.0.0:\n version \"2.0.0\"\n resolved \"https://registry.yarnpkg.com/yn/-/yn-2.0.0.tgz#e5adabc8acf408f6385fc76495684c88e6af689a\"\n integrity sha512-uTv8J/wiWTgUTg+9vLTi//leUl5vDQS6uii/emeTb2ssY7vl6QWf2fFbIIGjnhjvbdKlU0ed7QPgY1htTC86jQ==\n\nyocto-queue@^0.1.0:\n version \"0.1.0\"\n resolved \"https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b\"\n integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==\n" + }, + "is_dir": false + }, + { + "path": "/anchor_workspace/Cargo.lock.hbs", + "content": { + "String": "# This file is automatically @generated by Cargo.\n# It is not intended for manual editing.\nversion = 3\n\n[[package]]\nname = \"ahash\"\nversion = \"0.7.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47\"\ndependencies = [\n \"getrandom 0.2.8\",\n \"once_cell\",\n \"version_check\",\n]\n\n[[package]]\nname = \"aho-corasick\"\nversion = \"0.7.20\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac\"\ndependencies = [\n \"memchr\",\n]\n\n[[package]]\nname = \"anchor-attribute-access-control\"\nversion = \"0.25.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"70f6ee9518f50ff4d434471ccf569186022bdd5ef65a21d14da3ea5231af944f\"\ndependencies = [\n \"anchor-syn\",\n \"anyhow\",\n \"proc-macro2\",\n \"quote\",\n \"regex\",\n \"syn\",\n]\n\n[[package]]\nname = \"anchor-attribute-account\"\nversion = \"0.25.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"32c92bcf5388b52676d990f85bbfd838a8f5672393135063a50dc79b2b837c79\"\ndependencies = [\n \"anchor-syn\",\n \"anyhow\",\n \"bs58 0.4.0\",\n \"proc-macro2\",\n \"quote\",\n \"rustversion\",\n \"syn\",\n]\n\n[[package]]\nname = \"anchor-attribute-constant\"\nversion = \"0.25.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0844974ac35e8ced62056b0d63777ebcdc5807438b8b189c881e2b647450b70a\"\ndependencies = [\n \"anchor-syn\",\n \"proc-macro2\",\n \"syn\",\n]\n\n[[package]]\nname = \"anchor-attribute-error\"\nversion = \"0.25.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0f7467345e67a6f1d4b862b9763a4160ad89d18c247b8c902807768f7b6e23df\"\ndependencies = [\n \"anchor-syn\",\n \"proc-macro2\",\n \"quote\",\n \"syn\",\n]\n\n[[package]]\nname = \"anchor-attribute-event\"\nversion = \"0.25.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8774e4c1ac71f71a5aea7e4932fb69c30e3b8155c4fa59fd69401195434528a9\"\ndependencies = [\n \"anchor-syn\",\n \"anyhow\",\n \"proc-macro2\",\n \"quote\",\n \"syn\",\n]\n\n[[package]]\nname = \"anchor-attribute-interface\"\nversion = \"0.25.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"90eeb6e1c80f9f94fcef93a52813f6472186200e275e83cb3fac92b801de92f7\"\ndependencies = [\n \"anchor-syn\",\n \"anyhow\",\n \"heck\",\n \"proc-macro2\",\n \"quote\",\n \"syn\",\n]\n\n[[package]]\nname = \"anchor-attribute-program\"\nversion = \"0.25.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ac515a7a5a4fea7fc768b1cec40ddb948e148ea657637c75f94f283212326cb9\"\ndependencies = [\n \"anchor-syn\",\n \"anyhow\",\n \"proc-macro2\",\n \"quote\",\n \"syn\",\n]\n\n[[package]]\nname = \"anchor-attribute-state\"\nversion = \"0.25.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"43dc667b62ff71450f19dcfcc37b0c408fd4ddd89e8650368c2b0984b110603f\"\ndependencies = [\n \"anchor-syn\",\n \"anyhow\",\n \"proc-macro2\",\n \"quote\",\n \"syn\",\n]\n\n[[package]]\nname = \"anchor-derive-accounts\"\nversion = \"0.25.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7354d583a06701d24800a8ec4c2b0491f62581a331af349205e23421e0b56643\"\ndependencies = [\n \"anchor-syn\",\n \"anyhow\",\n \"proc-macro2\",\n \"quote\",\n \"syn\",\n]\n\n[[package]]\nname = \"anchor-lang\"\nversion = \"0.25.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ff5f57ec5e12fa6874b27f3d5c1f6f44302d3ad86c1266197ff7611bf6f5d251\"\ndependencies = [\n \"anchor-attribute-access-control\",\n \"anchor-attribute-account\",\n \"anchor-attribute-constant\",\n \"anchor-attribute-error\",\n \"anchor-attribute-event\",\n \"anchor-attribute-interface\",\n \"anchor-attribute-program\",\n \"anchor-attribute-state\",\n \"anchor-derive-accounts\",\n \"arrayref\",\n \"base64 0.13.1\",\n \"bincode\",\n \"borsh\",\n \"bytemuck\",\n \"solana-program\",\n \"thiserror\",\n]\n\n[[package]]\nname = \"anchor-syn\"\nversion = \"0.25.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"55aa1e680d9471342122ed5b6bc13bf5da473b0f7e4677d41a6954e5cc8ad155\"\ndependencies = [\n \"anyhow\",\n \"bs58 0.3.1\",\n \"heck\",\n \"proc-macro2\",\n \"proc-macro2-diagnostics\",\n \"quote\",\n \"serde\",\n \"serde_json\",\n \"sha2 0.9.9\",\n \"syn\",\n \"thiserror\",\n]\n\n[[package]]\nname = \"anyhow\"\nversion = \"1.0.69\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"224afbd727c3d6e4b90103ece64b8d1b67fbb1973b1046c2281eed3f3803f800\"\n\n[[package]]\nname = \"arrayref\"\nversion = \"0.3.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544\"\n\n[[package]]\nname = \"arrayvec\"\nversion = \"0.7.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6\"\n\n[[package]]\nname = \"autocfg\"\nversion = \"1.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa\"\n\n[[package]]\nname = \"base64\"\nversion = \"0.12.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff\"\n\n[[package]]\nname = \"base64\"\nversion = \"0.13.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8\"\n\n[[package]]\nname = \"bincode\"\nversion = \"1.3.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad\"\ndependencies = [\n \"serde\",\n]\n\n[[package]]\nname = \"bitflags\"\nversion = \"1.3.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a\"\n\n[[package]]\nname = \"bitmaps\"\nversion = \"2.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"031043d04099746d8db04daf1fa424b2bc8bd69d92b25962dcde24da39ab64a2\"\ndependencies = [\n \"typenum\",\n]\n\n[[package]]\nname = \"blake3\"\nversion = \"1.3.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"42ae2468a89544a466886840aa467a25b766499f4f04bf7d9fcd10ecee9fccef\"\ndependencies = [\n \"arrayref\",\n \"arrayvec\",\n \"cc\",\n \"cfg-if\",\n \"constant_time_eq\",\n \"digest 0.10.6\",\n]\n\n[[package]]\nname = \"block-buffer\"\nversion = \"0.9.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4\"\ndependencies = [\n \"generic-array\",\n]\n\n[[package]]\nname = \"block-buffer\"\nversion = \"0.10.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e\"\ndependencies = [\n \"generic-array\",\n]\n\n[[package]]\nname = \"borsh\"\nversion = \"0.9.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"15bf3650200d8bffa99015595e10f1fbd17de07abbc25bb067da79e769939bfa\"\ndependencies = [\n \"borsh-derive\",\n \"hashbrown\",\n]\n\n[[package]]\nname = \"borsh-derive\"\nversion = \"0.9.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6441c552f230375d18e3cc377677914d2ca2b0d36e52129fe15450a2dce46775\"\ndependencies = [\n \"borsh-derive-internal\",\n \"borsh-schema-derive-internal\",\n \"proc-macro-crate\",\n \"proc-macro2\",\n \"syn\",\n]\n\n[[package]]\nname = \"borsh-derive-internal\"\nversion = \"0.9.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5449c28a7b352f2d1e592a8a28bf139bc71afb0764a14f3c02500935d8c44065\"\ndependencies = [\n \"proc-macro2\",\n \"quote\",\n \"syn\",\n]\n\n[[package]]\nname = \"borsh-schema-derive-internal\"\nversion = \"0.9.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"cdbd5696d8bfa21d53d9fe39a714a18538bad11492a42d066dbbc395fb1951c0\"\ndependencies = [\n \"proc-macro2\",\n \"quote\",\n \"syn\",\n]\n\n[[package]]\nname = \"bs58\"\nversion = \"0.3.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"476e9cd489f9e121e02ffa6014a8ef220ecb15c05ed23fc34cca13925dc283fb\"\n\n[[package]]\nname = \"bs58\"\nversion = \"0.4.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3\"\n\n[[package]]\nname = \"bumpalo\"\nversion = \"3.12.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535\"\n\n[[package]]\nname = \"bv\"\nversion = \"0.11.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8834bb1d8ee5dc048ee3124f2c7c1afcc6bc9aed03f11e9dfd8c69470a5db340\"\ndependencies = [\n \"feature-probe\",\n \"serde\",\n]\n\n[[package]]\nname = \"bytemuck\"\nversion = \"1.13.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c041d3eab048880cb0b86b256447da3f18859a163c3b8d8893f4e6368abe6393\"\ndependencies = [\n \"bytemuck_derive\",\n]\n\n[[package]]\nname = \"bytemuck_derive\"\nversion = \"1.4.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1aca418a974d83d40a0c1f0c5cba6ff4bc28d8df099109ca459a2118d40b6322\"\ndependencies = [\n \"proc-macro2\",\n \"quote\",\n \"syn\",\n]\n\n[[package]]\nname = \"byteorder\"\nversion = \"1.4.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610\"\n\n[[package]]\nname = \"cc\"\nversion = \"1.0.79\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f\"\n\n[[package]]\nname = \"cfg-if\"\nversion = \"1.0.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd\"\n\n[[package]]\nname = \"console_error_panic_hook\"\nversion = \"0.1.7\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc\"\ndependencies = [\n \"cfg-if\",\n \"wasm-bindgen\",\n]\n\n[[package]]\nname = \"console_log\"\nversion = \"0.2.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"501a375961cef1a0d44767200e66e4a559283097e91d0730b1d75dfb2f8a1494\"\ndependencies = [\n \"log\",\n \"web-sys\",\n]\n\n[[package]]\nname = \"constant_time_eq\"\nversion = \"0.2.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f3ad85c1f65dc7b37604eb0e89748faf0b9653065f2a8ef69f96a687ec1e9279\"\n\n[[package]]\nname = \"cpufeatures\"\nversion = \"0.2.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320\"\ndependencies = [\n \"libc\",\n]\n\n[[package]]\nname = \"crossbeam-channel\"\nversion = \"0.5.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521\"\ndependencies = [\n \"cfg-if\",\n \"crossbeam-utils\",\n]\n\n[[package]]\nname = \"crossbeam-deque\"\nversion = \"0.8.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc\"\ndependencies = [\n \"cfg-if\",\n \"crossbeam-epoch\",\n \"crossbeam-utils\",\n]\n\n[[package]]\nname = \"crossbeam-epoch\"\nversion = \"0.9.13\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"01a9af1f4c2ef74bb8aa1f7e19706bc72d03598c8a570bb5de72243c7a9d9d5a\"\ndependencies = [\n \"autocfg\",\n \"cfg-if\",\n \"crossbeam-utils\",\n \"memoffset\",\n \"scopeguard\",\n]\n\n[[package]]\nname = \"crossbeam-utils\"\nversion = \"0.8.14\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4fb766fa798726286dbbb842f174001dab8abc7b627a1dd86e0b7222a95d929f\"\ndependencies = [\n \"cfg-if\",\n]\n\n[[package]]\nname = \"crunchy\"\nversion = \"0.2.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7\"\n\n[[package]]\nname = \"crypto-common\"\nversion = \"0.1.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3\"\ndependencies = [\n \"generic-array\",\n \"typenum\",\n]\n\n[[package]]\nname = \"crypto-mac\"\nversion = \"0.8.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab\"\ndependencies = [\n \"generic-array\",\n \"subtle\",\n]\n\n[[package]]\nname = \"curve25519-dalek\"\nversion = \"3.2.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"90f9d052967f590a76e62eb387bd0bbb1b000182c3cefe5364db6b7211651bc0\"\ndependencies = [\n \"byteorder\",\n \"digest 0.9.0\",\n \"rand_core 0.5.1\",\n \"subtle\",\n \"zeroize\",\n]\n\n[[package]]\nname = \"digest\"\nversion = \"0.9.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066\"\ndependencies = [\n \"generic-array\",\n]\n\n[[package]]\nname = \"digest\"\nversion = \"0.10.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f\"\ndependencies = [\n \"block-buffer 0.10.3\",\n \"crypto-common\",\n \"subtle\",\n]\n\n[[package]]\nname = \"either\"\nversion = \"1.8.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91\"\n\n[[package]]\nname = \"empty\"\nversion = \"0.1.0\"\ndependencies = [\n \"anchor-lang\",\n]\n\n[[package]]\nname = \"feature-probe\"\nversion = \"0.1.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"835a3dc7d1ec9e75e2b5fb4ba75396837112d2060b03f7d43bc1897c7f7211da\"\n\n[[package]]\nname = \"generic-array\"\nversion = \"0.14.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9\"\ndependencies = [\n \"serde\",\n \"typenum\",\n \"version_check\",\n]\n\n[[package]]\nname = \"getrandom\"\nversion = \"0.1.16\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce\"\ndependencies = [\n \"cfg-if\",\n \"js-sys\",\n \"libc\",\n \"wasi 0.9.0+wasi-snapshot-preview1\",\n \"wasm-bindgen\",\n]\n\n[[package]]\nname = \"getrandom\"\nversion = \"0.2.8\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31\"\ndependencies = [\n \"cfg-if\",\n \"libc\",\n \"wasi 0.11.0+wasi-snapshot-preview1\",\n]\n\n[[package]]\nname = \"hashbrown\"\nversion = \"0.11.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e\"\ndependencies = [\n \"ahash\",\n]\n\n[[package]]\nname = \"heck\"\nversion = \"0.3.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c\"\ndependencies = [\n \"unicode-segmentation\",\n]\n\n[[package]]\nname = \"hermit-abi\"\nversion = \"0.2.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7\"\ndependencies = [\n \"libc\",\n]\n\n[[package]]\nname = \"hmac\"\nversion = \"0.8.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840\"\ndependencies = [\n \"crypto-mac\",\n \"digest 0.9.0\",\n]\n\n[[package]]\nname = \"hmac-drbg\"\nversion = \"0.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"17ea0a1394df5b6574da6e0c1ade9e78868c9fb0a4e5ef4428e32da4676b85b1\"\ndependencies = [\n \"digest 0.9.0\",\n \"generic-array\",\n \"hmac\",\n]\n\n[[package]]\nname = \"im\"\nversion = \"15.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d0acd33ff0285af998aaf9b57342af478078f53492322fafc47450e09397e0e9\"\ndependencies = [\n \"bitmaps\",\n \"rand_core 0.6.4\",\n \"rand_xoshiro\",\n \"rayon\",\n \"serde\",\n \"sized-chunks\",\n \"typenum\",\n \"version_check\",\n]\n\n[[package]]\nname = \"itertools\"\nversion = \"0.10.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473\"\ndependencies = [\n \"either\",\n]\n\n[[package]]\nname = \"itoa\"\nversion = \"1.0.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440\"\n\n[[package]]\nname = \"js-sys\"\nversion = \"0.3.61\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730\"\ndependencies = [\n \"wasm-bindgen\",\n]\n\n[[package]]\nname = \"keccak\"\nversion = \"0.1.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3afef3b6eff9ce9d8ff9b3601125eec7f0c8cbac7abd14f355d053fa56c98768\"\ndependencies = [\n \"cpufeatures\",\n]\n\n[[package]]\nname = \"lazy_static\"\nversion = \"1.4.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646\"\n\n[[package]]\nname = \"libc\"\nversion = \"0.2.139\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79\"\n\n[[package]]\nname = \"libsecp256k1\"\nversion = \"0.6.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c9d220bc1feda2ac231cb78c3d26f27676b8cf82c96971f7aeef3d0cf2797c73\"\ndependencies = [\n \"arrayref\",\n \"base64 0.12.3\",\n \"digest 0.9.0\",\n \"hmac-drbg\",\n \"libsecp256k1-core\",\n \"libsecp256k1-gen-ecmult\",\n \"libsecp256k1-gen-genmult\",\n \"rand\",\n \"serde\",\n \"sha2 0.9.9\",\n \"typenum\",\n]\n\n[[package]]\nname = \"libsecp256k1-core\"\nversion = \"0.2.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d0f6ab710cec28cef759c5f18671a27dae2a5f952cdaaee1d8e2908cb2478a80\"\ndependencies = [\n \"crunchy\",\n \"digest 0.9.0\",\n \"subtle\",\n]\n\n[[package]]\nname = \"libsecp256k1-gen-ecmult\"\nversion = \"0.2.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ccab96b584d38fac86a83f07e659f0deafd0253dc096dab5a36d53efe653c5c3\"\ndependencies = [\n \"libsecp256k1-core\",\n]\n\n[[package]]\nname = \"libsecp256k1-gen-genmult\"\nversion = \"0.2.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"67abfe149395e3aa1c48a2beb32b068e2334402df8181f818d3aee2b304c4f5d\"\ndependencies = [\n \"libsecp256k1-core\",\n]\n\n[[package]]\nname = \"lock_api\"\nversion = \"0.4.9\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df\"\ndependencies = [\n \"autocfg\",\n \"scopeguard\",\n]\n\n[[package]]\nname = \"log\"\nversion = \"0.4.17\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e\"\ndependencies = [\n \"cfg-if\",\n]\n\n[[package]]\nname = \"memchr\"\nversion = \"2.5.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d\"\n\n[[package]]\nname = \"memmap2\"\nversion = \"0.5.9\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"2af2c65375e552a67fe3829ca63e8a7c27a378a62824594f43b2851d682b5ec2\"\ndependencies = [\n \"libc\",\n]\n\n[[package]]\nname = \"memoffset\"\nversion = \"0.7.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4\"\ndependencies = [\n \"autocfg\",\n]\n\n[[package]]\nname = \"num-derive\"\nversion = \"0.3.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d\"\ndependencies = [\n \"proc-macro2\",\n \"quote\",\n \"syn\",\n]\n\n[[package]]\nname = \"num-traits\"\nversion = \"0.2.15\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd\"\ndependencies = [\n \"autocfg\",\n]\n\n[[package]]\nname = \"num_cpus\"\nversion = \"1.15.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b\"\ndependencies = [\n \"hermit-abi\",\n \"libc\",\n]\n\n[[package]]\nname = \"once_cell\"\nversion = \"1.17.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3\"\n\n[[package]]\nname = \"opaque-debug\"\nversion = \"0.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5\"\n\n[[package]]\nname = \"parking_lot\"\nversion = \"0.12.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f\"\ndependencies = [\n \"lock_api\",\n \"parking_lot_core\",\n]\n\n[[package]]\nname = \"parking_lot_core\"\nversion = \"0.9.7\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521\"\ndependencies = [\n \"cfg-if\",\n \"libc\",\n \"redox_syscall\",\n \"smallvec\",\n \"windows-sys\",\n]\n\n[[package]]\nname = \"ppv-lite86\"\nversion = \"0.2.17\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de\"\n\n[[package]]\nname = \"proc-macro-crate\"\nversion = \"0.1.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785\"\ndependencies = [\n \"toml\",\n]\n\n[[package]]\nname = \"proc-macro2\"\nversion = \"1.0.51\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6\"\ndependencies = [\n \"unicode-ident\",\n]\n\n[[package]]\nname = \"proc-macro2-diagnostics\"\nversion = \"0.9.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4bf29726d67464d49fa6224a1d07936a8c08bb3fba727c7493f6cf1616fdaada\"\ndependencies = [\n \"proc-macro2\",\n \"quote\",\n \"syn\",\n \"version_check\",\n \"yansi\",\n]\n\n[[package]]\nname = \"quote\"\nversion = \"1.0.23\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b\"\ndependencies = [\n \"proc-macro2\",\n]\n\n[[package]]\nname = \"rand\"\nversion = \"0.7.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03\"\ndependencies = [\n \"getrandom 0.1.16\",\n \"libc\",\n \"rand_chacha\",\n \"rand_core 0.5.1\",\n \"rand_hc\",\n]\n\n[[package]]\nname = \"rand_chacha\"\nversion = \"0.2.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402\"\ndependencies = [\n \"ppv-lite86\",\n \"rand_core 0.5.1\",\n]\n\n[[package]]\nname = \"rand_core\"\nversion = \"0.5.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19\"\ndependencies = [\n \"getrandom 0.1.16\",\n]\n\n[[package]]\nname = \"rand_core\"\nversion = \"0.6.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c\"\n\n[[package]]\nname = \"rand_hc\"\nversion = \"0.2.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c\"\ndependencies = [\n \"rand_core 0.5.1\",\n]\n\n[[package]]\nname = \"rand_xoshiro\"\nversion = \"0.6.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa\"\ndependencies = [\n \"rand_core 0.6.4\",\n]\n\n[[package]]\nname = \"rayon\"\nversion = \"1.6.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6db3a213adf02b3bcfd2d3846bb41cb22857d131789e01df434fb7e7bc0759b7\"\ndependencies = [\n \"either\",\n \"rayon-core\",\n]\n\n[[package]]\nname = \"rayon-core\"\nversion = \"1.10.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"356a0625f1954f730c0201cdab48611198dc6ce21f4acff55089b5a78e6e835b\"\ndependencies = [\n \"crossbeam-channel\",\n \"crossbeam-deque\",\n \"crossbeam-utils\",\n \"num_cpus\",\n]\n\n[[package]]\nname = \"redox_syscall\"\nversion = \"0.2.16\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a\"\ndependencies = [\n \"bitflags\",\n]\n\n[[package]]\nname = \"regex\"\nversion = \"1.7.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733\"\ndependencies = [\n \"aho-corasick\",\n \"memchr\",\n \"regex-syntax\",\n]\n\n[[package]]\nname = \"regex-syntax\"\nversion = \"0.6.28\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848\"\n\n[[package]]\nname = \"rustc_version\"\nversion = \"0.4.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366\"\ndependencies = [\n \"semver\",\n]\n\n[[package]]\nname = \"rustversion\"\nversion = \"1.0.11\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5583e89e108996506031660fe09baa5011b9dd0341b89029313006d1fb508d70\"\n\n[[package]]\nname = \"ryu\"\nversion = \"1.0.12\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde\"\n\n[[package]]\nname = \"scopeguard\"\nversion = \"1.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd\"\n\n[[package]]\nname = \"semver\"\nversion = \"1.0.16\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a\"\n\n[[package]]\nname = \"serde\"\nversion = \"1.0.152\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb\"\ndependencies = [\n \"serde_derive\",\n]\n\n[[package]]\nname = \"serde_bytes\"\nversion = \"0.11.9\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"416bda436f9aab92e02c8e10d49a15ddd339cea90b6e340fe51ed97abb548294\"\ndependencies = [\n \"serde\",\n]\n\n[[package]]\nname = \"serde_derive\"\nversion = \"1.0.152\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e\"\ndependencies = [\n \"proc-macro2\",\n \"quote\",\n \"syn\",\n]\n\n[[package]]\nname = \"serde_json\"\nversion = \"1.0.93\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"cad406b69c91885b5107daf2c29572f6c8cdb3c66826821e286c533490c0bc76\"\ndependencies = [\n \"itoa\",\n \"ryu\",\n \"serde\",\n]\n\n[[package]]\nname = \"sha2\"\nversion = \"0.9.9\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800\"\ndependencies = [\n \"block-buffer 0.9.0\",\n \"cfg-if\",\n \"cpufeatures\",\n \"digest 0.9.0\",\n \"opaque-debug\",\n]\n\n[[package]]\nname = \"sha2\"\nversion = \"0.10.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0\"\ndependencies = [\n \"cfg-if\",\n \"cpufeatures\",\n \"digest 0.10.6\",\n]\n\n[[package]]\nname = \"sha3\"\nversion = \"0.10.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bdf0c33fae925bdc080598b84bc15c55e7b9a4a43b3c704da051f977469691c9\"\ndependencies = [\n \"digest 0.10.6\",\n \"keccak\",\n]\n\n[[package]]\nname = \"sized-chunks\"\nversion = \"0.6.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"16d69225bde7a69b235da73377861095455d298f2b970996eec25ddbb42b3d1e\"\ndependencies = [\n \"bitmaps\",\n \"typenum\",\n]\n\n[[package]]\nname = \"smallvec\"\nversion = \"1.10.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0\"\n\n[[package]]\nname = \"solana-frozen-abi\"\nversion = \"1.10.41\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d343b3838e95561548a2a651787d17aebf0a3f490f193746ee58f174f65bd7c3\"\ndependencies = [\n \"bs58 0.4.0\",\n \"bv\",\n \"generic-array\",\n \"im\",\n \"lazy_static\",\n \"log\",\n \"memmap2\",\n \"rustc_version\",\n \"serde\",\n \"serde_bytes\",\n \"serde_derive\",\n \"sha2 0.10.6\",\n \"solana-frozen-abi-macro\",\n \"thiserror\",\n]\n\n[[package]]\nname = \"solana-frozen-abi-macro\"\nversion = \"1.10.41\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a37211ec8dff16b08fcb422807fa7f046bbc6417bc43e00a2f2effd8fafec6bc\"\ndependencies = [\n \"proc-macro2\",\n \"quote\",\n \"rustc_version\",\n \"syn\",\n]\n\n[[package]]\nname = \"solana-program\"\nversion = \"1.10.41\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f9622af117fe254208f1fe99a533ea523624d64745d6cffecd986da6753662ef\"\ndependencies = [\n \"base64 0.13.1\",\n \"bincode\",\n \"bitflags\",\n \"blake3\",\n \"borsh\",\n \"borsh-derive\",\n \"bs58 0.4.0\",\n \"bv\",\n \"bytemuck\",\n \"console_error_panic_hook\",\n \"console_log\",\n \"curve25519-dalek\",\n \"getrandom 0.1.16\",\n \"itertools\",\n \"js-sys\",\n \"lazy_static\",\n \"libsecp256k1\",\n \"log\",\n \"num-derive\",\n \"num-traits\",\n \"parking_lot\",\n \"rand\",\n \"rustc_version\",\n \"rustversion\",\n \"serde\",\n \"serde_bytes\",\n \"serde_derive\",\n \"sha2 0.10.6\",\n \"sha3\",\n \"solana-frozen-abi\",\n \"solana-frozen-abi-macro\",\n \"solana-sdk-macro\",\n \"thiserror\",\n \"wasm-bindgen\",\n]\n\n[[package]]\nname = \"solana-sdk-macro\"\nversion = \"1.10.41\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8d036e3a52e5570114ec9ab56a1d0a6659e1ebd1c948605318b4e35eafca4515\"\ndependencies = [\n \"bs58 0.4.0\",\n \"proc-macro2\",\n \"quote\",\n \"rustversion\",\n \"syn\",\n]\n\n[[package]]\nname = \"subtle\"\nversion = \"2.4.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601\"\n\n[[package]]\nname = \"syn\"\nversion = \"1.0.107\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5\"\ndependencies = [\n \"proc-macro2\",\n \"quote\",\n \"unicode-ident\",\n]\n\n[[package]]\nname = \"thiserror\"\nversion = \"1.0.38\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0\"\ndependencies = [\n \"thiserror-impl\",\n]\n\n[[package]]\nname = \"thiserror-impl\"\nversion = \"1.0.38\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f\"\ndependencies = [\n \"proc-macro2\",\n \"quote\",\n \"syn\",\n]\n\n[[package]]\nname = \"toml\"\nversion = \"0.5.11\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234\"\ndependencies = [\n \"serde\",\n]\n\n[[package]]\nname = \"typenum\"\nversion = \"1.16.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba\"\n\n[[package]]\nname = \"unicode-ident\"\nversion = \"1.0.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc\"\n\n[[package]]\nname = \"unicode-segmentation\"\nversion = \"1.10.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36\"\n\n[[package]]\nname = \"version_check\"\nversion = \"0.9.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f\"\n\n[[package]]\nname = \"wasi\"\nversion = \"0.9.0+wasi-snapshot-preview1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519\"\n\n[[package]]\nname = \"wasi\"\nversion = \"0.11.0+wasi-snapshot-preview1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423\"\n\n[[package]]\nname = \"wasm-bindgen\"\nversion = \"0.2.84\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b\"\ndependencies = [\n \"cfg-if\",\n \"wasm-bindgen-macro\",\n]\n\n[[package]]\nname = \"wasm-bindgen-backend\"\nversion = \"0.2.84\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9\"\ndependencies = [\n \"bumpalo\",\n \"log\",\n \"once_cell\",\n \"proc-macro2\",\n \"quote\",\n \"syn\",\n \"wasm-bindgen-shared\",\n]\n\n[[package]]\nname = \"wasm-bindgen-macro\"\nversion = \"0.2.84\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5\"\ndependencies = [\n \"quote\",\n \"wasm-bindgen-macro-support\",\n]\n\n[[package]]\nname = \"wasm-bindgen-macro-support\"\nversion = \"0.2.84\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6\"\ndependencies = [\n \"proc-macro2\",\n \"quote\",\n \"syn\",\n \"wasm-bindgen-backend\",\n \"wasm-bindgen-shared\",\n]\n\n[[package]]\nname = \"wasm-bindgen-shared\"\nversion = \"0.2.84\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d\"\n\n[[package]]\nname = \"web-sys\"\nversion = \"0.3.61\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97\"\ndependencies = [\n \"js-sys\",\n \"wasm-bindgen\",\n]\n\n[[package]]\nname = \"windows-sys\"\nversion = \"0.45.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0\"\ndependencies = [\n \"windows-targets\",\n]\n\n[[package]]\nname = \"windows-targets\"\nversion = \"0.42.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7\"\ndependencies = [\n \"windows_aarch64_gnullvm\",\n \"windows_aarch64_msvc\",\n \"windows_i686_gnu\",\n \"windows_i686_msvc\",\n \"windows_x86_64_gnu\",\n \"windows_x86_64_gnullvm\",\n \"windows_x86_64_msvc\",\n]\n\n[[package]]\nname = \"windows_aarch64_gnullvm\"\nversion = \"0.42.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608\"\n\n[[package]]\nname = \"windows_aarch64_msvc\"\nversion = \"0.42.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7\"\n\n[[package]]\nname = \"windows_i686_gnu\"\nversion = \"0.42.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640\"\n\n[[package]]\nname = \"windows_i686_msvc\"\nversion = \"0.42.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605\"\n\n[[package]]\nname = \"windows_x86_64_gnu\"\nversion = \"0.42.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45\"\n\n[[package]]\nname = \"windows_x86_64_gnullvm\"\nversion = \"0.42.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463\"\n\n[[package]]\nname = \"windows_x86_64_msvc\"\nversion = \"0.42.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd\"\n\n[[package]]\nname = \"yansi\"\nversion = \"0.5.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec\"\n\n[[package]]\nname = \"zeroize\"\nversion = \"1.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4756f7db3f7b5574938c3eb1c117038b8e07f95ee6718c0efad4ac21508f1efd\"\n" + }, + "is_dir": false + }, + { + "path": "/anchor_workspace/programs", + "content": { + "String": "" + }, + "is_dir": true + }, + { + "path": "/anchor_workspace/programs/{{name}}", + "content": { + "String": "" + }, + "is_dir": true + }, + { + "path": "/anchor_workspace/programs/{{name}}/Cargo.toml.hbs", + "content": { + "String": "[package]\nname = \"{{name}}\"\nversion = \"0.1.0\"\ndescription = \"Created with soda\"\nedition = \"2021\"\n\n[lib]\ncrate-type = [\"cdylib\", \"lib\"]\nname = \"{{name}}\"\n\n[features]\nno-entrypoint = []\nno-idl = []\nno-log-ix-name = []\ncpi = [\"no-entrypoint\"]\ndefault = []\n\n[dependencies]\nanchor-lang = \"0.26.0\"\n" + }, + "is_dir": false + }, + { + "path": "/anchor_workspace/programs/{{name}}/Xargo.toml.hbs", + "content": { + "String": "[target.bpfel-unknown-unknown.dependencies.std]\nfeatures = []\n" + }, + "is_dir": false + }, + { + "path": "/anchor_workspace/programs/{{name}}/src", + "content": { + "String": "" + }, + "is_dir": true + }, + { + "path": "/anchor_workspace/programs/{{name}}/src/lib.rs.hbs", + "content": { + "String": "use anchor_lang::prelude::*;\n\ndeclare_id!(\"Fg6PaFpoGXkYsidMpWTK6W2BeZ7FEfcYkg476zPFsLnS\");\n\n#[program]\npub mod {{name}} {\n use super::*;\n\n // Instructions\n {{#each instructions}}\n pub fn {{snakecase this.name}}(ctx: Context<{{pascalcase this.name}}>) -> Result<()> {\n Ok(())\n }\n\n {{/each}}\n}\n\n// Context\n{{#each instructions}}\n#[derive(Accounts)]\npub struct {{pascalcase this.name}}<'info> {\n {{#each this.accounts}}\n #[account(mut)]\n pub {{this.name}}: AccountInfo<'info>,\n {{/each}}\n}\n\n{{/each}}\n// Accounts\n{{#each accounts}}\n#[account]\npub struct {{this.name}} {\n {{#each this.type.fields}}\n pub {{snakecase this.name}}: {{{type_from_account_field this.type}}},\n {{/each}}\n}\n\n{{/each}}\n// Additional structures\n{{#each types}}\n#[derive(Debug, Clone, AnchorSerialize, AnchorDeserialize)]\npub struct {{this.name}} {\n {{#each this.type.fields}}\n pub {{this.name}}: {{this.type}},\n {{/each}}\n}\n\n{{/each}}\n// Events\n{{#each events}}\n#[event]\npub struct {{this.name}} {\n {{#each this.fields}}\n pub {{snakecase this.name}}: {{{type_from_account_field this.type}}},\n {{/each}}\n}\n\n{{/each}}\n// Errors\n#[error_code]\npub enum ErrorCode {\n {{#each errors}}\n #[msg(\"{{{this.msg}}}\")]\n {{this.name}},\n {{/each}}\n}\n" + }, + "is_dir": false + }, + { + "path": "/anchor_workspace/.gitignore.hbs", + "content": { + "String": "\n.anchor\n.DS_Store\ntarget\n**/*.rs.bk\nnode_modules\ntest-ledger\n" + }, + "is_dir": false + }, + { + "path": "/anchor_workspace/tsconfig.json.hbs", + "content": { + "String": "{\n \"compilerOptions\": {\n \"types\": [\"mocha\", \"chai\"],\n \"typeRoots\": [\"./node_modules/@types\"],\n \"lib\": [\"es2015\"],\n \"module\": \"commonjs\",\n \"target\": \"es6\",\n \"esModuleInterop\": true\n }\n}\n" + }, + "is_dir": false + }, + { + "path": "/tests", + "content": { + "String": "" + }, + "is_dir": true + }, + { + "path": "/tests/idl.json.hbs", + "content": { + "String": "{{{debug_idl this}}}" + }, + "is_dir": false + }, + { + "path": "/tests/tests.js.hbs", + "content": { + "String": "import * as anchor from \"@project-serum/anchor\";\nimport { expect } from 'chai';\n\n// Configure the client to use the local cluster.\nconst provider = anchor.AnchorProvider.env();\nanchor.setProvider(provider);\nconst program = anchor.workspace.{{pascalcase name}};\n\ndescribe('tests', async () => {\n\n {{#each instructions}}\n it('{{name}}', async () => {\n\n // args\n {{#each args}}\n const {{name}} = {{#if (eq type \"string\")}}\"\"{{else}}0{{/if}}; //{{type}}\n {{/each}}\n\n // accounts\n {{#each accounts}}\n {{#if (eq name \"systemProgram\")}}{{else}}const {{name}}Account = null;\n{{/if}}{{/each}}\n const tx = await program.methods\n .{{name}}({{#each args}}{{name}},{{/each}})\n .accounts({\n {{#each accounts}}\n {{#if (eq name \"systemProgram\")}}\n {{name}}: anchor.web3.SystemProgram.programId,\n {{else}}\n {{name}}: {{name}}Account,\n {{/if}}\n {{/each}}\n })\n .rpc();\n\n expect(tx).to.have.lengthOf.greaterThan(0);\n });\n\n {{/each}}\n});\n" + }, + "is_dir": false + }, + { + "path": "/client", + "content": { + "String": "" + }, + "is_dir": true + }, + { + "path": "/client/manifest.json.hbs", + "content": { + "String": "{\n \"name\": \"{{name}}\",\n \"short_name\": \"{{name}}\",\n \"display\": \"standalone\",\n \"start_url\": \"./\",\n \"theme_color\": \"#000000\",\n \"background_color\": \"#ffffff\",\n \"icons\": [\n {\n \"src\": \"icons/icon-192x192.png\",\n \"sizes\": \"192x192\"\n },\n {\n \"src\": \"icons/icon-128x128.png\",\n \"sizes\": \"128x128\"\n },\n {\n \"src\": \"icons/icon-512x512.png\",\n \"sizes\": \"512x512\"\n }\n ]\n}\n" + }, + "is_dir": false + }, + { + "path": "/client/next.config.js.hbs", + "content": { + "String": "/** @type {import('next').NextConfig} */\nconst withPlugins = require(\"next-compose-plugins\");\n\n/** eslint-disable @typescript-eslint/no-var-requires */\nconst withTM = require(\"next-transpile-modules\")([\n \"@solana/wallet-adapter-base\",\n \"@solana/wallet-adapter-phantom\",\n \"@solana/wallet-adapter-react\",\n \"@solana/wallet-adapter-solflare\",\n \"@solana/wallet-adapter-wallets\",\n]);\n\nconst plugins = [\n [\n withTM,\n {\n webpack5: true,\n reactStrictMode: true,\n },\n ],\n];\n\nconst nextConfig = {\n swcMinify: true,\n webpack: (config, { isServer }) => {\n if (!isServer) {\n config.resolve.fallback.fs = false;\n }\n return config;\n },\n};\n\nmodule.exports = withPlugins(plugins, nextConfig);\n" + }, + "is_dir": false + }, + { + "path": "/client/next-env.d.ts.hbs", + "content": { + "String": "/// \n/// \n\n// NOTE: This file should not be edited\n// see https://nextjs.org/docs/basic-features/typescript for more information.\n" + }, + "is_dir": false + }, + { + "path": "/client/package.json.hbs", + "content": { + "String": "{\n \"name\": \"{{name}}\",\n \"version\": \"0.1.0\",\n \"private\": true,\n \"scripts\": {\n \"dev\": \"next dev\",\n \"build\": \"next build\",\n \"start\": \"next start\",\n \"lint\": \"next lint --fix\"\n },\n \"dependencies\": {\n \"@project-serum/anchor\": \"^0.25.0\",\n \"@solana/wallet-adapter-base\": \"^0.7.0\",\n \"@solana/wallet-adapter-phantom\": \"^0.7.0\",\n \"@solana/wallet-adapter-react\": \"^0.13.1\",\n \"@solana/wallet-adapter-react-ui\": \"^0.6.0\",\n \"@solana/wallet-adapter-solflare\": \"^0.4.0\",\n \"@solana/wallet-adapter-sollet\": \"^0.8.0\",\n \"@solana/wallet-adapter-wallets\": \"^0.11.3\",\n \"next\": \"12.1.0\",\n \"next-compose-plugins\": \"^2.2.1\",\n \"next-transpile-modules\": \"^9.0.0\",\n \"react\": \"17.0.2\",\n \"react-dom\": \"17.0.2\"\n },\n \"devDependencies\": {\n \"@types/react\": \"17.0.34\",\n \"autoprefixer\": \"^10.4.5\",\n \"eslint\": \"7\",\n \"eslint-config-next\": \"12.0.3\",\n \"postcss\": \"^8.4.12\",\n \"tailwindcss\": \"^3.0.24\",\n \"typescript\": \"4.4.4\"\n }\n}\n" + }, + "is_dir": false + }, + { + "path": "/client/yarn.lock.hbs", + "content": { + "String": "# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.\n# yarn lockfile v1\n\n\n\"@babel/code-frame@7.12.11\":\n version \"7.12.11\"\n resolved \"https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f\"\n integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==\n dependencies:\n \"@babel/highlight\" \"^7.10.4\"\n\n\"@babel/helper-validator-identifier@^7.18.6\":\n version \"7.19.1\"\n resolved \"https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2\"\n integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==\n\n\"@babel/highlight@^7.10.4\":\n version \"7.18.6\"\n resolved \"https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf\"\n integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==\n dependencies:\n \"@babel/helper-validator-identifier\" \"^7.18.6\"\n chalk \"^2.0.0\"\n js-tokens \"^4.0.0\"\n\n\"@babel/runtime@^7.12.5\", \"@babel/runtime@^7.17.2\", \"@babel/runtime@^7.20.7\":\n version \"7.21.0\"\n resolved \"https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.21.0.tgz#5b55c9d394e5fcf304909a8b00c07dc217b56673\"\n integrity sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==\n dependencies:\n regenerator-runtime \"^0.13.11\"\n\n\"@blocto/sdk@^0.2.16\":\n version \"0.2.22\"\n resolved \"https://registry.yarnpkg.com/@blocto/sdk/-/sdk-0.2.22.tgz#c7fe62809de0640a0a3f7a043c5bbceb8be17e38\"\n integrity sha512-Ro1AiISSlOiri/It932NEFxnDuF83Ide+z0p3KHs5+CdYYLYgCMmyroQnfRtoh3mbXdrTvI+EAuSkr+meWNqrg==\n dependencies:\n bs58 \"^4.0.1\"\n buffer \"^6.0.3\"\n eip1193-provider \"^1.0.1\"\n js-sha3 \"^0.8.0\"\n\n\"@eslint/eslintrc@^0.4.3\":\n version \"0.4.3\"\n resolved \"https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c\"\n integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==\n dependencies:\n ajv \"^6.12.4\"\n debug \"^4.1.1\"\n espree \"^7.3.0\"\n globals \"^13.9.0\"\n ignore \"^4.0.6\"\n import-fresh \"^3.2.1\"\n js-yaml \"^3.13.1\"\n minimatch \"^3.0.4\"\n strip-json-comments \"^3.1.1\"\n\n\"@humanwhocodes/config-array@^0.5.0\":\n version \"0.5.0\"\n resolved \"https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9\"\n integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==\n dependencies:\n \"@humanwhocodes/object-schema\" \"^1.2.0\"\n debug \"^4.1.1\"\n minimatch \"^3.0.4\"\n\n\"@humanwhocodes/object-schema@^1.2.0\":\n version \"1.2.1\"\n resolved \"https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45\"\n integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==\n\n\"@json-rpc-tools/provider@^1.5.5\":\n version \"1.7.6\"\n resolved \"https://registry.yarnpkg.com/@json-rpc-tools/provider/-/provider-1.7.6.tgz#8a17c34c493fa892632e278fd9331104e8491ec6\"\n integrity sha512-z7D3xvJ33UfCGv77n40lbzOYjZKVM3k2+5cV7xS8G6SCvKTzMkhkUYuD/qzQUNT4cG/lv0e9mRToweEEVLVVmA==\n dependencies:\n \"@json-rpc-tools/utils\" \"^1.7.6\"\n axios \"^0.21.0\"\n safe-json-utils \"^1.1.1\"\n ws \"^7.4.0\"\n\n\"@json-rpc-tools/types@^1.7.6\":\n version \"1.7.6\"\n resolved \"https://registry.yarnpkg.com/@json-rpc-tools/types/-/types-1.7.6.tgz#5abd5fde01364a130c46093b501715bcce5bdc0e\"\n integrity sha512-nDSqmyRNEqEK9TZHtM15uNnDljczhCUdBmRhpNZ95bIPKEDQ+nTDmGMFd2lLin3upc5h2VVVd9tkTDdbXUhDIQ==\n dependencies:\n keyvaluestorage-interface \"^1.0.0\"\n\n\"@json-rpc-tools/utils@^1.7.6\":\n version \"1.7.6\"\n resolved \"https://registry.yarnpkg.com/@json-rpc-tools/utils/-/utils-1.7.6.tgz#67f04987dbaa2e7adb6adff1575367b75a9a9ba1\"\n integrity sha512-HjA8x/U/Q78HRRe19yh8HVKoZ+Iaoo3YZjakJYxR+rw52NHo6jM+VE9b8+7ygkCFXl/EHID5wh/MkXaE/jGyYw==\n dependencies:\n \"@json-rpc-tools/types\" \"^1.7.6\"\n \"@pedrouid/environment\" \"^1.0.1\"\n\n\"@ledgerhq/devices@^8.0.0\":\n version \"8.0.0\"\n resolved \"https://registry.yarnpkg.com/@ledgerhq/devices/-/devices-8.0.0.tgz#8fe9f9e442e28b7a20bcdf4c2eed06ce7b8f76ae\"\n integrity sha512-gSnRT0KPca+LIpaC6D/WZQjOAlSI5uCvK1dmxXtKhODLAj735rX5Z3SnGnLUavRCHNbUi44FzgvloF5BKTkh7A==\n dependencies:\n \"@ledgerhq/errors\" \"^6.12.3\"\n \"@ledgerhq/logs\" \"^6.10.1\"\n rxjs \"6\"\n semver \"^7.3.5\"\n\n\"@ledgerhq/errors@^6.12.3\":\n version \"6.12.3\"\n resolved \"https://registry.yarnpkg.com/@ledgerhq/errors/-/errors-6.12.3.tgz#a610caae1eeeb7cb038525e5212fe03217dda683\"\n integrity sha512-djiMSgB/7hnK3aLR/c5ZMMivxjcI7o2+y3VKcsZZpydPoVf9+FXqeJPRfOwmJ0JxbQ//LinUfWpIfHew8LkaVw==\n\n\"@ledgerhq/hw-transport-webhid@^6.7.0\":\n version \"6.27.12\"\n resolved \"https://registry.yarnpkg.com/@ledgerhq/hw-transport-webhid/-/hw-transport-webhid-6.27.12.tgz#dd5073c5da05c6c3234a76a6e44ed576fe198757\"\n integrity sha512-Yhy5dOKeJIU24Dh9xQjrStc++NviPjRSGHsbc1PeyEjgPEGc8q8wtvm7WFBDzmymBwMhIA5eoNj3fGLk/voXQQ==\n dependencies:\n \"@ledgerhq/devices\" \"^8.0.0\"\n \"@ledgerhq/errors\" \"^6.12.3\"\n \"@ledgerhq/hw-transport\" \"^6.28.1\"\n \"@ledgerhq/logs\" \"^6.10.1\"\n\n\"@ledgerhq/hw-transport@^6.28.1\", \"@ledgerhq/hw-transport@^6.7.0\":\n version \"6.28.1\"\n resolved \"https://registry.yarnpkg.com/@ledgerhq/hw-transport/-/hw-transport-6.28.1.tgz#cb22fe9bc23af4682c30f2aac7fe6f7ab13ed65a\"\n integrity sha512-RaZe+abn0zBIz82cE9tp7Y7aZkHWWbEaE2yJpfxT8AhFz3fx+BU0kLYzuRN9fmA7vKueNJ1MTVUCY+Ex9/CHSQ==\n dependencies:\n \"@ledgerhq/devices\" \"^8.0.0\"\n \"@ledgerhq/errors\" \"^6.12.3\"\n events \"^3.3.0\"\n\n\"@ledgerhq/logs@^6.10.1\":\n version \"6.10.1\"\n resolved \"https://registry.yarnpkg.com/@ledgerhq/logs/-/logs-6.10.1.tgz#5bd16082261d7364eabb511c788f00937dac588d\"\n integrity sha512-z+ILK8Q3y+nfUl43ctCPuR4Y2bIxk/ooCQFwZxhtci1EhAtMDzMAx2W25qx8G1PPL9UUOdnUax19+F0OjXoj4w==\n\n\"@next/env@12.1.0\":\n version \"12.1.0\"\n resolved \"https://registry.yarnpkg.com/@next/env/-/env-12.1.0.tgz#73713399399b34aa5a01771fb73272b55b22c314\"\n integrity sha512-nrIgY6t17FQ9xxwH3jj0a6EOiQ/WDHUos35Hghtr+SWN/ntHIQ7UpuvSi0vaLzZVHQWaDupKI+liO5vANcDeTQ==\n\n\"@next/eslint-plugin-next@12.0.3\":\n version \"12.0.3\"\n resolved \"https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-12.0.3.tgz#3945c251d551bacc3712d4a18d6ca56d2938f175\"\n integrity sha512-P7i+bMypneQcoRN+CX79xssvvIJCaw7Fndzbe7/lB0+LyRbVvGVyMUsFmLLbSxtZq4hvFMJ1p8wML/gsulMZWQ==\n dependencies:\n glob \"7.1.7\"\n\n\"@next/swc-android-arm64@12.1.0\":\n version \"12.1.0\"\n resolved \"https://registry.yarnpkg.com/@next/swc-android-arm64/-/swc-android-arm64-12.1.0.tgz#865ba3a9afc204ff2bdeea49dd64d58705007a39\"\n integrity sha512-/280MLdZe0W03stA69iL+v6I+J1ascrQ6FrXBlXGCsGzrfMaGr7fskMa0T5AhQIVQD4nA/46QQWxG//DYuFBcA==\n\n\"@next/swc-darwin-arm64@12.1.0\":\n version \"12.1.0\"\n resolved \"https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.1.0.tgz#08e8b411b8accd095009ed12efbc2f1d4d547135\"\n integrity sha512-R8vcXE2/iONJ1Unf5Ptqjk6LRW3bggH+8drNkkzH4FLEQkHtELhvcmJwkXcuipyQCsIakldAXhRbZmm3YN1vXg==\n\n\"@next/swc-darwin-x64@12.1.0\":\n version \"12.1.0\"\n resolved \"https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-12.1.0.tgz#fcd684497a76e8feaca88db3c394480ff0b007cd\"\n integrity sha512-ieAz0/J0PhmbZBB8+EA/JGdhRHBogF8BWaeqR7hwveb6SYEIJaDNQy0I+ZN8gF8hLj63bEDxJAs/cEhdnTq+ug==\n\n\"@next/swc-linux-arm-gnueabihf@12.1.0\":\n version \"12.1.0\"\n resolved \"https://registry.yarnpkg.com/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.1.0.tgz#9ec6380a27938a5799aaa6035c205b3c478468a7\"\n integrity sha512-njUd9hpl6o6A5d08dC0cKAgXKCzm5fFtgGe6i0eko8IAdtAPbtHxtpre3VeSxdZvuGFh+hb0REySQP9T1ttkog==\n\n\"@next/swc-linux-arm64-gnu@12.1.0\":\n version \"12.1.0\"\n resolved \"https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.1.0.tgz#7f4196dff1049cea479607c75b81033ae2dbd093\"\n integrity sha512-OqangJLkRxVxMhDtcb7Qn1xjzFA3s50EIxY7mljbSCLybU+sByPaWAHY4px97ieOlr2y4S0xdPKkQ3BCAwyo6Q==\n\n\"@next/swc-linux-arm64-musl@12.1.0\":\n version \"12.1.0\"\n resolved \"https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.1.0.tgz#b445f767569cdc2dddee785ca495e1a88c025566\"\n integrity sha512-hB8cLSt4GdmOpcwRe2UzI5UWn6HHO/vLkr5OTuNvCJ5xGDwpPXelVkYW/0+C3g5axbDW2Tym4S+MQCkkH9QfWA==\n\n\"@next/swc-linux-x64-gnu@12.1.0\":\n version \"12.1.0\"\n resolved \"https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.1.0.tgz#67610e9be4fbc987de7535f1bcb17e45fe12f90e\"\n integrity sha512-OKO4R/digvrVuweSw/uBM4nSdyzsBV5EwkUeeG4KVpkIZEe64ZwRpnFB65bC6hGwxIBnTv5NMSnJ+0K/WmG78A==\n\n\"@next/swc-linux-x64-musl@12.1.0\":\n version \"12.1.0\"\n resolved \"https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.1.0.tgz#ea19a23db08a9f2e34ac30401f774cf7d1669d31\"\n integrity sha512-JohhgAHZvOD3rQY7tlp7NlmvtvYHBYgY0x5ZCecUT6eCCcl9lv6iV3nfu82ErkxNk1H893fqH0FUpznZ/H3pSw==\n\n\"@next/swc-win32-arm64-msvc@12.1.0\":\n version \"12.1.0\"\n resolved \"https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.1.0.tgz#eadf054fc412085659b98e145435bbba200b5283\"\n integrity sha512-T/3gIE6QEfKIJ4dmJk75v9hhNiYZhQYAoYm4iVo1TgcsuaKLFa+zMPh4056AHiG6n9tn2UQ1CFE8EoybEsqsSw==\n\n\"@next/swc-win32-ia32-msvc@12.1.0\":\n version \"12.1.0\"\n resolved \"https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.1.0.tgz#68faeae10c89f698bf9d28759172b74c9c21bda1\"\n integrity sha512-iwnKgHJdqhIW19H9PRPM9j55V6RdcOo6rX+5imx832BCWzkDbyomWnlzBfr6ByUYfhohb8QuH4hSGEikpPqI0Q==\n\n\"@next/swc-win32-x64-msvc@12.1.0\":\n version \"12.1.0\"\n resolved \"https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.1.0.tgz#d27e7e76c87a460a4da99c5bfdb1618dcd6cd064\"\n integrity sha512-aBvcbMwuanDH4EMrL2TthNJy+4nP59Bimn8egqv6GHMVj0a44cU6Au4PjOhLNqEh9l+IpRGBqMTzec94UdC5xg==\n\n\"@noble/ed25519@^1.7.0\":\n version \"1.7.3\"\n resolved \"https://registry.yarnpkg.com/@noble/ed25519/-/ed25519-1.7.3.tgz#57e1677bf6885354b466c38e2b620c62f45a7123\"\n integrity sha512-iR8GBkDt0Q3GyaVcIu7mSsVIqnFbkbRzGLWlvhwunacoLwt4J3swfKhfaM6rN6WY+TBGoYT1GtT1mIh2/jGbRQ==\n\n\"@noble/hashes@^1.1.2\":\n version \"1.2.0\"\n resolved \"https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.2.0.tgz#a3150eeb09cc7ab207ebf6d7b9ad311a9bdbed12\"\n integrity sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==\n\n\"@noble/secp256k1@^1.6.3\":\n version \"1.7.1\"\n resolved \"https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.7.1.tgz#b251c70f824ce3ca7f8dc3df08d58f005cc0507c\"\n integrity sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==\n\n\"@nodelib/fs.scandir@2.1.5\":\n version \"2.1.5\"\n resolved \"https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5\"\n integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==\n dependencies:\n \"@nodelib/fs.stat\" \"2.0.5\"\n run-parallel \"^1.1.9\"\n\n\"@nodelib/fs.stat@2.0.5\", \"@nodelib/fs.stat@^2.0.2\":\n version \"2.0.5\"\n resolved \"https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b\"\n integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==\n\n\"@nodelib/fs.walk@^1.2.3\":\n version \"1.2.8\"\n resolved \"https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a\"\n integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==\n dependencies:\n \"@nodelib/fs.scandir\" \"2.1.5\"\n fastq \"^1.6.0\"\n\n\"@pedrouid/environment@^1.0.1\":\n version \"1.0.1\"\n resolved \"https://registry.yarnpkg.com/@pedrouid/environment/-/environment-1.0.1.tgz#858f0f8a057340e0b250398b75ead77d6f4342ec\"\n integrity sha512-HaW78NszGzRZd9SeoI3JD11JqY+lubnaOx7Pewj5pfjqWXOEATpeKIFb9Z4t2WBUK2iryiXX3lzWwmYWgUL0Ug==\n\n\"@project-serum/anchor@^0.25.0\":\n version \"0.25.0\"\n resolved \"https://registry.yarnpkg.com/@project-serum/anchor/-/anchor-0.25.0.tgz#88ee4843336005cf5a64c80636ce626f0996f503\"\n integrity sha512-E6A5Y/ijqpfMJ5psJvbw0kVTzLZFUcOFgs6eSM2M2iWE1lVRF18T6hWZVNl6zqZsoz98jgnNHtVGJMs+ds9A7A==\n dependencies:\n \"@project-serum/borsh\" \"^0.2.5\"\n \"@solana/web3.js\" \"^1.36.0\"\n base64-js \"^1.5.1\"\n bn.js \"^5.1.2\"\n bs58 \"^4.0.1\"\n buffer-layout \"^1.2.2\"\n camelcase \"^5.3.1\"\n cross-fetch \"^3.1.5\"\n crypto-hash \"^1.3.0\"\n eventemitter3 \"^4.0.7\"\n js-sha256 \"^0.9.0\"\n pako \"^2.0.3\"\n snake-case \"^3.0.4\"\n superstruct \"^0.15.4\"\n toml \"^3.0.0\"\n\n\"@project-serum/borsh@^0.2.5\":\n version \"0.2.5\"\n resolved \"https://registry.yarnpkg.com/@project-serum/borsh/-/borsh-0.2.5.tgz#6059287aa624ecebbfc0edd35e4c28ff987d8663\"\n integrity sha512-UmeUkUoKdQ7rhx6Leve1SssMR/Ghv8qrEiyywyxSWg7ooV7StdpPBhciiy5eB3T0qU1BXvdRNC8TdrkxK7WC5Q==\n dependencies:\n bn.js \"^5.1.2\"\n buffer-layout \"^1.2.0\"\n\n\"@project-serum/sol-wallet-adapter@^0.2.5\":\n version \"0.2.6\"\n resolved \"https://registry.yarnpkg.com/@project-serum/sol-wallet-adapter/-/sol-wallet-adapter-0.2.6.tgz#b4cd25a566294354427c97c26d716112b91a0107\"\n integrity sha512-cpIb13aWPW8y4KzkZAPDgw+Kb+DXjCC6rZoH74MGm3I/6e/zKyGnfAuW5olb2zxonFqsYgnv7ev8MQnvSgJ3/g==\n dependencies:\n bs58 \"^4.0.1\"\n eventemitter3 \"^4.0.7\"\n\n\"@rushstack/eslint-patch@^1.0.6\":\n version \"1.2.0\"\n resolved \"https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz#8be36a1f66f3265389e90b5f9c9962146758f728\"\n integrity sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==\n\n\"@solana/buffer-layout@^4.0.0\":\n version \"4.0.1\"\n resolved \"https://registry.yarnpkg.com/@solana/buffer-layout/-/buffer-layout-4.0.1.tgz#b996235eaec15b1e0b5092a8ed6028df77fa6c15\"\n integrity sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA==\n dependencies:\n buffer \"~6.0.3\"\n\n\"@solana/wallet-adapter-base@^0.7.0\":\n version \"0.7.1\"\n resolved \"https://registry.yarnpkg.com/@solana/wallet-adapter-base/-/wallet-adapter-base-0.7.1.tgz#9d352e946f406b5d5342515f2e14c82f11425c1c\"\n integrity sha512-NgdLrsOouBP6Cr563PjxW+4viBo1yx6q2N86LJQzwlrk8Aug48p0AgBPX+F1t9WyulDwRWVTPEALBhmggMpZIg==\n dependencies:\n eventemitter3 \"^4.0.7\"\n\n\"@solana/wallet-adapter-bitkeep@^0.1.0\":\n version \"0.1.0\"\n resolved \"https://registry.yarnpkg.com/@solana/wallet-adapter-bitkeep/-/wallet-adapter-bitkeep-0.1.0.tgz#affe28d957c5aed722a749843b04e11458171633\"\n integrity sha512-SocG9vvTf3hc3JsYbpn1xroW8yNWRoC7b7OVXHMWWeavdAA7zE3/DiP1Ir2WcOmD5LuFcfma6tgyyvU8tLGP8Q==\n\n\"@solana/wallet-adapter-bitpie@^0.3.0\":\n version \"0.3.0\"\n resolved \"https://registry.yarnpkg.com/@solana/wallet-adapter-bitpie/-/wallet-adapter-bitpie-0.3.0.tgz#dc99186d342b34471eb710afa63767a47bb433fa\"\n integrity sha512-WV6lbeWKHHQaZCOdKiM5YTc5Az6N8iBdK/AyKJ2/d862WkpG9Ig0O3by9v0FyW91Ns0rEsXhU0oGLl2MahO76w==\n\n\"@solana/wallet-adapter-blocto@^0.3.0\":\n version \"0.3.1\"\n resolved \"https://registry.yarnpkg.com/@solana/wallet-adapter-blocto/-/wallet-adapter-blocto-0.3.1.tgz#62991e13fac290c13cf88d69234e9590254917ab\"\n integrity sha512-ajnNUW0lpA26lwhdArf2+5XPQqI70Z2O37kwW+wl8vNrvrpKftpMe07q99GhoYuAsEkI6J/bggzt6nvKvfK0bg==\n dependencies:\n \"@blocto/sdk\" \"^0.2.16\"\n\n\"@solana/wallet-adapter-clover@^0.2.0\":\n version \"0.2.0\"\n resolved \"https://registry.yarnpkg.com/@solana/wallet-adapter-clover/-/wallet-adapter-clover-0.2.0.tgz#06c41919572bd9b7fda355f55d981b641abdcdba\"\n integrity sha512-s5f6m5bb/HEmMZ7bZfl+HUlb0J5qyTPq21GurH0Tt4uXnTl6NfIi67jSch/Q2gfwmCpFsoeZi0uFRpZxXdl22Q==\n\n\"@solana/wallet-adapter-coin98@^0.3.0\":\n version \"0.3.0\"\n resolved \"https://registry.yarnpkg.com/@solana/wallet-adapter-coin98/-/wallet-adapter-coin98-0.3.0.tgz#9ac3ee2f5386649d1ee056425bc77bc7dd00a4ae\"\n integrity sha512-HyEPGHojW3ueahMDFOu9h1phYAj4U8LIpXunrqUhL5ApjGFKF4ZFQYd/u2U+frFyj49rmPULlcRkLihP3h59Aw==\n dependencies:\n \"@types/bs58\" \"^4.0.1\"\n bs58 \"^4.0.1\"\n\n\"@solana/wallet-adapter-coinhub@^0.1.0\":\n version \"0.1.0\"\n resolved \"https://registry.yarnpkg.com/@solana/wallet-adapter-coinhub/-/wallet-adapter-coinhub-0.1.0.tgz#fe546f5b939241a6f08259f64cb686bf2e01499a\"\n integrity sha512-BWRw9fKWlLPFUeQVCeEvNZo+T+vdkRAih3AZComX7nuKJ9JY1Ekh5WotmvQFr9z+DUyNfsxgXOTJ/c+tFg+M5Q==\n\n\"@solana/wallet-adapter-ledger@^0.7.0\":\n version \"0.7.0\"\n resolved \"https://registry.yarnpkg.com/@solana/wallet-adapter-ledger/-/wallet-adapter-ledger-0.7.0.tgz#8e99f8b9320c74924bc83055131e652acdee8105\"\n integrity sha512-az4Z6eAFe77AlSqCOl9lHhfIrK/phQruHItLLTtT+8a1Y5QylodBNvc/CiD+I8ULwXDOvonXsFgnJnAVS/xMUg==\n dependencies:\n \"@ledgerhq/hw-transport\" \"^6.7.0\"\n \"@ledgerhq/hw-transport-webhid\" \"^6.7.0\"\n \"@types/w3c-web-hid\" \"^1.0.2\"\n\n\"@solana/wallet-adapter-mathwallet@^0.7.0\":\n version \"0.7.0\"\n resolved \"https://registry.yarnpkg.com/@solana/wallet-adapter-mathwallet/-/wallet-adapter-mathwallet-0.7.0.tgz#4e0af44da30c1c42b556b0b431aab1a9de7336d4\"\n integrity sha512-RqQkqHHyYzg0czopiNWkzID8RF7K6s76QBzVlD1XRJI4lLJKzODu30v+5H+15JWBBtgFuys1pLHZ7p3y3Z6dvg==\n\n\"@solana/wallet-adapter-phantom@^0.7.0\":\n version \"0.7.0\"\n resolved \"https://registry.yarnpkg.com/@solana/wallet-adapter-phantom/-/wallet-adapter-phantom-0.7.0.tgz#fc71557a3d61b20c45e53c99e24f0f03f3a5a199\"\n integrity sha512-u2SkJ6LO+A2MKTgN9bsG5Ro0Vn9KL7NKsGPT0JrYI2rvXm3yZnhlAE0i0oq+/nFAjkL/+Onm9boOaYF0/Z7vBQ==\n\n\"@solana/wallet-adapter-react-ui@^0.6.0\":\n version \"0.6.1\"\n resolved \"https://registry.yarnpkg.com/@solana/wallet-adapter-react-ui/-/wallet-adapter-react-ui-0.6.1.tgz#aae74cb0c973d6179297f4f35168f780b23c607f\"\n integrity sha512-S2aZcHR+BBFMIjYoTWvs5vfEyckLzPOAbUY2CGEoOOR75q235WjBtO6I9ooh/bKFRD0OaGOwzgya4UtrkR5A6A==\n\n\"@solana/wallet-adapter-react@^0.13.1\":\n version \"0.13.1\"\n resolved \"https://registry.yarnpkg.com/@solana/wallet-adapter-react/-/wallet-adapter-react-0.13.1.tgz#7014f85b4d60a1c2b0e8c72c12baa0b1b5172854\"\n integrity sha512-Sk45AuOF8EgmR28zcib5NquvOwTpBlyDA8Iku1MVdXUQ9giA/tBwfJw21HIf1r+TVepg+V0xAP5FhP+MX0p6QQ==\n\n\"@solana/wallet-adapter-safepal@^0.3.0\":\n version \"0.3.0\"\n resolved \"https://registry.yarnpkg.com/@solana/wallet-adapter-safepal/-/wallet-adapter-safepal-0.3.0.tgz#b1368fd0c5c8864c402cc0f0924f27ee70639e82\"\n integrity sha512-G/pCMxAeTWZlvJAKEyHRvLDZIyPkg4Zw/xfGQrTM9AG70cf3RFaiTK+8kqO1JL/xKGUsVfnJRFfPImR+hut6kw==\n\n\"@solana/wallet-adapter-slope@^0.3.0\":\n version \"0.3.0\"\n resolved \"https://registry.yarnpkg.com/@solana/wallet-adapter-slope/-/wallet-adapter-slope-0.3.0.tgz#b15328cf2801811db5769bc81ab2e2d0962016d2\"\n integrity sha512-2ghqUcL8qmCMMtQ2X5xQSZzEpreRW0dfR/o7zHcp3uU4XW5OXFJ2a0YnGUiLVAAEesUG2gmplKSerp72BnPZjA==\n dependencies:\n \"@types/bs58\" \"^4.0.1\"\n bs58 \"^4.0.1\"\n\n\"@solana/wallet-adapter-solflare@^0.4.0\":\n version \"0.4.1\"\n resolved \"https://registry.yarnpkg.com/@solana/wallet-adapter-solflare/-/wallet-adapter-solflare-0.4.1.tgz#d1fd6f3c72c15c6281f94e5537822115ccc0bc5b\"\n integrity sha512-ZydQgOuaBac0+a/Z4ROO54NObFiF/S9MOwiOfICXagk4PrWEJNbG1RwkwZzjtxAeYHEbGCb52XN2Buzm5EanJw==\n\n\"@solana/wallet-adapter-sollet@^0.8.0\":\n version \"0.8.0\"\n resolved \"https://registry.yarnpkg.com/@solana/wallet-adapter-sollet/-/wallet-adapter-sollet-0.8.0.tgz#d2e24a6b1430c40b974b239b8b7442886d57f5fe\"\n integrity sha512-9Bxj2IFT9XPh7Nl9IQaTyNwS3uoowQahqE43Ei2DbFJCrlN8qC6wSnJwHGAUPMKnL85Gg0IEZmtZfmuVmyTGQg==\n dependencies:\n \"@project-serum/sol-wallet-adapter\" \"^0.2.5\"\n\n\"@solana/wallet-adapter-solong@^0.7.0\":\n version \"0.7.0\"\n resolved \"https://registry.yarnpkg.com/@solana/wallet-adapter-solong/-/wallet-adapter-solong-0.7.0.tgz#48cc9a6f2dab48dc2d9e5815f17c741192152138\"\n integrity sha512-y7pal0G/91Oxaco/AVnu9aDFgiaabaFchS1Z62WJzC89Srm7gecclckd4MrQ/TE1TaZQi+8dUWWFGHJxU1zVKg==\n\n\"@solana/wallet-adapter-tokenpocket@^0.2.0\":\n version \"0.2.0\"\n resolved \"https://registry.yarnpkg.com/@solana/wallet-adapter-tokenpocket/-/wallet-adapter-tokenpocket-0.2.0.tgz#b405fb07cee374ddb6a14f140439c68bb88a94b4\"\n integrity sha512-NmqWnq8N5+fIsP5xjQbZIPqTf+jy5VVJ4eMdXHtGVrOZUTeQPD1fnBzKhWp212nJ0ObjN+1ylSKw7XTSS3cPWA==\n\n\"@solana/wallet-adapter-torus@^0.8.0\":\n version \"0.8.1\"\n resolved \"https://registry.yarnpkg.com/@solana/wallet-adapter-torus/-/wallet-adapter-torus-0.8.1.tgz#498e574ab6d328141cccd79711ca33db9e7447e1\"\n integrity sha512-C6iD0dcr56C3oNukjZEJgLiCNwbgmV4dx08oLmGC8dJnDBwS1A0DNpjbJ3V7k4Ywi2OgsFRInpsQqBBU8+7SOg==\n dependencies:\n \"@toruslabs/openlogin\" \"^1.0.0\"\n \"@toruslabs/openlogin-ed25519\" \"^1.0.0\"\n \"@types/keccak\" \"^3.0.1\"\n \"@types/readable-stream\" \"^2.3.11\"\n\n\"@solana/wallet-adapter-wallets@^0.11.3\":\n version \"0.11.3\"\n resolved \"https://registry.yarnpkg.com/@solana/wallet-adapter-wallets/-/wallet-adapter-wallets-0.11.3.tgz#66d16ca75d375db32fcb748d08155a2ee9ac697a\"\n integrity sha512-SiPampUuHYlN9QJfeScH8wZSuCk7GrwuYpb1kzi0N7oqtRf/baxXmZDQFKgWIP/L49FqCEtFmCaAkck0vi8bFA==\n dependencies:\n \"@solana/wallet-adapter-bitkeep\" \"^0.1.0\"\n \"@solana/wallet-adapter-bitpie\" \"^0.3.0\"\n \"@solana/wallet-adapter-blocto\" \"^0.3.0\"\n \"@solana/wallet-adapter-clover\" \"^0.2.0\"\n \"@solana/wallet-adapter-coin98\" \"^0.3.0\"\n \"@solana/wallet-adapter-coinhub\" \"^0.1.0\"\n \"@solana/wallet-adapter-ledger\" \"^0.7.0\"\n \"@solana/wallet-adapter-mathwallet\" \"^0.7.0\"\n \"@solana/wallet-adapter-phantom\" \"^0.7.0\"\n \"@solana/wallet-adapter-safepal\" \"^0.3.0\"\n \"@solana/wallet-adapter-slope\" \"^0.3.0\"\n \"@solana/wallet-adapter-solflare\" \"^0.4.0\"\n \"@solana/wallet-adapter-sollet\" \"^0.8.0\"\n \"@solana/wallet-adapter-solong\" \"^0.7.0\"\n \"@solana/wallet-adapter-tokenpocket\" \"^0.2.0\"\n \"@solana/wallet-adapter-torus\" \"^0.8.0\"\n\n\"@solana/web3.js@^1.36.0\":\n version \"1.73.2\"\n resolved \"https://registry.yarnpkg.com/@solana/web3.js/-/web3.js-1.73.2.tgz#4b30cd402b35733dae3a7d0b638be26a7742b395\"\n integrity sha512-9WACF8W4Nstj7xiDw3Oom22QmrhBh0VyZyZ7JvvG3gOxLWLlX3hvm5nPVJOGcCE/9fFavBbCUb5A6CIuvMGdoA==\n dependencies:\n \"@babel/runtime\" \"^7.12.5\"\n \"@noble/ed25519\" \"^1.7.0\"\n \"@noble/hashes\" \"^1.1.2\"\n \"@noble/secp256k1\" \"^1.6.3\"\n \"@solana/buffer-layout\" \"^4.0.0\"\n agentkeepalive \"^4.2.1\"\n bigint-buffer \"^1.1.5\"\n bn.js \"^5.0.0\"\n borsh \"^0.7.0\"\n bs58 \"^4.0.1\"\n buffer \"6.0.1\"\n fast-stable-stringify \"^1.0.0\"\n jayson \"^3.4.4\"\n node-fetch \"2\"\n rpc-websockets \"^7.5.0\"\n superstruct \"^0.14.2\"\n\n\"@toruslabs/eccrypto@^1.1.8\":\n version \"1.1.8\"\n resolved \"https://registry.yarnpkg.com/@toruslabs/eccrypto/-/eccrypto-1.1.8.tgz#ce1eac9c3964a091cdc74956a62036b5719a41eb\"\n integrity sha512-5dIrO2KVqvnAPOPfJ2m6bnjp9vav9GIcCZXiXRW/bJuIDRLVxJhVvRlleF4oaEZPq5yX5piHq5jVHagNNS0jOQ==\n dependencies:\n acorn \"^8.4.1\"\n elliptic \"^6.5.4\"\n es6-promise \"^4.2.8\"\n nan \"^2.14.2\"\n optionalDependencies:\n secp256k1 \"^3.8.0\"\n\n\"@toruslabs/http-helpers@^2.2.0\":\n version \"2.2.0\"\n resolved \"https://registry.yarnpkg.com/@toruslabs/http-helpers/-/http-helpers-2.2.0.tgz#c494984701ff60eb93c0eaef279daa93b5bcea81\"\n integrity sha512-xkzZZuE+DmWmJBTYneCrMJY24izNQCOdoJMpsXKQx20Va/rTQvNPbdkpx9LBf/pisk8jOwETNAfFQ8YTBc/bZw==\n dependencies:\n lodash.merge \"^4.6.2\"\n loglevel \"^1.8.0\"\n\n\"@toruslabs/openlogin-ed25519@^1.0.0\":\n version \"1.7.0\"\n resolved \"https://registry.yarnpkg.com/@toruslabs/openlogin-ed25519/-/openlogin-ed25519-1.7.0.tgz#82055e2e53e72ad4b96f06f38a1b0432f8e8ce36\"\n integrity sha512-pFDnNxdkIkiGfyv037C4MqRV9gdGv08f3A5rRGoFI3BQynMdtQAozCyX3Q8MF5EgKO7foPJPQPxnjKhohtVrTQ==\n dependencies:\n \"@toruslabs/tweetnacl-js\" \"^1.0.3\"\n\n\"@toruslabs/openlogin-jrpc@^1.7.3\":\n version \"1.7.3\"\n resolved \"https://registry.yarnpkg.com/@toruslabs/openlogin-jrpc/-/openlogin-jrpc-1.7.3.tgz#0bbdc2f7989b4a1f19b8a54d3e66721d424d185f\"\n integrity sha512-xjixDKPLZN7T5hCjwmGTU58NttdZiHn3YlK6II2z4v8IifPUwoquYP08XfaE79ksxamgDYkGERf7bQGkV5Wf5w==\n dependencies:\n \"@toruslabs/openlogin-utils\" \"^1.7.0\"\n end-of-stream \"^1.4.4\"\n eth-rpc-errors \"^4.0.3\"\n events \"^3.3.0\"\n fast-safe-stringify \"^2.1.1\"\n once \"^1.4.0\"\n pump \"^3.0.0\"\n readable-stream \"^3.6.0\"\n\n\"@toruslabs/openlogin-utils@^1.7.0\":\n version \"1.7.0\"\n resolved \"https://registry.yarnpkg.com/@toruslabs/openlogin-utils/-/openlogin-utils-1.7.0.tgz#1762e2f1f67590d0c6cb8e4c4ade82d59ba13a18\"\n integrity sha512-y+j22v+h6EfzN4sfFnmtmMrcxEdkScdJOAgbtvX42BpUYOuFa1Tv0SZjdtsGGDE4g5szmL3rb9NGMHdBF1rZtg==\n dependencies:\n base64url \"^3.0.1\"\n keccak \"^3.0.2\"\n randombytes \"^2.1.0\"\n\n\"@toruslabs/openlogin@^1.0.0\":\n version \"1.7.5\"\n resolved \"https://registry.yarnpkg.com/@toruslabs/openlogin/-/openlogin-1.7.5.tgz#59e05c8e0bf7bfbab7c459d7fd4a28ba36f84c5d\"\n integrity sha512-QKAf829LSjKiAUfuqQALY+SCP8oPlKsGiNwO9wj1lJHeLQLfPnXh2wtfjBwMS2WSo7G+ZPpe2dU59B9LGiylmQ==\n dependencies:\n \"@toruslabs/eccrypto\" \"^1.1.8\"\n \"@toruslabs/http-helpers\" \"^2.2.0\"\n \"@toruslabs/openlogin-jrpc\" \"^1.7.3\"\n \"@toruslabs/openlogin-utils\" \"^1.7.0\"\n lodash.merge \"^4.6.2\"\n loglevel \"^1.8.0\"\n pump \"^3.0.0\"\n\n\"@toruslabs/tweetnacl-js@^1.0.3\":\n version \"1.0.3\"\n resolved \"https://registry.yarnpkg.com/@toruslabs/tweetnacl-js/-/tweetnacl-js-1.0.3.tgz#52abbcd2a6b77959ef6a98afedce77764d87226d\"\n integrity sha512-WQJYMTR/bkqvpk3DWOqRt5e24RhwJp9PXUoSj4zSthd3+fDhKYCI56YVMPNDKah1fCffOe9F3m8iZ5SgDZ+Csw==\n\n\"@types/bs58@^4.0.1\":\n version \"4.0.1\"\n resolved \"https://registry.yarnpkg.com/@types/bs58/-/bs58-4.0.1.tgz#3d51222aab067786d3bc3740a84a7f5a0effaa37\"\n integrity sha512-yfAgiWgVLjFCmRv8zAcOIHywYATEwiTVccTLnRp6UxTNavT55M9d/uhK3T03St/+8/z/wW+CRjGKUNmEqoHHCA==\n dependencies:\n base-x \"^3.0.6\"\n\n\"@types/connect@^3.4.33\":\n version \"3.4.35\"\n resolved \"https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1\"\n integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==\n dependencies:\n \"@types/node\" \"*\"\n\n\"@types/json5@^0.0.29\":\n version \"0.0.29\"\n resolved \"https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee\"\n integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==\n\n\"@types/keccak@^3.0.1\":\n version \"3.0.1\"\n resolved \"https://registry.yarnpkg.com/@types/keccak/-/keccak-3.0.1.tgz#1dfad12395f32927cf409707534dd796d57aa84c\"\n integrity sha512-/MxAVmtyyeOvZ6dGf3ciLwFRuV5M8DRIyYNFGHYI6UyBW4/XqyO0LZw+JFMvaeY3cHItQAkELclBU1x5ank6mg==\n dependencies:\n \"@types/node\" \"*\"\n\n\"@types/node@*\":\n version \"18.14.0\"\n resolved \"https://registry.yarnpkg.com/@types/node/-/node-18.14.0.tgz#94c47b9217bbac49d4a67a967fdcdeed89ebb7d0\"\n integrity sha512-5EWrvLmglK+imbCJY0+INViFWUHg1AHel1sq4ZVSfdcNqGy9Edv3UB9IIzzg+xPaUcAgZYcfVs2fBcwDeZzU0A==\n\n\"@types/node@^12.12.54\":\n version \"12.20.55\"\n resolved \"https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240\"\n integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==\n\n\"@types/prop-types@*\":\n version \"15.7.5\"\n resolved \"https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf\"\n integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==\n\n\"@types/react@17.0.34\":\n version \"17.0.34\"\n resolved \"https://registry.yarnpkg.com/@types/react/-/react-17.0.34.tgz#797b66d359b692e3f19991b6b07e4b0c706c0102\"\n integrity sha512-46FEGrMjc2+8XhHXILr+3+/sTe3OfzSPU9YGKILLrUYbQ1CLQC9Daqo1KzENGXAWwrFwiY0l4ZbF20gRvgpWTg==\n dependencies:\n \"@types/prop-types\" \"*\"\n \"@types/scheduler\" \"*\"\n csstype \"^3.0.2\"\n\n\"@types/readable-stream@^2.3.11\":\n version \"2.3.15\"\n resolved \"https://registry.yarnpkg.com/@types/readable-stream/-/readable-stream-2.3.15.tgz#3d79c9ceb1b6a57d5f6e6976f489b9b5384321ae\"\n integrity sha512-oM5JSKQCcICF1wvGgmecmHldZ48OZamtMxcGGVICOJA8o8cahXC1zEVAif8iwoc5j8etxFaRFnf095+CDsuoFQ==\n dependencies:\n \"@types/node\" \"*\"\n safe-buffer \"~5.1.1\"\n\n\"@types/scheduler@*\":\n version \"0.16.2\"\n resolved \"https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39\"\n integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==\n\n\"@types/w3c-web-hid@^1.0.2\":\n version \"1.0.3\"\n resolved \"https://registry.yarnpkg.com/@types/w3c-web-hid/-/w3c-web-hid-1.0.3.tgz#e08587a7d737f8654ea6bc0a88689ce5d3ce2d19\"\n integrity sha512-eTQRkPd2JukZfS9+kRtrBAaTCCb6waGh5X8BJHmH1MiVQPLMYwm4+EvhwFfOo9SDna15o9dFAwmWwN6r/YM53A==\n\n\"@types/ws@^7.4.4\":\n version \"7.4.7\"\n resolved \"https://registry.yarnpkg.com/@types/ws/-/ws-7.4.7.tgz#f7c390a36f7a0679aa69de2d501319f4f8d9b702\"\n integrity sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==\n dependencies:\n \"@types/node\" \"*\"\n\n\"@typescript-eslint/parser@^4.20.0\":\n version \"4.33.0\"\n resolved \"https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.33.0.tgz#dfe797570d9694e560528d18eecad86c8c744899\"\n integrity sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==\n dependencies:\n \"@typescript-eslint/scope-manager\" \"4.33.0\"\n \"@typescript-eslint/types\" \"4.33.0\"\n \"@typescript-eslint/typescript-estree\" \"4.33.0\"\n debug \"^4.3.1\"\n\n\"@typescript-eslint/scope-manager@4.33.0\":\n version \"4.33.0\"\n resolved \"https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz#d38e49280d983e8772e29121cf8c6e9221f280a3\"\n integrity sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==\n dependencies:\n \"@typescript-eslint/types\" \"4.33.0\"\n \"@typescript-eslint/visitor-keys\" \"4.33.0\"\n\n\"@typescript-eslint/types@4.33.0\":\n version \"4.33.0\"\n resolved \"https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.33.0.tgz#a1e59036a3b53ae8430ceebf2a919dc7f9af6d72\"\n integrity sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==\n\n\"@typescript-eslint/typescript-estree@4.33.0\":\n version \"4.33.0\"\n resolved \"https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz#0dfb51c2908f68c5c08d82aefeaf166a17c24609\"\n integrity sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==\n dependencies:\n \"@typescript-eslint/types\" \"4.33.0\"\n \"@typescript-eslint/visitor-keys\" \"4.33.0\"\n debug \"^4.3.1\"\n globby \"^11.0.3\"\n is-glob \"^4.0.1\"\n semver \"^7.3.5\"\n tsutils \"^3.21.0\"\n\n\"@typescript-eslint/visitor-keys@4.33.0\":\n version \"4.33.0\"\n resolved \"https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz#2a22f77a41604289b7a186586e9ec48ca92ef1dd\"\n integrity sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==\n dependencies:\n \"@typescript-eslint/types\" \"4.33.0\"\n eslint-visitor-keys \"^2.0.0\"\n\nJSONStream@^1.3.5:\n version \"1.3.5\"\n resolved \"https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0\"\n integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==\n dependencies:\n jsonparse \"^1.2.0\"\n through \">=2.2.7 <3\"\n\nacorn-jsx@^5.3.1:\n version \"5.3.2\"\n resolved \"https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937\"\n integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==\n\nacorn-node@^1.8.2:\n version \"1.8.2\"\n resolved \"https://registry.yarnpkg.com/acorn-node/-/acorn-node-1.8.2.tgz#114c95d64539e53dede23de8b9d96df7c7ae2af8\"\n integrity sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==\n dependencies:\n acorn \"^7.0.0\"\n acorn-walk \"^7.0.0\"\n xtend \"^4.0.2\"\n\nacorn-walk@^7.0.0:\n version \"7.2.0\"\n resolved \"https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc\"\n integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==\n\nacorn@^7.0.0, acorn@^7.4.0:\n version \"7.4.1\"\n resolved \"https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa\"\n integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==\n\nacorn@^8.4.1:\n version \"8.8.2\"\n resolved \"https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a\"\n integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==\n\nagentkeepalive@^4.2.1:\n version \"4.2.1\"\n resolved \"https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.2.1.tgz#a7975cbb9f83b367f06c90cc51ff28fe7d499717\"\n integrity sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==\n dependencies:\n debug \"^4.1.0\"\n depd \"^1.1.2\"\n humanize-ms \"^1.2.1\"\n\najv@^6.10.0, ajv@^6.12.4:\n version \"6.12.6\"\n resolved \"https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4\"\n integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==\n dependencies:\n fast-deep-equal \"^3.1.1\"\n fast-json-stable-stringify \"^2.0.0\"\n json-schema-traverse \"^0.4.1\"\n uri-js \"^4.2.2\"\n\najv@^8.0.1:\n version \"8.12.0\"\n resolved \"https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1\"\n integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==\n dependencies:\n fast-deep-equal \"^3.1.1\"\n json-schema-traverse \"^1.0.0\"\n require-from-string \"^2.0.2\"\n uri-js \"^4.2.2\"\n\nansi-colors@^4.1.1:\n version \"4.1.3\"\n resolved \"https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b\"\n integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==\n\nansi-regex@^5.0.1:\n version \"5.0.1\"\n resolved \"https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304\"\n integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==\n\nansi-styles@^3.2.1:\n version \"3.2.1\"\n resolved \"https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d\"\n integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==\n dependencies:\n color-convert \"^1.9.0\"\n\nansi-styles@^4.0.0, ansi-styles@^4.1.0:\n version \"4.3.0\"\n resolved \"https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937\"\n integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\n dependencies:\n color-convert \"^2.0.1\"\n\nanymatch@~3.1.2:\n version \"3.1.3\"\n resolved \"https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e\"\n integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==\n dependencies:\n normalize-path \"^3.0.0\"\n picomatch \"^2.0.4\"\n\narg@^5.0.2:\n version \"5.0.2\"\n resolved \"https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c\"\n integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==\n\nargparse@^1.0.7:\n version \"1.0.10\"\n resolved \"https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911\"\n integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==\n dependencies:\n sprintf-js \"~1.0.2\"\n\naria-query@^5.1.3:\n version \"5.1.3\"\n resolved \"https://registry.yarnpkg.com/aria-query/-/aria-query-5.1.3.tgz#19db27cd101152773631396f7a95a3b58c22c35e\"\n integrity sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==\n dependencies:\n deep-equal \"^2.0.5\"\n\narray-includes@^3.1.5, array-includes@^3.1.6:\n version \"3.1.6\"\n resolved \"https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.6.tgz#9e9e720e194f198266ba9e18c29e6a9b0e4b225f\"\n integrity sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==\n dependencies:\n call-bind \"^1.0.2\"\n define-properties \"^1.1.4\"\n es-abstract \"^1.20.4\"\n get-intrinsic \"^1.1.3\"\n is-string \"^1.0.7\"\n\narray-union@^2.1.0:\n version \"2.1.0\"\n resolved \"https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d\"\n integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==\n\narray.prototype.flat@^1.3.1:\n version \"1.3.1\"\n resolved \"https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz#ffc6576a7ca3efc2f46a143b9d1dda9b4b3cf5e2\"\n integrity sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==\n dependencies:\n call-bind \"^1.0.2\"\n define-properties \"^1.1.4\"\n es-abstract \"^1.20.4\"\n es-shim-unscopables \"^1.0.0\"\n\narray.prototype.flatmap@^1.3.1:\n version \"1.3.1\"\n resolved \"https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz#1aae7903c2100433cb8261cd4ed310aab5c4a183\"\n integrity sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==\n dependencies:\n call-bind \"^1.0.2\"\n define-properties \"^1.1.4\"\n es-abstract \"^1.20.4\"\n es-shim-unscopables \"^1.0.0\"\n\narray.prototype.tosorted@^1.1.1:\n version \"1.1.1\"\n resolved \"https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz#ccf44738aa2b5ac56578ffda97c03fd3e23dd532\"\n integrity sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==\n dependencies:\n call-bind \"^1.0.2\"\n define-properties \"^1.1.4\"\n es-abstract \"^1.20.4\"\n es-shim-unscopables \"^1.0.0\"\n get-intrinsic \"^1.1.3\"\n\nast-types-flow@^0.0.7:\n version \"0.0.7\"\n resolved \"https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad\"\n integrity sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==\n\nastral-regex@^2.0.0:\n version \"2.0.0\"\n resolved \"https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31\"\n integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==\n\nautoprefixer@^10.4.5:\n version \"10.4.13\"\n resolved \"https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.13.tgz#b5136b59930209a321e9fa3dca2e7c4d223e83a8\"\n integrity sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==\n dependencies:\n browserslist \"^4.21.4\"\n caniuse-lite \"^1.0.30001426\"\n fraction.js \"^4.2.0\"\n normalize-range \"^0.1.2\"\n picocolors \"^1.0.0\"\n postcss-value-parser \"^4.2.0\"\n\navailable-typed-arrays@^1.0.5:\n version \"1.0.5\"\n resolved \"https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7\"\n integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==\n\naxe-core@^4.6.2:\n version \"4.6.3\"\n resolved \"https://registry.yarnpkg.com/axe-core/-/axe-core-4.6.3.tgz#fc0db6fdb65cc7a80ccf85286d91d64ababa3ece\"\n integrity sha512-/BQzOX780JhsxDnPpH4ZiyrJAzcd8AfzFPkv+89veFSr1rcMjuq2JDCwypKaPeB6ljHp9KjXhPpjgCvQlWYuqg==\n\naxios@^0.21.0:\n version \"0.21.4\"\n resolved \"https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575\"\n integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==\n dependencies:\n follow-redirects \"^1.14.0\"\n\naxobject-query@^3.1.1:\n version \"3.1.1\"\n resolved \"https://registry.yarnpkg.com/axobject-query/-/axobject-query-3.1.1.tgz#3b6e5c6d4e43ca7ba51c5babf99d22a9c68485e1\"\n integrity sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==\n dependencies:\n deep-equal \"^2.0.5\"\n\nbalanced-match@^1.0.0:\n version \"1.0.2\"\n resolved \"https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee\"\n integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==\n\nbase-x@^3.0.2, base-x@^3.0.6:\n version \"3.0.9\"\n resolved \"https://registry.yarnpkg.com/base-x/-/base-x-3.0.9.tgz#6349aaabb58526332de9f60995e548a53fe21320\"\n integrity sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==\n dependencies:\n safe-buffer \"^5.0.1\"\n\nbase64-js@^1.3.1, base64-js@^1.5.1:\n version \"1.5.1\"\n resolved \"https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a\"\n integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==\n\nbase64url@^3.0.1:\n version \"3.0.1\"\n resolved \"https://registry.yarnpkg.com/base64url/-/base64url-3.0.1.tgz#6399d572e2bc3f90a9a8b22d5dbb0a32d33f788d\"\n integrity sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==\n\nbigint-buffer@^1.1.5:\n version \"1.1.5\"\n resolved \"https://registry.yarnpkg.com/bigint-buffer/-/bigint-buffer-1.1.5.tgz#d038f31c8e4534c1f8d0015209bf34b4fa6dd442\"\n integrity sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA==\n dependencies:\n bindings \"^1.3.0\"\n\nbinary-extensions@^2.0.0:\n version \"2.2.0\"\n resolved \"https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d\"\n integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==\n\nbindings@^1.3.0, bindings@^1.5.0:\n version \"1.5.0\"\n resolved \"https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df\"\n integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==\n dependencies:\n file-uri-to-path \"1.0.0\"\n\nbip66@^1.1.5:\n version \"1.1.5\"\n resolved \"https://registry.yarnpkg.com/bip66/-/bip66-1.1.5.tgz#01fa8748785ca70955d5011217d1b3139969ca22\"\n integrity sha512-nemMHz95EmS38a26XbbdxIYj5csHd3RMP3H5bwQknX0WYHF01qhpufP42mLOwVICuH2JmhIhXiWs89MfUGL7Xw==\n dependencies:\n safe-buffer \"^5.0.1\"\n\nbn.js@^4.11.8, bn.js@^4.11.9:\n version \"4.12.0\"\n resolved \"https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88\"\n integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==\n\nbn.js@^5.0.0, bn.js@^5.1.2, bn.js@^5.2.0:\n version \"5.2.1\"\n resolved \"https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70\"\n integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==\n\nborsh@^0.7.0:\n version \"0.7.0\"\n resolved \"https://registry.yarnpkg.com/borsh/-/borsh-0.7.0.tgz#6e9560d719d86d90dc589bca60ffc8a6c51fec2a\"\n integrity sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA==\n dependencies:\n bn.js \"^5.2.0\"\n bs58 \"^4.0.0\"\n text-encoding-utf-8 \"^1.0.2\"\n\nbrace-expansion@^1.1.7:\n version \"1.1.11\"\n resolved \"https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd\"\n integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==\n dependencies:\n balanced-match \"^1.0.0\"\n concat-map \"0.0.1\"\n\nbraces@^3.0.2, braces@~3.0.2:\n version \"3.0.2\"\n resolved \"https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107\"\n integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==\n dependencies:\n fill-range \"^7.0.1\"\n\nbrorand@^1.1.0:\n version \"1.1.0\"\n resolved \"https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f\"\n integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==\n\nbrowserify-aes@^1.0.6:\n version \"1.2.0\"\n resolved \"https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48\"\n integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==\n dependencies:\n buffer-xor \"^1.0.3\"\n cipher-base \"^1.0.0\"\n create-hash \"^1.1.0\"\n evp_bytestokey \"^1.0.3\"\n inherits \"^2.0.1\"\n safe-buffer \"^5.0.1\"\n\nbrowserslist@^4.21.4:\n version \"4.21.5\"\n resolved \"https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.5.tgz#75c5dae60063ee641f977e00edd3cfb2fb7af6a7\"\n integrity sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==\n dependencies:\n caniuse-lite \"^1.0.30001449\"\n electron-to-chromium \"^1.4.284\"\n node-releases \"^2.0.8\"\n update-browserslist-db \"^1.0.10\"\n\nbs58@^4.0.0, bs58@^4.0.1:\n version \"4.0.1\"\n resolved \"https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a\"\n integrity sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==\n dependencies:\n base-x \"^3.0.2\"\n\nbuffer-layout@^1.2.0, buffer-layout@^1.2.2:\n version \"1.2.2\"\n resolved \"https://registry.yarnpkg.com/buffer-layout/-/buffer-layout-1.2.2.tgz#b9814e7c7235783085f9ca4966a0cfff112259d5\"\n integrity sha512-kWSuLN694+KTk8SrYvCqwP2WcgQjoRCiF5b4QDvkkz8EmgD+aWAIceGFKMIAdmF/pH+vpgNV3d3kAKorcdAmWA==\n\nbuffer-xor@^1.0.3:\n version \"1.0.3\"\n resolved \"https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9\"\n integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==\n\nbuffer@6.0.1:\n version \"6.0.1\"\n resolved \"https://registry.yarnpkg.com/buffer/-/buffer-6.0.1.tgz#3cbea8c1463e5a0779e30b66d4c88c6ffa182ac2\"\n integrity sha512-rVAXBwEcEoYtxnHSO5iWyhzV/O1WMtkUYWlfdLS7FjU4PnSJJHEfHXi/uHPI5EwltmOA794gN3bm3/pzuctWjQ==\n dependencies:\n base64-js \"^1.3.1\"\n ieee754 \"^1.2.1\"\n\nbuffer@^6.0.3, buffer@~6.0.3:\n version \"6.0.3\"\n resolved \"https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6\"\n integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==\n dependencies:\n base64-js \"^1.3.1\"\n ieee754 \"^1.2.1\"\n\nbufferutil@^4.0.1:\n version \"4.0.7\"\n resolved \"https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.7.tgz#60c0d19ba2c992dd8273d3f73772ffc894c153ad\"\n integrity sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw==\n dependencies:\n node-gyp-build \"^4.3.0\"\n\ncall-bind@^1.0.0, call-bind@^1.0.2:\n version \"1.0.2\"\n resolved \"https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c\"\n integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==\n dependencies:\n function-bind \"^1.1.1\"\n get-intrinsic \"^1.0.2\"\n\ncallsites@^3.0.0:\n version \"3.1.0\"\n resolved \"https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73\"\n integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==\n\ncamelcase-css@^2.0.1:\n version \"2.0.1\"\n resolved \"https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5\"\n integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==\n\ncamelcase@^5.3.1:\n version \"5.3.1\"\n resolved \"https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320\"\n integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==\n\ncaniuse-lite@^1.0.30001283, caniuse-lite@^1.0.30001426, caniuse-lite@^1.0.30001449:\n version \"1.0.30001457\"\n resolved \"https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001457.tgz#6af34bb5d720074e2099432aa522c21555a18301\"\n integrity sha512-SDIV6bgE1aVbK6XyxdURbUE89zY7+k1BBBaOwYwkNCglXlel/E7mELiHC64HQ+W0xSKlqWhV9Wh7iHxUjMs4fA==\n\nchalk@^2.0.0:\n version \"2.4.2\"\n resolved \"https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424\"\n integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==\n dependencies:\n ansi-styles \"^3.2.1\"\n escape-string-regexp \"^1.0.5\"\n supports-color \"^5.3.0\"\n\nchalk@^4.0.0:\n version \"4.1.2\"\n resolved \"https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01\"\n integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\n dependencies:\n ansi-styles \"^4.1.0\"\n supports-color \"^7.1.0\"\n\nchokidar@^3.5.3:\n version \"3.5.3\"\n resolved \"https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd\"\n integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==\n dependencies:\n anymatch \"~3.1.2\"\n braces \"~3.0.2\"\n glob-parent \"~5.1.2\"\n is-binary-path \"~2.1.0\"\n is-glob \"~4.0.1\"\n normalize-path \"~3.0.0\"\n readdirp \"~3.6.0\"\n optionalDependencies:\n fsevents \"~2.3.2\"\n\ncipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:\n version \"1.0.4\"\n resolved \"https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de\"\n integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==\n dependencies:\n inherits \"^2.0.1\"\n safe-buffer \"^5.0.1\"\n\ncolor-convert@^1.9.0:\n version \"1.9.3\"\n resolved \"https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8\"\n integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==\n dependencies:\n color-name \"1.1.3\"\n\ncolor-convert@^2.0.1:\n version \"2.0.1\"\n resolved \"https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3\"\n integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\n dependencies:\n color-name \"~1.1.4\"\n\ncolor-name@1.1.3:\n version \"1.1.3\"\n resolved \"https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25\"\n integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==\n\ncolor-name@^1.1.4, color-name@~1.1.4:\n version \"1.1.4\"\n resolved \"https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2\"\n integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\n\ncommander@^2.20.3:\n version \"2.20.3\"\n resolved \"https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33\"\n integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==\n\nconcat-map@0.0.1:\n version \"0.0.1\"\n resolved \"https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b\"\n integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==\n\ncreate-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0:\n version \"1.2.0\"\n resolved \"https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196\"\n integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==\n dependencies:\n cipher-base \"^1.0.1\"\n inherits \"^2.0.1\"\n md5.js \"^1.3.4\"\n ripemd160 \"^2.0.1\"\n sha.js \"^2.4.0\"\n\ncreate-hmac@^1.1.4:\n version \"1.1.7\"\n resolved \"https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff\"\n integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==\n dependencies:\n cipher-base \"^1.0.3\"\n create-hash \"^1.1.0\"\n inherits \"^2.0.1\"\n ripemd160 \"^2.0.0\"\n safe-buffer \"^5.0.1\"\n sha.js \"^2.4.8\"\n\ncross-fetch@^3.1.5:\n version \"3.1.5\"\n resolved \"https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f\"\n integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==\n dependencies:\n node-fetch \"2.6.7\"\n\ncross-spawn@^7.0.2:\n version \"7.0.3\"\n resolved \"https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6\"\n integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==\n dependencies:\n path-key \"^3.1.0\"\n shebang-command \"^2.0.0\"\n which \"^2.0.1\"\n\ncrypto-hash@^1.3.0:\n version \"1.3.0\"\n resolved \"https://registry.yarnpkg.com/crypto-hash/-/crypto-hash-1.3.0.tgz#b402cb08f4529e9f4f09346c3e275942f845e247\"\n integrity sha512-lyAZ0EMyjDkVvz8WOeVnuCPvKVBXcMv1l5SVqO1yC7PzTwrD/pPje/BIRbWhMoPe436U+Y2nD7f5bFx0kt+Sbg==\n\ncssesc@^3.0.0:\n version \"3.0.0\"\n resolved \"https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee\"\n integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==\n\ncsstype@^3.0.2:\n version \"3.1.1\"\n resolved \"https://registry.yarnpkg.com/csstype/-/csstype-3.1.1.tgz#841b532c45c758ee546a11d5bd7b7b473c8c30b9\"\n integrity sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==\n\ndamerau-levenshtein@^1.0.8:\n version \"1.0.8\"\n resolved \"https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7\"\n integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==\n\ndebug@^3.2.7:\n version \"3.2.7\"\n resolved \"https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a\"\n integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==\n dependencies:\n ms \"^2.1.1\"\n\ndebug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.4:\n version \"4.3.4\"\n resolved \"https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865\"\n integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==\n dependencies:\n ms \"2.1.2\"\n\ndeep-equal@^2.0.5:\n version \"2.2.0\"\n resolved \"https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.2.0.tgz#5caeace9c781028b9ff459f33b779346637c43e6\"\n integrity sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw==\n dependencies:\n call-bind \"^1.0.2\"\n es-get-iterator \"^1.1.2\"\n get-intrinsic \"^1.1.3\"\n is-arguments \"^1.1.1\"\n is-array-buffer \"^3.0.1\"\n is-date-object \"^1.0.5\"\n is-regex \"^1.1.4\"\n is-shared-array-buffer \"^1.0.2\"\n isarray \"^2.0.5\"\n object-is \"^1.1.5\"\n object-keys \"^1.1.1\"\n object.assign \"^4.1.4\"\n regexp.prototype.flags \"^1.4.3\"\n side-channel \"^1.0.4\"\n which-boxed-primitive \"^1.0.2\"\n which-collection \"^1.0.1\"\n which-typed-array \"^1.1.9\"\n\ndeep-is@^0.1.3:\n version \"0.1.4\"\n resolved \"https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831\"\n integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==\n\ndefine-properties@^1.1.3, define-properties@^1.1.4:\n version \"1.2.0\"\n resolved \"https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.0.tgz#52988570670c9eacedd8064f4a990f2405849bd5\"\n integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==\n dependencies:\n has-property-descriptors \"^1.0.0\"\n object-keys \"^1.1.1\"\n\ndefined@^1.0.0:\n version \"1.0.1\"\n resolved \"https://registry.yarnpkg.com/defined/-/defined-1.0.1.tgz#c0b9db27bfaffd95d6f61399419b893df0f91ebf\"\n integrity sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==\n\ndelay@^5.0.0:\n version \"5.0.0\"\n resolved \"https://registry.yarnpkg.com/delay/-/delay-5.0.0.tgz#137045ef1b96e5071060dd5be60bf9334436bd1d\"\n integrity sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==\n\ndepd@^1.1.2:\n version \"1.1.2\"\n resolved \"https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9\"\n integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==\n\ndetective@^5.2.1:\n version \"5.2.1\"\n resolved \"https://registry.yarnpkg.com/detective/-/detective-5.2.1.tgz#6af01eeda11015acb0e73f933242b70f24f91034\"\n integrity sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==\n dependencies:\n acorn-node \"^1.8.2\"\n defined \"^1.0.0\"\n minimist \"^1.2.6\"\n\ndidyoumean@^1.2.2:\n version \"1.2.2\"\n resolved \"https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037\"\n integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==\n\ndir-glob@^3.0.1:\n version \"3.0.1\"\n resolved \"https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f\"\n integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==\n dependencies:\n path-type \"^4.0.0\"\n\ndlv@^1.1.3:\n version \"1.1.3\"\n resolved \"https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79\"\n integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==\n\ndoctrine@^2.1.0:\n version \"2.1.0\"\n resolved \"https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d\"\n integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==\n dependencies:\n esutils \"^2.0.2\"\n\ndoctrine@^3.0.0:\n version \"3.0.0\"\n resolved \"https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961\"\n integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==\n dependencies:\n esutils \"^2.0.2\"\n\ndot-case@^3.0.4:\n version \"3.0.4\"\n resolved \"https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751\"\n integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==\n dependencies:\n no-case \"^3.0.4\"\n tslib \"^2.0.3\"\n\ndrbg.js@^1.0.1:\n version \"1.0.1\"\n resolved \"https://registry.yarnpkg.com/drbg.js/-/drbg.js-1.0.1.tgz#3e36b6c42b37043823cdbc332d58f31e2445480b\"\n integrity sha512-F4wZ06PvqxYLFEZKkFxTDcns9oFNk34hvmJSEwdzsxVQ8YI5YaxtACgQatkYgv2VI2CFkUd2Y+xosPQnHv809g==\n dependencies:\n browserify-aes \"^1.0.6\"\n create-hash \"^1.1.2\"\n create-hmac \"^1.1.4\"\n\neip1193-provider@^1.0.1:\n version \"1.0.1\"\n resolved \"https://registry.yarnpkg.com/eip1193-provider/-/eip1193-provider-1.0.1.tgz#420d29cf4f6c443e3f32e718fb16fafb250637c3\"\n integrity sha512-kSuqwQ26d7CzuS/t3yRXo2Su2cVH0QfvyKbr2H7Be7O5YDyIq4hQGCNTo5wRdP07bt+E2R/8nPCzey4ojBHf7g==\n dependencies:\n \"@json-rpc-tools/provider\" \"^1.5.5\"\n\nelectron-to-chromium@^1.4.284:\n version \"1.4.302\"\n resolved \"https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.302.tgz#5770646ffe7051677b489226144aad9386d420f2\"\n integrity sha512-Uk7C+7aPBryUR1Fwvk9VmipBcN9fVsqBO57jV2ZjTm+IZ6BMNqu7EDVEg2HxCNufk6QcWlFsBkhQyQroB2VWKw==\n\nelliptic@^6.5.2, elliptic@^6.5.4:\n version \"6.5.4\"\n resolved \"https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb\"\n integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==\n dependencies:\n bn.js \"^4.11.9\"\n brorand \"^1.1.0\"\n hash.js \"^1.0.0\"\n hmac-drbg \"^1.0.1\"\n inherits \"^2.0.4\"\n minimalistic-assert \"^1.0.1\"\n minimalistic-crypto-utils \"^1.0.1\"\n\nemoji-regex@^8.0.0:\n version \"8.0.0\"\n resolved \"https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37\"\n integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==\n\nemoji-regex@^9.2.2:\n version \"9.2.2\"\n resolved \"https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72\"\n integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==\n\nend-of-stream@^1.1.0, end-of-stream@^1.4.4:\n version \"1.4.4\"\n resolved \"https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0\"\n integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==\n dependencies:\n once \"^1.4.0\"\n\nenhanced-resolve@^5.10.0:\n version \"5.12.0\"\n resolved \"https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz#300e1c90228f5b570c4d35babf263f6da7155634\"\n integrity sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==\n dependencies:\n graceful-fs \"^4.2.4\"\n tapable \"^2.2.0\"\n\nenquirer@^2.3.5:\n version \"2.3.6\"\n resolved \"https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d\"\n integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==\n dependencies:\n ansi-colors \"^4.1.1\"\n\nes-abstract@^1.19.0, es-abstract@^1.20.4:\n version \"1.21.1\"\n resolved \"https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.21.1.tgz#e6105a099967c08377830a0c9cb589d570dd86c6\"\n integrity sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg==\n dependencies:\n available-typed-arrays \"^1.0.5\"\n call-bind \"^1.0.2\"\n es-set-tostringtag \"^2.0.1\"\n es-to-primitive \"^1.2.1\"\n function-bind \"^1.1.1\"\n function.prototype.name \"^1.1.5\"\n get-intrinsic \"^1.1.3\"\n get-symbol-description \"^1.0.0\"\n globalthis \"^1.0.3\"\n gopd \"^1.0.1\"\n has \"^1.0.3\"\n has-property-descriptors \"^1.0.0\"\n has-proto \"^1.0.1\"\n has-symbols \"^1.0.3\"\n internal-slot \"^1.0.4\"\n is-array-buffer \"^3.0.1\"\n is-callable \"^1.2.7\"\n is-negative-zero \"^2.0.2\"\n is-regex \"^1.1.4\"\n is-shared-array-buffer \"^1.0.2\"\n is-string \"^1.0.7\"\n is-typed-array \"^1.1.10\"\n is-weakref \"^1.0.2\"\n object-inspect \"^1.12.2\"\n object-keys \"^1.1.1\"\n object.assign \"^4.1.4\"\n regexp.prototype.flags \"^1.4.3\"\n safe-regex-test \"^1.0.0\"\n string.prototype.trimend \"^1.0.6\"\n string.prototype.trimstart \"^1.0.6\"\n typed-array-length \"^1.0.4\"\n unbox-primitive \"^1.0.2\"\n which-typed-array \"^1.1.9\"\n\nes-get-iterator@^1.1.2:\n version \"1.1.3\"\n resolved \"https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.3.tgz#3ef87523c5d464d41084b2c3c9c214f1199763d6\"\n integrity sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==\n dependencies:\n call-bind \"^1.0.2\"\n get-intrinsic \"^1.1.3\"\n has-symbols \"^1.0.3\"\n is-arguments \"^1.1.1\"\n is-map \"^2.0.2\"\n is-set \"^2.0.2\"\n is-string \"^1.0.7\"\n isarray \"^2.0.5\"\n stop-iteration-iterator \"^1.0.0\"\n\nes-set-tostringtag@^2.0.1:\n version \"2.0.1\"\n resolved \"https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8\"\n integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==\n dependencies:\n get-intrinsic \"^1.1.3\"\n has \"^1.0.3\"\n has-tostringtag \"^1.0.0\"\n\nes-shim-unscopables@^1.0.0:\n version \"1.0.0\"\n resolved \"https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241\"\n integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==\n dependencies:\n has \"^1.0.3\"\n\nes-to-primitive@^1.2.1:\n version \"1.2.1\"\n resolved \"https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a\"\n integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==\n dependencies:\n is-callable \"^1.1.4\"\n is-date-object \"^1.0.1\"\n is-symbol \"^1.0.2\"\n\nes6-promise@^4.0.3, es6-promise@^4.2.8:\n version \"4.2.8\"\n resolved \"https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a\"\n integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==\n\nes6-promisify@^5.0.0:\n version \"5.0.0\"\n resolved \"https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203\"\n integrity sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==\n dependencies:\n es6-promise \"^4.0.3\"\n\nescalade@^3.1.1:\n version \"3.1.1\"\n resolved \"https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40\"\n integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==\n\nescape-string-regexp@^1.0.5:\n version \"1.0.5\"\n resolved \"https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4\"\n integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==\n\nescape-string-regexp@^4.0.0:\n version \"4.0.0\"\n resolved \"https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34\"\n integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==\n\neslint-config-next@12.0.3:\n version \"12.0.3\"\n resolved \"https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-12.0.3.tgz#a85ad423997f098b41b61c279472e0642e200a9e\"\n integrity sha512-q+mX6jhk3HrCo39G18MLhiC6f8zJnTA00f30RSuVUWsv45SQUm6r62oXVqrbAgMEybe0yx/GDRvfA6LvSolw6Q==\n dependencies:\n \"@next/eslint-plugin-next\" \"12.0.3\"\n \"@rushstack/eslint-patch\" \"^1.0.6\"\n \"@typescript-eslint/parser\" \"^4.20.0\"\n eslint-import-resolver-node \"^0.3.4\"\n eslint-import-resolver-typescript \"^2.4.0\"\n eslint-plugin-import \"^2.22.1\"\n eslint-plugin-jsx-a11y \"^6.4.1\"\n eslint-plugin-react \"^7.23.1\"\n eslint-plugin-react-hooks \"^4.2.0\"\n\neslint-import-resolver-node@^0.3.4, eslint-import-resolver-node@^0.3.7:\n version \"0.3.7\"\n resolved \"https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz#83b375187d412324a1963d84fa664377a23eb4d7\"\n integrity sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==\n dependencies:\n debug \"^3.2.7\"\n is-core-module \"^2.11.0\"\n resolve \"^1.22.1\"\n\neslint-import-resolver-typescript@^2.4.0:\n version \"2.7.1\"\n resolved \"https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.7.1.tgz#a90a4a1c80da8d632df25994c4c5fdcdd02b8751\"\n integrity sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ==\n dependencies:\n debug \"^4.3.4\"\n glob \"^7.2.0\"\n is-glob \"^4.0.3\"\n resolve \"^1.22.0\"\n tsconfig-paths \"^3.14.1\"\n\neslint-module-utils@^2.7.4:\n version \"2.7.4\"\n resolved \"https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz#4f3e41116aaf13a20792261e61d3a2e7e0583974\"\n integrity sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==\n dependencies:\n debug \"^3.2.7\"\n\neslint-plugin-import@^2.22.1:\n version \"2.27.5\"\n resolved \"https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz#876a6d03f52608a3e5bb439c2550588e51dd6c65\"\n integrity sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==\n dependencies:\n array-includes \"^3.1.6\"\n array.prototype.flat \"^1.3.1\"\n array.prototype.flatmap \"^1.3.1\"\n debug \"^3.2.7\"\n doctrine \"^2.1.0\"\n eslint-import-resolver-node \"^0.3.7\"\n eslint-module-utils \"^2.7.4\"\n has \"^1.0.3\"\n is-core-module \"^2.11.0\"\n is-glob \"^4.0.3\"\n minimatch \"^3.1.2\"\n object.values \"^1.1.6\"\n resolve \"^1.22.1\"\n semver \"^6.3.0\"\n tsconfig-paths \"^3.14.1\"\n\neslint-plugin-jsx-a11y@^6.4.1:\n version \"6.7.1\"\n resolved \"https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz#fca5e02d115f48c9a597a6894d5bcec2f7a76976\"\n integrity sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==\n dependencies:\n \"@babel/runtime\" \"^7.20.7\"\n aria-query \"^5.1.3\"\n array-includes \"^3.1.6\"\n array.prototype.flatmap \"^1.3.1\"\n ast-types-flow \"^0.0.7\"\n axe-core \"^4.6.2\"\n axobject-query \"^3.1.1\"\n damerau-levenshtein \"^1.0.8\"\n emoji-regex \"^9.2.2\"\n has \"^1.0.3\"\n jsx-ast-utils \"^3.3.3\"\n language-tags \"=1.0.5\"\n minimatch \"^3.1.2\"\n object.entries \"^1.1.6\"\n object.fromentries \"^2.0.6\"\n semver \"^6.3.0\"\n\neslint-plugin-react-hooks@^4.2.0:\n version \"4.6.0\"\n resolved \"https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3\"\n integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==\n\neslint-plugin-react@^7.23.1:\n version \"7.32.2\"\n resolved \"https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz#e71f21c7c265ebce01bcbc9d0955170c55571f10\"\n integrity sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==\n dependencies:\n array-includes \"^3.1.6\"\n array.prototype.flatmap \"^1.3.1\"\n array.prototype.tosorted \"^1.1.1\"\n doctrine \"^2.1.0\"\n estraverse \"^5.3.0\"\n jsx-ast-utils \"^2.4.1 || ^3.0.0\"\n minimatch \"^3.1.2\"\n object.entries \"^1.1.6\"\n object.fromentries \"^2.0.6\"\n object.hasown \"^1.1.2\"\n object.values \"^1.1.6\"\n prop-types \"^15.8.1\"\n resolve \"^2.0.0-next.4\"\n semver \"^6.3.0\"\n string.prototype.matchall \"^4.0.8\"\n\neslint-scope@^5.1.1:\n version \"5.1.1\"\n resolved \"https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c\"\n integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==\n dependencies:\n esrecurse \"^4.3.0\"\n estraverse \"^4.1.1\"\n\neslint-utils@^2.1.0:\n version \"2.1.0\"\n resolved \"https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27\"\n integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==\n dependencies:\n eslint-visitor-keys \"^1.1.0\"\n\neslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0:\n version \"1.3.0\"\n resolved \"https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e\"\n integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==\n\neslint-visitor-keys@^2.0.0:\n version \"2.1.0\"\n resolved \"https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303\"\n integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==\n\neslint@7:\n version \"7.32.0\"\n resolved \"https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d\"\n integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==\n dependencies:\n \"@babel/code-frame\" \"7.12.11\"\n \"@eslint/eslintrc\" \"^0.4.3\"\n \"@humanwhocodes/config-array\" \"^0.5.0\"\n ajv \"^6.10.0\"\n chalk \"^4.0.0\"\n cross-spawn \"^7.0.2\"\n debug \"^4.0.1\"\n doctrine \"^3.0.0\"\n enquirer \"^2.3.5\"\n escape-string-regexp \"^4.0.0\"\n eslint-scope \"^5.1.1\"\n eslint-utils \"^2.1.0\"\n eslint-visitor-keys \"^2.0.0\"\n espree \"^7.3.1\"\n esquery \"^1.4.0\"\n esutils \"^2.0.2\"\n fast-deep-equal \"^3.1.3\"\n file-entry-cache \"^6.0.1\"\n functional-red-black-tree \"^1.0.1\"\n glob-parent \"^5.1.2\"\n globals \"^13.6.0\"\n ignore \"^4.0.6\"\n import-fresh \"^3.0.0\"\n imurmurhash \"^0.1.4\"\n is-glob \"^4.0.0\"\n js-yaml \"^3.13.1\"\n json-stable-stringify-without-jsonify \"^1.0.1\"\n levn \"^0.4.1\"\n lodash.merge \"^4.6.2\"\n minimatch \"^3.0.4\"\n natural-compare \"^1.4.0\"\n optionator \"^0.9.1\"\n progress \"^2.0.0\"\n regexpp \"^3.1.0\"\n semver \"^7.2.1\"\n strip-ansi \"^6.0.0\"\n strip-json-comments \"^3.1.0\"\n table \"^6.0.9\"\n text-table \"^0.2.0\"\n v8-compile-cache \"^2.0.3\"\n\nespree@^7.3.0, espree@^7.3.1:\n version \"7.3.1\"\n resolved \"https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6\"\n integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==\n dependencies:\n acorn \"^7.4.0\"\n acorn-jsx \"^5.3.1\"\n eslint-visitor-keys \"^1.3.0\"\n\nesprima@^4.0.0:\n version \"4.0.1\"\n resolved \"https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71\"\n integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==\n\nesquery@^1.4.0:\n version \"1.4.2\"\n resolved \"https://registry.yarnpkg.com/esquery/-/esquery-1.4.2.tgz#c6d3fee05dd665808e2ad870631f221f5617b1d1\"\n integrity sha512-JVSoLdTlTDkmjFmab7H/9SL9qGSyjElT3myyKp7krqjVFQCDLmj1QFaCLRFBszBKI0XVZaiiXvuPIX3ZwHe1Ng==\n dependencies:\n estraverse \"^5.1.0\"\n\nesrecurse@^4.3.0:\n version \"4.3.0\"\n resolved \"https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921\"\n integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==\n dependencies:\n estraverse \"^5.2.0\"\n\nestraverse@^4.1.1:\n version \"4.3.0\"\n resolved \"https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d\"\n integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==\n\nestraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0:\n version \"5.3.0\"\n resolved \"https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123\"\n integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==\n\nesutils@^2.0.2:\n version \"2.0.3\"\n resolved \"https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64\"\n integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==\n\neth-rpc-errors@^4.0.3:\n version \"4.0.3\"\n resolved \"https://registry.yarnpkg.com/eth-rpc-errors/-/eth-rpc-errors-4.0.3.tgz#6ddb6190a4bf360afda82790bb7d9d5e724f423a\"\n integrity sha512-Z3ymjopaoft7JDoxZcEb3pwdGh7yiYMhOwm2doUt6ASXlMavpNlK6Cre0+IMl2VSGyEU9rkiperQhp5iRxn5Pg==\n dependencies:\n fast-safe-stringify \"^2.0.6\"\n\neventemitter3@^4.0.7:\n version \"4.0.7\"\n resolved \"https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f\"\n integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==\n\nevents@^3.3.0:\n version \"3.3.0\"\n resolved \"https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400\"\n integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==\n\nevp_bytestokey@^1.0.3:\n version \"1.0.3\"\n resolved \"https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02\"\n integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==\n dependencies:\n md5.js \"^1.3.4\"\n safe-buffer \"^5.1.1\"\n\neyes@^0.1.8:\n version \"0.1.8\"\n resolved \"https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0\"\n integrity sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==\n\nfast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:\n version \"3.1.3\"\n resolved \"https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525\"\n integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==\n\nfast-glob@^3.2.12, fast-glob@^3.2.9:\n version \"3.2.12\"\n resolved \"https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80\"\n integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==\n dependencies:\n \"@nodelib/fs.stat\" \"^2.0.2\"\n \"@nodelib/fs.walk\" \"^1.2.3\"\n glob-parent \"^5.1.2\"\n merge2 \"^1.3.0\"\n micromatch \"^4.0.4\"\n\nfast-json-stable-stringify@^2.0.0:\n version \"2.1.0\"\n resolved \"https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633\"\n integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==\n\nfast-levenshtein@^2.0.6:\n version \"2.0.6\"\n resolved \"https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917\"\n integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==\n\nfast-safe-stringify@^2.0.6, fast-safe-stringify@^2.1.1:\n version \"2.1.1\"\n resolved \"https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884\"\n integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==\n\nfast-stable-stringify@^1.0.0:\n version \"1.0.0\"\n resolved \"https://registry.yarnpkg.com/fast-stable-stringify/-/fast-stable-stringify-1.0.0.tgz#5c5543462b22aeeefd36d05b34e51c78cb86d313\"\n integrity sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag==\n\nfastq@^1.6.0:\n version \"1.15.0\"\n resolved \"https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a\"\n integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==\n dependencies:\n reusify \"^1.0.4\"\n\nfile-entry-cache@^6.0.1:\n version \"6.0.1\"\n resolved \"https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027\"\n integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==\n dependencies:\n flat-cache \"^3.0.4\"\n\nfile-uri-to-path@1.0.0:\n version \"1.0.0\"\n resolved \"https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd\"\n integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==\n\nfill-range@^7.0.1:\n version \"7.0.1\"\n resolved \"https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40\"\n integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==\n dependencies:\n to-regex-range \"^5.0.1\"\n\nflat-cache@^3.0.4:\n version \"3.0.4\"\n resolved \"https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11\"\n integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==\n dependencies:\n flatted \"^3.1.0\"\n rimraf \"^3.0.2\"\n\nflatted@^3.1.0:\n version \"3.2.7\"\n resolved \"https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787\"\n integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==\n\nfollow-redirects@^1.14.0:\n version \"1.15.2\"\n resolved \"https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13\"\n integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==\n\nfor-each@^0.3.3:\n version \"0.3.3\"\n resolved \"https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e\"\n integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==\n dependencies:\n is-callable \"^1.1.3\"\n\nfraction.js@^4.2.0:\n version \"4.2.0\"\n resolved \"https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950\"\n integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==\n\nfs.realpath@^1.0.0:\n version \"1.0.0\"\n resolved \"https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f\"\n integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==\n\nfsevents@~2.3.2:\n version \"2.3.2\"\n resolved \"https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a\"\n integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==\n\nfunction-bind@^1.1.1:\n version \"1.1.1\"\n resolved \"https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d\"\n integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==\n\nfunction.prototype.name@^1.1.5:\n version \"1.1.5\"\n resolved \"https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621\"\n integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==\n dependencies:\n call-bind \"^1.0.2\"\n define-properties \"^1.1.3\"\n es-abstract \"^1.19.0\"\n functions-have-names \"^1.2.2\"\n\nfunctional-red-black-tree@^1.0.1:\n version \"1.0.1\"\n resolved \"https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327\"\n integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==\n\nfunctions-have-names@^1.2.2:\n version \"1.2.3\"\n resolved \"https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834\"\n integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==\n\nget-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0:\n version \"1.2.0\"\n resolved \"https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz#7ad1dc0535f3a2904bba075772763e5051f6d05f\"\n integrity sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==\n dependencies:\n function-bind \"^1.1.1\"\n has \"^1.0.3\"\n has-symbols \"^1.0.3\"\n\nget-symbol-description@^1.0.0:\n version \"1.0.0\"\n resolved \"https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6\"\n integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==\n dependencies:\n call-bind \"^1.0.2\"\n get-intrinsic \"^1.1.1\"\n\nglob-parent@^5.1.2, glob-parent@~5.1.2:\n version \"5.1.2\"\n resolved \"https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4\"\n integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==\n dependencies:\n is-glob \"^4.0.1\"\n\nglob-parent@^6.0.2:\n version \"6.0.2\"\n resolved \"https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3\"\n integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==\n dependencies:\n is-glob \"^4.0.3\"\n\nglob@7.1.7:\n version \"7.1.7\"\n resolved \"https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90\"\n integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==\n dependencies:\n fs.realpath \"^1.0.0\"\n inflight \"^1.0.4\"\n inherits \"2\"\n minimatch \"^3.0.4\"\n once \"^1.3.0\"\n path-is-absolute \"^1.0.0\"\n\nglob@^7.1.3, glob@^7.2.0:\n version \"7.2.3\"\n resolved \"https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b\"\n integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==\n dependencies:\n fs.realpath \"^1.0.0\"\n inflight \"^1.0.4\"\n inherits \"2\"\n minimatch \"^3.1.1\"\n once \"^1.3.0\"\n path-is-absolute \"^1.0.0\"\n\nglobals@^13.6.0, globals@^13.9.0:\n version \"13.20.0\"\n resolved \"https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82\"\n integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==\n dependencies:\n type-fest \"^0.20.2\"\n\nglobalthis@^1.0.3:\n version \"1.0.3\"\n resolved \"https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf\"\n integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==\n dependencies:\n define-properties \"^1.1.3\"\n\nglobby@^11.0.3:\n version \"11.1.0\"\n resolved \"https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b\"\n integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==\n dependencies:\n array-union \"^2.1.0\"\n dir-glob \"^3.0.1\"\n fast-glob \"^3.2.9\"\n ignore \"^5.2.0\"\n merge2 \"^1.4.1\"\n slash \"^3.0.0\"\n\ngopd@^1.0.1:\n version \"1.0.1\"\n resolved \"https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c\"\n integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==\n dependencies:\n get-intrinsic \"^1.1.3\"\n\ngraceful-fs@^4.2.4:\n version \"4.2.10\"\n resolved \"https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c\"\n integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==\n\nhas-bigints@^1.0.1, has-bigints@^1.0.2:\n version \"1.0.2\"\n resolved \"https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa\"\n integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==\n\nhas-flag@^3.0.0:\n version \"3.0.0\"\n resolved \"https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd\"\n integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==\n\nhas-flag@^4.0.0:\n version \"4.0.0\"\n resolved \"https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b\"\n integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\n\nhas-property-descriptors@^1.0.0:\n version \"1.0.0\"\n resolved \"https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861\"\n integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==\n dependencies:\n get-intrinsic \"^1.1.1\"\n\nhas-proto@^1.0.1:\n version \"1.0.1\"\n resolved \"https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0\"\n integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==\n\nhas-symbols@^1.0.2, has-symbols@^1.0.3:\n version \"1.0.3\"\n resolved \"https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8\"\n integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==\n\nhas-tostringtag@^1.0.0:\n version \"1.0.0\"\n resolved \"https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25\"\n integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==\n dependencies:\n has-symbols \"^1.0.2\"\n\nhas@^1.0.3:\n version \"1.0.3\"\n resolved \"https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796\"\n integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==\n dependencies:\n function-bind \"^1.1.1\"\n\nhash-base@^3.0.0:\n version \"3.1.0\"\n resolved \"https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33\"\n integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==\n dependencies:\n inherits \"^2.0.4\"\n readable-stream \"^3.6.0\"\n safe-buffer \"^5.2.0\"\n\nhash.js@^1.0.0, hash.js@^1.0.3:\n version \"1.1.7\"\n resolved \"https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42\"\n integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==\n dependencies:\n inherits \"^2.0.3\"\n minimalistic-assert \"^1.0.1\"\n\nhmac-drbg@^1.0.1:\n version \"1.0.1\"\n resolved \"https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1\"\n integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==\n dependencies:\n hash.js \"^1.0.3\"\n minimalistic-assert \"^1.0.0\"\n minimalistic-crypto-utils \"^1.0.1\"\n\nhumanize-ms@^1.2.1:\n version \"1.2.1\"\n resolved \"https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed\"\n integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==\n dependencies:\n ms \"^2.0.0\"\n\nieee754@^1.2.1:\n version \"1.2.1\"\n resolved \"https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352\"\n integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==\n\nignore@^4.0.6:\n version \"4.0.6\"\n resolved \"https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc\"\n integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==\n\nignore@^5.2.0:\n version \"5.2.4\"\n resolved \"https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324\"\n integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==\n\nimport-fresh@^3.0.0, import-fresh@^3.2.1:\n version \"3.3.0\"\n resolved \"https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b\"\n integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==\n dependencies:\n parent-module \"^1.0.0\"\n resolve-from \"^4.0.0\"\n\nimurmurhash@^0.1.4:\n version \"0.1.4\"\n resolved \"https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea\"\n integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==\n\ninflight@^1.0.4:\n version \"1.0.6\"\n resolved \"https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9\"\n integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==\n dependencies:\n once \"^1.3.0\"\n wrappy \"1\"\n\ninherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4:\n version \"2.0.4\"\n resolved \"https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c\"\n integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==\n\ninternal-slot@^1.0.3, internal-slot@^1.0.4:\n version \"1.0.5\"\n resolved \"https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986\"\n integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==\n dependencies:\n get-intrinsic \"^1.2.0\"\n has \"^1.0.3\"\n side-channel \"^1.0.4\"\n\nis-arguments@^1.1.1:\n version \"1.1.1\"\n resolved \"https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b\"\n integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==\n dependencies:\n call-bind \"^1.0.2\"\n has-tostringtag \"^1.0.0\"\n\nis-array-buffer@^3.0.1:\n version \"3.0.1\"\n resolved \"https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.1.tgz#deb1db4fcae48308d54ef2442706c0393997052a\"\n integrity sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ==\n dependencies:\n call-bind \"^1.0.2\"\n get-intrinsic \"^1.1.3\"\n is-typed-array \"^1.1.10\"\n\nis-bigint@^1.0.1:\n version \"1.0.4\"\n resolved \"https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3\"\n integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==\n dependencies:\n has-bigints \"^1.0.1\"\n\nis-binary-path@~2.1.0:\n version \"2.1.0\"\n resolved \"https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09\"\n integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==\n dependencies:\n binary-extensions \"^2.0.0\"\n\nis-boolean-object@^1.1.0:\n version \"1.1.2\"\n resolved \"https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719\"\n integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==\n dependencies:\n call-bind \"^1.0.2\"\n has-tostringtag \"^1.0.0\"\n\nis-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7:\n version \"1.2.7\"\n resolved \"https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055\"\n integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==\n\nis-core-module@^2.11.0, is-core-module@^2.9.0:\n version \"2.11.0\"\n resolved \"https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144\"\n integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==\n dependencies:\n has \"^1.0.3\"\n\nis-date-object@^1.0.1, is-date-object@^1.0.5:\n version \"1.0.5\"\n resolved \"https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f\"\n integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==\n dependencies:\n has-tostringtag \"^1.0.0\"\n\nis-extglob@^2.1.1:\n version \"2.1.1\"\n resolved \"https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2\"\n integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==\n\nis-fullwidth-code-point@^3.0.0:\n version \"3.0.0\"\n resolved \"https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d\"\n integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==\n\nis-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1:\n version \"4.0.3\"\n resolved \"https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084\"\n integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==\n dependencies:\n is-extglob \"^2.1.1\"\n\nis-map@^2.0.1, is-map@^2.0.2:\n version \"2.0.2\"\n resolved \"https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127\"\n integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==\n\nis-negative-zero@^2.0.2:\n version \"2.0.2\"\n resolved \"https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150\"\n integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==\n\nis-number-object@^1.0.4:\n version \"1.0.7\"\n resolved \"https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc\"\n integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==\n dependencies:\n has-tostringtag \"^1.0.0\"\n\nis-number@^7.0.0:\n version \"7.0.0\"\n resolved \"https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b\"\n integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==\n\nis-regex@^1.1.4:\n version \"1.1.4\"\n resolved \"https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958\"\n integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==\n dependencies:\n call-bind \"^1.0.2\"\n has-tostringtag \"^1.0.0\"\n\nis-set@^2.0.1, is-set@^2.0.2:\n version \"2.0.2\"\n resolved \"https://registry.yarnpkg.com/is-set/-/is-set-2.0.2.tgz#90755fa4c2562dc1c5d4024760d6119b94ca18ec\"\n integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==\n\nis-shared-array-buffer@^1.0.2:\n version \"1.0.2\"\n resolved \"https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79\"\n integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==\n dependencies:\n call-bind \"^1.0.2\"\n\nis-string@^1.0.5, is-string@^1.0.7:\n version \"1.0.7\"\n resolved \"https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd\"\n integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==\n dependencies:\n has-tostringtag \"^1.0.0\"\n\nis-symbol@^1.0.2, is-symbol@^1.0.3:\n version \"1.0.4\"\n resolved \"https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c\"\n integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==\n dependencies:\n has-symbols \"^1.0.2\"\n\nis-typed-array@^1.1.10, is-typed-array@^1.1.9:\n version \"1.1.10\"\n resolved \"https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f\"\n integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==\n dependencies:\n available-typed-arrays \"^1.0.5\"\n call-bind \"^1.0.2\"\n for-each \"^0.3.3\"\n gopd \"^1.0.1\"\n has-tostringtag \"^1.0.0\"\n\nis-weakmap@^2.0.1:\n version \"2.0.1\"\n resolved \"https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.1.tgz#5008b59bdc43b698201d18f62b37b2ca243e8cf2\"\n integrity sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==\n\nis-weakref@^1.0.2:\n version \"1.0.2\"\n resolved \"https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2\"\n integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==\n dependencies:\n call-bind \"^1.0.2\"\n\nis-weakset@^2.0.1:\n version \"2.0.2\"\n resolved \"https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.2.tgz#4569d67a747a1ce5a994dfd4ef6dcea76e7c0a1d\"\n integrity sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==\n dependencies:\n call-bind \"^1.0.2\"\n get-intrinsic \"^1.1.1\"\n\nisarray@^2.0.5:\n version \"2.0.5\"\n resolved \"https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723\"\n integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==\n\nisexe@^2.0.0:\n version \"2.0.0\"\n resolved \"https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10\"\n integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==\n\nisomorphic-ws@^4.0.1:\n version \"4.0.1\"\n resolved \"https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#55fd4cd6c5e6491e76dc125938dd863f5cd4f2dc\"\n integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==\n\njayson@^3.4.4:\n version \"3.7.0\"\n resolved \"https://registry.yarnpkg.com/jayson/-/jayson-3.7.0.tgz#b735b12d06d348639ae8230d7a1e2916cb078f25\"\n integrity sha512-tfy39KJMrrXJ+mFcMpxwBvFDetS8LAID93+rycFglIQM4kl3uNR3W4lBLE/FFhsoUCEox5Dt2adVpDm/XtebbQ==\n dependencies:\n \"@types/connect\" \"^3.4.33\"\n \"@types/node\" \"^12.12.54\"\n \"@types/ws\" \"^7.4.4\"\n JSONStream \"^1.3.5\"\n commander \"^2.20.3\"\n delay \"^5.0.0\"\n es6-promisify \"^5.0.0\"\n eyes \"^0.1.8\"\n isomorphic-ws \"^4.0.1\"\n json-stringify-safe \"^5.0.1\"\n lodash \"^4.17.20\"\n uuid \"^8.3.2\"\n ws \"^7.4.5\"\n\njs-sha256@^0.9.0:\n version \"0.9.0\"\n resolved \"https://registry.yarnpkg.com/js-sha256/-/js-sha256-0.9.0.tgz#0b89ac166583e91ef9123644bd3c5334ce9d0966\"\n integrity sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA==\n\njs-sha3@^0.8.0:\n version \"0.8.0\"\n resolved \"https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840\"\n integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==\n\n\"js-tokens@^3.0.0 || ^4.0.0\", js-tokens@^4.0.0:\n version \"4.0.0\"\n resolved \"https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499\"\n integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==\n\njs-yaml@^3.13.1:\n version \"3.14.1\"\n resolved \"https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537\"\n integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==\n dependencies:\n argparse \"^1.0.7\"\n esprima \"^4.0.0\"\n\njson-schema-traverse@^0.4.1:\n version \"0.4.1\"\n resolved \"https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660\"\n integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==\n\njson-schema-traverse@^1.0.0:\n version \"1.0.0\"\n resolved \"https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2\"\n integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==\n\njson-stable-stringify-without-jsonify@^1.0.1:\n version \"1.0.1\"\n resolved \"https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651\"\n integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==\n\njson-stringify-safe@^5.0.1:\n version \"5.0.1\"\n resolved \"https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb\"\n integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==\n\njson5@^1.0.1:\n version \"1.0.2\"\n resolved \"https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593\"\n integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==\n dependencies:\n minimist \"^1.2.0\"\n\njsonparse@^1.2.0:\n version \"1.3.1\"\n resolved \"https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280\"\n integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==\n\n\"jsx-ast-utils@^2.4.1 || ^3.0.0\", jsx-ast-utils@^3.3.3:\n version \"3.3.3\"\n resolved \"https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz#76b3e6e6cece5c69d49a5792c3d01bd1a0cdc7ea\"\n integrity sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==\n dependencies:\n array-includes \"^3.1.5\"\n object.assign \"^4.1.3\"\n\nkeccak@^3.0.2:\n version \"3.0.3\"\n resolved \"https://registry.yarnpkg.com/keccak/-/keccak-3.0.3.tgz#4bc35ad917be1ef54ff246f904c2bbbf9ac61276\"\n integrity sha512-JZrLIAJWuZxKbCilMpNz5Vj7Vtb4scDG3dMXLOsbzBmQGyjwE61BbW7bJkfKKCShXiQZt3T6sBgALRtmd+nZaQ==\n dependencies:\n node-addon-api \"^2.0.0\"\n node-gyp-build \"^4.2.0\"\n readable-stream \"^3.6.0\"\n\nkeyvaluestorage-interface@^1.0.0:\n version \"1.0.0\"\n resolved \"https://registry.yarnpkg.com/keyvaluestorage-interface/-/keyvaluestorage-interface-1.0.0.tgz#13ebdf71f5284ad54be94bd1ad9ed79adad515ff\"\n integrity sha512-8t6Q3TclQ4uZynJY9IGr2+SsIGwK9JHcO6ootkHCGA0CrQCRy+VkouYNO2xicET6b9al7QKzpebNow+gkpCL8g==\n\nlanguage-subtag-registry@~0.3.2:\n version \"0.3.22\"\n resolved \"https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz#2e1500861b2e457eba7e7ae86877cbd08fa1fd1d\"\n integrity sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==\n\nlanguage-tags@=1.0.5:\n version \"1.0.5\"\n resolved \"https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.5.tgz#d321dbc4da30ba8bf3024e040fa5c14661f9193a\"\n integrity sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==\n dependencies:\n language-subtag-registry \"~0.3.2\"\n\nlevn@^0.4.1:\n version \"0.4.1\"\n resolved \"https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade\"\n integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==\n dependencies:\n prelude-ls \"^1.2.1\"\n type-check \"~0.4.0\"\n\nlilconfig@^2.0.5, lilconfig@^2.0.6:\n version \"2.0.6\"\n resolved \"https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.6.tgz#32a384558bd58af3d4c6e077dd1ad1d397bc69d4\"\n integrity sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==\n\nlodash.merge@^4.6.2:\n version \"4.6.2\"\n resolved \"https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a\"\n integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==\n\nlodash.truncate@^4.4.2:\n version \"4.4.2\"\n resolved \"https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193\"\n integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==\n\nlodash@^4.17.20:\n version \"4.17.21\"\n resolved \"https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c\"\n integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==\n\nloglevel@^1.8.0:\n version \"1.8.1\"\n resolved \"https://registry.yarnpkg.com/loglevel/-/loglevel-1.8.1.tgz#5c621f83d5b48c54ae93b6156353f555963377b4\"\n integrity sha512-tCRIJM51SHjAayKwC+QAg8hT8vg6z7GSgLJKGvzuPb1Wc+hLzqtuVLxp6/HzSPOozuK+8ErAhy7U/sVzw8Dgfg==\n\nloose-envify@^1.1.0, loose-envify@^1.4.0:\n version \"1.4.0\"\n resolved \"https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf\"\n integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==\n dependencies:\n js-tokens \"^3.0.0 || ^4.0.0\"\n\nlower-case@^2.0.2:\n version \"2.0.2\"\n resolved \"https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28\"\n integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==\n dependencies:\n tslib \"^2.0.3\"\n\nlru-cache@^6.0.0:\n version \"6.0.0\"\n resolved \"https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94\"\n integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==\n dependencies:\n yallist \"^4.0.0\"\n\nmd5.js@^1.3.4:\n version \"1.3.5\"\n resolved \"https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f\"\n integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==\n dependencies:\n hash-base \"^3.0.0\"\n inherits \"^2.0.1\"\n safe-buffer \"^5.1.2\"\n\nmerge2@^1.3.0, merge2@^1.4.1:\n version \"1.4.1\"\n resolved \"https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae\"\n integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==\n\nmicromatch@^4.0.4, micromatch@^4.0.5:\n version \"4.0.5\"\n resolved \"https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6\"\n integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==\n dependencies:\n braces \"^3.0.2\"\n picomatch \"^2.3.1\"\n\nminimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1:\n version \"1.0.1\"\n resolved \"https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7\"\n integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==\n\nminimalistic-crypto-utils@^1.0.1:\n version \"1.0.1\"\n resolved \"https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a\"\n integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==\n\nminimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2:\n version \"3.1.2\"\n resolved \"https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b\"\n integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==\n dependencies:\n brace-expansion \"^1.1.7\"\n\nminimist@^1.2.0, minimist@^1.2.6:\n version \"1.2.8\"\n resolved \"https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c\"\n integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==\n\nms@2.1.2:\n version \"2.1.2\"\n resolved \"https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009\"\n integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==\n\nms@^2.0.0, ms@^2.1.1:\n version \"2.1.3\"\n resolved \"https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2\"\n integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==\n\nnan@^2.14.0, nan@^2.14.2:\n version \"2.17.0\"\n resolved \"https://registry.yarnpkg.com/nan/-/nan-2.17.0.tgz#c0150a2368a182f033e9aa5195ec76ea41a199cb\"\n integrity sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==\n\nnanoid@^3.1.30, nanoid@^3.3.4:\n version \"3.3.4\"\n resolved \"https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab\"\n integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==\n\nnatural-compare@^1.4.0:\n version \"1.4.0\"\n resolved \"https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7\"\n integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==\n\nnext-compose-plugins@^2.2.1:\n version \"2.2.1\"\n resolved \"https://registry.yarnpkg.com/next-compose-plugins/-/next-compose-plugins-2.2.1.tgz#020fc53f275a7e719d62521bef4300fbb6fde5ab\"\n integrity sha512-OjJ+fV15FXO2uQXQagLD4C0abYErBjyjE0I0FHpOEIB8upw0hg1ldFP6cqHTJBH1cZqy96OeR3u1dJ+Ez2D4Bg==\n\nnext-transpile-modules@^9.0.0:\n version \"9.1.0\"\n resolved \"https://registry.yarnpkg.com/next-transpile-modules/-/next-transpile-modules-9.1.0.tgz#dffd2563bf76f8afdb28f0611948f46252ca65ef\"\n integrity sha512-yzJji65xDqcIqjvx5vPJcs1M+MYQTzLM1pXH/qf8Q88ohx+bwVGDc1AeV+HKr1NwvMCNTpwVPSFI7cA5WdyeWA==\n dependencies:\n enhanced-resolve \"^5.10.0\"\n escalade \"^3.1.1\"\n\nnext@12.1.0:\n version \"12.1.0\"\n resolved \"https://registry.yarnpkg.com/next/-/next-12.1.0.tgz#c33d753b644be92fc58e06e5a214f143da61dd5d\"\n integrity sha512-s885kWvnIlxsUFHq9UGyIyLiuD0G3BUC/xrH0CEnH5lHEWkwQcHOORgbDF0hbrW9vr/7am4ETfX4A7M6DjrE7Q==\n dependencies:\n \"@next/env\" \"12.1.0\"\n caniuse-lite \"^1.0.30001283\"\n postcss \"8.4.5\"\n styled-jsx \"5.0.0\"\n use-subscription \"1.5.1\"\n optionalDependencies:\n \"@next/swc-android-arm64\" \"12.1.0\"\n \"@next/swc-darwin-arm64\" \"12.1.0\"\n \"@next/swc-darwin-x64\" \"12.1.0\"\n \"@next/swc-linux-arm-gnueabihf\" \"12.1.0\"\n \"@next/swc-linux-arm64-gnu\" \"12.1.0\"\n \"@next/swc-linux-arm64-musl\" \"12.1.0\"\n \"@next/swc-linux-x64-gnu\" \"12.1.0\"\n \"@next/swc-linux-x64-musl\" \"12.1.0\"\n \"@next/swc-win32-arm64-msvc\" \"12.1.0\"\n \"@next/swc-win32-ia32-msvc\" \"12.1.0\"\n \"@next/swc-win32-x64-msvc\" \"12.1.0\"\n\nno-case@^3.0.4:\n version \"3.0.4\"\n resolved \"https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d\"\n integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==\n dependencies:\n lower-case \"^2.0.2\"\n tslib \"^2.0.3\"\n\nnode-addon-api@^2.0.0:\n version \"2.0.2\"\n resolved \"https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32\"\n integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==\n\nnode-fetch@2:\n version \"2.6.9\"\n resolved \"https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.9.tgz#7c7f744b5cc6eb5fd404e0c7a9fec630a55657e6\"\n integrity sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==\n dependencies:\n whatwg-url \"^5.0.0\"\n\nnode-fetch@2.6.7:\n version \"2.6.7\"\n resolved \"https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad\"\n integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==\n dependencies:\n whatwg-url \"^5.0.0\"\n\nnode-gyp-build@^4.2.0, node-gyp-build@^4.3.0:\n version \"4.6.0\"\n resolved \"https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.6.0.tgz#0c52e4cbf54bbd28b709820ef7b6a3c2d6209055\"\n integrity sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==\n\nnode-releases@^2.0.8:\n version \"2.0.10\"\n resolved \"https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.10.tgz#c311ebae3b6a148c89b1813fd7c4d3c024ef537f\"\n integrity sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==\n\nnormalize-path@^3.0.0, normalize-path@~3.0.0:\n version \"3.0.0\"\n resolved \"https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65\"\n integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==\n\nnormalize-range@^0.1.2:\n version \"0.1.2\"\n resolved \"https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942\"\n integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==\n\nobject-assign@^4.1.1:\n version \"4.1.1\"\n resolved \"https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863\"\n integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==\n\nobject-hash@^3.0.0:\n version \"3.0.0\"\n resolved \"https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9\"\n integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==\n\nobject-inspect@^1.12.2, object-inspect@^1.9.0:\n version \"1.12.3\"\n resolved \"https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9\"\n integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==\n\nobject-is@^1.1.5:\n version \"1.1.5\"\n resolved \"https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac\"\n integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==\n dependencies:\n call-bind \"^1.0.2\"\n define-properties \"^1.1.3\"\n\nobject-keys@^1.1.1:\n version \"1.1.1\"\n resolved \"https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e\"\n integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==\n\nobject.assign@^4.1.3, object.assign@^4.1.4:\n version \"4.1.4\"\n resolved \"https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f\"\n integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==\n dependencies:\n call-bind \"^1.0.2\"\n define-properties \"^1.1.4\"\n has-symbols \"^1.0.3\"\n object-keys \"^1.1.1\"\n\nobject.entries@^1.1.6:\n version \"1.1.6\"\n resolved \"https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.6.tgz#9737d0e5b8291edd340a3e3264bb8a3b00d5fa23\"\n integrity sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==\n dependencies:\n call-bind \"^1.0.2\"\n define-properties \"^1.1.4\"\n es-abstract \"^1.20.4\"\n\nobject.fromentries@^2.0.6:\n version \"2.0.6\"\n resolved \"https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.6.tgz#cdb04da08c539cffa912dcd368b886e0904bfa73\"\n integrity sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==\n dependencies:\n call-bind \"^1.0.2\"\n define-properties \"^1.1.4\"\n es-abstract \"^1.20.4\"\n\nobject.hasown@^1.1.2:\n version \"1.1.2\"\n resolved \"https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.2.tgz#f919e21fad4eb38a57bc6345b3afd496515c3f92\"\n integrity sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==\n dependencies:\n define-properties \"^1.1.4\"\n es-abstract \"^1.20.4\"\n\nobject.values@^1.1.6:\n version \"1.1.6\"\n resolved \"https://registry.yarnpkg.com/object.values/-/object.values-1.1.6.tgz#4abbaa71eba47d63589d402856f908243eea9b1d\"\n integrity sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==\n dependencies:\n call-bind \"^1.0.2\"\n define-properties \"^1.1.4\"\n es-abstract \"^1.20.4\"\n\nonce@^1.3.0, once@^1.3.1, once@^1.4.0:\n version \"1.4.0\"\n resolved \"https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1\"\n integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==\n dependencies:\n wrappy \"1\"\n\noptionator@^0.9.1:\n version \"0.9.1\"\n resolved \"https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499\"\n integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==\n dependencies:\n deep-is \"^0.1.3\"\n fast-levenshtein \"^2.0.6\"\n levn \"^0.4.1\"\n prelude-ls \"^1.2.1\"\n type-check \"^0.4.0\"\n word-wrap \"^1.2.3\"\n\npako@^2.0.3:\n version \"2.1.0\"\n resolved \"https://registry.yarnpkg.com/pako/-/pako-2.1.0.tgz#266cc37f98c7d883545d11335c00fbd4062c9a86\"\n integrity sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==\n\nparent-module@^1.0.0:\n version \"1.0.1\"\n resolved \"https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2\"\n integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==\n dependencies:\n callsites \"^3.0.0\"\n\npath-is-absolute@^1.0.0:\n version \"1.0.1\"\n resolved \"https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f\"\n integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==\n\npath-key@^3.1.0:\n version \"3.1.1\"\n resolved \"https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375\"\n integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==\n\npath-parse@^1.0.7:\n version \"1.0.7\"\n resolved \"https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735\"\n integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==\n\npath-type@^4.0.0:\n version \"4.0.0\"\n resolved \"https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b\"\n integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==\n\npicocolors@^1.0.0:\n version \"1.0.0\"\n resolved \"https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c\"\n integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==\n\npicomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1:\n version \"2.3.1\"\n resolved \"https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42\"\n integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==\n\npify@^2.3.0:\n version \"2.3.0\"\n resolved \"https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c\"\n integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==\n\npostcss-import@^14.1.0:\n version \"14.1.0\"\n resolved \"https://registry.yarnpkg.com/postcss-import/-/postcss-import-14.1.0.tgz#a7333ffe32f0b8795303ee9e40215dac922781f0\"\n integrity sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==\n dependencies:\n postcss-value-parser \"^4.0.0\"\n read-cache \"^1.0.0\"\n resolve \"^1.1.7\"\n\npostcss-js@^4.0.0:\n version \"4.0.1\"\n resolved \"https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.1.tgz#61598186f3703bab052f1c4f7d805f3991bee9d2\"\n integrity sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==\n dependencies:\n camelcase-css \"^2.0.1\"\n\npostcss-load-config@^3.1.4:\n version \"3.1.4\"\n resolved \"https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-3.1.4.tgz#1ab2571faf84bb078877e1d07905eabe9ebda855\"\n integrity sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==\n dependencies:\n lilconfig \"^2.0.5\"\n yaml \"^1.10.2\"\n\npostcss-nested@6.0.0:\n version \"6.0.0\"\n resolved \"https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-6.0.0.tgz#1572f1984736578f360cffc7eb7dca69e30d1735\"\n integrity sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==\n dependencies:\n postcss-selector-parser \"^6.0.10\"\n\npostcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.11:\n version \"6.0.11\"\n resolved \"https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz#2e41dc39b7ad74046e1615185185cd0b17d0c8dc\"\n integrity sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==\n dependencies:\n cssesc \"^3.0.0\"\n util-deprecate \"^1.0.2\"\n\npostcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0:\n version \"4.2.0\"\n resolved \"https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514\"\n integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==\n\npostcss@8.4.5:\n version \"8.4.5\"\n resolved \"https://registry.yarnpkg.com/postcss/-/postcss-8.4.5.tgz#bae665764dfd4c6fcc24dc0fdf7e7aa00cc77f95\"\n integrity sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==\n dependencies:\n nanoid \"^3.1.30\"\n picocolors \"^1.0.0\"\n source-map-js \"^1.0.1\"\n\npostcss@^8.0.9, postcss@^8.4.12:\n version \"8.4.21\"\n resolved \"https://registry.yarnpkg.com/postcss/-/postcss-8.4.21.tgz#c639b719a57efc3187b13a1d765675485f4134f4\"\n integrity sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==\n dependencies:\n nanoid \"^3.3.4\"\n picocolors \"^1.0.0\"\n source-map-js \"^1.0.2\"\n\nprelude-ls@^1.2.1:\n version \"1.2.1\"\n resolved \"https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396\"\n integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==\n\nprogress@^2.0.0:\n version \"2.0.3\"\n resolved \"https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8\"\n integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==\n\nprop-types@^15.8.1:\n version \"15.8.1\"\n resolved \"https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5\"\n integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==\n dependencies:\n loose-envify \"^1.4.0\"\n object-assign \"^4.1.1\"\n react-is \"^16.13.1\"\n\npump@^3.0.0:\n version \"3.0.0\"\n resolved \"https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64\"\n integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==\n dependencies:\n end-of-stream \"^1.1.0\"\n once \"^1.3.1\"\n\npunycode@^2.1.0:\n version \"2.3.0\"\n resolved \"https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f\"\n integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==\n\nqueue-microtask@^1.2.2:\n version \"1.2.3\"\n resolved \"https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243\"\n integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==\n\nquick-lru@^5.1.1:\n version \"5.1.1\"\n resolved \"https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932\"\n integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==\n\nrandombytes@^2.1.0:\n version \"2.1.0\"\n resolved \"https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a\"\n integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==\n dependencies:\n safe-buffer \"^5.1.0\"\n\nreact-dom@17.0.2:\n version \"17.0.2\"\n resolved \"https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23\"\n integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==\n dependencies:\n loose-envify \"^1.1.0\"\n object-assign \"^4.1.1\"\n scheduler \"^0.20.2\"\n\nreact-is@^16.13.1:\n version \"16.13.1\"\n resolved \"https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4\"\n integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==\n\nreact@17.0.2:\n version \"17.0.2\"\n resolved \"https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037\"\n integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==\n dependencies:\n loose-envify \"^1.1.0\"\n object-assign \"^4.1.1\"\n\nread-cache@^1.0.0:\n version \"1.0.0\"\n resolved \"https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774\"\n integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==\n dependencies:\n pify \"^2.3.0\"\n\nreadable-stream@^3.6.0:\n version \"3.6.0\"\n resolved \"https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198\"\n integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==\n dependencies:\n inherits \"^2.0.3\"\n string_decoder \"^1.1.1\"\n util-deprecate \"^1.0.1\"\n\nreaddirp@~3.6.0:\n version \"3.6.0\"\n resolved \"https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7\"\n integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==\n dependencies:\n picomatch \"^2.2.1\"\n\nregenerator-runtime@^0.13.11:\n version \"0.13.11\"\n resolved \"https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9\"\n integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==\n\nregexp.prototype.flags@^1.4.3:\n version \"1.4.3\"\n resolved \"https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac\"\n integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==\n dependencies:\n call-bind \"^1.0.2\"\n define-properties \"^1.1.3\"\n functions-have-names \"^1.2.2\"\n\nregexpp@^3.1.0:\n version \"3.2.0\"\n resolved \"https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2\"\n integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==\n\nrequire-from-string@^2.0.2:\n version \"2.0.2\"\n resolved \"https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909\"\n integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==\n\nresolve-from@^4.0.0:\n version \"4.0.0\"\n resolved \"https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6\"\n integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==\n\nresolve@^1.1.7, resolve@^1.22.0, resolve@^1.22.1:\n version \"1.22.1\"\n resolved \"https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177\"\n integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==\n dependencies:\n is-core-module \"^2.9.0\"\n path-parse \"^1.0.7\"\n supports-preserve-symlinks-flag \"^1.0.0\"\n\nresolve@^2.0.0-next.4:\n version \"2.0.0-next.4\"\n resolved \"https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.4.tgz#3d37a113d6429f496ec4752d2a2e58efb1fd4660\"\n integrity sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==\n dependencies:\n is-core-module \"^2.9.0\"\n path-parse \"^1.0.7\"\n supports-preserve-symlinks-flag \"^1.0.0\"\n\nreusify@^1.0.4:\n version \"1.0.4\"\n resolved \"https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76\"\n integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==\n\nrimraf@^3.0.2:\n version \"3.0.2\"\n resolved \"https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a\"\n integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==\n dependencies:\n glob \"^7.1.3\"\n\nripemd160@^2.0.0, ripemd160@^2.0.1:\n version \"2.0.2\"\n resolved \"https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c\"\n integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==\n dependencies:\n hash-base \"^3.0.0\"\n inherits \"^2.0.1\"\n\nrpc-websockets@^7.5.0:\n version \"7.5.0\"\n resolved \"https://registry.yarnpkg.com/rpc-websockets/-/rpc-websockets-7.5.0.tgz#bbeb87572e66703ff151e50af1658f98098e2748\"\n integrity sha512-9tIRi1uZGy7YmDjErf1Ax3wtqdSSLIlnmL5OtOzgd5eqPKbsPpwDP5whUDO2LQay3Xp0CcHlcNSGzacNRluBaQ==\n dependencies:\n \"@babel/runtime\" \"^7.17.2\"\n eventemitter3 \"^4.0.7\"\n uuid \"^8.3.2\"\n ws \"^8.5.0\"\n optionalDependencies:\n bufferutil \"^4.0.1\"\n utf-8-validate \"^5.0.2\"\n\nrun-parallel@^1.1.9:\n version \"1.2.0\"\n resolved \"https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee\"\n integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==\n dependencies:\n queue-microtask \"^1.2.2\"\n\nrxjs@6:\n version \"6.6.7\"\n resolved \"https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9\"\n integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==\n dependencies:\n tslib \"^1.9.0\"\n\nsafe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0:\n version \"5.2.1\"\n resolved \"https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6\"\n integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==\n\nsafe-buffer@~5.1.1:\n version \"5.1.2\"\n resolved \"https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d\"\n integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==\n\nsafe-json-utils@^1.1.1:\n version \"1.1.1\"\n resolved \"https://registry.yarnpkg.com/safe-json-utils/-/safe-json-utils-1.1.1.tgz#0e883874467d95ab914c3f511096b89bfb3e63b1\"\n integrity sha512-SAJWGKDs50tAbiDXLf89PDwt9XYkWyANFWVzn4dTXl5QyI8t2o/bW5/OJl3lvc2WVU4MEpTo9Yz5NVFNsp+OJQ==\n\nsafe-regex-test@^1.0.0:\n version \"1.0.0\"\n resolved \"https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295\"\n integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==\n dependencies:\n call-bind \"^1.0.2\"\n get-intrinsic \"^1.1.3\"\n is-regex \"^1.1.4\"\n\nscheduler@^0.20.2:\n version \"0.20.2\"\n resolved \"https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91\"\n integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==\n dependencies:\n loose-envify \"^1.1.0\"\n object-assign \"^4.1.1\"\n\nsecp256k1@^3.8.0:\n version \"3.8.0\"\n resolved \"https://registry.yarnpkg.com/secp256k1/-/secp256k1-3.8.0.tgz#28f59f4b01dbee9575f56a47034b7d2e3b3b352d\"\n integrity sha512-k5ke5avRZbtl9Tqx/SA7CbY3NF6Ro+Sj9cZxezFzuBlLDmyqPiL8hJJ+EmzD8Ig4LUDByHJ3/iPOVoRixs/hmw==\n dependencies:\n bindings \"^1.5.0\"\n bip66 \"^1.1.5\"\n bn.js \"^4.11.8\"\n create-hash \"^1.2.0\"\n drbg.js \"^1.0.1\"\n elliptic \"^6.5.2\"\n nan \"^2.14.0\"\n safe-buffer \"^5.1.2\"\n\nsemver@^6.3.0:\n version \"6.3.0\"\n resolved \"https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d\"\n integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==\n\nsemver@^7.2.1, semver@^7.3.5:\n version \"7.3.8\"\n resolved \"https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798\"\n integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==\n dependencies:\n lru-cache \"^6.0.0\"\n\nsha.js@^2.4.0, sha.js@^2.4.8:\n version \"2.4.11\"\n resolved \"https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7\"\n integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==\n dependencies:\n inherits \"^2.0.1\"\n safe-buffer \"^5.0.1\"\n\nshebang-command@^2.0.0:\n version \"2.0.0\"\n resolved \"https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea\"\n integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==\n dependencies:\n shebang-regex \"^3.0.0\"\n\nshebang-regex@^3.0.0:\n version \"3.0.0\"\n resolved \"https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172\"\n integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==\n\nside-channel@^1.0.4:\n version \"1.0.4\"\n resolved \"https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf\"\n integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==\n dependencies:\n call-bind \"^1.0.0\"\n get-intrinsic \"^1.0.2\"\n object-inspect \"^1.9.0\"\n\nslash@^3.0.0:\n version \"3.0.0\"\n resolved \"https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634\"\n integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==\n\nslice-ansi@^4.0.0:\n version \"4.0.0\"\n resolved \"https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b\"\n integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==\n dependencies:\n ansi-styles \"^4.0.0\"\n astral-regex \"^2.0.0\"\n is-fullwidth-code-point \"^3.0.0\"\n\nsnake-case@^3.0.4:\n version \"3.0.4\"\n resolved \"https://registry.yarnpkg.com/snake-case/-/snake-case-3.0.4.tgz#4f2bbd568e9935abdfd593f34c691dadb49c452c\"\n integrity sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==\n dependencies:\n dot-case \"^3.0.4\"\n tslib \"^2.0.3\"\n\nsource-map-js@^1.0.1, source-map-js@^1.0.2:\n version \"1.0.2\"\n resolved \"https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c\"\n integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==\n\nsprintf-js@~1.0.2:\n version \"1.0.3\"\n resolved \"https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c\"\n integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==\n\nstop-iteration-iterator@^1.0.0:\n version \"1.0.0\"\n resolved \"https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz#6a60be0b4ee757d1ed5254858ec66b10c49285e4\"\n integrity sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==\n dependencies:\n internal-slot \"^1.0.4\"\n\nstring-width@^4.2.3:\n version \"4.2.3\"\n resolved \"https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010\"\n integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==\n dependencies:\n emoji-regex \"^8.0.0\"\n is-fullwidth-code-point \"^3.0.0\"\n strip-ansi \"^6.0.1\"\n\nstring.prototype.matchall@^4.0.8:\n version \"4.0.8\"\n resolved \"https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz#3bf85722021816dcd1bf38bb714915887ca79fd3\"\n integrity sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==\n dependencies:\n call-bind \"^1.0.2\"\n define-properties \"^1.1.4\"\n es-abstract \"^1.20.4\"\n get-intrinsic \"^1.1.3\"\n has-symbols \"^1.0.3\"\n internal-slot \"^1.0.3\"\n regexp.prototype.flags \"^1.4.3\"\n side-channel \"^1.0.4\"\n\nstring.prototype.trimend@^1.0.6:\n version \"1.0.6\"\n resolved \"https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz#c4a27fa026d979d79c04f17397f250a462944533\"\n integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==\n dependencies:\n call-bind \"^1.0.2\"\n define-properties \"^1.1.4\"\n es-abstract \"^1.20.4\"\n\nstring.prototype.trimstart@^1.0.6:\n version \"1.0.6\"\n resolved \"https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz#e90ab66aa8e4007d92ef591bbf3cd422c56bdcf4\"\n integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==\n dependencies:\n call-bind \"^1.0.2\"\n define-properties \"^1.1.4\"\n es-abstract \"^1.20.4\"\n\nstring_decoder@^1.1.1:\n version \"1.3.0\"\n resolved \"https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e\"\n integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==\n dependencies:\n safe-buffer \"~5.2.0\"\n\nstrip-ansi@^6.0.0, strip-ansi@^6.0.1:\n version \"6.0.1\"\n resolved \"https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9\"\n integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==\n dependencies:\n ansi-regex \"^5.0.1\"\n\nstrip-bom@^3.0.0:\n version \"3.0.0\"\n resolved \"https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3\"\n integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==\n\nstrip-json-comments@^3.1.0, strip-json-comments@^3.1.1:\n version \"3.1.1\"\n resolved \"https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006\"\n integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==\n\nstyled-jsx@5.0.0:\n version \"5.0.0\"\n resolved \"https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.0.0.tgz#816b4b92e07b1786c6b7111821750e0ba4d26e77\"\n integrity sha512-qUqsWoBquEdERe10EW8vLp3jT25s/ssG1/qX5gZ4wu15OZpmSMFI2v+fWlRhLfykA5rFtlJ1ME8A8pm/peV4WA==\n\nsuperstruct@^0.14.2:\n version \"0.14.2\"\n resolved \"https://registry.yarnpkg.com/superstruct/-/superstruct-0.14.2.tgz#0dbcdf3d83676588828f1cf5ed35cda02f59025b\"\n integrity sha512-nPewA6m9mR3d6k7WkZ8N8zpTWfenFH3q9pA2PkuiZxINr9DKB2+40wEQf0ixn8VaGuJ78AB6iWOtStI+/4FKZQ==\n\nsuperstruct@^0.15.4:\n version \"0.15.5\"\n resolved \"https://registry.yarnpkg.com/superstruct/-/superstruct-0.15.5.tgz#0f0a8d3ce31313f0d84c6096cd4fa1bfdedc9dab\"\n integrity sha512-4AOeU+P5UuE/4nOUkmcQdW5y7i9ndt1cQd/3iUe+LTz3RxESf/W/5lg4B74HbDMMv8PHnPnGCQFH45kBcrQYoQ==\n\nsupports-color@^5.3.0:\n version \"5.5.0\"\n resolved \"https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f\"\n integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==\n dependencies:\n has-flag \"^3.0.0\"\n\nsupports-color@^7.1.0:\n version \"7.2.0\"\n resolved \"https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da\"\n integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\n dependencies:\n has-flag \"^4.0.0\"\n\nsupports-preserve-symlinks-flag@^1.0.0:\n version \"1.0.0\"\n resolved \"https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09\"\n integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==\n\ntable@^6.0.9:\n version \"6.8.1\"\n resolved \"https://registry.yarnpkg.com/table/-/table-6.8.1.tgz#ea2b71359fe03b017a5fbc296204471158080bdf\"\n integrity sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==\n dependencies:\n ajv \"^8.0.1\"\n lodash.truncate \"^4.4.2\"\n slice-ansi \"^4.0.0\"\n string-width \"^4.2.3\"\n strip-ansi \"^6.0.1\"\n\ntailwindcss@^3.0.24:\n version \"3.2.7\"\n resolved \"https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.2.7.tgz#5936dd08c250b05180f0944500c01dce19188c07\"\n integrity sha512-B6DLqJzc21x7wntlH/GsZwEXTBttVSl1FtCzC8WP4oBc/NKef7kaax5jeihkkCEWc831/5NDJ9gRNDK6NEioQQ==\n dependencies:\n arg \"^5.0.2\"\n chokidar \"^3.5.3\"\n color-name \"^1.1.4\"\n detective \"^5.2.1\"\n didyoumean \"^1.2.2\"\n dlv \"^1.1.3\"\n fast-glob \"^3.2.12\"\n glob-parent \"^6.0.2\"\n is-glob \"^4.0.3\"\n lilconfig \"^2.0.6\"\n micromatch \"^4.0.5\"\n normalize-path \"^3.0.0\"\n object-hash \"^3.0.0\"\n picocolors \"^1.0.0\"\n postcss \"^8.0.9\"\n postcss-import \"^14.1.0\"\n postcss-js \"^4.0.0\"\n postcss-load-config \"^3.1.4\"\n postcss-nested \"6.0.0\"\n postcss-selector-parser \"^6.0.11\"\n postcss-value-parser \"^4.2.0\"\n quick-lru \"^5.1.1\"\n resolve \"^1.22.1\"\n\ntapable@^2.2.0:\n version \"2.2.1\"\n resolved \"https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0\"\n integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==\n\ntext-encoding-utf-8@^1.0.2:\n version \"1.0.2\"\n resolved \"https://registry.yarnpkg.com/text-encoding-utf-8/-/text-encoding-utf-8-1.0.2.tgz#585b62197b0ae437e3c7b5d0af27ac1021e10d13\"\n integrity sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg==\n\ntext-table@^0.2.0:\n version \"0.2.0\"\n resolved \"https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4\"\n integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==\n\n\"through@>=2.2.7 <3\":\n version \"2.3.8\"\n resolved \"https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5\"\n integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==\n\nto-regex-range@^5.0.1:\n version \"5.0.1\"\n resolved \"https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4\"\n integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==\n dependencies:\n is-number \"^7.0.0\"\n\ntoml@^3.0.0:\n version \"3.0.0\"\n resolved \"https://registry.yarnpkg.com/toml/-/toml-3.0.0.tgz#342160f1af1904ec9d204d03a5d61222d762c5ee\"\n integrity sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==\n\ntr46@~0.0.3:\n version \"0.0.3\"\n resolved \"https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a\"\n integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==\n\ntsconfig-paths@^3.14.1:\n version \"3.14.1\"\n resolved \"https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz#ba0734599e8ea36c862798e920bcf163277b137a\"\n integrity sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==\n dependencies:\n \"@types/json5\" \"^0.0.29\"\n json5 \"^1.0.1\"\n minimist \"^1.2.6\"\n strip-bom \"^3.0.0\"\n\ntslib@^1.8.1, tslib@^1.9.0:\n version \"1.14.1\"\n resolved \"https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00\"\n integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==\n\ntslib@^2.0.3:\n version \"2.5.0\"\n resolved \"https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf\"\n integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==\n\ntsutils@^3.21.0:\n version \"3.21.0\"\n resolved \"https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623\"\n integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==\n dependencies:\n tslib \"^1.8.1\"\n\ntype-check@^0.4.0, type-check@~0.4.0:\n version \"0.4.0\"\n resolved \"https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1\"\n integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==\n dependencies:\n prelude-ls \"^1.2.1\"\n\ntype-fest@^0.20.2:\n version \"0.20.2\"\n resolved \"https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4\"\n integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==\n\ntyped-array-length@^1.0.4:\n version \"1.0.4\"\n resolved \"https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb\"\n integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==\n dependencies:\n call-bind \"^1.0.2\"\n for-each \"^0.3.3\"\n is-typed-array \"^1.1.9\"\n\ntypescript@4.4.4:\n version \"4.4.4\"\n resolved \"https://registry.yarnpkg.com/typescript/-/typescript-4.4.4.tgz#2cd01a1a1f160704d3101fd5a58ff0f9fcb8030c\"\n integrity sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==\n\nunbox-primitive@^1.0.2:\n version \"1.0.2\"\n resolved \"https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e\"\n integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==\n dependencies:\n call-bind \"^1.0.2\"\n has-bigints \"^1.0.2\"\n has-symbols \"^1.0.3\"\n which-boxed-primitive \"^1.0.2\"\n\nupdate-browserslist-db@^1.0.10:\n version \"1.0.10\"\n resolved \"https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3\"\n integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==\n dependencies:\n escalade \"^3.1.1\"\n picocolors \"^1.0.0\"\n\nuri-js@^4.2.2:\n version \"4.4.1\"\n resolved \"https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e\"\n integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==\n dependencies:\n punycode \"^2.1.0\"\n\nuse-subscription@1.5.1:\n version \"1.5.1\"\n resolved \"https://registry.yarnpkg.com/use-subscription/-/use-subscription-1.5.1.tgz#73501107f02fad84c6dd57965beb0b75c68c42d1\"\n integrity sha512-Xv2a1P/yReAjAbhylMfFplFKj9GssgTwN7RlcTxBujFQcloStWNDQdc4g4NRWH9xS4i/FDk04vQBptAXoF3VcA==\n dependencies:\n object-assign \"^4.1.1\"\n\nutf-8-validate@^5.0.2:\n version \"5.0.10\"\n resolved \"https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.10.tgz#d7d10ea39318171ca982718b6b96a8d2442571a2\"\n integrity sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==\n dependencies:\n node-gyp-build \"^4.3.0\"\n\nutil-deprecate@^1.0.1, util-deprecate@^1.0.2:\n version \"1.0.2\"\n resolved \"https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf\"\n integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==\n\nuuid@^8.3.2:\n version \"8.3.2\"\n resolved \"https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2\"\n integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==\n\nv8-compile-cache@^2.0.3:\n version \"2.3.0\"\n resolved \"https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee\"\n integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==\n\nwebidl-conversions@^3.0.0:\n version \"3.0.1\"\n resolved \"https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871\"\n integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==\n\nwhatwg-url@^5.0.0:\n version \"5.0.0\"\n resolved \"https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d\"\n integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==\n dependencies:\n tr46 \"~0.0.3\"\n webidl-conversions \"^3.0.0\"\n\nwhich-boxed-primitive@^1.0.2:\n version \"1.0.2\"\n resolved \"https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6\"\n integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==\n dependencies:\n is-bigint \"^1.0.1\"\n is-boolean-object \"^1.1.0\"\n is-number-object \"^1.0.4\"\n is-string \"^1.0.5\"\n is-symbol \"^1.0.3\"\n\nwhich-collection@^1.0.1:\n version \"1.0.1\"\n resolved \"https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.1.tgz#70eab71ebbbd2aefaf32f917082fc62cdcb70906\"\n integrity sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==\n dependencies:\n is-map \"^2.0.1\"\n is-set \"^2.0.1\"\n is-weakmap \"^2.0.1\"\n is-weakset \"^2.0.1\"\n\nwhich-typed-array@^1.1.9:\n version \"1.1.9\"\n resolved \"https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6\"\n integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==\n dependencies:\n available-typed-arrays \"^1.0.5\"\n call-bind \"^1.0.2\"\n for-each \"^0.3.3\"\n gopd \"^1.0.1\"\n has-tostringtag \"^1.0.0\"\n is-typed-array \"^1.1.10\"\n\nwhich@^2.0.1:\n version \"2.0.2\"\n resolved \"https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1\"\n integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==\n dependencies:\n isexe \"^2.0.0\"\n\nword-wrap@^1.2.3:\n version \"1.2.3\"\n resolved \"https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c\"\n integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==\n\nwrappy@1:\n version \"1.0.2\"\n resolved \"https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f\"\n integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==\n\nws@^7.4.0, ws@^7.4.5:\n version \"7.5.9\"\n resolved \"https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591\"\n integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==\n\nws@^8.5.0:\n version \"8.12.1\"\n resolved \"https://registry.yarnpkg.com/ws/-/ws-8.12.1.tgz#c51e583d79140b5e42e39be48c934131942d4a8f\"\n integrity sha512-1qo+M9Ba+xNhPB+YTWUlK6M17brTut5EXbcBaMRN5pH5dFrXz7lzz1ChFSUq3bOUl8yEvSenhHmYUNJxFzdJew==\n\nxtend@^4.0.2:\n version \"4.0.2\"\n resolved \"https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54\"\n integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==\n\nyallist@^4.0.0:\n version \"4.0.0\"\n resolved \"https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72\"\n integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==\n\nyaml@^1.10.2:\n version \"1.10.2\"\n resolved \"https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b\"\n integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==\n" + }, + "is_dir": false + }, + { + "path": "/client/.gitignore.hbs", + "content": { + "String": ".next/\nnode_modules/" + }, + "is_dir": false + }, + { + "path": "/client/tsconfig.json.hbs", + "content": { + "String": "{\n \"compilerOptions\": {\n \"target\": \"es5\",\n \"lib\": [\n \"dom\",\n \"dom.iterable\",\n \"esnext\"\n ],\n \"allowJs\": true,\n \"skipLibCheck\": true,\n \"strict\": false,\n \"forceConsistentCasingInFileNames\": true,\n \"noEmit\": true,\n \"incremental\": true,\n \"esModuleInterop\": true,\n \"module\": \"esnext\",\n \"moduleResolution\": \"node\",\n \"resolveJsonModule\": true,\n \"isolatedModules\": true,\n \"jsx\": \"preserve\"\n },\n \"include\": [\n \"next-env.d.ts\",\n \"**/*.ts\",\n \"**/*.tsx\"\n ],\n \"exclude\": [\n \"node_modules\"\n ]\n}\n" + }, + "is_dir": false + }, + { + "path": "/client/postcss.config.js.hbs", + "content": { + "String": "// If you want to use other PostCSS plugins, see the following:\n// https://tailwindcss.com/docs/using-with-preprocessors\nmodule.exports = {\n plugins: {\n tailwindcss: {},\n autoprefixer: {},\n },\n};\n" + }, + "is_dir": false + }, + { + "path": "/client/tailwind.config.js.hbs", + "content": { + "String": "module.exports = {\n purge: [\"./src/**/*.{js,jsx,ts,tsx}\"],\n darkMode: false, // or 'media' or 'class'\n theme: {\n fontFamily: {\n sans: [\"EB+Garamond\", \"sans-serif\"],\n },\n },\n variants: {\n extend: {},\n },\n plugins: [],\n};" + }, + "is_dir": false + }, + { + "path": "/client/src", + "content": { + "String": "" + }, + "is_dir": true + }, + { + "path": "/client/src/manifest.json.hbs", + "content": { + "String": "{\n \"name\": \"{{name}}\",\n \"short_name\": \"{{name}}\",\n \"display\": \"standalone\",\n \"start_url\": \"./\",\n \"theme_color\": \"#000000\",\n \"background_color\": \"#ffffff\",\n \"icons\": [\n {\n \"src\": \"icons/icon-192x192.png\",\n \"sizes\": \"192x192\"\n },\n {\n \"src\": \"icons/icon-128x128.png\",\n \"sizes\": \"128x128\"\n },\n {\n \"src\": \"icons/icon-512x512.png\",\n \"sizes\": \"512x512\"\n }\n ]\n}\n" + }, + "is_dir": false + }, + { + "path": "/client/src/contexts", + "content": { + "String": "" + }, + "is_dir": true + }, + { + "path": "/client/src/contexts/ClientWalletProvider.tsx.hbs", + "content": { + "String": "import type { WalletProviderProps } from \"@solana/wallet-adapter-react\";\nimport { WalletProvider } from \"@solana/wallet-adapter-react\";\n\nimport {\n getPhantomWallet,\n getSolflareWallet,\n getSolletWallet,\n} from '@solana/wallet-adapter-wallets'\nimport { useMemo } from \"react\";\nimport { WalletModalProvider } from \"@solana/wallet-adapter-react-ui\";\n\nimport('@solana/wallet-adapter-react-ui/styles.css' as any) ;\n\nexport function ClientWalletProvider(\n props: Omit\n): JSX.Element {\n const wallets = useMemo(\n () => [\n getPhantomWallet(),\n getSolflareWallet(),\n getSolletWallet(),\n ],\n []\n );\n\n return (\n \n \n \n );\n}\n\nexport default ClientWalletProvider;\n" + }, + "is_dir": false + }, + { + "path": "/client/src/utils", + "content": { + "String": "" + }, + "is_dir": true + }, + { + "path": "/client/src/utils/callInstructions.ts.hbs", + "content": { + "String": "import { web3 } from \"@project-serum/anchor\";\n\n{{#each instructions}}\nexport const {{name}} = (program,{{#each args}} {{name}},{{/each}}{{#each accounts}} {{name}},{{/each}}) => {\n if (program) {\n (async () => {\n try {\n const tx = await program.methods\n .{{name}}({{#each args}} {{name}},{{/each}})\n .accounts({\n {{#each accounts}} \n {{name}},\n {{/each}}\n })\n .rpc();\n } catch (error) { console.log(error) }\n })();\n }\n};\n\n{{/each}}" + }, + "is_dir": false + }, + { + "path": "/client/src/utils/idl.json.hbs", + "content": { + "String": "{{{debug_idl this}}}" + }, + "is_dir": false + }, + { + "path": "/client/src/utils/useProgram.ts.hbs", + "content": { + "String": "import { useEffect, useState } from \"react\";\nimport { Connection, PublicKey } from \"@solana/web3.js\";\nimport * as anchor from \"@project-serum/anchor\";\n\nimport idl from \"./idl.json\"\n\nconst PROGRAM = idl.metadata.address;\nconst programID = new PublicKey(PROGRAM);\n\nexport interface Wallet {\n signTransaction(\n tx: anchor.web3.Transaction\n ): Promise;\n signAllTransactions(\n txs: anchor.web3.Transaction[]\n ): Promise;\n publicKey: anchor.web3.PublicKey;\n}\n\ntype ProgramProps = {\n connection: Connection;\n wallet?: Wallet;\n};\n\nexport const useProgram = ({ connection, wallet }: ProgramProps) => {\n const [program, setProgram] = useState>();\n\n useEffect(() => {\n updateProgram();\n }, [connection, wallet]);\n\n const updateProgram = () => {\n if (!wallet) return\n const provider = new anchor.AnchorProvider(connection, wallet, {\n preflightCommitment: \"recent\",\n commitment: \"processed\",\n });\n const program = new anchor.Program(idl as any, programID, provider);\n setProgram(program);\n };\n\n return {\n program,\n };\n};\n\n\n\n\n\n" + }, + "is_dir": false + }, + { + "path": "/client/src/utils/{{#each instructions}}{{name}}{{#each}}.ts.hbs", + "content": { + "String": "import { web3 } from \"@project-serum/anchor\";\n\n{{#each instructions}}\n{{#if (eq name ../path_replacements.0)}}\nexport const {{name}} = (program,{{#each args}} {{name}},{{/each}}{{#each accounts}} {{name}},{{/each}}) => {\n if (program) {\n (async () => {\n try {\n const tx = await program.methods\n .{{name}}({{#each args}} {{name}},{{/each}})\n .accounts({\n {{#each accounts}} \n {{name}},\n {{/each}}\n })\n .rpc();\n } catch (error) { console.log(error) }\n })();\n }\n};\n{{/if}}\n{{/each}}" + }, + "is_dir": false + }, + { + "path": "/client/src/react-app-env.d.ts.hbs", + "content": { + "String": "/// \n" + }, + "is_dir": false + }, + { + "path": "/client/src/styles", + "content": { + "String": "" + }, + "is_dir": true + }, + { + "path": "/client/src/styles/globals.css.hbs", + "content": { + "String": "@tailwind base;\n@tailwind components;\n@tailwind utilities;\n" + }, + "is_dir": false + }, + { + "path": "/client/src/pages", + "content": { + "String": "" + }, + "is_dir": true + }, + { + "path": "/client/src/pages/_app.tsx.hbs", + "content": { + "String": "import React from \"react\";\nimport type { AppProps } from \"next/app\";\nimport dynamic from \"next/dynamic\";\nimport { ConnectionProvider } from \"@solana/wallet-adapter-react\";\nimport { WalletMultiButton } from \"@solana/wallet-adapter-react-ui\";\n\nimport \"../styles/globals.css\";\n\n//const endpoint = 'http://localhost:8899'\nconst endpoint = 'https://api.devnet.solana.com'\n\nconst WalletProvider = dynamic(\n () => import(\"../contexts/ClientWalletProvider\"),\n {\n ssr: false,\n }\n);\n\nfunction MyApp({ Component, pageProps }: AppProps) {\n return (\n \n \n \n \n \n \n );\n}\n\nexport default MyApp;\n" + }, + "is_dir": false + }, + { + "path": "/client/src/pages/index.tsx.hbs", + "content": { + "String": "import { FC, useEffect, useState } from \"react\";\nimport { useAnchorWallet, useConnection } from \"@solana/wallet-adapter-react\";\nimport type { NextPage } from \"next\";\nimport Head from \"next/head\";\nimport { useProgram } from \"../utils/useProgram\";\nimport { useRouter } from \"next/router\"\n\nconst Home: NextPage = (props) => {\n const wallet = useAnchorWallet();\n const { connection } = useConnection();\n const { program } = useProgram({ connection, wallet });\n\n{{#each events}}\n useEffect(() => {\n if (!program) return;\n const listener = program.addEventListener(\n \"{{name}}\",\n async (event, _slot, _sig) => {\n console.log(event);\n }\n );\n\n return () => {\n program.removeEventListener(listener);\n };\n }, [program]);\n\n{{/each}}\n return (\n <>\n \n {{name}}\n \n \n \n );\n};\n\nexport default Home;\n" + }, + "is_dir": false + }, + { + "path": "/client/src/pages/_document.js.hbs", + "content": { + "String": "import Document, { Html, Head, Main, NextScript } from \"next/document\";\n\nclass MyDocument extends Document {\n render() {\n return (\n \n \n \n \n\n \n \n \n \n \n \n
    \n \n \n \n );\n }\n}\n\nexport default MyDocument;\n" + }, + "is_dir": false + } + ], + "helpers": [ + { + "helper_name": "len", + "script": "let name = params[0];\n\nname.len()" + } + ] +} \ No newline at end of file From baed5cd0dc09690b33730618230b3d658322e079 Mon Sep 17 00:00:00 2001 From: Ahzam Akhtar <94620460+AhzamAkhtar@users.noreply.github.com> Date: Thu, 22 Jun 2023 23:32:53 +0530 Subject: [PATCH 12/18] Update Templates --- .../files/client/src/pages/index.tsx.hbs | 64 + .../files/client/utils/callInstrutions.ts.hbs | 21 + .../files/client/utils/idl.json.hbs | 1 + .../seahorse/files/client/src/.gitignore.hbs | 2 + .../src/contexts/ClientWalletProvider.tsx.hbs | 33 + .../files/client/src/manifest.json.hbs | 22 + .../files/client/src/next-env.d.ts.hbs | 5 + .../files/client/src/next.config.js.hbs | 33 + .../files/client/src/package.json.hbs | 35 + .../files/client/src/pages/_app.tsx.hbs | 32 + .../files/client/src/pages/_document.js.hbs | 42 + .../files/client/src/pages/index.ts.hbs | 39 + .../files/client/src/postcss.config.js.hbs | 8 + .../files/client/src/styles/global.css.hbs | 3 + .../files/client/src/tailwind.config.js.hbs | 13 + .../files/client/src/tsconfig.json.hbs | 30 + .../client/src/utils/callInstructions.ts.hbs | 21 + .../files/client/src/utils/idl.json.hbs | 1 + .../files/client/src/utils/manifest.json.hbs | 22 + .../client/src/utils/react-app-env.d.ts.hbs | 1 + .../files/client/src/utils/useProgram.ts.hbs | 50 + ...each instruction}}{{name}}{{#each}}.ts.hbs | 22 + .../seahorse/files/client/src/yarn.lock.hbs | 3424 +++++++++++++++++ 23 files changed, 3924 insertions(+) create mode 100644 templates/react_native/files/client/utils/callInstrutions.ts.hbs create mode 100644 templates/react_native/files/client/utils/idl.json.hbs create mode 100644 templates/seahorse/files/client/src/.gitignore.hbs create mode 100644 templates/seahorse/files/client/src/contexts/ClientWalletProvider.tsx.hbs create mode 100644 templates/seahorse/files/client/src/manifest.json.hbs create mode 100644 templates/seahorse/files/client/src/next-env.d.ts.hbs create mode 100644 templates/seahorse/files/client/src/next.config.js.hbs create mode 100644 templates/seahorse/files/client/src/package.json.hbs create mode 100644 templates/seahorse/files/client/src/pages/_app.tsx.hbs create mode 100644 templates/seahorse/files/client/src/pages/_document.js.hbs create mode 100644 templates/seahorse/files/client/src/pages/index.ts.hbs create mode 100644 templates/seahorse/files/client/src/postcss.config.js.hbs create mode 100644 templates/seahorse/files/client/src/styles/global.css.hbs create mode 100644 templates/seahorse/files/client/src/tailwind.config.js.hbs create mode 100644 templates/seahorse/files/client/src/tsconfig.json.hbs create mode 100644 templates/seahorse/files/client/src/utils/callInstructions.ts.hbs create mode 100644 templates/seahorse/files/client/src/utils/idl.json.hbs create mode 100644 templates/seahorse/files/client/src/utils/manifest.json.hbs create mode 100644 templates/seahorse/files/client/src/utils/react-app-env.d.ts.hbs create mode 100644 templates/seahorse/files/client/src/utils/useProgram.ts.hbs create mode 100644 templates/seahorse/files/client/src/utils/{{#each instruction}}{{name}}{{#each}}.ts.hbs create mode 100644 templates/seahorse/files/client/src/yarn.lock.hbs diff --git a/templates/anchor_nextjs/files/client/src/pages/index.tsx.hbs b/templates/anchor_nextjs/files/client/src/pages/index.tsx.hbs index bc97518..afe35c6 100644 --- a/templates/anchor_nextjs/files/client/src/pages/index.tsx.hbs +++ b/templates/anchor_nextjs/files/client/src/pages/index.tsx.hbs @@ -5,11 +5,51 @@ import Head from "next/head"; import { useProgram } from "../utils/useProgram"; import { useRouter } from "next/router" +{{#each instructions}} +import { + {{name}} +} from '../utils/callInstructions' +{{/each}} + + const Home: NextPage = (props) => { const wallet = useAnchorWallet(); const { connection } = useConnection(); const { program } = useProgram({ connection, wallet }); +// React UseStates hooks for managing args +{{#each instructions}} +//for {{name}} +{{#each args}} +const [{{name}} , set{{name}}] = useState() +{{/each}} +{{/each}} + +//handler functions for inputs feilds +{{#each instructions}} +{{#each args}} +const {{name}}handler = (e) => { + set{{name}}(e.target.value) +} +{{/each}} +{{/each}} + +// variables for accounts +const authority = "" +const systemProgram = "" +const clock = "" + +{{#each instructions}} +{{#each accounts}} +{{#if this.isMut}} +{{#unless this.isSigner}} +const {{name}} = "" +{{/unless}} +{{/if}} +{{/each}} +{{/each}} + + {{#each events}} useEffect(() => { if (!program) return; @@ -32,6 +72,30 @@ const Home: NextPage = (props) => { {{name}} + + {{#each instructions}} + // for {{name}} + {{#each args}} + + {{/each}} + {{/each}} + + // buttons for calling instructions + {{#each instructions}} + + {{/each}} ); }; diff --git a/templates/react_native/files/client/utils/callInstrutions.ts.hbs b/templates/react_native/files/client/utils/callInstrutions.ts.hbs new file mode 100644 index 0000000..1cbef69 --- /dev/null +++ b/templates/react_native/files/client/utils/callInstrutions.ts.hbs @@ -0,0 +1,21 @@ +import { web3 } from "@project-serum/anchor"; + +{{#each instructions}} +export const {{name}} = (program,{{#each args}} {{name}},{{/each}}{{#each accounts}} {{name}},{{/each}}) => { + if (program) { + (async () => { + try { + const tx = await program.methods + .{{name}}({{#each args}} {{name}},{{/each}}) + .accounts({ + {{#each accounts}} + {{name}}, + {{/each}} + }) + .rpc(); + } catch (error) { console.log(error) } + })(); + } +}; + +{{/each}} \ No newline at end of file diff --git a/templates/react_native/files/client/utils/idl.json.hbs b/templates/react_native/files/client/utils/idl.json.hbs new file mode 100644 index 0000000..6c66046 --- /dev/null +++ b/templates/react_native/files/client/utils/idl.json.hbs @@ -0,0 +1 @@ +{{{debug_idl this}}} \ No newline at end of file diff --git a/templates/seahorse/files/client/src/.gitignore.hbs b/templates/seahorse/files/client/src/.gitignore.hbs new file mode 100644 index 0000000..9b76e35 --- /dev/null +++ b/templates/seahorse/files/client/src/.gitignore.hbs @@ -0,0 +1,2 @@ +.next/ +node_modules/ \ No newline at end of file diff --git a/templates/seahorse/files/client/src/contexts/ClientWalletProvider.tsx.hbs b/templates/seahorse/files/client/src/contexts/ClientWalletProvider.tsx.hbs new file mode 100644 index 0000000..e7b3f92 --- /dev/null +++ b/templates/seahorse/files/client/src/contexts/ClientWalletProvider.tsx.hbs @@ -0,0 +1,33 @@ +import type { WalletProviderProps } from "@solana/wallet-adapter-react"; +import { WalletProvider } from "@solana/wallet-adapter-react"; + +import { + getPhantomWallet, + getSolflareWallet, + getSolletWallet, +} from '@solana/wallet-adapter-wallets' +import { useMemo } from "react"; +import { WalletModalProvider } from "@solana/wallet-adapter-react-ui"; + +import('@solana/wallet-adapter-react-ui/styles.css' as any) ; + +export function ClientWalletProvider( + props: Omit +): JSX.Element { + const wallets = useMemo( + () => [ + getPhantomWallet(), + getSolflareWallet(), + getSolletWallet(), + ], + [] + ); + + return ( + + + + ); +} + +export default ClientWalletProvider; diff --git a/templates/seahorse/files/client/src/manifest.json.hbs b/templates/seahorse/files/client/src/manifest.json.hbs new file mode 100644 index 0000000..f3eaa1e --- /dev/null +++ b/templates/seahorse/files/client/src/manifest.json.hbs @@ -0,0 +1,22 @@ +{ + "name": "{{name}}", + "short_name": "{{name}}", + "display": "standalone", + "start_url": "./", + "theme_color": "#000000", + "background_color": "#ffffff", + "icons": [ + { + "src": "icons/icon-192x192.png", + "sizes": "192x192" + }, + { + "src": "icons/icon-128x128.png", + "sizes": "128x128" + }, + { + "src": "icons/icon-512x512.png", + "sizes": "512x512" + } + ] +} diff --git a/templates/seahorse/files/client/src/next-env.d.ts.hbs b/templates/seahorse/files/client/src/next-env.d.ts.hbs new file mode 100644 index 0000000..4f11a03 --- /dev/null +++ b/templates/seahorse/files/client/src/next-env.d.ts.hbs @@ -0,0 +1,5 @@ +/// +/// + +// NOTE: This file should not be edited +// see https://nextjs.org/docs/basic-features/typescript for more information. diff --git a/templates/seahorse/files/client/src/next.config.js.hbs b/templates/seahorse/files/client/src/next.config.js.hbs new file mode 100644 index 0000000..25ccec3 --- /dev/null +++ b/templates/seahorse/files/client/src/next.config.js.hbs @@ -0,0 +1,33 @@ +/** @type {import('next').NextConfig} */ +const withPlugins = require("next-compose-plugins"); + +/** eslint-disable @typescript-eslint/no-var-requires */ +const withTM = require("next-transpile-modules")([ + "@solana/wallet-adapter-base", + "@solana/wallet-adapter-phantom", + "@solana/wallet-adapter-react", + "@solana/wallet-adapter-solflare", + "@solana/wallet-adapter-wallets", +]); + +const plugins = [ + [ + withTM, + { + webpack5: true, + reactStrictMode: true, + }, + ], +]; + +const nextConfig = { + swcMinify: true, + webpack: (config, { isServer }) => { + if (!isServer) { + config.resolve.fallback.fs = false; + } + return config; + }, +}; + +module.exports = withPlugins(plugins, nextConfig); diff --git a/templates/seahorse/files/client/src/package.json.hbs b/templates/seahorse/files/client/src/package.json.hbs new file mode 100644 index 0000000..ecb561d --- /dev/null +++ b/templates/seahorse/files/client/src/package.json.hbs @@ -0,0 +1,35 @@ +{ + "name": "{{name}}", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start", + "lint": "next lint --fix" + }, + "dependencies": { + "@project-serum/anchor": "^0.25.0", + "@solana/wallet-adapter-base": "^0.7.0", + "@solana/wallet-adapter-phantom": "^0.7.0", + "@solana/wallet-adapter-react": "^0.13.1", + "@solana/wallet-adapter-react-ui": "^0.6.0", + "@solana/wallet-adapter-solflare": "^0.4.0", + "@solana/wallet-adapter-sollet": "^0.8.0", + "@solana/wallet-adapter-wallets": "^0.11.3", + "next": "12.1.0", + "next-compose-plugins": "^2.2.1", + "next-transpile-modules": "^9.0.0", + "react": "17.0.2", + "react-dom": "17.0.2" + }, + "devDependencies": { + "@types/react": "17.0.34", + "autoprefixer": "^10.4.5", + "eslint": "7", + "eslint-config-next": "12.0.3", + "postcss": "^8.4.12", + "tailwindcss": "^3.0.24", + "typescript": "4.4.4" + } +} diff --git a/templates/seahorse/files/client/src/pages/_app.tsx.hbs b/templates/seahorse/files/client/src/pages/_app.tsx.hbs new file mode 100644 index 0000000..2789813 --- /dev/null +++ b/templates/seahorse/files/client/src/pages/_app.tsx.hbs @@ -0,0 +1,32 @@ +import React from "react"; +import type { AppProps } from "next/app"; +import dynamic from "next/dynamic"; +import { ConnectionProvider } from "@solana/wallet-adapter-react"; +import { WalletMultiButton } from "@solana/wallet-adapter-react-ui"; + +import "../styles/globals.css"; + +//const endpoint = 'http://localhost:8899' +const endpoint = 'https://api.devnet.solana.com' + +const WalletProvider = dynamic( + () => import("../contexts/ClientWalletProvider"), + { + ssr: false, + } +); + +function MyApp({ Component, pageProps }: AppProps) { + return ( + + + + + + + ); +} + +export default MyApp; diff --git a/templates/seahorse/files/client/src/pages/_document.js.hbs b/templates/seahorse/files/client/src/pages/_document.js.hbs new file mode 100644 index 0000000..106a123 --- /dev/null +++ b/templates/seahorse/files/client/src/pages/_document.js.hbs @@ -0,0 +1,42 @@ +import Document, { Html, Head, Main, NextScript } from "next/document"; + +class MyDocument extends Document { + render() { + return ( + + + + + + + + + + + +
    + + + + ); + } +} + +export default MyDocument; diff --git a/templates/seahorse/files/client/src/pages/index.ts.hbs b/templates/seahorse/files/client/src/pages/index.ts.hbs new file mode 100644 index 0000000..bc97518 --- /dev/null +++ b/templates/seahorse/files/client/src/pages/index.ts.hbs @@ -0,0 +1,39 @@ +import { FC, useEffect, useState } from "react"; +import { useAnchorWallet, useConnection } from "@solana/wallet-adapter-react"; +import type { NextPage } from "next"; +import Head from "next/head"; +import { useProgram } from "../utils/useProgram"; +import { useRouter } from "next/router" + +const Home: NextPage = (props) => { + const wallet = useAnchorWallet(); + const { connection } = useConnection(); + const { program } = useProgram({ connection, wallet }); + +{{#each events}} + useEffect(() => { + if (!program) return; + const listener = program.addEventListener( + "{{name}}", + async (event, _slot, _sig) => { + console.log(event); + } + ); + + return () => { + program.removeEventListener(listener); + }; + }, [program]); + +{{/each}} + return ( + <> + + {{name}} + + + + ); +}; + +export default Home; diff --git a/templates/seahorse/files/client/src/postcss.config.js.hbs b/templates/seahorse/files/client/src/postcss.config.js.hbs new file mode 100644 index 0000000..3687d28 --- /dev/null +++ b/templates/seahorse/files/client/src/postcss.config.js.hbs @@ -0,0 +1,8 @@ +// If you want to use other PostCSS plugins, see the following: +// https://tailwindcss.com/docs/using-with-preprocessors +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +}; diff --git a/templates/seahorse/files/client/src/styles/global.css.hbs b/templates/seahorse/files/client/src/styles/global.css.hbs new file mode 100644 index 0000000..b5c61c9 --- /dev/null +++ b/templates/seahorse/files/client/src/styles/global.css.hbs @@ -0,0 +1,3 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; diff --git a/templates/seahorse/files/client/src/tailwind.config.js.hbs b/templates/seahorse/files/client/src/tailwind.config.js.hbs new file mode 100644 index 0000000..0f4adc7 --- /dev/null +++ b/templates/seahorse/files/client/src/tailwind.config.js.hbs @@ -0,0 +1,13 @@ +module.exports = { + purge: ["./src/**/*.{js,jsx,ts,tsx}"], + darkMode: false, // or 'media' or 'class' + theme: { + fontFamily: { + sans: ["EB+Garamond", "sans-serif"], + }, + }, + variants: { + extend: {}, + }, + plugins: [], +}; \ No newline at end of file diff --git a/templates/seahorse/files/client/src/tsconfig.json.hbs b/templates/seahorse/files/client/src/tsconfig.json.hbs new file mode 100644 index 0000000..6db37c0 --- /dev/null +++ b/templates/seahorse/files/client/src/tsconfig.json.hbs @@ -0,0 +1,30 @@ +{ + "compilerOptions": { + "target": "es5", + "lib": [ + "dom", + "dom.iterable", + "esnext" + ], + "allowJs": true, + "skipLibCheck": true, + "strict": false, + "forceConsistentCasingInFileNames": true, + "noEmit": true, + "incremental": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve" + }, + "include": [ + "next-env.d.ts", + "**/*.ts", + "**/*.tsx" + ], + "exclude": [ + "node_modules" + ] +} diff --git a/templates/seahorse/files/client/src/utils/callInstructions.ts.hbs b/templates/seahorse/files/client/src/utils/callInstructions.ts.hbs new file mode 100644 index 0000000..1cbef69 --- /dev/null +++ b/templates/seahorse/files/client/src/utils/callInstructions.ts.hbs @@ -0,0 +1,21 @@ +import { web3 } from "@project-serum/anchor"; + +{{#each instructions}} +export const {{name}} = (program,{{#each args}} {{name}},{{/each}}{{#each accounts}} {{name}},{{/each}}) => { + if (program) { + (async () => { + try { + const tx = await program.methods + .{{name}}({{#each args}} {{name}},{{/each}}) + .accounts({ + {{#each accounts}} + {{name}}, + {{/each}} + }) + .rpc(); + } catch (error) { console.log(error) } + })(); + } +}; + +{{/each}} \ No newline at end of file diff --git a/templates/seahorse/files/client/src/utils/idl.json.hbs b/templates/seahorse/files/client/src/utils/idl.json.hbs new file mode 100644 index 0000000..6c66046 --- /dev/null +++ b/templates/seahorse/files/client/src/utils/idl.json.hbs @@ -0,0 +1 @@ +{{{debug_idl this}}} \ No newline at end of file diff --git a/templates/seahorse/files/client/src/utils/manifest.json.hbs b/templates/seahorse/files/client/src/utils/manifest.json.hbs new file mode 100644 index 0000000..f3eaa1e --- /dev/null +++ b/templates/seahorse/files/client/src/utils/manifest.json.hbs @@ -0,0 +1,22 @@ +{ + "name": "{{name}}", + "short_name": "{{name}}", + "display": "standalone", + "start_url": "./", + "theme_color": "#000000", + "background_color": "#ffffff", + "icons": [ + { + "src": "icons/icon-192x192.png", + "sizes": "192x192" + }, + { + "src": "icons/icon-128x128.png", + "sizes": "128x128" + }, + { + "src": "icons/icon-512x512.png", + "sizes": "512x512" + } + ] +} diff --git a/templates/seahorse/files/client/src/utils/react-app-env.d.ts.hbs b/templates/seahorse/files/client/src/utils/react-app-env.d.ts.hbs new file mode 100644 index 0000000..6431bc5 --- /dev/null +++ b/templates/seahorse/files/client/src/utils/react-app-env.d.ts.hbs @@ -0,0 +1 @@ +/// diff --git a/templates/seahorse/files/client/src/utils/useProgram.ts.hbs b/templates/seahorse/files/client/src/utils/useProgram.ts.hbs new file mode 100644 index 0000000..f3518f3 --- /dev/null +++ b/templates/seahorse/files/client/src/utils/useProgram.ts.hbs @@ -0,0 +1,50 @@ +import { useEffect, useState } from "react"; +import { Connection, PublicKey } from "@solana/web3.js"; +import * as anchor from "@project-serum/anchor"; + +import idl from "./idl.json" + +const PROGRAM = idl.metadata.address; +const programID = new PublicKey(PROGRAM); + +export interface Wallet { + signTransaction( + tx: anchor.web3.Transaction + ): Promise; + signAllTransactions( + txs: anchor.web3.Transaction[] + ): Promise; + publicKey: anchor.web3.PublicKey; +} + +type ProgramProps = { + connection: Connection; + wallet?: Wallet; +}; + +export const useProgram = ({ connection, wallet }: ProgramProps) => { + const [program, setProgram] = useState>(); + + useEffect(() => { + updateProgram(); + }, [connection, wallet]); + + const updateProgram = () => { + if (!wallet) return + const provider = new anchor.AnchorProvider(connection, wallet, { + preflightCommitment: "recent", + commitment: "processed", + }); + const program = new anchor.Program(idl as any, programID, provider); + setProgram(program); + }; + + return { + program, + }; +}; + + + + + diff --git a/templates/seahorse/files/client/src/utils/{{#each instruction}}{{name}}{{#each}}.ts.hbs b/templates/seahorse/files/client/src/utils/{{#each instruction}}{{name}}{{#each}}.ts.hbs new file mode 100644 index 0000000..e7d9417 --- /dev/null +++ b/templates/seahorse/files/client/src/utils/{{#each instruction}}{{name}}{{#each}}.ts.hbs @@ -0,0 +1,22 @@ +import { web3 } from "@project-serum/anchor"; + +{{#each instructions}} +{{#if (eq name ../path_replacements.0)}} +export const {{name}} = (program,{{#each args}} {{name}},{{/each}}{{#each accounts}} {{name}},{{/each}}) => { + if (program) { + (async () => { + try { + const tx = await program.methods + .{{name}}({{#each args}} {{name}},{{/each}}) + .accounts({ + {{#each accounts}} + {{name}}, + {{/each}} + }) + .rpc(); + } catch (error) { console.log(error) } + })(); + } +}; +{{/if}} +{{/each}} \ No newline at end of file diff --git a/templates/seahorse/files/client/src/yarn.lock.hbs b/templates/seahorse/files/client/src/yarn.lock.hbs new file mode 100644 index 0000000..f6f3d48 --- /dev/null +++ b/templates/seahorse/files/client/src/yarn.lock.hbs @@ -0,0 +1,3424 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/code-frame@7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" + integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== + dependencies: + "@babel/highlight" "^7.10.4" + +"@babel/helper-validator-identifier@^7.18.6": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" + integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== + +"@babel/highlight@^7.10.4": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" + integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== + dependencies: + "@babel/helper-validator-identifier" "^7.18.6" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/runtime@^7.12.5", "@babel/runtime@^7.17.2", "@babel/runtime@^7.20.7": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.21.0.tgz#5b55c9d394e5fcf304909a8b00c07dc217b56673" + integrity sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw== + dependencies: + regenerator-runtime "^0.13.11" + +"@blocto/sdk@^0.2.16": + version "0.2.22" + resolved "https://registry.yarnpkg.com/@blocto/sdk/-/sdk-0.2.22.tgz#c7fe62809de0640a0a3f7a043c5bbceb8be17e38" + integrity sha512-Ro1AiISSlOiri/It932NEFxnDuF83Ide+z0p3KHs5+CdYYLYgCMmyroQnfRtoh3mbXdrTvI+EAuSkr+meWNqrg== + dependencies: + bs58 "^4.0.1" + buffer "^6.0.3" + eip1193-provider "^1.0.1" + js-sha3 "^0.8.0" + +"@eslint/eslintrc@^0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" + integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== + dependencies: + ajv "^6.12.4" + debug "^4.1.1" + espree "^7.3.0" + globals "^13.9.0" + ignore "^4.0.6" + import-fresh "^3.2.1" + js-yaml "^3.13.1" + minimatch "^3.0.4" + strip-json-comments "^3.1.1" + +"@humanwhocodes/config-array@^0.5.0": + version "0.5.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" + integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== + dependencies: + "@humanwhocodes/object-schema" "^1.2.0" + debug "^4.1.1" + minimatch "^3.0.4" + +"@humanwhocodes/object-schema@^1.2.0": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== + +"@json-rpc-tools/provider@^1.5.5": + version "1.7.6" + resolved "https://registry.yarnpkg.com/@json-rpc-tools/provider/-/provider-1.7.6.tgz#8a17c34c493fa892632e278fd9331104e8491ec6" + integrity sha512-z7D3xvJ33UfCGv77n40lbzOYjZKVM3k2+5cV7xS8G6SCvKTzMkhkUYuD/qzQUNT4cG/lv0e9mRToweEEVLVVmA== + dependencies: + "@json-rpc-tools/utils" "^1.7.6" + axios "^0.21.0" + safe-json-utils "^1.1.1" + ws "^7.4.0" + +"@json-rpc-tools/types@^1.7.6": + version "1.7.6" + resolved "https://registry.yarnpkg.com/@json-rpc-tools/types/-/types-1.7.6.tgz#5abd5fde01364a130c46093b501715bcce5bdc0e" + integrity sha512-nDSqmyRNEqEK9TZHtM15uNnDljczhCUdBmRhpNZ95bIPKEDQ+nTDmGMFd2lLin3upc5h2VVVd9tkTDdbXUhDIQ== + dependencies: + keyvaluestorage-interface "^1.0.0" + +"@json-rpc-tools/utils@^1.7.6": + version "1.7.6" + resolved "https://registry.yarnpkg.com/@json-rpc-tools/utils/-/utils-1.7.6.tgz#67f04987dbaa2e7adb6adff1575367b75a9a9ba1" + integrity sha512-HjA8x/U/Q78HRRe19yh8HVKoZ+Iaoo3YZjakJYxR+rw52NHo6jM+VE9b8+7ygkCFXl/EHID5wh/MkXaE/jGyYw== + dependencies: + "@json-rpc-tools/types" "^1.7.6" + "@pedrouid/environment" "^1.0.1" + +"@ledgerhq/devices@^8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@ledgerhq/devices/-/devices-8.0.0.tgz#8fe9f9e442e28b7a20bcdf4c2eed06ce7b8f76ae" + integrity sha512-gSnRT0KPca+LIpaC6D/WZQjOAlSI5uCvK1dmxXtKhODLAj735rX5Z3SnGnLUavRCHNbUi44FzgvloF5BKTkh7A== + dependencies: + "@ledgerhq/errors" "^6.12.3" + "@ledgerhq/logs" "^6.10.1" + rxjs "6" + semver "^7.3.5" + +"@ledgerhq/errors@^6.12.3": + version "6.12.3" + resolved "https://registry.yarnpkg.com/@ledgerhq/errors/-/errors-6.12.3.tgz#a610caae1eeeb7cb038525e5212fe03217dda683" + integrity sha512-djiMSgB/7hnK3aLR/c5ZMMivxjcI7o2+y3VKcsZZpydPoVf9+FXqeJPRfOwmJ0JxbQ//LinUfWpIfHew8LkaVw== + +"@ledgerhq/hw-transport-webhid@^6.7.0": + version "6.27.12" + resolved "https://registry.yarnpkg.com/@ledgerhq/hw-transport-webhid/-/hw-transport-webhid-6.27.12.tgz#dd5073c5da05c6c3234a76a6e44ed576fe198757" + integrity sha512-Yhy5dOKeJIU24Dh9xQjrStc++NviPjRSGHsbc1PeyEjgPEGc8q8wtvm7WFBDzmymBwMhIA5eoNj3fGLk/voXQQ== + dependencies: + "@ledgerhq/devices" "^8.0.0" + "@ledgerhq/errors" "^6.12.3" + "@ledgerhq/hw-transport" "^6.28.1" + "@ledgerhq/logs" "^6.10.1" + +"@ledgerhq/hw-transport@^6.28.1", "@ledgerhq/hw-transport@^6.7.0": + version "6.28.1" + resolved "https://registry.yarnpkg.com/@ledgerhq/hw-transport/-/hw-transport-6.28.1.tgz#cb22fe9bc23af4682c30f2aac7fe6f7ab13ed65a" + integrity sha512-RaZe+abn0zBIz82cE9tp7Y7aZkHWWbEaE2yJpfxT8AhFz3fx+BU0kLYzuRN9fmA7vKueNJ1MTVUCY+Ex9/CHSQ== + dependencies: + "@ledgerhq/devices" "^8.0.0" + "@ledgerhq/errors" "^6.12.3" + events "^3.3.0" + +"@ledgerhq/logs@^6.10.1": + version "6.10.1" + resolved "https://registry.yarnpkg.com/@ledgerhq/logs/-/logs-6.10.1.tgz#5bd16082261d7364eabb511c788f00937dac588d" + integrity sha512-z+ILK8Q3y+nfUl43ctCPuR4Y2bIxk/ooCQFwZxhtci1EhAtMDzMAx2W25qx8G1PPL9UUOdnUax19+F0OjXoj4w== + +"@next/env@12.1.0": + version "12.1.0" + resolved "https://registry.yarnpkg.com/@next/env/-/env-12.1.0.tgz#73713399399b34aa5a01771fb73272b55b22c314" + integrity sha512-nrIgY6t17FQ9xxwH3jj0a6EOiQ/WDHUos35Hghtr+SWN/ntHIQ7UpuvSi0vaLzZVHQWaDupKI+liO5vANcDeTQ== + +"@next/eslint-plugin-next@12.0.3": + version "12.0.3" + resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-12.0.3.tgz#3945c251d551bacc3712d4a18d6ca56d2938f175" + integrity sha512-P7i+bMypneQcoRN+CX79xssvvIJCaw7Fndzbe7/lB0+LyRbVvGVyMUsFmLLbSxtZq4hvFMJ1p8wML/gsulMZWQ== + dependencies: + glob "7.1.7" + +"@next/swc-android-arm64@12.1.0": + version "12.1.0" + resolved "https://registry.yarnpkg.com/@next/swc-android-arm64/-/swc-android-arm64-12.1.0.tgz#865ba3a9afc204ff2bdeea49dd64d58705007a39" + integrity sha512-/280MLdZe0W03stA69iL+v6I+J1ascrQ6FrXBlXGCsGzrfMaGr7fskMa0T5AhQIVQD4nA/46QQWxG//DYuFBcA== + +"@next/swc-darwin-arm64@12.1.0": + version "12.1.0" + resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.1.0.tgz#08e8b411b8accd095009ed12efbc2f1d4d547135" + integrity sha512-R8vcXE2/iONJ1Unf5Ptqjk6LRW3bggH+8drNkkzH4FLEQkHtELhvcmJwkXcuipyQCsIakldAXhRbZmm3YN1vXg== + +"@next/swc-darwin-x64@12.1.0": + version "12.1.0" + resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-12.1.0.tgz#fcd684497a76e8feaca88db3c394480ff0b007cd" + integrity sha512-ieAz0/J0PhmbZBB8+EA/JGdhRHBogF8BWaeqR7hwveb6SYEIJaDNQy0I+ZN8gF8hLj63bEDxJAs/cEhdnTq+ug== + +"@next/swc-linux-arm-gnueabihf@12.1.0": + version "12.1.0" + resolved "https://registry.yarnpkg.com/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.1.0.tgz#9ec6380a27938a5799aaa6035c205b3c478468a7" + integrity sha512-njUd9hpl6o6A5d08dC0cKAgXKCzm5fFtgGe6i0eko8IAdtAPbtHxtpre3VeSxdZvuGFh+hb0REySQP9T1ttkog== + +"@next/swc-linux-arm64-gnu@12.1.0": + version "12.1.0" + resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.1.0.tgz#7f4196dff1049cea479607c75b81033ae2dbd093" + integrity sha512-OqangJLkRxVxMhDtcb7Qn1xjzFA3s50EIxY7mljbSCLybU+sByPaWAHY4px97ieOlr2y4S0xdPKkQ3BCAwyo6Q== + +"@next/swc-linux-arm64-musl@12.1.0": + version "12.1.0" + resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.1.0.tgz#b445f767569cdc2dddee785ca495e1a88c025566" + integrity sha512-hB8cLSt4GdmOpcwRe2UzI5UWn6HHO/vLkr5OTuNvCJ5xGDwpPXelVkYW/0+C3g5axbDW2Tym4S+MQCkkH9QfWA== + +"@next/swc-linux-x64-gnu@12.1.0": + version "12.1.0" + resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.1.0.tgz#67610e9be4fbc987de7535f1bcb17e45fe12f90e" + integrity sha512-OKO4R/digvrVuweSw/uBM4nSdyzsBV5EwkUeeG4KVpkIZEe64ZwRpnFB65bC6hGwxIBnTv5NMSnJ+0K/WmG78A== + +"@next/swc-linux-x64-musl@12.1.0": + version "12.1.0" + resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.1.0.tgz#ea19a23db08a9f2e34ac30401f774cf7d1669d31" + integrity sha512-JohhgAHZvOD3rQY7tlp7NlmvtvYHBYgY0x5ZCecUT6eCCcl9lv6iV3nfu82ErkxNk1H893fqH0FUpznZ/H3pSw== + +"@next/swc-win32-arm64-msvc@12.1.0": + version "12.1.0" + resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.1.0.tgz#eadf054fc412085659b98e145435bbba200b5283" + integrity sha512-T/3gIE6QEfKIJ4dmJk75v9hhNiYZhQYAoYm4iVo1TgcsuaKLFa+zMPh4056AHiG6n9tn2UQ1CFE8EoybEsqsSw== + +"@next/swc-win32-ia32-msvc@12.1.0": + version "12.1.0" + resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.1.0.tgz#68faeae10c89f698bf9d28759172b74c9c21bda1" + integrity sha512-iwnKgHJdqhIW19H9PRPM9j55V6RdcOo6rX+5imx832BCWzkDbyomWnlzBfr6ByUYfhohb8QuH4hSGEikpPqI0Q== + +"@next/swc-win32-x64-msvc@12.1.0": + version "12.1.0" + resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.1.0.tgz#d27e7e76c87a460a4da99c5bfdb1618dcd6cd064" + integrity sha512-aBvcbMwuanDH4EMrL2TthNJy+4nP59Bimn8egqv6GHMVj0a44cU6Au4PjOhLNqEh9l+IpRGBqMTzec94UdC5xg== + +"@noble/ed25519@^1.7.0": + version "1.7.3" + resolved "https://registry.yarnpkg.com/@noble/ed25519/-/ed25519-1.7.3.tgz#57e1677bf6885354b466c38e2b620c62f45a7123" + integrity sha512-iR8GBkDt0Q3GyaVcIu7mSsVIqnFbkbRzGLWlvhwunacoLwt4J3swfKhfaM6rN6WY+TBGoYT1GtT1mIh2/jGbRQ== + +"@noble/hashes@^1.1.2": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.2.0.tgz#a3150eeb09cc7ab207ebf6d7b9ad311a9bdbed12" + integrity sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ== + +"@noble/secp256k1@^1.6.3": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.7.1.tgz#b251c70f824ce3ca7f8dc3df08d58f005cc0507c" + integrity sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw== + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@pedrouid/environment@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@pedrouid/environment/-/environment-1.0.1.tgz#858f0f8a057340e0b250398b75ead77d6f4342ec" + integrity sha512-HaW78NszGzRZd9SeoI3JD11JqY+lubnaOx7Pewj5pfjqWXOEATpeKIFb9Z4t2WBUK2iryiXX3lzWwmYWgUL0Ug== + +"@project-serum/anchor@^0.25.0": + version "0.25.0" + resolved "https://registry.yarnpkg.com/@project-serum/anchor/-/anchor-0.25.0.tgz#88ee4843336005cf5a64c80636ce626f0996f503" + integrity sha512-E6A5Y/ijqpfMJ5psJvbw0kVTzLZFUcOFgs6eSM2M2iWE1lVRF18T6hWZVNl6zqZsoz98jgnNHtVGJMs+ds9A7A== + dependencies: + "@project-serum/borsh" "^0.2.5" + "@solana/web3.js" "^1.36.0" + base64-js "^1.5.1" + bn.js "^5.1.2" + bs58 "^4.0.1" + buffer-layout "^1.2.2" + camelcase "^5.3.1" + cross-fetch "^3.1.5" + crypto-hash "^1.3.0" + eventemitter3 "^4.0.7" + js-sha256 "^0.9.0" + pako "^2.0.3" + snake-case "^3.0.4" + superstruct "^0.15.4" + toml "^3.0.0" + +"@project-serum/borsh@^0.2.5": + version "0.2.5" + resolved "https://registry.yarnpkg.com/@project-serum/borsh/-/borsh-0.2.5.tgz#6059287aa624ecebbfc0edd35e4c28ff987d8663" + integrity sha512-UmeUkUoKdQ7rhx6Leve1SssMR/Ghv8qrEiyywyxSWg7ooV7StdpPBhciiy5eB3T0qU1BXvdRNC8TdrkxK7WC5Q== + dependencies: + bn.js "^5.1.2" + buffer-layout "^1.2.0" + +"@project-serum/sol-wallet-adapter@^0.2.5": + version "0.2.6" + resolved "https://registry.yarnpkg.com/@project-serum/sol-wallet-adapter/-/sol-wallet-adapter-0.2.6.tgz#b4cd25a566294354427c97c26d716112b91a0107" + integrity sha512-cpIb13aWPW8y4KzkZAPDgw+Kb+DXjCC6rZoH74MGm3I/6e/zKyGnfAuW5olb2zxonFqsYgnv7ev8MQnvSgJ3/g== + dependencies: + bs58 "^4.0.1" + eventemitter3 "^4.0.7" + +"@rushstack/eslint-patch@^1.0.6": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz#8be36a1f66f3265389e90b5f9c9962146758f728" + integrity sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg== + +"@solana/buffer-layout@^4.0.0": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@solana/buffer-layout/-/buffer-layout-4.0.1.tgz#b996235eaec15b1e0b5092a8ed6028df77fa6c15" + integrity sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA== + dependencies: + buffer "~6.0.3" + +"@solana/wallet-adapter-base@^0.7.0": + version "0.7.1" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-base/-/wallet-adapter-base-0.7.1.tgz#9d352e946f406b5d5342515f2e14c82f11425c1c" + integrity sha512-NgdLrsOouBP6Cr563PjxW+4viBo1yx6q2N86LJQzwlrk8Aug48p0AgBPX+F1t9WyulDwRWVTPEALBhmggMpZIg== + dependencies: + eventemitter3 "^4.0.7" + +"@solana/wallet-adapter-bitkeep@^0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-bitkeep/-/wallet-adapter-bitkeep-0.1.0.tgz#affe28d957c5aed722a749843b04e11458171633" + integrity sha512-SocG9vvTf3hc3JsYbpn1xroW8yNWRoC7b7OVXHMWWeavdAA7zE3/DiP1Ir2WcOmD5LuFcfma6tgyyvU8tLGP8Q== + +"@solana/wallet-adapter-bitpie@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-bitpie/-/wallet-adapter-bitpie-0.3.0.tgz#dc99186d342b34471eb710afa63767a47bb433fa" + integrity sha512-WV6lbeWKHHQaZCOdKiM5YTc5Az6N8iBdK/AyKJ2/d862WkpG9Ig0O3by9v0FyW91Ns0rEsXhU0oGLl2MahO76w== + +"@solana/wallet-adapter-blocto@^0.3.0": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-blocto/-/wallet-adapter-blocto-0.3.1.tgz#62991e13fac290c13cf88d69234e9590254917ab" + integrity sha512-ajnNUW0lpA26lwhdArf2+5XPQqI70Z2O37kwW+wl8vNrvrpKftpMe07q99GhoYuAsEkI6J/bggzt6nvKvfK0bg== + dependencies: + "@blocto/sdk" "^0.2.16" + +"@solana/wallet-adapter-clover@^0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-clover/-/wallet-adapter-clover-0.2.0.tgz#06c41919572bd9b7fda355f55d981b641abdcdba" + integrity sha512-s5f6m5bb/HEmMZ7bZfl+HUlb0J5qyTPq21GurH0Tt4uXnTl6NfIi67jSch/Q2gfwmCpFsoeZi0uFRpZxXdl22Q== + +"@solana/wallet-adapter-coin98@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-coin98/-/wallet-adapter-coin98-0.3.0.tgz#9ac3ee2f5386649d1ee056425bc77bc7dd00a4ae" + integrity sha512-HyEPGHojW3ueahMDFOu9h1phYAj4U8LIpXunrqUhL5ApjGFKF4ZFQYd/u2U+frFyj49rmPULlcRkLihP3h59Aw== + dependencies: + "@types/bs58" "^4.0.1" + bs58 "^4.0.1" + +"@solana/wallet-adapter-coinhub@^0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-coinhub/-/wallet-adapter-coinhub-0.1.0.tgz#fe546f5b939241a6f08259f64cb686bf2e01499a" + integrity sha512-BWRw9fKWlLPFUeQVCeEvNZo+T+vdkRAih3AZComX7nuKJ9JY1Ekh5WotmvQFr9z+DUyNfsxgXOTJ/c+tFg+M5Q== + +"@solana/wallet-adapter-ledger@^0.7.0": + version "0.7.0" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-ledger/-/wallet-adapter-ledger-0.7.0.tgz#8e99f8b9320c74924bc83055131e652acdee8105" + integrity sha512-az4Z6eAFe77AlSqCOl9lHhfIrK/phQruHItLLTtT+8a1Y5QylodBNvc/CiD+I8ULwXDOvonXsFgnJnAVS/xMUg== + dependencies: + "@ledgerhq/hw-transport" "^6.7.0" + "@ledgerhq/hw-transport-webhid" "^6.7.0" + "@types/w3c-web-hid" "^1.0.2" + +"@solana/wallet-adapter-mathwallet@^0.7.0": + version "0.7.0" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-mathwallet/-/wallet-adapter-mathwallet-0.7.0.tgz#4e0af44da30c1c42b556b0b431aab1a9de7336d4" + integrity sha512-RqQkqHHyYzg0czopiNWkzID8RF7K6s76QBzVlD1XRJI4lLJKzODu30v+5H+15JWBBtgFuys1pLHZ7p3y3Z6dvg== + +"@solana/wallet-adapter-phantom@^0.7.0": + version "0.7.0" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-phantom/-/wallet-adapter-phantom-0.7.0.tgz#fc71557a3d61b20c45e53c99e24f0f03f3a5a199" + integrity sha512-u2SkJ6LO+A2MKTgN9bsG5Ro0Vn9KL7NKsGPT0JrYI2rvXm3yZnhlAE0i0oq+/nFAjkL/+Onm9boOaYF0/Z7vBQ== + +"@solana/wallet-adapter-react-ui@^0.6.0": + version "0.6.1" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-react-ui/-/wallet-adapter-react-ui-0.6.1.tgz#aae74cb0c973d6179297f4f35168f780b23c607f" + integrity sha512-S2aZcHR+BBFMIjYoTWvs5vfEyckLzPOAbUY2CGEoOOR75q235WjBtO6I9ooh/bKFRD0OaGOwzgya4UtrkR5A6A== + +"@solana/wallet-adapter-react@^0.13.1": + version "0.13.1" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-react/-/wallet-adapter-react-0.13.1.tgz#7014f85b4d60a1c2b0e8c72c12baa0b1b5172854" + integrity sha512-Sk45AuOF8EgmR28zcib5NquvOwTpBlyDA8Iku1MVdXUQ9giA/tBwfJw21HIf1r+TVepg+V0xAP5FhP+MX0p6QQ== + +"@solana/wallet-adapter-safepal@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-safepal/-/wallet-adapter-safepal-0.3.0.tgz#b1368fd0c5c8864c402cc0f0924f27ee70639e82" + integrity sha512-G/pCMxAeTWZlvJAKEyHRvLDZIyPkg4Zw/xfGQrTM9AG70cf3RFaiTK+8kqO1JL/xKGUsVfnJRFfPImR+hut6kw== + +"@solana/wallet-adapter-slope@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-slope/-/wallet-adapter-slope-0.3.0.tgz#b15328cf2801811db5769bc81ab2e2d0962016d2" + integrity sha512-2ghqUcL8qmCMMtQ2X5xQSZzEpreRW0dfR/o7zHcp3uU4XW5OXFJ2a0YnGUiLVAAEesUG2gmplKSerp72BnPZjA== + dependencies: + "@types/bs58" "^4.0.1" + bs58 "^4.0.1" + +"@solana/wallet-adapter-solflare@^0.4.0": + version "0.4.1" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-solflare/-/wallet-adapter-solflare-0.4.1.tgz#d1fd6f3c72c15c6281f94e5537822115ccc0bc5b" + integrity sha512-ZydQgOuaBac0+a/Z4ROO54NObFiF/S9MOwiOfICXagk4PrWEJNbG1RwkwZzjtxAeYHEbGCb52XN2Buzm5EanJw== + +"@solana/wallet-adapter-sollet@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-sollet/-/wallet-adapter-sollet-0.8.0.tgz#d2e24a6b1430c40b974b239b8b7442886d57f5fe" + integrity sha512-9Bxj2IFT9XPh7Nl9IQaTyNwS3uoowQahqE43Ei2DbFJCrlN8qC6wSnJwHGAUPMKnL85Gg0IEZmtZfmuVmyTGQg== + dependencies: + "@project-serum/sol-wallet-adapter" "^0.2.5" + +"@solana/wallet-adapter-solong@^0.7.0": + version "0.7.0" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-solong/-/wallet-adapter-solong-0.7.0.tgz#48cc9a6f2dab48dc2d9e5815f17c741192152138" + integrity sha512-y7pal0G/91Oxaco/AVnu9aDFgiaabaFchS1Z62WJzC89Srm7gecclckd4MrQ/TE1TaZQi+8dUWWFGHJxU1zVKg== + +"@solana/wallet-adapter-tokenpocket@^0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-tokenpocket/-/wallet-adapter-tokenpocket-0.2.0.tgz#b405fb07cee374ddb6a14f140439c68bb88a94b4" + integrity sha512-NmqWnq8N5+fIsP5xjQbZIPqTf+jy5VVJ4eMdXHtGVrOZUTeQPD1fnBzKhWp212nJ0ObjN+1ylSKw7XTSS3cPWA== + +"@solana/wallet-adapter-torus@^0.8.0": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-torus/-/wallet-adapter-torus-0.8.1.tgz#498e574ab6d328141cccd79711ca33db9e7447e1" + integrity sha512-C6iD0dcr56C3oNukjZEJgLiCNwbgmV4dx08oLmGC8dJnDBwS1A0DNpjbJ3V7k4Ywi2OgsFRInpsQqBBU8+7SOg== + dependencies: + "@toruslabs/openlogin" "^1.0.0" + "@toruslabs/openlogin-ed25519" "^1.0.0" + "@types/keccak" "^3.0.1" + "@types/readable-stream" "^2.3.11" + +"@solana/wallet-adapter-wallets@^0.11.3": + version "0.11.3" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-wallets/-/wallet-adapter-wallets-0.11.3.tgz#66d16ca75d375db32fcb748d08155a2ee9ac697a" + integrity sha512-SiPampUuHYlN9QJfeScH8wZSuCk7GrwuYpb1kzi0N7oqtRf/baxXmZDQFKgWIP/L49FqCEtFmCaAkck0vi8bFA== + dependencies: + "@solana/wallet-adapter-bitkeep" "^0.1.0" + "@solana/wallet-adapter-bitpie" "^0.3.0" + "@solana/wallet-adapter-blocto" "^0.3.0" + "@solana/wallet-adapter-clover" "^0.2.0" + "@solana/wallet-adapter-coin98" "^0.3.0" + "@solana/wallet-adapter-coinhub" "^0.1.0" + "@solana/wallet-adapter-ledger" "^0.7.0" + "@solana/wallet-adapter-mathwallet" "^0.7.0" + "@solana/wallet-adapter-phantom" "^0.7.0" + "@solana/wallet-adapter-safepal" "^0.3.0" + "@solana/wallet-adapter-slope" "^0.3.0" + "@solana/wallet-adapter-solflare" "^0.4.0" + "@solana/wallet-adapter-sollet" "^0.8.0" + "@solana/wallet-adapter-solong" "^0.7.0" + "@solana/wallet-adapter-tokenpocket" "^0.2.0" + "@solana/wallet-adapter-torus" "^0.8.0" + +"@solana/web3.js@^1.36.0": + version "1.73.2" + resolved "https://registry.yarnpkg.com/@solana/web3.js/-/web3.js-1.73.2.tgz#4b30cd402b35733dae3a7d0b638be26a7742b395" + integrity sha512-9WACF8W4Nstj7xiDw3Oom22QmrhBh0VyZyZ7JvvG3gOxLWLlX3hvm5nPVJOGcCE/9fFavBbCUb5A6CIuvMGdoA== + dependencies: + "@babel/runtime" "^7.12.5" + "@noble/ed25519" "^1.7.0" + "@noble/hashes" "^1.1.2" + "@noble/secp256k1" "^1.6.3" + "@solana/buffer-layout" "^4.0.0" + agentkeepalive "^4.2.1" + bigint-buffer "^1.1.5" + bn.js "^5.0.0" + borsh "^0.7.0" + bs58 "^4.0.1" + buffer "6.0.1" + fast-stable-stringify "^1.0.0" + jayson "^3.4.4" + node-fetch "2" + rpc-websockets "^7.5.0" + superstruct "^0.14.2" + +"@toruslabs/eccrypto@^1.1.8": + version "1.1.8" + resolved "https://registry.yarnpkg.com/@toruslabs/eccrypto/-/eccrypto-1.1.8.tgz#ce1eac9c3964a091cdc74956a62036b5719a41eb" + integrity sha512-5dIrO2KVqvnAPOPfJ2m6bnjp9vav9GIcCZXiXRW/bJuIDRLVxJhVvRlleF4oaEZPq5yX5piHq5jVHagNNS0jOQ== + dependencies: + acorn "^8.4.1" + elliptic "^6.5.4" + es6-promise "^4.2.8" + nan "^2.14.2" + optionalDependencies: + secp256k1 "^3.8.0" + +"@toruslabs/http-helpers@^2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@toruslabs/http-helpers/-/http-helpers-2.2.0.tgz#c494984701ff60eb93c0eaef279daa93b5bcea81" + integrity sha512-xkzZZuE+DmWmJBTYneCrMJY24izNQCOdoJMpsXKQx20Va/rTQvNPbdkpx9LBf/pisk8jOwETNAfFQ8YTBc/bZw== + dependencies: + lodash.merge "^4.6.2" + loglevel "^1.8.0" + +"@toruslabs/openlogin-ed25519@^1.0.0": + version "1.7.0" + resolved "https://registry.yarnpkg.com/@toruslabs/openlogin-ed25519/-/openlogin-ed25519-1.7.0.tgz#82055e2e53e72ad4b96f06f38a1b0432f8e8ce36" + integrity sha512-pFDnNxdkIkiGfyv037C4MqRV9gdGv08f3A5rRGoFI3BQynMdtQAozCyX3Q8MF5EgKO7foPJPQPxnjKhohtVrTQ== + dependencies: + "@toruslabs/tweetnacl-js" "^1.0.3" + +"@toruslabs/openlogin-jrpc@^1.7.3": + version "1.7.3" + resolved "https://registry.yarnpkg.com/@toruslabs/openlogin-jrpc/-/openlogin-jrpc-1.7.3.tgz#0bbdc2f7989b4a1f19b8a54d3e66721d424d185f" + integrity sha512-xjixDKPLZN7T5hCjwmGTU58NttdZiHn3YlK6II2z4v8IifPUwoquYP08XfaE79ksxamgDYkGERf7bQGkV5Wf5w== + dependencies: + "@toruslabs/openlogin-utils" "^1.7.0" + end-of-stream "^1.4.4" + eth-rpc-errors "^4.0.3" + events "^3.3.0" + fast-safe-stringify "^2.1.1" + once "^1.4.0" + pump "^3.0.0" + readable-stream "^3.6.0" + +"@toruslabs/openlogin-utils@^1.7.0": + version "1.7.0" + resolved "https://registry.yarnpkg.com/@toruslabs/openlogin-utils/-/openlogin-utils-1.7.0.tgz#1762e2f1f67590d0c6cb8e4c4ade82d59ba13a18" + integrity sha512-y+j22v+h6EfzN4sfFnmtmMrcxEdkScdJOAgbtvX42BpUYOuFa1Tv0SZjdtsGGDE4g5szmL3rb9NGMHdBF1rZtg== + dependencies: + base64url "^3.0.1" + keccak "^3.0.2" + randombytes "^2.1.0" + +"@toruslabs/openlogin@^1.0.0": + version "1.7.5" + resolved "https://registry.yarnpkg.com/@toruslabs/openlogin/-/openlogin-1.7.5.tgz#59e05c8e0bf7bfbab7c459d7fd4a28ba36f84c5d" + integrity sha512-QKAf829LSjKiAUfuqQALY+SCP8oPlKsGiNwO9wj1lJHeLQLfPnXh2wtfjBwMS2WSo7G+ZPpe2dU59B9LGiylmQ== + dependencies: + "@toruslabs/eccrypto" "^1.1.8" + "@toruslabs/http-helpers" "^2.2.0" + "@toruslabs/openlogin-jrpc" "^1.7.3" + "@toruslabs/openlogin-utils" "^1.7.0" + lodash.merge "^4.6.2" + loglevel "^1.8.0" + pump "^3.0.0" + +"@toruslabs/tweetnacl-js@^1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@toruslabs/tweetnacl-js/-/tweetnacl-js-1.0.3.tgz#52abbcd2a6b77959ef6a98afedce77764d87226d" + integrity sha512-WQJYMTR/bkqvpk3DWOqRt5e24RhwJp9PXUoSj4zSthd3+fDhKYCI56YVMPNDKah1fCffOe9F3m8iZ5SgDZ+Csw== + +"@types/bs58@^4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@types/bs58/-/bs58-4.0.1.tgz#3d51222aab067786d3bc3740a84a7f5a0effaa37" + integrity sha512-yfAgiWgVLjFCmRv8zAcOIHywYATEwiTVccTLnRp6UxTNavT55M9d/uhK3T03St/+8/z/wW+CRjGKUNmEqoHHCA== + dependencies: + base-x "^3.0.6" + +"@types/connect@^3.4.33": + version "3.4.35" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1" + integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== + dependencies: + "@types/node" "*" + +"@types/json5@^0.0.29": + version "0.0.29" + resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== + +"@types/keccak@^3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@types/keccak/-/keccak-3.0.1.tgz#1dfad12395f32927cf409707534dd796d57aa84c" + integrity sha512-/MxAVmtyyeOvZ6dGf3ciLwFRuV5M8DRIyYNFGHYI6UyBW4/XqyO0LZw+JFMvaeY3cHItQAkELclBU1x5ank6mg== + dependencies: + "@types/node" "*" + +"@types/node@*": + version "18.14.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.14.0.tgz#94c47b9217bbac49d4a67a967fdcdeed89ebb7d0" + integrity sha512-5EWrvLmglK+imbCJY0+INViFWUHg1AHel1sq4ZVSfdcNqGy9Edv3UB9IIzzg+xPaUcAgZYcfVs2fBcwDeZzU0A== + +"@types/node@^12.12.54": + version "12.20.55" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240" + integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== + +"@types/prop-types@*": + version "15.7.5" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf" + integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== + +"@types/react@17.0.34": + version "17.0.34" + resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.34.tgz#797b66d359b692e3f19991b6b07e4b0c706c0102" + integrity sha512-46FEGrMjc2+8XhHXILr+3+/sTe3OfzSPU9YGKILLrUYbQ1CLQC9Daqo1KzENGXAWwrFwiY0l4ZbF20gRvgpWTg== + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" + +"@types/readable-stream@^2.3.11": + version "2.3.15" + resolved "https://registry.yarnpkg.com/@types/readable-stream/-/readable-stream-2.3.15.tgz#3d79c9ceb1b6a57d5f6e6976f489b9b5384321ae" + integrity sha512-oM5JSKQCcICF1wvGgmecmHldZ48OZamtMxcGGVICOJA8o8cahXC1zEVAif8iwoc5j8etxFaRFnf095+CDsuoFQ== + dependencies: + "@types/node" "*" + safe-buffer "~5.1.1" + +"@types/scheduler@*": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" + integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== + +"@types/w3c-web-hid@^1.0.2": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@types/w3c-web-hid/-/w3c-web-hid-1.0.3.tgz#e08587a7d737f8654ea6bc0a88689ce5d3ce2d19" + integrity sha512-eTQRkPd2JukZfS9+kRtrBAaTCCb6waGh5X8BJHmH1MiVQPLMYwm4+EvhwFfOo9SDna15o9dFAwmWwN6r/YM53A== + +"@types/ws@^7.4.4": + version "7.4.7" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-7.4.7.tgz#f7c390a36f7a0679aa69de2d501319f4f8d9b702" + integrity sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww== + dependencies: + "@types/node" "*" + +"@typescript-eslint/parser@^4.20.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.33.0.tgz#dfe797570d9694e560528d18eecad86c8c744899" + integrity sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA== + dependencies: + "@typescript-eslint/scope-manager" "4.33.0" + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/typescript-estree" "4.33.0" + debug "^4.3.1" + +"@typescript-eslint/scope-manager@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz#d38e49280d983e8772e29121cf8c6e9221f280a3" + integrity sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ== + dependencies: + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/visitor-keys" "4.33.0" + +"@typescript-eslint/types@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.33.0.tgz#a1e59036a3b53ae8430ceebf2a919dc7f9af6d72" + integrity sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ== + +"@typescript-eslint/typescript-estree@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz#0dfb51c2908f68c5c08d82aefeaf166a17c24609" + integrity sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA== + dependencies: + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/visitor-keys" "4.33.0" + debug "^4.3.1" + globby "^11.0.3" + is-glob "^4.0.1" + semver "^7.3.5" + tsutils "^3.21.0" + +"@typescript-eslint/visitor-keys@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz#2a22f77a41604289b7a186586e9ec48ca92ef1dd" + integrity sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg== + dependencies: + "@typescript-eslint/types" "4.33.0" + eslint-visitor-keys "^2.0.0" + +JSONStream@^1.3.5: + version "1.3.5" + resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" + integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== + dependencies: + jsonparse "^1.2.0" + through ">=2.2.7 <3" + +acorn-jsx@^5.3.1: + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn-node@^1.8.2: + version "1.8.2" + resolved "https://registry.yarnpkg.com/acorn-node/-/acorn-node-1.8.2.tgz#114c95d64539e53dede23de8b9d96df7c7ae2af8" + integrity sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A== + dependencies: + acorn "^7.0.0" + acorn-walk "^7.0.0" + xtend "^4.0.2" + +acorn-walk@^7.0.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" + integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== + +acorn@^7.0.0, acorn@^7.4.0: + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + +acorn@^8.4.1: + version "8.8.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" + integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== + +agentkeepalive@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.2.1.tgz#a7975cbb9f83b367f06c90cc51ff28fe7d499717" + integrity sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA== + dependencies: + debug "^4.1.0" + depd "^1.1.2" + humanize-ms "^1.2.1" + +ajv@^6.10.0, ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + 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" + +ajv@^8.0.1: + version "8.12.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" + 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" + +ansi-colors@^4.1.1: + version "4.1.3" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" + integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +arg@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" + integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +aria-query@^5.1.3: + version "5.1.3" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.1.3.tgz#19db27cd101152773631396f7a95a3b58c22c35e" + integrity sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ== + dependencies: + deep-equal "^2.0.5" + +array-includes@^3.1.5, array-includes@^3.1.6: + version "3.1.6" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.6.tgz#9e9e720e194f198266ba9e18c29e6a9b0e4b225f" + 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" + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +array.prototype.flat@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz#ffc6576a7ca3efc2f46a143b9d1dda9b4b3cf5e2" + 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" + +array.prototype.flatmap@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz#1aae7903c2100433cb8261cd4ed310aab5c4a183" + 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" + +array.prototype.tosorted@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz#ccf44738aa2b5ac56578ffda97c03fd3e23dd532" + 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" + +ast-types-flow@^0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" + integrity sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag== + +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== + +autoprefixer@^10.4.5: + version "10.4.13" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.13.tgz#b5136b59930209a321e9fa3dca2e7c4d223e83a8" + integrity sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg== + 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" + +available-typed-arrays@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" + integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== + +axe-core@^4.6.2: + version "4.6.3" + resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.6.3.tgz#fc0db6fdb65cc7a80ccf85286d91d64ababa3ece" + integrity sha512-/BQzOX780JhsxDnPpH4ZiyrJAzcd8AfzFPkv+89veFSr1rcMjuq2JDCwypKaPeB6ljHp9KjXhPpjgCvQlWYuqg== + +axios@^0.21.0: + version "0.21.4" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575" + integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== + dependencies: + follow-redirects "^1.14.0" + +axobject-query@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-3.1.1.tgz#3b6e5c6d4e43ca7ba51c5babf99d22a9c68485e1" + integrity sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg== + dependencies: + deep-equal "^2.0.5" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base-x@^3.0.2, base-x@^3.0.6: + version "3.0.9" + resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.9.tgz#6349aaabb58526332de9f60995e548a53fe21320" + integrity sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ== + dependencies: + safe-buffer "^5.0.1" + +base64-js@^1.3.1, base64-js@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +base64url@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/base64url/-/base64url-3.0.1.tgz#6399d572e2bc3f90a9a8b22d5dbb0a32d33f788d" + integrity sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A== + +bigint-buffer@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/bigint-buffer/-/bigint-buffer-1.1.5.tgz#d038f31c8e4534c1f8d0015209bf34b4fa6dd442" + integrity sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA== + dependencies: + bindings "^1.3.0" + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +bindings@^1.3.0, bindings@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" + integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== + dependencies: + file-uri-to-path "1.0.0" + +bip66@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/bip66/-/bip66-1.1.5.tgz#01fa8748785ca70955d5011217d1b3139969ca22" + integrity sha512-nemMHz95EmS38a26XbbdxIYj5csHd3RMP3H5bwQknX0WYHF01qhpufP42mLOwVICuH2JmhIhXiWs89MfUGL7Xw== + dependencies: + safe-buffer "^5.0.1" + +bn.js@^4.11.8, bn.js@^4.11.9: + version "4.12.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== + +bn.js@^5.0.0, bn.js@^5.1.2, bn.js@^5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" + integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== + +borsh@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/borsh/-/borsh-0.7.0.tgz#6e9560d719d86d90dc589bca60ffc8a6c51fec2a" + integrity sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA== + dependencies: + bn.js "^5.2.0" + bs58 "^4.0.0" + text-encoding-utf-8 "^1.0.2" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^3.0.2, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +brorand@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== + +browserify-aes@^1.0.6: + version "1.2.0" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.0.1" + +browserslist@^4.21.4: + version "4.21.5" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.5.tgz#75c5dae60063ee641f977e00edd3cfb2fb7af6a7" + integrity sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w== + dependencies: + caniuse-lite "^1.0.30001449" + electron-to-chromium "^1.4.284" + node-releases "^2.0.8" + update-browserslist-db "^1.0.10" + +bs58@^4.0.0, bs58@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" + integrity sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw== + dependencies: + base-x "^3.0.2" + +buffer-layout@^1.2.0, buffer-layout@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/buffer-layout/-/buffer-layout-1.2.2.tgz#b9814e7c7235783085f9ca4966a0cfff112259d5" + integrity sha512-kWSuLN694+KTk8SrYvCqwP2WcgQjoRCiF5b4QDvkkz8EmgD+aWAIceGFKMIAdmF/pH+vpgNV3d3kAKorcdAmWA== + +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== + +buffer@6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.1.tgz#3cbea8c1463e5a0779e30b66d4c88c6ffa182ac2" + integrity sha512-rVAXBwEcEoYtxnHSO5iWyhzV/O1WMtkUYWlfdLS7FjU4PnSJJHEfHXi/uHPI5EwltmOA794gN3bm3/pzuctWjQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.2.1" + +buffer@^6.0.3, buffer@~6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" + integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.2.1" + +bufferutil@^4.0.1: + version "4.0.7" + resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.7.tgz#60c0d19ba2c992dd8273d3f73772ffc894c153ad" + integrity sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw== + dependencies: + node-gyp-build "^4.3.0" + +call-bind@^1.0.0, call-bind@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase-css@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" + integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== + +camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +caniuse-lite@^1.0.30001283, caniuse-lite@^1.0.30001426, caniuse-lite@^1.0.30001449: + version "1.0.30001457" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001457.tgz#6af34bb5d720074e2099432aa522c21555a18301" + integrity sha512-SDIV6bgE1aVbK6XyxdURbUE89zY7+k1BBBaOwYwkNCglXlel/E7mELiHC64HQ+W0xSKlqWhV9Wh7iHxUjMs4fA== + +chalk@^2.0.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + 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" + +chalk@^4.0.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chokidar@^3.5.3: + version "3.5.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + 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" + optionalDependencies: + fsevents "~2.3.2" + +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +color-name@^1.1.4, color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +commander@^2.20.3: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + md5.js "^1.3.4" + ripemd160 "^2.0.1" + sha.js "^2.4.0" + +create-hmac@^1.1.4: + version "1.1.7" + resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== + dependencies: + cipher-base "^1.0.3" + create-hash "^1.1.0" + inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +cross-fetch@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f" + integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== + dependencies: + node-fetch "2.6.7" + +cross-spawn@^7.0.2: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +crypto-hash@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/crypto-hash/-/crypto-hash-1.3.0.tgz#b402cb08f4529e9f4f09346c3e275942f845e247" + integrity sha512-lyAZ0EMyjDkVvz8WOeVnuCPvKVBXcMv1l5SVqO1yC7PzTwrD/pPje/BIRbWhMoPe436U+Y2nD7f5bFx0kt+Sbg== + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +csstype@^3.0.2: + version "3.1.1" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.1.tgz#841b532c45c758ee546a11d5bd7b7b473c8c30b9" + integrity sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw== + +damerau-levenshtein@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" + integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== + +debug@^3.2.7: + version "3.2.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.4: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +deep-equal@^2.0.5: + version "2.2.0" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.2.0.tgz#5caeace9c781028b9ff459f33b779346637c43e6" + 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" + +deep-is@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +define-properties@^1.1.3, define-properties@^1.1.4: + version "1.2.0" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.0.tgz#52988570670c9eacedd8064f4a990f2405849bd5" + integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA== + dependencies: + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +defined@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.1.tgz#c0b9db27bfaffd95d6f61399419b893df0f91ebf" + integrity sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q== + +delay@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/delay/-/delay-5.0.0.tgz#137045ef1b96e5071060dd5be60bf9334436bd1d" + integrity sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw== + +depd@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== + +detective@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/detective/-/detective-5.2.1.tgz#6af01eeda11015acb0e73f933242b70f24f91034" + integrity sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw== + dependencies: + acorn-node "^1.8.2" + defined "^1.0.0" + minimist "^1.2.6" + +didyoumean@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037" + integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +dlv@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" + integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== + +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== + dependencies: + esutils "^2.0.2" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +dot-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" + integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + +drbg.js@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/drbg.js/-/drbg.js-1.0.1.tgz#3e36b6c42b37043823cdbc332d58f31e2445480b" + integrity sha512-F4wZ06PvqxYLFEZKkFxTDcns9oFNk34hvmJSEwdzsxVQ8YI5YaxtACgQatkYgv2VI2CFkUd2Y+xosPQnHv809g== + dependencies: + browserify-aes "^1.0.6" + create-hash "^1.1.2" + create-hmac "^1.1.4" + +eip1193-provider@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/eip1193-provider/-/eip1193-provider-1.0.1.tgz#420d29cf4f6c443e3f32e718fb16fafb250637c3" + integrity sha512-kSuqwQ26d7CzuS/t3yRXo2Su2cVH0QfvyKbr2H7Be7O5YDyIq4hQGCNTo5wRdP07bt+E2R/8nPCzey4ojBHf7g== + dependencies: + "@json-rpc-tools/provider" "^1.5.5" + +electron-to-chromium@^1.4.284: + version "1.4.302" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.302.tgz#5770646ffe7051677b489226144aad9386d420f2" + integrity sha512-Uk7C+7aPBryUR1Fwvk9VmipBcN9fVsqBO57jV2ZjTm+IZ6BMNqu7EDVEg2HxCNufk6QcWlFsBkhQyQroB2VWKw== + +elliptic@^6.5.2, elliptic@^6.5.4: + version "6.5.4" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" + integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + +end-of-stream@^1.1.0, end-of-stream@^1.4.4: + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +enhanced-resolve@^5.10.0: + version "5.12.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz#300e1c90228f5b570c4d35babf263f6da7155634" + integrity sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" + +enquirer@^2.3.5: + version "2.3.6" + resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" + integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== + dependencies: + ansi-colors "^4.1.1" + +es-abstract@^1.19.0, es-abstract@^1.20.4: + version "1.21.1" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.21.1.tgz#e6105a099967c08377830a0c9cb589d570dd86c6" + 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" + +es-get-iterator@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.3.tgz#3ef87523c5d464d41084b2c3c9c214f1199763d6" + 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" + +es-set-tostringtag@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8" + integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== + dependencies: + get-intrinsic "^1.1.3" + has "^1.0.3" + has-tostringtag "^1.0.0" + +es-shim-unscopables@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" + integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== + dependencies: + has "^1.0.3" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +es6-promise@^4.0.3, es6-promise@^4.2.8: + version "4.2.8" + resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" + integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== + +es6-promisify@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" + integrity sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ== + dependencies: + es6-promise "^4.0.3" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +eslint-config-next@12.0.3: + version "12.0.3" + resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-12.0.3.tgz#a85ad423997f098b41b61c279472e0642e200a9e" + integrity sha512-q+mX6jhk3HrCo39G18MLhiC6f8zJnTA00f30RSuVUWsv45SQUm6r62oXVqrbAgMEybe0yx/GDRvfA6LvSolw6Q== + dependencies: + "@next/eslint-plugin-next" "12.0.3" + "@rushstack/eslint-patch" "^1.0.6" + "@typescript-eslint/parser" "^4.20.0" + eslint-import-resolver-node "^0.3.4" + eslint-import-resolver-typescript "^2.4.0" + eslint-plugin-import "^2.22.1" + eslint-plugin-jsx-a11y "^6.4.1" + eslint-plugin-react "^7.23.1" + eslint-plugin-react-hooks "^4.2.0" + +eslint-import-resolver-node@^0.3.4, eslint-import-resolver-node@^0.3.7: + version "0.3.7" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz#83b375187d412324a1963d84fa664377a23eb4d7" + integrity sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA== + dependencies: + debug "^3.2.7" + is-core-module "^2.11.0" + resolve "^1.22.1" + +eslint-import-resolver-typescript@^2.4.0: + version "2.7.1" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.7.1.tgz#a90a4a1c80da8d632df25994c4c5fdcdd02b8751" + integrity sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ== + dependencies: + debug "^4.3.4" + glob "^7.2.0" + is-glob "^4.0.3" + resolve "^1.22.0" + tsconfig-paths "^3.14.1" + +eslint-module-utils@^2.7.4: + version "2.7.4" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz#4f3e41116aaf13a20792261e61d3a2e7e0583974" + integrity sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA== + dependencies: + debug "^3.2.7" + +eslint-plugin-import@^2.22.1: + version "2.27.5" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz#876a6d03f52608a3e5bb439c2550588e51dd6c65" + integrity sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow== + dependencies: + array-includes "^3.1.6" + array.prototype.flat "^1.3.1" + array.prototype.flatmap "^1.3.1" + 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" + +eslint-plugin-jsx-a11y@^6.4.1: + version "6.7.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz#fca5e02d115f48c9a597a6894d5bcec2f7a76976" + 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" + +eslint-plugin-react-hooks@^4.2.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3" + integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== + +eslint-plugin-react@^7.23.1: + version "7.32.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz#e71f21c7c265ebce01bcbc9d0955170c55571f10" + integrity sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg== + 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" + +eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== + +eslint-visitor-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== + +eslint@7: + version "7.32.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" + integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== + dependencies: + "@babel/code-frame" "7.12.11" + "@eslint/eslintrc" "^0.4.3" + "@humanwhocodes/config-array" "^0.5.0" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.0.1" + doctrine "^3.0.0" + enquirer "^2.3.5" + escape-string-regexp "^4.0.0" + eslint-scope "^5.1.1" + eslint-utils "^2.1.0" + eslint-visitor-keys "^2.0.0" + espree "^7.3.1" + esquery "^1.4.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^5.1.2" + globals "^13.6.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.0.4" + natural-compare "^1.4.0" + optionator "^0.9.1" + progress "^2.0.0" + regexpp "^3.1.0" + semver "^7.2.1" + strip-ansi "^6.0.0" + strip-json-comments "^3.1.0" + table "^6.0.9" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +espree@^7.3.0, espree@^7.3.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" + integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== + dependencies: + acorn "^7.4.0" + acorn-jsx "^5.3.1" + eslint-visitor-keys "^1.3.0" + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esquery@^1.4.0: + version "1.4.2" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.2.tgz#c6d3fee05dd665808e2ad870631f221f5617b1d1" + integrity sha512-JVSoLdTlTDkmjFmab7H/9SL9qGSyjElT3myyKp7krqjVFQCDLmj1QFaCLRFBszBKI0XVZaiiXvuPIX3ZwHe1Ng== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +eth-rpc-errors@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/eth-rpc-errors/-/eth-rpc-errors-4.0.3.tgz#6ddb6190a4bf360afda82790bb7d9d5e724f423a" + integrity sha512-Z3ymjopaoft7JDoxZcEb3pwdGh7yiYMhOwm2doUt6ASXlMavpNlK6Cre0+IMl2VSGyEU9rkiperQhp5iRxn5Pg== + dependencies: + fast-safe-stringify "^2.0.6" + +eventemitter3@^4.0.7: + version "4.0.7" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + +events@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + +eyes@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0" + integrity sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ== + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-glob@^3.2.12, fast-glob@^3.2.9: + version "3.2.12" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" + 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" + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +fast-safe-stringify@^2.0.6, fast-safe-stringify@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884" + integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== + +fast-stable-stringify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fast-stable-stringify/-/fast-stable-stringify-1.0.0.tgz#5c5543462b22aeeefd36d05b34e51c78cb86d313" + integrity sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag== + +fastq@^1.6.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" + integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== + dependencies: + reusify "^1.0.4" + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + +file-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +flat-cache@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" + integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + dependencies: + flatted "^3.1.0" + rimraf "^3.0.2" + +flatted@^3.1.0: + version "3.2.7" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" + integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== + +follow-redirects@^1.14.0: + version "1.15.2" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" + integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== + +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" + +fraction.js@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950" + integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA== + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +function.prototype.name@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" + 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" + +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== + +functions-have-names@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + +get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz#7ad1dc0535f3a2904bba075772763e5051f6d05f" + integrity sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.3" + +get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob@7.1.7: + version "7.1.7" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" + 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" + +glob@^7.1.3, glob@^7.2.0: + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + 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" + +globals@^13.6.0, globals@^13.9.0: + version "13.20.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82" + integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ== + dependencies: + type-fest "^0.20.2" + +globalthis@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" + integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== + dependencies: + define-properties "^1.1.3" + +globby@^11.0.3: + version "11.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + 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" + +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + +graceful-fs@^4.2.4: + version "4.2.10" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" + integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== + +has-bigints@^1.0.1, has-bigints@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" + integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-property-descriptors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" + integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== + dependencies: + get-intrinsic "^1.1.1" + +has-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" + integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== + +has-symbols@^1.0.2, has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== + dependencies: + has-symbols "^1.0.2" + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +hash-base@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" + integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== + dependencies: + inherits "^2.0.4" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.7" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +hmac-drbg@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +humanize-ms@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" + integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ== + dependencies: + ms "^2.0.0" + +ieee754@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + +ignore@^5.2.0: + version "5.2.4" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" + integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== + +import-fresh@^3.0.0, import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +internal-slot@^1.0.3, internal-slot@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986" + integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ== + dependencies: + get-intrinsic "^1.2.0" + has "^1.0.3" + side-channel "^1.0.4" + +is-arguments@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" + integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-array-buffer@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.1.tgz#deb1db4fcae48308d54ef2442706c0393997052a" + integrity sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + is-typed-array "^1.1.10" + +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + +is-core-module@^2.11.0, is-core-module@^2.9.0: + version "2.11.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" + integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== + dependencies: + has "^1.0.3" + +is-date-object@^1.0.1, is-date-object@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-map@^2.0.1, is-map@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127" + integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg== + +is-negative-zero@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" + integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== + +is-number-object@^1.0.4: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" + integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== + dependencies: + has-tostringtag "^1.0.0" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-set@^2.0.1, is-set@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.2.tgz#90755fa4c2562dc1c5d4024760d6119b94ca18ec" + integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g== + +is-shared-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" + integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== + dependencies: + call-bind "^1.0.2" + +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + +is-typed-array@^1.1.10, is-typed-array@^1.1.9: + version "1.1.10" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f" + 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" + +is-weakmap@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.1.tgz#5008b59bdc43b698201d18f62b37b2ca243e8cf2" + integrity sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA== + +is-weakref@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" + +is-weakset@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.2.tgz#4569d67a747a1ce5a994dfd4ef6dcea76e7c0a1d" + integrity sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +isomorphic-ws@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#55fd4cd6c5e6491e76dc125938dd863f5cd4f2dc" + integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w== + +jayson@^3.4.4: + version "3.7.0" + resolved "https://registry.yarnpkg.com/jayson/-/jayson-3.7.0.tgz#b735b12d06d348639ae8230d7a1e2916cb078f25" + integrity sha512-tfy39KJMrrXJ+mFcMpxwBvFDetS8LAID93+rycFglIQM4kl3uNR3W4lBLE/FFhsoUCEox5Dt2adVpDm/XtebbQ== + dependencies: + "@types/connect" "^3.4.33" + "@types/node" "^12.12.54" + "@types/ws" "^7.4.4" + JSONStream "^1.3.5" + commander "^2.20.3" + delay "^5.0.0" + es6-promisify "^5.0.0" + eyes "^0.1.8" + isomorphic-ws "^4.0.1" + json-stringify-safe "^5.0.1" + lodash "^4.17.20" + uuid "^8.3.2" + ws "^7.4.5" + +js-sha256@^0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/js-sha256/-/js-sha256-0.9.0.tgz#0b89ac166583e91ef9123644bd3c5334ce9d0966" + integrity sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA== + +js-sha3@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" + integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== + +json-stringify-safe@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== + +json5@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" + integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== + dependencies: + minimist "^1.2.0" + +jsonparse@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" + integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== + +"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.3: + version "3.3.3" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz#76b3e6e6cece5c69d49a5792c3d01bd1a0cdc7ea" + integrity sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw== + dependencies: + array-includes "^3.1.5" + object.assign "^4.1.3" + +keccak@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.3.tgz#4bc35ad917be1ef54ff246f904c2bbbf9ac61276" + integrity sha512-JZrLIAJWuZxKbCilMpNz5Vj7Vtb4scDG3dMXLOsbzBmQGyjwE61BbW7bJkfKKCShXiQZt3T6sBgALRtmd+nZaQ== + dependencies: + node-addon-api "^2.0.0" + node-gyp-build "^4.2.0" + readable-stream "^3.6.0" + +keyvaluestorage-interface@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/keyvaluestorage-interface/-/keyvaluestorage-interface-1.0.0.tgz#13ebdf71f5284ad54be94bd1ad9ed79adad515ff" + integrity sha512-8t6Q3TclQ4uZynJY9IGr2+SsIGwK9JHcO6ootkHCGA0CrQCRy+VkouYNO2xicET6b9al7QKzpebNow+gkpCL8g== + +language-subtag-registry@~0.3.2: + version "0.3.22" + resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz#2e1500861b2e457eba7e7ae86877cbd08fa1fd1d" + integrity sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w== + +language-tags@=1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.5.tgz#d321dbc4da30ba8bf3024e040fa5c14661f9193a" + integrity sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ== + dependencies: + language-subtag-registry "~0.3.2" + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +lilconfig@^2.0.5, lilconfig@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.6.tgz#32a384558bd58af3d4c6e077dd1ad1d397bc69d4" + integrity sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg== + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash.truncate@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" + integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw== + +lodash@^4.17.20: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +loglevel@^1.8.0: + version "1.8.1" + resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.8.1.tgz#5c621f83d5b48c54ae93b6156353f555963377b4" + integrity sha512-tCRIJM51SHjAayKwC+QAg8hT8vg6z7GSgLJKGvzuPb1Wc+hLzqtuVLxp6/HzSPOozuK+8ErAhy7U/sVzw8Dgfg== + +loose-envify@^1.1.0, loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +lower-case@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" + integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== + dependencies: + tslib "^2.0.3" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micromatch@^4.0.4, micromatch@^4.0.5: + version "4.0.5" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== + +minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.2.0, minimist@^1.2.6: + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@^2.0.0, ms@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +nan@^2.14.0, nan@^2.14.2: + version "2.17.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.17.0.tgz#c0150a2368a182f033e9aa5195ec76ea41a199cb" + integrity sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ== + +nanoid@^3.1.30, nanoid@^3.3.4: + version "3.3.4" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" + integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + +next-compose-plugins@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/next-compose-plugins/-/next-compose-plugins-2.2.1.tgz#020fc53f275a7e719d62521bef4300fbb6fde5ab" + integrity sha512-OjJ+fV15FXO2uQXQagLD4C0abYErBjyjE0I0FHpOEIB8upw0hg1ldFP6cqHTJBH1cZqy96OeR3u1dJ+Ez2D4Bg== + +next-transpile-modules@^9.0.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/next-transpile-modules/-/next-transpile-modules-9.1.0.tgz#dffd2563bf76f8afdb28f0611948f46252ca65ef" + integrity sha512-yzJji65xDqcIqjvx5vPJcs1M+MYQTzLM1pXH/qf8Q88ohx+bwVGDc1AeV+HKr1NwvMCNTpwVPSFI7cA5WdyeWA== + dependencies: + enhanced-resolve "^5.10.0" + escalade "^3.1.1" + +next@12.1.0: + version "12.1.0" + resolved "https://registry.yarnpkg.com/next/-/next-12.1.0.tgz#c33d753b644be92fc58e06e5a214f143da61dd5d" + integrity sha512-s885kWvnIlxsUFHq9UGyIyLiuD0G3BUC/xrH0CEnH5lHEWkwQcHOORgbDF0hbrW9vr/7am4ETfX4A7M6DjrE7Q== + dependencies: + "@next/env" "12.1.0" + caniuse-lite "^1.0.30001283" + postcss "8.4.5" + styled-jsx "5.0.0" + use-subscription "1.5.1" + optionalDependencies: + "@next/swc-android-arm64" "12.1.0" + "@next/swc-darwin-arm64" "12.1.0" + "@next/swc-darwin-x64" "12.1.0" + "@next/swc-linux-arm-gnueabihf" "12.1.0" + "@next/swc-linux-arm64-gnu" "12.1.0" + "@next/swc-linux-arm64-musl" "12.1.0" + "@next/swc-linux-x64-gnu" "12.1.0" + "@next/swc-linux-x64-musl" "12.1.0" + "@next/swc-win32-arm64-msvc" "12.1.0" + "@next/swc-win32-ia32-msvc" "12.1.0" + "@next/swc-win32-x64-msvc" "12.1.0" + +no-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" + integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== + dependencies: + lower-case "^2.0.2" + tslib "^2.0.3" + +node-addon-api@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32" + integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA== + +node-fetch@2: + version "2.6.9" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.9.tgz#7c7f744b5cc6eb5fd404e0c7a9fec630a55657e6" + integrity sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg== + dependencies: + whatwg-url "^5.0.0" + +node-fetch@2.6.7: + version "2.6.7" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" + integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== + dependencies: + whatwg-url "^5.0.0" + +node-gyp-build@^4.2.0, node-gyp-build@^4.3.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.6.0.tgz#0c52e4cbf54bbd28b709820ef7b6a3c2d6209055" + integrity sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ== + +node-releases@^2.0.8: + version "2.0.10" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.10.tgz#c311ebae3b6a148c89b1813fd7c4d3c024ef537f" + integrity sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w== + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== + +object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-hash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" + integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== + +object-inspect@^1.12.2, object-inspect@^1.9.0: + version "1.12.3" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" + integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== + +object-is@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" + integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@^4.1.3, object.assign@^4.1.4: + version "4.1.4" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" + 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" + +object.entries@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.6.tgz#9737d0e5b8291edd340a3e3264bb8a3b00d5fa23" + integrity sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +object.fromentries@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.6.tgz#cdb04da08c539cffa912dcd368b886e0904bfa73" + integrity sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +object.hasown@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.2.tgz#f919e21fad4eb38a57bc6345b3afd496515c3f92" + integrity sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw== + dependencies: + define-properties "^1.1.4" + es-abstract "^1.20.4" + +object.values@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.6.tgz#4abbaa71eba47d63589d402856f908243eea9b1d" + integrity sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +optionator@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + 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" + +pako@^2.0.3: + version "2.1.0" + resolved "https://registry.yarnpkg.com/pako/-/pako-2.1.0.tgz#266cc37f98c7d883545d11335c00fbd4062c9a86" + integrity sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug== + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pify@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== + +postcss-import@^14.1.0: + version "14.1.0" + resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-14.1.0.tgz#a7333ffe32f0b8795303ee9e40215dac922781f0" + integrity sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw== + dependencies: + postcss-value-parser "^4.0.0" + read-cache "^1.0.0" + resolve "^1.1.7" + +postcss-js@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.1.tgz#61598186f3703bab052f1c4f7d805f3991bee9d2" + integrity sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw== + dependencies: + camelcase-css "^2.0.1" + +postcss-load-config@^3.1.4: + version "3.1.4" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-3.1.4.tgz#1ab2571faf84bb078877e1d07905eabe9ebda855" + integrity sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg== + dependencies: + lilconfig "^2.0.5" + yaml "^1.10.2" + +postcss-nested@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-6.0.0.tgz#1572f1984736578f360cffc7eb7dca69e30d1735" + integrity sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w== + dependencies: + postcss-selector-parser "^6.0.10" + +postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.11: + version "6.0.11" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz#2e41dc39b7ad74046e1615185185cd0b17d0c8dc" + integrity sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== + +postcss@8.4.5: + version "8.4.5" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.5.tgz#bae665764dfd4c6fcc24dc0fdf7e7aa00cc77f95" + integrity sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg== + dependencies: + nanoid "^3.1.30" + picocolors "^1.0.0" + source-map-js "^1.0.1" + +postcss@^8.0.9, postcss@^8.4.12: + version "8.4.21" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.21.tgz#c639b719a57efc3187b13a1d765675485f4134f4" + integrity sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg== + dependencies: + nanoid "^3.3.4" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +progress@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + +prop-types@^15.8.1: + version "15.8.1" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +punycode@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" + integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +quick-lru@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" + integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== + +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +react-dom@17.0.2: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23" + integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + scheduler "^0.20.2" + +react-is@^16.13.1: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + +react@17.0.2: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" + integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + +read-cache@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" + integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== + dependencies: + pify "^2.3.0" + +readable-stream@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +regenerator-runtime@^0.13.11: + version "0.13.11" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" + integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== + +regexp.prototype.flags@^1.4.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" + integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + functions-have-names "^1.2.2" + +regexpp@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" + integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve@^1.1.7, resolve@^1.22.0, resolve@^1.22.1: + version "1.22.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" + 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" + +resolve@^2.0.0-next.4: + version "2.0.0-next.4" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.4.tgz#3d37a113d6429f496ec4752d2a2e58efb1fd4660" + 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" + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +rpc-websockets@^7.5.0: + version "7.5.0" + resolved "https://registry.yarnpkg.com/rpc-websockets/-/rpc-websockets-7.5.0.tgz#bbeb87572e66703ff151e50af1658f98098e2748" + integrity sha512-9tIRi1uZGy7YmDjErf1Ax3wtqdSSLIlnmL5OtOzgd5eqPKbsPpwDP5whUDO2LQay3Xp0CcHlcNSGzacNRluBaQ== + dependencies: + "@babel/runtime" "^7.17.2" + eventemitter3 "^4.0.7" + uuid "^8.3.2" + ws "^8.5.0" + optionalDependencies: + bufferutil "^4.0.1" + utf-8-validate "^5.0.2" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +rxjs@6: + version "6.6.7" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" + integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== + dependencies: + tslib "^1.9.0" + +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-json-utils@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/safe-json-utils/-/safe-json-utils-1.1.1.tgz#0e883874467d95ab914c3f511096b89bfb3e63b1" + integrity sha512-SAJWGKDs50tAbiDXLf89PDwt9XYkWyANFWVzn4dTXl5QyI8t2o/bW5/OJl3lvc2WVU4MEpTo9Yz5NVFNsp+OJQ== + +safe-regex-test@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" + integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + is-regex "^1.1.4" + +scheduler@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91" + integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + +secp256k1@^3.8.0: + version "3.8.0" + resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-3.8.0.tgz#28f59f4b01dbee9575f56a47034b7d2e3b3b352d" + integrity sha512-k5ke5avRZbtl9Tqx/SA7CbY3NF6Ro+Sj9cZxezFzuBlLDmyqPiL8hJJ+EmzD8Ig4LUDByHJ3/iPOVoRixs/hmw== + dependencies: + bindings "^1.5.0" + bip66 "^1.1.5" + bn.js "^4.11.8" + create-hash "^1.2.0" + drbg.js "^1.0.1" + elliptic "^6.5.2" + nan "^2.14.0" + safe-buffer "^5.1.2" + +semver@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +semver@^7.2.1, semver@^7.3.5: + version "7.3.8" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" + integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== + dependencies: + lru-cache "^6.0.0" + +sha.js@^2.4.0, sha.js@^2.4.8: + version "2.4.11" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +slice-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" + integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +snake-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-3.0.4.tgz#4f2bbd568e9935abdfd593f34c691dadb49c452c" + integrity sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg== + dependencies: + dot-case "^3.0.4" + tslib "^2.0.3" + +source-map-js@^1.0.1, source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + +stop-iteration-iterator@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz#6a60be0b4ee757d1ed5254858ec66b10c49285e4" + integrity sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ== + dependencies: + internal-slot "^1.0.4" + +string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + 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" + +string.prototype.matchall@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz#3bf85722021816dcd1bf38bb714915887ca79fd3" + 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" + +string.prototype.trimend@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz#c4a27fa026d979d79c04f17397f250a462944533" + integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +string.prototype.trimstart@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz#e90ab66aa8e4007d92ef591bbf3cd422c56bdcf4" + integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== + +strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +styled-jsx@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.0.0.tgz#816b4b92e07b1786c6b7111821750e0ba4d26e77" + integrity sha512-qUqsWoBquEdERe10EW8vLp3jT25s/ssG1/qX5gZ4wu15OZpmSMFI2v+fWlRhLfykA5rFtlJ1ME8A8pm/peV4WA== + +superstruct@^0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-0.14.2.tgz#0dbcdf3d83676588828f1cf5ed35cda02f59025b" + integrity sha512-nPewA6m9mR3d6k7WkZ8N8zpTWfenFH3q9pA2PkuiZxINr9DKB2+40wEQf0ixn8VaGuJ78AB6iWOtStI+/4FKZQ== + +superstruct@^0.15.4: + version "0.15.5" + resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-0.15.5.tgz#0f0a8d3ce31313f0d84c6096cd4fa1bfdedc9dab" + integrity sha512-4AOeU+P5UuE/4nOUkmcQdW5y7i9ndt1cQd/3iUe+LTz3RxESf/W/5lg4B74HbDMMv8PHnPnGCQFH45kBcrQYoQ== + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +table@^6.0.9: + version "6.8.1" + resolved "https://registry.yarnpkg.com/table/-/table-6.8.1.tgz#ea2b71359fe03b017a5fbc296204471158080bdf" + integrity sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA== + dependencies: + ajv "^8.0.1" + lodash.truncate "^4.4.2" + slice-ansi "^4.0.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" + +tailwindcss@^3.0.24: + version "3.2.7" + resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.2.7.tgz#5936dd08c250b05180f0944500c01dce19188c07" + integrity sha512-B6DLqJzc21x7wntlH/GsZwEXTBttVSl1FtCzC8WP4oBc/NKef7kaax5jeihkkCEWc831/5NDJ9gRNDK6NEioQQ== + 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.0.9" + 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.11" + postcss-value-parser "^4.2.0" + quick-lru "^5.1.1" + resolve "^1.22.1" + +tapable@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" + integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== + +text-encoding-utf-8@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/text-encoding-utf-8/-/text-encoding-utf-8-1.0.2.tgz#585b62197b0ae437e3c7b5d0af27ac1021e10d13" + integrity sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg== + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== + +"through@>=2.2.7 <3": + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +toml@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/toml/-/toml-3.0.0.tgz#342160f1af1904ec9d204d03a5d61222d762c5ee" + integrity sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w== + +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== + +tsconfig-paths@^3.14.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz#ba0734599e8ea36c862798e920bcf163277b137a" + integrity sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ== + dependencies: + "@types/json5" "^0.0.29" + json5 "^1.0.1" + minimist "^1.2.6" + strip-bom "^3.0.0" + +tslib@^1.8.1, tslib@^1.9.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^2.0.3: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" + integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== + +tsutils@^3.21.0: + version "3.21.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +typed-array-length@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" + integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== + dependencies: + call-bind "^1.0.2" + for-each "^0.3.3" + is-typed-array "^1.1.9" + +typescript@4.4.4: + version "4.4.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.4.4.tgz#2cd01a1a1f160704d3101fd5a58ff0f9fcb8030c" + integrity sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA== + +unbox-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" + 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" + +update-browserslist-db@^1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3" + integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +use-subscription@1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/use-subscription/-/use-subscription-1.5.1.tgz#73501107f02fad84c6dd57965beb0b75c68c42d1" + integrity sha512-Xv2a1P/yReAjAbhylMfFplFKj9GssgTwN7RlcTxBujFQcloStWNDQdc4g4NRWH9xS4i/FDk04vQBptAXoF3VcA== + dependencies: + object-assign "^4.1.1" + +utf-8-validate@^5.0.2: + version "5.0.10" + resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.10.tgz#d7d10ea39318171ca982718b6b96a8d2442571a2" + integrity sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ== + dependencies: + node-gyp-build "^4.3.0" + +util-deprecate@^1.0.1, util-deprecate@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + +v8-compile-cache@^2.0.3: + version "2.3.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" + integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== + +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== + +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + 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" + +which-collection@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.1.tgz#70eab71ebbbd2aefaf32f917082fc62cdcb70906" + 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" + +which-typed-array@^1.1.9: + version "1.1.9" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6" + 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" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +word-wrap@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +ws@^7.4.0, ws@^7.4.5: + version "7.5.9" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" + integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== + +ws@^8.5.0: + version "8.12.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.12.1.tgz#c51e583d79140b5e42e39be48c934131942d4a8f" + integrity sha512-1qo+M9Ba+xNhPB+YTWUlK6M17brTut5EXbcBaMRN5pH5dFrXz7lzz1ChFSUq3bOUl8yEvSenhHmYUNJxFzdJew== + +xtend@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yaml@^1.10.2: + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== From a37c3c8855bd8946565d7f0dbe70945194d1e8e4 Mon Sep 17 00:00:00 2001 From: Marche Date: Thu, 22 Jun 2023 19:05:22 -0300 Subject: [PATCH 13/18] implement default template (#84) --- cli/Cargo.lock | 4 +- cli/Cargo.toml | 2 +- crate/Cargo.lock | 2 +- crate/Cargo.toml | 2 +- crate/src/helpers.rs | 10 +- crate/src/lib.rs | 54 +++--- crate/src/structs.rs | 18 +- ui/helpers/generateProjectFiles.ts | 18 -- ui/helpers/handleTemplateFolder.ts | 7 - ui/helpers/index.ts | 2 - ui/helpers/selectTemplateFolder.ts | 41 ++--- ui/src-tauri/Cargo.lock | 4 +- ui/src-tauri/Cargo.toml | 2 +- ui/src-tauri/src/default_template.rs | 238 +++++++++++++++++++++++++++ ui/src-tauri/src/main.rs | 23 ++- 15 files changed, 329 insertions(+), 98 deletions(-) delete mode 100644 ui/helpers/handleTemplateFolder.ts create mode 100644 ui/src-tauri/src/default_template.rs diff --git a/cli/Cargo.lock b/cli/Cargo.lock index 85c0811..bee33e7 100644 --- a/cli/Cargo.lock +++ b/cli/Cargo.lock @@ -564,9 +564,7 @@ dependencies = [ [[package]] name = "soda_sol" -version = "0.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1646a373eb756dab91c2a499b41495a781846895df6c833aa0c5426fe04c9848" +version = "0.0.3" dependencies = [ "env_logger", "handlebars", diff --git a/cli/Cargo.toml b/cli/Cargo.toml index 47af478..6b7bb99 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -11,4 +11,4 @@ description = "Generates Solana Projects from an IDL" serde_json = "1.0.93" env_logger = "0.10" clap = { version = "4.1.8", features = ["derive"] } -soda_sol = "0.0.2" \ No newline at end of file +soda_sol = { path = "../crate" } \ No newline at end of file diff --git a/crate/Cargo.lock b/crate/Cargo.lock index 70a8ee8..915742c 100644 --- a/crate/Cargo.lock +++ b/crate/Cargo.lock @@ -481,7 +481,7 @@ dependencies = [ [[package]] name = "soda_sol" -version = "0.0.2" +version = "0.0.3" dependencies = [ "env_logger", "handlebars", diff --git a/crate/Cargo.toml b/crate/Cargo.toml index 9ef5de7..7164d02 100644 --- a/crate/Cargo.toml +++ b/crate/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "soda_sol" -version = "0.0.2" +version = "0.0.3" edition = "2021" license = "Apache-2.0" description = "Generates Solana Projects from an IDL" diff --git a/crate/src/helpers.rs b/crate/src/helpers.rs index fff72fc..5d89d01 100644 --- a/crate/src/helpers.rs +++ b/crate/src/helpers.rs @@ -1,6 +1,6 @@ use crate::structs; use handlebars::{handlebars_helper, Handlebars}; -use structs::{InstructionType, InstructionTypeVec, VecEnum, IDL, TemplateHelper}; +use structs::{InstructionType, InstructionTypeVec, TemplateHelper, VecEnum, IDL}; pub(crate) fn create_handlebars_registry() -> Handlebars<'static> { handlebars_helper!(snakecase: |name: String| name.chars().fold( @@ -15,7 +15,7 @@ pub(crate) fn create_handlebars_registry() -> Handlebars<'static> { handlebars_helper!(pascalcase: |name: String|{ let mut passcalcaseChars: Vec = name.chars().collect(); - if passcalcaseChars.len() == 0 { + if passcalcaseChars.is_empty() { "".to_string() } else { let first: Vec = passcalcaseChars[0].to_uppercase().to_string().chars().collect(); @@ -59,7 +59,11 @@ pub(crate) fn create_handlebars_registry() -> Handlebars<'static> { } pub fn apply_user_helpers(helpers: Vec, handlebars: &mut handlebars::Handlebars) { - for TemplateHelper{helper_name, script} in helpers { + for TemplateHelper { + helper_name, + script, + } in helpers + { handlebars .register_script_helper(&helper_name, &script) .unwrap(); diff --git a/crate/src/lib.rs b/crate/src/lib.rs index f04cc1a..9f5157c 100644 --- a/crate/src/lib.rs +++ b/crate/src/lib.rs @@ -9,7 +9,7 @@ use walkdir::WalkDir; mod helpers; pub mod structs; use helpers::{apply_user_helpers, create_handlebars_registry}; -pub use structs::{Content, Data, Template, IDL, TemplateFile, TemplateHelper}; +pub use structs::{Content, Data, Template, TemplateFile, TemplateHelper, IDL}; pub fn generate_from_idl(base_path: &str, idl: IDL, template_path: &str) { let template = get_template_from_fs(template_path); @@ -17,9 +17,14 @@ pub fn generate_from_idl(base_path: &str, idl: IDL, template_path: &str) { write_project_to_fs(dinamyc_files, idl, base_path); } -pub fn write_project_to_fs(dinamyc_files: Vec<(String, bool, Content)>, idl: IDL, base_path: &str) { +pub fn write_project_to_fs(dinamyc_files: Vec, idl: IDL, base_path: &str) { let handlebars = create_handlebars_registry(); - for (path, is_dir, content) in dinamyc_files { + for TemplateFile { + path, + is_dir, + content, + } in dinamyc_files + { if is_dir { let dir_path = handlebars.render_template(&path, &idl).unwrap(); create_dir_all(format!("{}/{}", base_path, dir_path)).unwrap(); @@ -47,12 +52,10 @@ pub fn get_template_from_fs(template_path: &str) -> Template { let is_dir = PathBuf::from(path).is_dir(); let content: Content = if is_dir { structs::Content::String("".to_string()) + } else if PathBuf::from(path).extension().unwrap() == "hbs" { + structs::Content::String(read_to_string(path.clone()).unwrap()) } else { - if PathBuf::from(path).extension().unwrap() == "hbs" { - structs::Content::String(read_to_string(path.clone()).unwrap()) - } else { - structs::Content::Vec(read(path.clone()).unwrap()) - } + structs::Content::Vec(read(path.clone()).unwrap()) }; files.push(TemplateFile { path: path @@ -77,7 +80,10 @@ pub fn get_template_from_fs(template_path: &str) -> Template { .last() .unwrap() .to_string(); - helpers.push(TemplateHelper{helper_name, script}); + helpers.push(TemplateHelper { + helper_name, + script, + }); } } Err(err) => println!("{}", err), @@ -86,16 +92,18 @@ pub fn get_template_from_fs(template_path: &str) -> Template { Template { files, helpers } } -pub fn generate_project( - template: Template, - idl: &IDL, -) -> Vec<(String, bool, Content)> { - let Template{files, helpers} = template; +pub fn generate_project(template: Template, idl: &IDL) -> Vec { + let Template { files, helpers } = template; let mut handlebars = create_handlebars_registry(); apply_user_helpers(helpers, &mut handlebars); let mut data: Data = idl.clone().into(); let mut dinamic_files = vec![]; - for TemplateFile{path, content, is_dir} in files { + for TemplateFile { + path, + content, + is_dir, + } in files + { if path.contains("{{#each") { let breaks: Vec<(usize, &str)> = path.match_indices("{{#each").collect(); if breaks.len() % 2 == 0 { @@ -136,16 +144,16 @@ pub fn generate_project( dinamic_files.push((path.clone(), content.clone(), is_dir, [].to_vec())); } } - let mut project: Vec<(String, bool, Content)> = vec![]; + let mut project: Vec = vec![]; for (path, template, is_dir, path_replacements) in dinamic_files { data.path_replacements = path_replacements; if is_dir { let dir_path = handlebars.render_template(&path, &data).unwrap(); - project.push(( - format!("{}/{}", &data.name, dir_path), + project.push(TemplateFile { + path: format!("{}/{}", &data.name, dir_path), + content: structs::Content::String("".to_string()), is_dir, - structs::Content::String("".to_string()), - )) + }) } else { let file_path = if PathBuf::from(&path).extension().unwrap() == "hbs" { handlebars @@ -161,7 +169,11 @@ pub fn generate_project( Content::Vec(content) => structs::Content::Vec(content), }; - project.push((format!("{}/{}", &data.name, file_path), is_dir, content)) + project.push(TemplateFile { + path: format!("{}/{}", &data.name, file_path), + content, + is_dir, + }) }; } project diff --git a/crate/src/structs.rs b/crate/src/structs.rs index f0e3566..7a6b6cd 100644 --- a/crate/src/structs.rs +++ b/crate/src/structs.rs @@ -68,21 +68,21 @@ impl From for IDL { #[derive(Deserialize, Serialize, Debug, Clone)] pub struct Template { - pub(crate) files: Vec, - pub(crate) helpers: Vec, + pub files: Vec, + pub helpers: Vec, } #[derive(Deserialize, Serialize, Debug, Clone)] pub struct TemplateFile { - pub(crate) path: String, - pub(crate) content: Content, - pub(crate) is_dir: bool, + pub path: String, + pub content: Content, + pub is_dir: bool, } #[derive(Deserialize, Serialize, Debug, Clone)] pub struct TemplateHelper { - pub(crate) helper_name: String, - pub(crate) script: String, + pub helper_name: String, + pub script: String, } #[derive(Deserialize, Serialize, Debug, Clone)] pub struct Instruction { @@ -232,5 +232,5 @@ pub struct Metadata { #[derive(Deserialize, Serialize, Debug, Clone)] pub enum Content { String(String), - Vec(Vec) -} \ No newline at end of file + Vec(Vec), +} diff --git a/ui/helpers/generateProjectFiles.ts b/ui/helpers/generateProjectFiles.ts index 6f54e43..2a0dce4 100644 --- a/ui/helpers/generateProjectFiles.ts +++ b/ui/helpers/generateProjectFiles.ts @@ -2,7 +2,6 @@ import { message } from "@tauri-apps/api/dialog"; import { open } from "@tauri-apps/api/dialog"; import { invoke } from "@tauri-apps/api/tauri"; import handleBaseFolder from "./handleBaseFolder"; -import handleTemplateFolder from "./handleTemplateFolder"; const generateProjectFiles = ( name: string, @@ -12,23 +11,6 @@ const generateProjectFiles = ( ) => { return async () => { try { - let template = templateFolder; - if (templateFolder === undefined) { - await message( - "You need to select a template folder before generate the project", - "Select a Template folder" - ); - template = await open({ - multiple: false, - directory: true, - title: "Select a template folder", - }); - handleTemplateFolder(template, setTemplateFolder); - await message( - "Select in wich folder you want to generate the project", - "Select a output folder" - ); - } const result = await open({ multiple: false, directory: true, diff --git a/ui/helpers/handleTemplateFolder.ts b/ui/helpers/handleTemplateFolder.ts deleted file mode 100644 index 221cb83..0000000 --- a/ui/helpers/handleTemplateFolder.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { invoke } from "@tauri-apps/api/tauri"; - -const handleTemplateFolder = (template: string, setTemplateFolder: Function) => { - invoke("update_template_folder_path", { template } ).then(() => setTemplateFolder(template)); - }; - - export default handleTemplateFolder; \ No newline at end of file diff --git a/ui/helpers/index.ts b/ui/helpers/index.ts index 7699d8d..be3c75e 100644 --- a/ui/helpers/index.ts +++ b/ui/helpers/index.ts @@ -6,7 +6,6 @@ import saveIDLFile from "./saveIDLFile"; import about from "./about"; import nameSetter from "./nameSetter"; import handleBaseFolder from "./handleBaseFolder"; -import handleTemplateFolder from "./handleTemplateFolder"; export { generateProjectFiles, @@ -17,5 +16,4 @@ export { about, nameSetter, handleBaseFolder, - handleTemplateFolder, }; \ No newline at end of file diff --git a/ui/helpers/selectTemplateFolder.ts b/ui/helpers/selectTemplateFolder.ts index 8afe2a6..722a49e 100644 --- a/ui/helpers/selectTemplateFolder.ts +++ b/ui/helpers/selectTemplateFolder.ts @@ -1,25 +1,28 @@ import { open } from "@tauri-apps/api/dialog"; import { message } from "@tauri-apps/api/dialog"; +import { invoke } from "@tauri-apps/api/tauri"; const selectTemplateFolder = (setTemplateFolder: Function) => { - return async () => { - try { - const result = await open({ - multiple: false, - directory: true, - title: "Select a template folder", - }); - async () => { + return async () => { + try { + const result = await open({ + multiple: false, + directory: true, + title: "Select a template folder", + }); + invoke("update_template", { templateFolder: result }).then(async () => { + setTemplateFolder(result) await message(`Template path: ${result}`, "Template Seleccionado"); - }; - setTemplateFolder(result); - } catch (e) { - await message(`${e}`, { - title: "Something fail while tryng to open the template folder.", - type: "error", }); - } - }; - } - - export default selectTemplateFolder; \ No newline at end of file + + } + catch (e) { + await message(`${e}`, { + title: "Something fail while tryng to open the template folder.", + type: "error", + }); + } + }; +} + +export default selectTemplateFolder; \ No newline at end of file diff --git a/ui/src-tauri/Cargo.lock b/ui/src-tauri/Cargo.lock index f69d046..f1b159c 100644 --- a/ui/src-tauri/Cargo.lock +++ b/ui/src-tauri/Cargo.lock @@ -2394,9 +2394,7 @@ dependencies = [ [[package]] name = "soda_sol" -version = "0.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1646a373eb756dab91c2a499b41495a781846895df6c833aa0c5426fe04c9848" +version = "0.0.3" dependencies = [ "env_logger", "handlebars", diff --git a/ui/src-tauri/Cargo.toml b/ui/src-tauri/Cargo.toml index 24a37dd..cb3819d 100644 --- a/ui/src-tauri/Cargo.toml +++ b/ui/src-tauri/Cargo.toml @@ -18,7 +18,7 @@ tauri-build = { version = "1.2.1", features = [] } tauri = { version = "1.2.5", features = ["dialog-all", "fs-create-dir", "fs-read-dir", "fs-read-file", "fs-write-file", "shell-open"] } serde_json = "1.0.93" env_logger = "0.10" -soda_sol = "0.0.2" +soda_sol = { path = "../../crate" } [features] # by default Tauri runs in production mode diff --git a/ui/src-tauri/src/default_template.rs b/ui/src-tauri/src/default_template.rs new file mode 100644 index 0000000..288ca8a --- /dev/null +++ b/ui/src-tauri/src/default_template.rs @@ -0,0 +1,238 @@ +use soda_sol::{Content, Template, TemplateFile, TemplateHelper}; +pub(crate) fn default_template() -> Template { + Template { + files: [ + TemplateFile { + path: String::from("/"), + content: Content::String(String::from("")), + is_dir: true + }, + TemplateFile { + path: String::from("/anchor_workspace"), + content: Content::String(String::from("")), + is_dir: true + }, + TemplateFile { + path: String::from("/anchor_workspace/.prettierignore.hbs"), + content: Content::String(String::from("\n.anchor\n.DS_Store\ntarget\nnode_modules\ndist\nbuild\ntest-ledger\n")), + is_dir: false + }, + TemplateFile { + path: String::from("/anchor_workspace/Anchor.toml.hbs"), + content: Content::String(String::from("[features]\nseeds = false\nskip-lint = false\n[programs.localnet]\nempty = \"Fg6PaFpoGXkYsidMpWTK6W2BeZ7FEfcYkg476zPFsLnS\"\n\n[registry]\nurl = \"https://api.apr.dev\"\n\n[provider]\ncluster = \"localnet\"\nwallet = \"~/.config/solana/id.json\"\n\n[scripts]\ntest = \"yarn run ts-mocha -p ./tsconfig.json -t 1000000 tests/**/*.ts\"\n")), + is_dir: false + }, + TemplateFile { + path: String::from("/anchor_workspace/Cargo.toml.hbs"), + content: Content::String(String::from("[workspace]\nmembers = [\n \"programs/*\"\n]\n\n[profile.release]\noverflow-checks = true\nlto = \"fat\"\ncodegen-units = 1\n[profile.release.build-override]\nopt-level = 3\nincremental = false\ncodegen-units = 1\n")), + is_dir: false + }, + TemplateFile { + path: String::from("/anchor_workspace/package.json.hbs"), + content: Content::String(String::from("{\n \"scripts\": {\n \"lint:fix\": \"prettier */*.js \\\"*/**/*{.js,.ts}\\\" -w\",\n \"lint\": \"prettier */*.js \\\"*/**/*{.js,.ts}\\\" --check\"\n },\n \"dependencies\": {\n \"@project-serum/anchor\": \"^0.25.0\"\n },\n \"devDependencies\": {\n \"chai\": \"^4.3.4\",\n \"mocha\": \"^9.0.3\",\n \"ts-mocha\": \"^10.0.0\",\n \"@types/bn.js\": \"^5.1.0\",\n \"@types/chai\": \"^4.3.0\",\n \"@types/mocha\": \"^9.0.0\",\n \"typescript\": \"^4.3.5\",\n \"prettier\": \"^2.6.2\"\n }\n}\n")), + is_dir: false + }, + TemplateFile { + path: String::from("/anchor_workspace/yarn.lock.hbs"), + content: Content::String(String::from("# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.\n# yarn lockfile v1\n\n\n\"@babel/runtime@^7.12.5\", \"@babel/runtime@^7.17.2\":\n version \"7.21.0\"\n resolved \"https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.21.0.tgz#5b55c9d394e5fcf304909a8b00c07dc217b56673\"\n integrity sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==\n dependencies:\n regenerator-runtime \"^0.13.11\"\n\n\"@noble/ed25519@^1.7.0\":\n version \"1.7.3\"\n resolved \"https://registry.yarnpkg.com/@noble/ed25519/-/ed25519-1.7.3.tgz#57e1677bf6885354b466c38e2b620c62f45a7123\"\n integrity sha512-iR8GBkDt0Q3GyaVcIu7mSsVIqnFbkbRzGLWlvhwunacoLwt4J3swfKhfaM6rN6WY+TBGoYT1GtT1mIh2/jGbRQ==\n\n\"@noble/hashes@^1.1.2\":\n version \"1.2.0\"\n resolved \"https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.2.0.tgz#a3150eeb09cc7ab207ebf6d7b9ad311a9bdbed12\"\n integrity sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==\n\n\"@noble/secp256k1@^1.6.3\":\n version \"1.7.1\"\n resolved \"https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.7.1.tgz#b251c70f824ce3ca7f8dc3df08d58f005cc0507c\"\n integrity sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==\n\n\"@project-serum/anchor@^0.25.0\":\n version \"0.25.0\"\n resolved \"https://registry.yarnpkg.com/@project-serum/anchor/-/anchor-0.25.0.tgz#88ee4843336005cf5a64c80636ce626f0996f503\"\n integrity sha512-E6A5Y/ijqpfMJ5psJvbw0kVTzLZFUcOFgs6eSM2M2iWE1lVRF18T6hWZVNl6zqZsoz98jgnNHtVGJMs+ds9A7A==\n dependencies:\n \"@project-serum/borsh\" \"^0.2.5\"\n \"@solana/web3.js\" \"^1.36.0\"\n base64-js \"^1.5.1\"\n bn.js \"^5.1.2\"\n bs58 \"^4.0.1\"\n buffer-layout \"^1.2.2\"\n camelcase \"^5.3.1\"\n cross-fetch \"^3.1.5\"\n crypto-hash \"^1.3.0\"\n eventemitter3 \"^4.0.7\"\n js-sha256 \"^0.9.0\"\n pako \"^2.0.3\"\n snake-case \"^3.0.4\"\n superstruct \"^0.15.4\"\n toml \"^3.0.0\"\n\n\"@project-serum/borsh@^0.2.5\":\n version \"0.2.5\"\n resolved \"https://registry.yarnpkg.com/@project-serum/borsh/-/borsh-0.2.5.tgz#6059287aa624ecebbfc0edd35e4c28ff987d8663\"\n integrity sha512-UmeUkUoKdQ7rhx6Leve1SssMR/Ghv8qrEiyywyxSWg7ooV7StdpPBhciiy5eB3T0qU1BXvdRNC8TdrkxK7WC5Q==\n dependencies:\n bn.js \"^5.1.2\"\n buffer-layout \"^1.2.0\"\n\n\"@solana/buffer-layout@^4.0.0\":\n version \"4.0.1\"\n resolved \"https://registry.yarnpkg.com/@solana/buffer-layout/-/buffer-layout-4.0.1.tgz#b996235eaec15b1e0b5092a8ed6028df77fa6c15\"\n integrity sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA==\n dependencies:\n buffer \"~6.0.3\"\n\n\"@solana/web3.js@^1.36.0\":\n version \"1.73.2\"\n resolved \"https://registry.yarnpkg.com/@solana/web3.js/-/web3.js-1.73.2.tgz#4b30cd402b35733dae3a7d0b638be26a7742b395\"\n integrity sha512-9WACF8W4Nstj7xiDw3Oom22QmrhBh0VyZyZ7JvvG3gOxLWLlX3hvm5nPVJOGcCE/9fFavBbCUb5A6CIuvMGdoA==\n dependencies:\n \"@babel/runtime\" \"^7.12.5\"\n \"@noble/ed25519\" \"^1.7.0\"\n \"@noble/hashes\" \"^1.1.2\"\n \"@noble/secp256k1\" \"^1.6.3\"\n \"@solana/buffer-layout\" \"^4.0.0\"\n agentkeepalive \"^4.2.1\"\n bigint-buffer \"^1.1.5\"\n bn.js \"^5.0.0\"\n borsh \"^0.7.0\"\n bs58 \"^4.0.1\"\n buffer \"6.0.1\"\n fast-stable-stringify \"^1.0.0\"\n jayson \"^3.4.4\"\n node-fetch \"2\"\n rpc-websockets \"^7.5.0\"\n superstruct \"^0.14.2\"\n\n\"@types/bn.js@^5.1.0\":\n version \"5.1.1\"\n resolved \"https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.1.tgz#b51e1b55920a4ca26e9285ff79936bbdec910682\"\n integrity sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g==\n dependencies:\n \"@types/node\" \"*\"\n\n\"@types/chai@^4.3.0\":\n version \"4.3.4\"\n resolved \"https://registry.yarnpkg.com/@types/chai/-/chai-4.3.4.tgz#e913e8175db8307d78b4e8fa690408ba6b65dee4\"\n integrity sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==\n\n\"@types/connect@^3.4.33\":\n version \"3.4.35\"\n resolved \"https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1\"\n integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==\n dependencies:\n \"@types/node\" \"*\"\n\n\"@types/json5@^0.0.29\":\n version \"0.0.29\"\n resolved \"https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee\"\n integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==\n\n\"@types/mocha@^9.0.0\":\n version \"9.1.1\"\n resolved \"https://registry.yarnpkg.com/@types/mocha/-/mocha-9.1.1.tgz#e7c4f1001eefa4b8afbd1eee27a237fee3bf29c4\"\n integrity sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw==\n\n\"@types/node@*\":\n version \"18.14.0\"\n resolved \"https://registry.yarnpkg.com/@types/node/-/node-18.14.0.tgz#94c47b9217bbac49d4a67a967fdcdeed89ebb7d0\"\n integrity sha512-5EWrvLmglK+imbCJY0+INViFWUHg1AHel1sq4ZVSfdcNqGy9Edv3UB9IIzzg+xPaUcAgZYcfVs2fBcwDeZzU0A==\n\n\"@types/node@^12.12.54\":\n version \"12.20.55\"\n resolved \"https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240\"\n integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==\n\n\"@types/ws@^7.4.4\":\n version \"7.4.7\"\n resolved \"https://registry.yarnpkg.com/@types/ws/-/ws-7.4.7.tgz#f7c390a36f7a0679aa69de2d501319f4f8d9b702\"\n integrity sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==\n dependencies:\n \"@types/node\" \"*\"\n\n\"@ungap/promise-all-settled@1.1.2\":\n version \"1.1.2\"\n resolved \"https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44\"\n integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==\n\nJSONStream@^1.3.5:\n version \"1.3.5\"\n resolved \"https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0\"\n integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==\n dependencies:\n jsonparse \"^1.2.0\"\n through \">=2.2.7 <3\"\n\nagentkeepalive@^4.2.1:\n version \"4.2.1\"\n resolved \"https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.2.1.tgz#a7975cbb9f83b367f06c90cc51ff28fe7d499717\"\n integrity sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==\n dependencies:\n debug \"^4.1.0\"\n depd \"^1.1.2\"\n humanize-ms \"^1.2.1\"\n\nansi-colors@4.1.1:\n version \"4.1.1\"\n resolved \"https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348\"\n integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==\n\nansi-regex@^5.0.1:\n version \"5.0.1\"\n resolved \"https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304\"\n integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==\n\nansi-styles@^4.0.0, ansi-styles@^4.1.0:\n version \"4.3.0\"\n resolved \"https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937\"\n integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\n dependencies:\n color-convert \"^2.0.1\"\n\nanymatch@~3.1.2:\n version \"3.1.3\"\n resolved \"https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e\"\n integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==\n dependencies:\n normalize-path \"^3.0.0\"\n picomatch \"^2.0.4\"\n\nargparse@^2.0.1:\n version \"2.0.1\"\n resolved \"https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38\"\n integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==\n\narrify@^1.0.0:\n version \"1.0.1\"\n resolved \"https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d\"\n integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==\n\nassertion-error@^1.1.0:\n version \"1.1.0\"\n resolved \"https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b\"\n integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==\n\nbalanced-match@^1.0.0:\n version \"1.0.2\"\n resolved \"https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee\"\n integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==\n\nbase-x@^3.0.2:\n version \"3.0.9\"\n resolved \"https://registry.yarnpkg.com/base-x/-/base-x-3.0.9.tgz#6349aaabb58526332de9f60995e548a53fe21320\"\n integrity sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==\n dependencies:\n safe-buffer \"^5.0.1\"\n\nbase64-js@^1.3.1, base64-js@^1.5.1:\n version \"1.5.1\"\n resolved \"https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a\"\n integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==\n\nbigint-buffer@^1.1.5:\n version \"1.1.5\"\n resolved \"https://registry.yarnpkg.com/bigint-buffer/-/bigint-buffer-1.1.5.tgz#d038f31c8e4534c1f8d0015209bf34b4fa6dd442\"\n integrity sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA==\n dependencies:\n bindings \"^1.3.0\"\n\nbinary-extensions@^2.0.0:\n version \"2.2.0\"\n resolved \"https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d\"\n integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==\n\nbindings@^1.3.0:\n version \"1.5.0\"\n resolved \"https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df\"\n integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==\n dependencies:\n file-uri-to-path \"1.0.0\"\n\nbn.js@^5.0.0, bn.js@^5.1.2, bn.js@^5.2.0:\n version \"5.2.1\"\n resolved \"https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70\"\n integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==\n\nborsh@^0.7.0:\n version \"0.7.0\"\n resolved \"https://registry.yarnpkg.com/borsh/-/borsh-0.7.0.tgz#6e9560d719d86d90dc589bca60ffc8a6c51fec2a\"\n integrity sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA==\n dependencies:\n bn.js \"^5.2.0\"\n bs58 \"^4.0.0\"\n text-encoding-utf-8 \"^1.0.2\"\n\nbrace-expansion@^1.1.7:\n version \"1.1.11\"\n resolved \"https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd\"\n integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==\n dependencies:\n balanced-match \"^1.0.0\"\n concat-map \"0.0.1\"\n\nbraces@~3.0.2:\n version \"3.0.2\"\n resolved \"https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107\"\n integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==\n dependencies:\n fill-range \"^7.0.1\"\n\nbrowser-stdout@1.3.1:\n version \"1.3.1\"\n resolved \"https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60\"\n integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==\n\nbs58@^4.0.0, bs58@^4.0.1:\n version \"4.0.1\"\n resolved \"https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a\"\n integrity sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==\n dependencies:\n base-x \"^3.0.2\"\n\nbuffer-from@^1.0.0, buffer-from@^1.1.0:\n version \"1.1.2\"\n resolved \"https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5\"\n integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==\n\nbuffer-layout@^1.2.0, buffer-layout@^1.2.2:\n version \"1.2.2\"\n resolved \"https://registry.yarnpkg.com/buffer-layout/-/buffer-layout-1.2.2.tgz#b9814e7c7235783085f9ca4966a0cfff112259d5\"\n integrity sha512-kWSuLN694+KTk8SrYvCqwP2WcgQjoRCiF5b4QDvkkz8EmgD+aWAIceGFKMIAdmF/pH+vpgNV3d3kAKorcdAmWA==\n\nbuffer@6.0.1:\n version \"6.0.1\"\n resolved \"https://registry.yarnpkg.com/buffer/-/buffer-6.0.1.tgz#3cbea8c1463e5a0779e30b66d4c88c6ffa182ac2\"\n integrity sha512-rVAXBwEcEoYtxnHSO5iWyhzV/O1WMtkUYWlfdLS7FjU4PnSJJHEfHXi/uHPI5EwltmOA794gN3bm3/pzuctWjQ==\n dependencies:\n base64-js \"^1.3.1\"\n ieee754 \"^1.2.1\"\n\nbuffer@~6.0.3:\n version \"6.0.3\"\n resolved \"https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6\"\n integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==\n dependencies:\n base64-js \"^1.3.1\"\n ieee754 \"^1.2.1\"\n\nbufferutil@^4.0.1:\n version \"4.0.7\"\n resolved \"https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.7.tgz#60c0d19ba2c992dd8273d3f73772ffc894c153ad\"\n integrity sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw==\n dependencies:\n node-gyp-build \"^4.3.0\"\n\ncamelcase@^5.3.1:\n version \"5.3.1\"\n resolved \"https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320\"\n integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==\n\ncamelcase@^6.0.0:\n version \"6.3.0\"\n resolved \"https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a\"\n integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==\n\nchai@^4.3.4:\n version \"4.3.7\"\n resolved \"https://registry.yarnpkg.com/chai/-/chai-4.3.7.tgz#ec63f6df01829088e8bf55fca839bcd464a8ec51\"\n integrity sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==\n dependencies:\n assertion-error \"^1.1.0\"\n check-error \"^1.0.2\"\n deep-eql \"^4.1.2\"\n get-func-name \"^2.0.0\"\n loupe \"^2.3.1\"\n pathval \"^1.1.1\"\n type-detect \"^4.0.5\"\n\nchalk@^4.1.0:\n version \"4.1.2\"\n resolved \"https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01\"\n integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\n dependencies:\n ansi-styles \"^4.1.0\"\n supports-color \"^7.1.0\"\n\ncheck-error@^1.0.2:\n version \"1.0.2\"\n resolved \"https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82\"\n integrity sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==\n\nchokidar@3.5.3:\n version \"3.5.3\"\n resolved \"https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd\"\n integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==\n dependencies:\n anymatch \"~3.1.2\"\n braces \"~3.0.2\"\n glob-parent \"~5.1.2\"\n is-binary-path \"~2.1.0\"\n is-glob \"~4.0.1\"\n normalize-path \"~3.0.0\"\n readdirp \"~3.6.0\"\n optionalDependencies:\n fsevents \"~2.3.2\"\n\ncliui@^7.0.2:\n version \"7.0.4\"\n resolved \"https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f\"\n integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==\n dependencies:\n string-width \"^4.2.0\"\n strip-ansi \"^6.0.0\"\n wrap-ansi \"^7.0.0\"\n\ncolor-convert@^2.0.1:\n version \"2.0.1\"\n resolved \"https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3\"\n integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\n dependencies:\n color-name \"~1.1.4\"\n\ncolor-name@~1.1.4:\n version \"1.1.4\"\n resolved \"https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2\"\n integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\n\ncommander@^2.20.3:\n version \"2.20.3\"\n resolved \"https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33\"\n integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==\n\nconcat-map@0.0.1:\n version \"0.0.1\"\n resolved \"https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b\"\n integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==\n\ncross-fetch@^3.1.5:\n version \"3.1.5\"\n resolved \"https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f\"\n integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==\n dependencies:\n node-fetch \"2.6.7\"\n\ncrypto-hash@^1.3.0:\n version \"1.3.0\"\n resolved \"https://registry.yarnpkg.com/crypto-hash/-/crypto-hash-1.3.0.tgz#b402cb08f4529e9f4f09346c3e275942f845e247\"\n integrity sha512-lyAZ0EMyjDkVvz8WOeVnuCPvKVBXcMv1l5SVqO1yC7PzTwrD/pPje/BIRbWhMoPe436U+Y2nD7f5bFx0kt+Sbg==\n\ndebug@4.3.3:\n version \"4.3.3\"\n resolved \"https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664\"\n integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==\n dependencies:\n ms \"2.1.2\"\n\ndebug@^4.1.0:\n version \"4.3.4\"\n resolved \"https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865\"\n integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==\n dependencies:\n ms \"2.1.2\"\n\ndecamelize@^4.0.0:\n version \"4.0.0\"\n resolved \"https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837\"\n integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==\n\ndeep-eql@^4.1.2:\n version \"4.1.3\"\n resolved \"https://registry.yarnpkg.com/deep-eql/-/deep-eql-4.1.3.tgz#7c7775513092f7df98d8df9996dd085eb668cc6d\"\n integrity sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==\n dependencies:\n type-detect \"^4.0.0\"\n\ndelay@^5.0.0:\n version \"5.0.0\"\n resolved \"https://registry.yarnpkg.com/delay/-/delay-5.0.0.tgz#137045ef1b96e5071060dd5be60bf9334436bd1d\"\n integrity sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==\n\ndepd@^1.1.2:\n version \"1.1.2\"\n resolved \"https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9\"\n integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==\n\ndiff@5.0.0:\n version \"5.0.0\"\n resolved \"https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b\"\n integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==\n\ndiff@^3.1.0:\n version \"3.5.0\"\n resolved \"https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12\"\n integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==\n\ndot-case@^3.0.4:\n version \"3.0.4\"\n resolved \"https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751\"\n integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==\n dependencies:\n no-case \"^3.0.4\"\n tslib \"^2.0.3\"\n\nemoji-regex@^8.0.0:\n version \"8.0.0\"\n resolved \"https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37\"\n integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==\n\nes6-promise@^4.0.3:\n version \"4.2.8\"\n resolved \"https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a\"\n integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==\n\nes6-promisify@^5.0.0:\n version \"5.0.0\"\n resolved \"https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203\"\n integrity sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==\n dependencies:\n es6-promise \"^4.0.3\"\n\nescalade@^3.1.1:\n version \"3.1.1\"\n resolved \"https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40\"\n integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==\n\nescape-string-regexp@4.0.0:\n version \"4.0.0\"\n resolved \"https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34\"\n integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==\n\neventemitter3@^4.0.7:\n version \"4.0.7\"\n resolved \"https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f\"\n integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==\n\neyes@^0.1.8:\n version \"0.1.8\"\n resolved \"https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0\"\n integrity sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==\n\nfast-stable-stringify@^1.0.0:\n version \"1.0.0\"\n resolved \"https://registry.yarnpkg.com/fast-stable-stringify/-/fast-stable-stringify-1.0.0.tgz#5c5543462b22aeeefd36d05b34e51c78cb86d313\"\n integrity sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag==\n\nfile-uri-to-path@1.0.0:\n version \"1.0.0\"\n resolved \"https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd\"\n integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==\n\nfill-range@^7.0.1:\n version \"7.0.1\"\n resolved \"https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40\"\n integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==\n dependencies:\n to-regex-range \"^5.0.1\"\n\nfind-up@5.0.0:\n version \"5.0.0\"\n resolved \"https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc\"\n integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==\n dependencies:\n locate-path \"^6.0.0\"\n path-exists \"^4.0.0\"\n\nflat@^5.0.2:\n version \"5.0.2\"\n resolved \"https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241\"\n integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==\n\nfs.realpath@^1.0.0:\n version \"1.0.0\"\n resolved \"https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f\"\n integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==\n\nfsevents@~2.3.2:\n version \"2.3.2\"\n resolved \"https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a\"\n integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==\n\nget-caller-file@^2.0.5:\n version \"2.0.5\"\n resolved \"https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e\"\n integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==\n\nget-func-name@^2.0.0:\n version \"2.0.0\"\n resolved \"https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41\"\n integrity sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==\n\nglob-parent@~5.1.2:\n version \"5.1.2\"\n resolved \"https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4\"\n integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==\n dependencies:\n is-glob \"^4.0.1\"\n\nglob@7.2.0:\n version \"7.2.0\"\n resolved \"https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023\"\n integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==\n dependencies:\n fs.realpath \"^1.0.0\"\n inflight \"^1.0.4\"\n inherits \"2\"\n minimatch \"^3.0.4\"\n once \"^1.3.0\"\n path-is-absolute \"^1.0.0\"\n\ngrowl@1.10.5:\n version \"1.10.5\"\n resolved \"https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e\"\n integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==\n\nhas-flag@^4.0.0:\n version \"4.0.0\"\n resolved \"https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b\"\n integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\n\nhe@1.2.0:\n version \"1.2.0\"\n resolved \"https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f\"\n integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==\n\nhumanize-ms@^1.2.1:\n version \"1.2.1\"\n resolved \"https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed\"\n integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==\n dependencies:\n ms \"^2.0.0\"\n\nieee754@^1.2.1:\n version \"1.2.1\"\n resolved \"https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352\"\n integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==\n\ninflight@^1.0.4:\n version \"1.0.6\"\n resolved \"https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9\"\n integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==\n dependencies:\n once \"^1.3.0\"\n wrappy \"1\"\n\ninherits@2:\n version \"2.0.4\"\n resolved \"https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c\"\n integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==\n\nis-binary-path@~2.1.0:\n version \"2.1.0\"\n resolved \"https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09\"\n integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==\n dependencies:\n binary-extensions \"^2.0.0\"\n\nis-extglob@^2.1.1:\n version \"2.1.1\"\n resolved \"https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2\"\n integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==\n\nis-fullwidth-code-point@^3.0.0:\n version \"3.0.0\"\n resolved \"https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d\"\n integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==\n\nis-glob@^4.0.1, is-glob@~4.0.1:\n version \"4.0.3\"\n resolved \"https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084\"\n integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==\n dependencies:\n is-extglob \"^2.1.1\"\n\nis-number@^7.0.0:\n version \"7.0.0\"\n resolved \"https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b\"\n integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==\n\nis-plain-obj@^2.1.0:\n version \"2.1.0\"\n resolved \"https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287\"\n integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==\n\nis-unicode-supported@^0.1.0:\n version \"0.1.0\"\n resolved \"https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7\"\n integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==\n\nisexe@^2.0.0:\n version \"2.0.0\"\n resolved \"https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10\"\n integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==\n\nisomorphic-ws@^4.0.1:\n version \"4.0.1\"\n resolved \"https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#55fd4cd6c5e6491e76dc125938dd863f5cd4f2dc\"\n integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==\n\njayson@^3.4.4:\n version \"3.7.0\"\n resolved \"https://registry.yarnpkg.com/jayson/-/jayson-3.7.0.tgz#b735b12d06d348639ae8230d7a1e2916cb078f25\"\n integrity sha512-tfy39KJMrrXJ+mFcMpxwBvFDetS8LAID93+rycFglIQM4kl3uNR3W4lBLE/FFhsoUCEox5Dt2adVpDm/XtebbQ==\n dependencies:\n \"@types/connect\" \"^3.4.33\"\n \"@types/node\" \"^12.12.54\"\n \"@types/ws\" \"^7.4.4\"\n JSONStream \"^1.3.5\"\n commander \"^2.20.3\"\n delay \"^5.0.0\"\n es6-promisify \"^5.0.0\"\n eyes \"^0.1.8\"\n isomorphic-ws \"^4.0.1\"\n json-stringify-safe \"^5.0.1\"\n lodash \"^4.17.20\"\n uuid \"^8.3.2\"\n ws \"^7.4.5\"\n\njs-sha256@^0.9.0:\n version \"0.9.0\"\n resolved \"https://registry.yarnpkg.com/js-sha256/-/js-sha256-0.9.0.tgz#0b89ac166583e91ef9123644bd3c5334ce9d0966\"\n integrity sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA==\n\njs-yaml@4.1.0:\n version \"4.1.0\"\n resolved \"https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602\"\n integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==\n dependencies:\n argparse \"^2.0.1\"\n\njson-stringify-safe@^5.0.1:\n version \"5.0.1\"\n resolved \"https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb\"\n integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==\n\njson5@^1.0.1:\n version \"1.0.2\"\n resolved \"https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593\"\n integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==\n dependencies:\n minimist \"^1.2.0\"\n\njsonparse@^1.2.0:\n version \"1.3.1\"\n resolved \"https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280\"\n integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==\n\nlocate-path@^6.0.0:\n version \"6.0.0\"\n resolved \"https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286\"\n integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==\n dependencies:\n p-locate \"^5.0.0\"\n\nlodash@^4.17.20:\n version \"4.17.21\"\n resolved \"https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c\"\n integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==\n\nlog-symbols@4.1.0:\n version \"4.1.0\"\n resolved \"https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503\"\n integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==\n dependencies:\n chalk \"^4.1.0\"\n is-unicode-supported \"^0.1.0\"\n\nloupe@^2.3.1:\n version \"2.3.6\"\n resolved \"https://registry.yarnpkg.com/loupe/-/loupe-2.3.6.tgz#76e4af498103c532d1ecc9be102036a21f787b53\"\n integrity sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==\n dependencies:\n get-func-name \"^2.0.0\"\n\nlower-case@^2.0.2:\n version \"2.0.2\"\n resolved \"https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28\"\n integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==\n dependencies:\n tslib \"^2.0.3\"\n\nmake-error@^1.1.1:\n version \"1.3.6\"\n resolved \"https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2\"\n integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==\n\nminimatch@4.2.1:\n version \"4.2.1\"\n resolved \"https://registry.yarnpkg.com/minimatch/-/minimatch-4.2.1.tgz#40d9d511a46bdc4e563c22c3080cde9c0d8299b4\"\n integrity sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g==\n dependencies:\n brace-expansion \"^1.1.7\"\n\nminimatch@^3.0.4:\n version \"3.1.2\"\n resolved \"https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b\"\n integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==\n dependencies:\n brace-expansion \"^1.1.7\"\n\nminimist@^1.2.0, minimist@^1.2.6:\n version \"1.2.8\"\n resolved \"https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c\"\n integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==\n\nmkdirp@^0.5.1:\n version \"0.5.6\"\n resolved \"https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6\"\n integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==\n dependencies:\n minimist \"^1.2.6\"\n\nmocha@^9.0.3:\n version \"9.2.2\"\n resolved \"https://registry.yarnpkg.com/mocha/-/mocha-9.2.2.tgz#d70db46bdb93ca57402c809333e5a84977a88fb9\"\n integrity sha512-L6XC3EdwT6YrIk0yXpavvLkn8h+EU+Y5UcCHKECyMbdUIxyMuZj4bX4U9e1nvnvUUvQVsV2VHQr5zLdcUkhW/g==\n dependencies:\n \"@ungap/promise-all-settled\" \"1.1.2\"\n ansi-colors \"4.1.1\"\n browser-stdout \"1.3.1\"\n chokidar \"3.5.3\"\n debug \"4.3.3\"\n diff \"5.0.0\"\n escape-string-regexp \"4.0.0\"\n find-up \"5.0.0\"\n glob \"7.2.0\"\n growl \"1.10.5\"\n he \"1.2.0\"\n js-yaml \"4.1.0\"\n log-symbols \"4.1.0\"\n minimatch \"4.2.1\"\n ms \"2.1.3\"\n nanoid \"3.3.1\"\n serialize-javascript \"6.0.0\"\n strip-json-comments \"3.1.1\"\n supports-color \"8.1.1\"\n which \"2.0.2\"\n workerpool \"6.2.0\"\n yargs \"16.2.0\"\n yargs-parser \"20.2.4\"\n yargs-unparser \"2.0.0\"\n\nms@2.1.2:\n version \"2.1.2\"\n resolved \"https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009\"\n integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==\n\nms@2.1.3, ms@^2.0.0:\n version \"2.1.3\"\n resolved \"https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2\"\n integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==\n\nnanoid@3.3.1:\n version \"3.3.1\"\n resolved \"https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.1.tgz#6347a18cac88af88f58af0b3594b723d5e99bb35\"\n integrity sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==\n\nno-case@^3.0.4:\n version \"3.0.4\"\n resolved \"https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d\"\n integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==\n dependencies:\n lower-case \"^2.0.2\"\n tslib \"^2.0.3\"\n\nnode-fetch@2:\n version \"2.6.9\"\n resolved \"https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.9.tgz#7c7f744b5cc6eb5fd404e0c7a9fec630a55657e6\"\n integrity sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==\n dependencies:\n whatwg-url \"^5.0.0\"\n\nnode-fetch@2.6.7:\n version \"2.6.7\"\n resolved \"https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad\"\n integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==\n dependencies:\n whatwg-url \"^5.0.0\"\n\nnode-gyp-build@^4.3.0:\n version \"4.6.0\"\n resolved \"https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.6.0.tgz#0c52e4cbf54bbd28b709820ef7b6a3c2d6209055\"\n integrity sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==\n\nnormalize-path@^3.0.0, normalize-path@~3.0.0:\n version \"3.0.0\"\n resolved \"https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65\"\n integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==\n\nonce@^1.3.0:\n version \"1.4.0\"\n resolved \"https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1\"\n integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==\n dependencies:\n wrappy \"1\"\n\np-limit@^3.0.2:\n version \"3.1.0\"\n resolved \"https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b\"\n integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==\n dependencies:\n yocto-queue \"^0.1.0\"\n\np-locate@^5.0.0:\n version \"5.0.0\"\n resolved \"https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834\"\n integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==\n dependencies:\n p-limit \"^3.0.2\"\n\npako@^2.0.3:\n version \"2.1.0\"\n resolved \"https://registry.yarnpkg.com/pako/-/pako-2.1.0.tgz#266cc37f98c7d883545d11335c00fbd4062c9a86\"\n integrity sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==\n\npath-exists@^4.0.0:\n version \"4.0.0\"\n resolved \"https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3\"\n integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==\n\npath-is-absolute@^1.0.0:\n version \"1.0.1\"\n resolved \"https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f\"\n integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==\n\npathval@^1.1.1:\n version \"1.1.1\"\n resolved \"https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d\"\n integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==\n\npicomatch@^2.0.4, picomatch@^2.2.1:\n version \"2.3.1\"\n resolved \"https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42\"\n integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==\n\nprettier@^2.6.2:\n version \"2.8.4\"\n resolved \"https://registry.yarnpkg.com/prettier/-/prettier-2.8.4.tgz#34dd2595629bfbb79d344ac4a91ff948694463c3\"\n integrity sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==\n\nrandombytes@^2.1.0:\n version \"2.1.0\"\n resolved \"https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a\"\n integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==\n dependencies:\n safe-buffer \"^5.1.0\"\n\nreaddirp@~3.6.0:\n version \"3.6.0\"\n resolved \"https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7\"\n integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==\n dependencies:\n picomatch \"^2.2.1\"\n\nregenerator-runtime@^0.13.11:\n version \"0.13.11\"\n resolved \"https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9\"\n integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==\n\nrequire-directory@^2.1.1:\n version \"2.1.1\"\n resolved \"https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42\"\n integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==\n\nrpc-websockets@^7.5.0:\n version \"7.5.0\"\n resolved \"https://registry.yarnpkg.com/rpc-websockets/-/rpc-websockets-7.5.0.tgz#bbeb87572e66703ff151e50af1658f98098e2748\"\n integrity sha512-9tIRi1uZGy7YmDjErf1Ax3wtqdSSLIlnmL5OtOzgd5eqPKbsPpwDP5whUDO2LQay3Xp0CcHlcNSGzacNRluBaQ==\n dependencies:\n \"@babel/runtime\" \"^7.17.2\"\n eventemitter3 \"^4.0.7\"\n uuid \"^8.3.2\"\n ws \"^8.5.0\"\n optionalDependencies:\n bufferutil \"^4.0.1\"\n utf-8-validate \"^5.0.2\"\n\nsafe-buffer@^5.0.1, safe-buffer@^5.1.0:\n version \"5.2.1\"\n resolved \"https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6\"\n integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==\n\nserialize-javascript@6.0.0:\n version \"6.0.0\"\n resolved \"https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8\"\n integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==\n dependencies:\n randombytes \"^2.1.0\"\n\nsnake-case@^3.0.4:\n version \"3.0.4\"\n resolved \"https://registry.yarnpkg.com/snake-case/-/snake-case-3.0.4.tgz#4f2bbd568e9935abdfd593f34c691dadb49c452c\"\n integrity sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==\n dependencies:\n dot-case \"^3.0.4\"\n tslib \"^2.0.3\"\n\nsource-map-support@^0.5.6:\n version \"0.5.21\"\n resolved \"https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f\"\n integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==\n dependencies:\n buffer-from \"^1.0.0\"\n source-map \"^0.6.0\"\n\nsource-map@^0.6.0:\n version \"0.6.1\"\n resolved \"https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263\"\n integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\n\nstring-width@^4.1.0, string-width@^4.2.0:\n version \"4.2.3\"\n resolved \"https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010\"\n integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==\n dependencies:\n emoji-regex \"^8.0.0\"\n is-fullwidth-code-point \"^3.0.0\"\n strip-ansi \"^6.0.1\"\n\nstrip-ansi@^6.0.0, strip-ansi@^6.0.1:\n version \"6.0.1\"\n resolved \"https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9\"\n integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==\n dependencies:\n ansi-regex \"^5.0.1\"\n\nstrip-bom@^3.0.0:\n version \"3.0.0\"\n resolved \"https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3\"\n integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==\n\nstrip-json-comments@3.1.1:\n version \"3.1.1\"\n resolved \"https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006\"\n integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==\n\nsuperstruct@^0.14.2:\n version \"0.14.2\"\n resolved \"https://registry.yarnpkg.com/superstruct/-/superstruct-0.14.2.tgz#0dbcdf3d83676588828f1cf5ed35cda02f59025b\"\n integrity sha512-nPewA6m9mR3d6k7WkZ8N8zpTWfenFH3q9pA2PkuiZxINr9DKB2+40wEQf0ixn8VaGuJ78AB6iWOtStI+/4FKZQ==\n\nsuperstruct@^0.15.4:\n version \"0.15.5\"\n resolved \"https://registry.yarnpkg.com/superstruct/-/superstruct-0.15.5.tgz#0f0a8d3ce31313f0d84c6096cd4fa1bfdedc9dab\"\n integrity sha512-4AOeU+P5UuE/4nOUkmcQdW5y7i9ndt1cQd/3iUe+LTz3RxESf/W/5lg4B74HbDMMv8PHnPnGCQFH45kBcrQYoQ==\n\nsupports-color@8.1.1:\n version \"8.1.1\"\n resolved \"https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c\"\n integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==\n dependencies:\n has-flag \"^4.0.0\"\n\nsupports-color@^7.1.0:\n version \"7.2.0\"\n resolved \"https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da\"\n integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\n dependencies:\n has-flag \"^4.0.0\"\n\ntext-encoding-utf-8@^1.0.2:\n version \"1.0.2\"\n resolved \"https://registry.yarnpkg.com/text-encoding-utf-8/-/text-encoding-utf-8-1.0.2.tgz#585b62197b0ae437e3c7b5d0af27ac1021e10d13\"\n integrity sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg==\n\n\"through@>=2.2.7 <3\":\n version \"2.3.8\"\n resolved \"https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5\"\n integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==\n\nto-regex-range@^5.0.1:\n version \"5.0.1\"\n resolved \"https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4\"\n integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==\n dependencies:\n is-number \"^7.0.0\"\n\ntoml@^3.0.0:\n version \"3.0.0\"\n resolved \"https://registry.yarnpkg.com/toml/-/toml-3.0.0.tgz#342160f1af1904ec9d204d03a5d61222d762c5ee\"\n integrity sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==\n\ntr46@~0.0.3:\n version \"0.0.3\"\n resolved \"https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a\"\n integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==\n\nts-mocha@^10.0.0:\n version \"10.0.0\"\n resolved \"https://registry.yarnpkg.com/ts-mocha/-/ts-mocha-10.0.0.tgz#41a8d099ac90dbbc64b06976c5025ffaebc53cb9\"\n integrity sha512-VRfgDO+iiuJFlNB18tzOfypJ21xn2xbuZyDvJvqpTbWgkAgD17ONGr8t+Tl8rcBtOBdjXp5e/Rk+d39f7XBHRw==\n dependencies:\n ts-node \"7.0.1\"\n optionalDependencies:\n tsconfig-paths \"^3.5.0\"\n\nts-node@7.0.1:\n version \"7.0.1\"\n resolved \"https://registry.yarnpkg.com/ts-node/-/ts-node-7.0.1.tgz#9562dc2d1e6d248d24bc55f773e3f614337d9baf\"\n integrity sha512-BVwVbPJRspzNh2yfslyT1PSbl5uIk03EZlb493RKHN4qej/D06n1cEhjlOJG69oFsE7OT8XjpTUcYf6pKTLMhw==\n dependencies:\n arrify \"^1.0.0\"\n buffer-from \"^1.1.0\"\n diff \"^3.1.0\"\n make-error \"^1.1.1\"\n minimist \"^1.2.0\"\n mkdirp \"^0.5.1\"\n source-map-support \"^0.5.6\"\n yn \"^2.0.0\"\n\ntsconfig-paths@^3.5.0:\n version \"3.14.1\"\n resolved \"https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz#ba0734599e8ea36c862798e920bcf163277b137a\"\n integrity sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==\n dependencies:\n \"@types/json5\" \"^0.0.29\"\n json5 \"^1.0.1\"\n minimist \"^1.2.6\"\n strip-bom \"^3.0.0\"\n\ntslib@^2.0.3:\n version \"2.5.0\"\n resolved \"https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf\"\n integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==\n\ntype-detect@^4.0.0, type-detect@^4.0.5:\n version \"4.0.8\"\n resolved \"https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c\"\n integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==\n\ntypescript@^4.3.5:\n version \"4.9.5\"\n resolved \"https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a\"\n integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==\n\nutf-8-validate@^5.0.2:\n version \"5.0.10\"\n resolved \"https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.10.tgz#d7d10ea39318171ca982718b6b96a8d2442571a2\"\n integrity sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==\n dependencies:\n node-gyp-build \"^4.3.0\"\n\nuuid@^8.3.2:\n version \"8.3.2\"\n resolved \"https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2\"\n integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==\n\nwebidl-conversions@^3.0.0:\n version \"3.0.1\"\n resolved \"https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871\"\n integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==\n\nwhatwg-url@^5.0.0:\n version \"5.0.0\"\n resolved \"https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d\"\n integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==\n dependencies:\n tr46 \"~0.0.3\"\n webidl-conversions \"^3.0.0\"\n\nwhich@2.0.2:\n version \"2.0.2\"\n resolved \"https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1\"\n integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==\n dependencies:\n isexe \"^2.0.0\"\n\nworkerpool@6.2.0:\n version \"6.2.0\"\n resolved \"https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.0.tgz#827d93c9ba23ee2019c3ffaff5c27fccea289e8b\"\n integrity sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A==\n\nwrap-ansi@^7.0.0:\n version \"7.0.0\"\n resolved \"https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43\"\n integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==\n dependencies:\n ansi-styles \"^4.0.0\"\n string-width \"^4.1.0\"\n strip-ansi \"^6.0.0\"\n\nwrappy@1:\n version \"1.0.2\"\n resolved \"https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f\"\n integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==\n\nws@^7.4.5:\n version \"7.5.9\"\n resolved \"https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591\"\n integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==\n\nws@^8.5.0:\n version \"8.12.1\"\n resolved \"https://registry.yarnpkg.com/ws/-/ws-8.12.1.tgz#c51e583d79140b5e42e39be48c934131942d4a8f\"\n integrity sha512-1qo+M9Ba+xNhPB+YTWUlK6M17brTut5EXbcBaMRN5pH5dFrXz7lzz1ChFSUq3bOUl8yEvSenhHmYUNJxFzdJew==\n\ny18n@^5.0.5:\n version \"5.0.8\"\n resolved \"https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55\"\n integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==\n\nyargs-parser@20.2.4:\n version \"20.2.4\"\n resolved \"https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54\"\n integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==\n\nyargs-parser@^20.2.2:\n version \"20.2.9\"\n resolved \"https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee\"\n integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==\n\nyargs-unparser@2.0.0:\n version \"2.0.0\"\n resolved \"https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb\"\n integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==\n dependencies:\n camelcase \"^6.0.0\"\n decamelize \"^4.0.0\"\n flat \"^5.0.2\"\n is-plain-obj \"^2.1.0\"\n\nyargs@16.2.0:\n version \"16.2.0\"\n resolved \"https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66\"\n integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==\n dependencies:\n cliui \"^7.0.2\"\n escalade \"^3.1.1\"\n get-caller-file \"^2.0.5\"\n require-directory \"^2.1.1\"\n string-width \"^4.2.0\"\n y18n \"^5.0.5\"\n yargs-parser \"^20.2.2\"\n\nyn@^2.0.0:\n version \"2.0.0\"\n resolved \"https://registry.yarnpkg.com/yn/-/yn-2.0.0.tgz#e5adabc8acf408f6385fc76495684c88e6af689a\"\n integrity sha512-uTv8J/wiWTgUTg+9vLTi//leUl5vDQS6uii/emeTb2ssY7vl6QWf2fFbIIGjnhjvbdKlU0ed7QPgY1htTC86jQ==\n\nyocto-queue@^0.1.0:\n version \"0.1.0\"\n resolved \"https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b\"\n integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==\n")), + is_dir: false + }, + TemplateFile { + path: String::from("/anchor_workspace/Cargo.lock.hbs"), + content: Content::String(String::from("# This file is automatically @generated by Cargo.\n# It is not intended for manual editing.\nversion = 3\n\n[[package]]\nname = \"ahash\"\nversion = \"0.7.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47\"\ndependencies = [\n \"getrandom 0.2.8\",\n \"once_cell\",\n \"version_check\",\n]\n\n[[package]]\nname = \"aho-corasick\"\nversion = \"0.7.20\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac\"\ndependencies = [\n \"memchr\",\n]\n\n[[package]]\nname = \"anchor-attribute-access-control\"\nversion = \"0.25.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"70f6ee9518f50ff4d434471ccf569186022bdd5ef65a21d14da3ea5231af944f\"\ndependencies = [\n \"anchor-syn\",\n \"anyhow\",\n \"proc-macro2\",\n \"quote\",\n \"regex\",\n \"syn\",\n]\n\n[[package]]\nname = \"anchor-attribute-account\"\nversion = \"0.25.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"32c92bcf5388b52676d990f85bbfd838a8f5672393135063a50dc79b2b837c79\"\ndependencies = [\n \"anchor-syn\",\n \"anyhow\",\n \"bs58 0.4.0\",\n \"proc-macro2\",\n \"quote\",\n \"rustversion\",\n \"syn\",\n]\n\n[[package]]\nname = \"anchor-attribute-constant\"\nversion = \"0.25.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0844974ac35e8ced62056b0d63777ebcdc5807438b8b189c881e2b647450b70a\"\ndependencies = [\n \"anchor-syn\",\n \"proc-macro2\",\n \"syn\",\n]\n\n[[package]]\nname = \"anchor-attribute-error\"\nversion = \"0.25.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0f7467345e67a6f1d4b862b9763a4160ad89d18c247b8c902807768f7b6e23df\"\ndependencies = [\n \"anchor-syn\",\n \"proc-macro2\",\n \"quote\",\n \"syn\",\n]\n\n[[package]]\nname = \"anchor-attribute-event\"\nversion = \"0.25.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8774e4c1ac71f71a5aea7e4932fb69c30e3b8155c4fa59fd69401195434528a9\"\ndependencies = [\n \"anchor-syn\",\n \"anyhow\",\n \"proc-macro2\",\n \"quote\",\n \"syn\",\n]\n\n[[package]]\nname = \"anchor-attribute-interface\"\nversion = \"0.25.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"90eeb6e1c80f9f94fcef93a52813f6472186200e275e83cb3fac92b801de92f7\"\ndependencies = [\n \"anchor-syn\",\n \"anyhow\",\n \"heck\",\n \"proc-macro2\",\n \"quote\",\n \"syn\",\n]\n\n[[package]]\nname = \"anchor-attribute-program\"\nversion = \"0.25.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ac515a7a5a4fea7fc768b1cec40ddb948e148ea657637c75f94f283212326cb9\"\ndependencies = [\n \"anchor-syn\",\n \"anyhow\",\n \"proc-macro2\",\n \"quote\",\n \"syn\",\n]\n\n[[package]]\nname = \"anchor-attribute-state\"\nversion = \"0.25.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"43dc667b62ff71450f19dcfcc37b0c408fd4ddd89e8650368c2b0984b110603f\"\ndependencies = [\n \"anchor-syn\",\n \"anyhow\",\n \"proc-macro2\",\n \"quote\",\n \"syn\",\n]\n\n[[package]]\nname = \"anchor-derive-accounts\"\nversion = \"0.25.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7354d583a06701d24800a8ec4c2b0491f62581a331af349205e23421e0b56643\"\ndependencies = [\n \"anchor-syn\",\n \"anyhow\",\n \"proc-macro2\",\n \"quote\",\n \"syn\",\n]\n\n[[package]]\nname = \"anchor-lang\"\nversion = \"0.25.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ff5f57ec5e12fa6874b27f3d5c1f6f44302d3ad86c1266197ff7611bf6f5d251\"\ndependencies = [\n \"anchor-attribute-access-control\",\n \"anchor-attribute-account\",\n \"anchor-attribute-constant\",\n \"anchor-attribute-error\",\n \"anchor-attribute-event\",\n \"anchor-attribute-interface\",\n \"anchor-attribute-program\",\n \"anchor-attribute-state\",\n \"anchor-derive-accounts\",\n \"arrayref\",\n \"base64 0.13.1\",\n \"bincode\",\n \"borsh\",\n \"bytemuck\",\n \"solana-program\",\n \"thiserror\",\n]\n\n[[package]]\nname = \"anchor-syn\"\nversion = \"0.25.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"55aa1e680d9471342122ed5b6bc13bf5da473b0f7e4677d41a6954e5cc8ad155\"\ndependencies = [\n \"anyhow\",\n \"bs58 0.3.1\",\n \"heck\",\n \"proc-macro2\",\n \"proc-macro2-diagnostics\",\n \"quote\",\n \"serde\",\n \"serde_json\",\n \"sha2 0.9.9\",\n \"syn\",\n \"thiserror\",\n]\n\n[[package]]\nname = \"anyhow\"\nversion = \"1.0.69\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"224afbd727c3d6e4b90103ece64b8d1b67fbb1973b1046c2281eed3f3803f800\"\n\n[[package]]\nname = \"arrayref\"\nversion = \"0.3.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544\"\n\n[[package]]\nname = \"arrayvec\"\nversion = \"0.7.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6\"\n\n[[package]]\nname = \"autocfg\"\nversion = \"1.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa\"\n\n[[package]]\nname = \"base64\"\nversion = \"0.12.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff\"\n\n[[package]]\nname = \"base64\"\nversion = \"0.13.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8\"\n\n[[package]]\nname = \"bincode\"\nversion = \"1.3.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad\"\ndependencies = [\n \"serde\",\n]\n\n[[package]]\nname = \"bitflags\"\nversion = \"1.3.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a\"\n\n[[package]]\nname = \"bitmaps\"\nversion = \"2.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"031043d04099746d8db04daf1fa424b2bc8bd69d92b25962dcde24da39ab64a2\"\ndependencies = [\n \"typenum\",\n]\n\n[[package]]\nname = \"blake3\"\nversion = \"1.3.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"42ae2468a89544a466886840aa467a25b766499f4f04bf7d9fcd10ecee9fccef\"\ndependencies = [\n \"arrayref\",\n \"arrayvec\",\n \"cc\",\n \"cfg-if\",\n \"constant_time_eq\",\n \"digest 0.10.6\",\n]\n\n[[package]]\nname = \"block-buffer\"\nversion = \"0.9.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4\"\ndependencies = [\n \"generic-array\",\n]\n\n[[package]]\nname = \"block-buffer\"\nversion = \"0.10.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e\"\ndependencies = [\n \"generic-array\",\n]\n\n[[package]]\nname = \"borsh\"\nversion = \"0.9.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"15bf3650200d8bffa99015595e10f1fbd17de07abbc25bb067da79e769939bfa\"\ndependencies = [\n \"borsh-derive\",\n \"hashbrown\",\n]\n\n[[package]]\nname = \"borsh-derive\"\nversion = \"0.9.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6441c552f230375d18e3cc377677914d2ca2b0d36e52129fe15450a2dce46775\"\ndependencies = [\n \"borsh-derive-internal\",\n \"borsh-schema-derive-internal\",\n \"proc-macro-crate\",\n \"proc-macro2\",\n \"syn\",\n]\n\n[[package]]\nname = \"borsh-derive-internal\"\nversion = \"0.9.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5449c28a7b352f2d1e592a8a28bf139bc71afb0764a14f3c02500935d8c44065\"\ndependencies = [\n \"proc-macro2\",\n \"quote\",\n \"syn\",\n]\n\n[[package]]\nname = \"borsh-schema-derive-internal\"\nversion = \"0.9.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"cdbd5696d8bfa21d53d9fe39a714a18538bad11492a42d066dbbc395fb1951c0\"\ndependencies = [\n \"proc-macro2\",\n \"quote\",\n \"syn\",\n]\n\n[[package]]\nname = \"bs58\"\nversion = \"0.3.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"476e9cd489f9e121e02ffa6014a8ef220ecb15c05ed23fc34cca13925dc283fb\"\n\n[[package]]\nname = \"bs58\"\nversion = \"0.4.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3\"\n\n[[package]]\nname = \"bumpalo\"\nversion = \"3.12.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535\"\n\n[[package]]\nname = \"bv\"\nversion = \"0.11.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8834bb1d8ee5dc048ee3124f2c7c1afcc6bc9aed03f11e9dfd8c69470a5db340\"\ndependencies = [\n \"feature-probe\",\n \"serde\",\n]\n\n[[package]]\nname = \"bytemuck\"\nversion = \"1.13.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c041d3eab048880cb0b86b256447da3f18859a163c3b8d8893f4e6368abe6393\"\ndependencies = [\n \"bytemuck_derive\",\n]\n\n[[package]]\nname = \"bytemuck_derive\"\nversion = \"1.4.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1aca418a974d83d40a0c1f0c5cba6ff4bc28d8df099109ca459a2118d40b6322\"\ndependencies = [\n \"proc-macro2\",\n \"quote\",\n \"syn\",\n]\n\n[[package]]\nname = \"byteorder\"\nversion = \"1.4.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610\"\n\n[[package]]\nname = \"cc\"\nversion = \"1.0.79\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f\"\n\n[[package]]\nname = \"cfg-if\"\nversion = \"1.0.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd\"\n\n[[package]]\nname = \"console_error_panic_hook\"\nversion = \"0.1.7\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc\"\ndependencies = [\n \"cfg-if\",\n \"wasm-bindgen\",\n]\n\n[[package]]\nname = \"console_log\"\nversion = \"0.2.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"501a375961cef1a0d44767200e66e4a559283097e91d0730b1d75dfb2f8a1494\"\ndependencies = [\n \"log\",\n \"web-sys\",\n]\n\n[[package]]\nname = \"constant_time_eq\"\nversion = \"0.2.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f3ad85c1f65dc7b37604eb0e89748faf0b9653065f2a8ef69f96a687ec1e9279\"\n\n[[package]]\nname = \"cpufeatures\"\nversion = \"0.2.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320\"\ndependencies = [\n \"libc\",\n]\n\n[[package]]\nname = \"crossbeam-channel\"\nversion = \"0.5.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521\"\ndependencies = [\n \"cfg-if\",\n \"crossbeam-utils\",\n]\n\n[[package]]\nname = \"crossbeam-deque\"\nversion = \"0.8.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc\"\ndependencies = [\n \"cfg-if\",\n \"crossbeam-epoch\",\n \"crossbeam-utils\",\n]\n\n[[package]]\nname = \"crossbeam-epoch\"\nversion = \"0.9.13\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"01a9af1f4c2ef74bb8aa1f7e19706bc72d03598c8a570bb5de72243c7a9d9d5a\"\ndependencies = [\n \"autocfg\",\n \"cfg-if\",\n \"crossbeam-utils\",\n \"memoffset\",\n \"scopeguard\",\n]\n\n[[package]]\nname = \"crossbeam-utils\"\nversion = \"0.8.14\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4fb766fa798726286dbbb842f174001dab8abc7b627a1dd86e0b7222a95d929f\"\ndependencies = [\n \"cfg-if\",\n]\n\n[[package]]\nname = \"crunchy\"\nversion = \"0.2.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7\"\n\n[[package]]\nname = \"crypto-common\"\nversion = \"0.1.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3\"\ndependencies = [\n \"generic-array\",\n \"typenum\",\n]\n\n[[package]]\nname = \"crypto-mac\"\nversion = \"0.8.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab\"\ndependencies = [\n \"generic-array\",\n \"subtle\",\n]\n\n[[package]]\nname = \"curve25519-dalek\"\nversion = \"3.2.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"90f9d052967f590a76e62eb387bd0bbb1b000182c3cefe5364db6b7211651bc0\"\ndependencies = [\n \"byteorder\",\n \"digest 0.9.0\",\n \"rand_core 0.5.1\",\n \"subtle\",\n \"zeroize\",\n]\n\n[[package]]\nname = \"digest\"\nversion = \"0.9.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066\"\ndependencies = [\n \"generic-array\",\n]\n\n[[package]]\nname = \"digest\"\nversion = \"0.10.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f\"\ndependencies = [\n \"block-buffer 0.10.3\",\n \"crypto-common\",\n \"subtle\",\n]\n\n[[package]]\nname = \"either\"\nversion = \"1.8.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91\"\n\n[[package]]\nname = \"empty\"\nversion = \"0.1.0\"\ndependencies = [\n \"anchor-lang\",\n]\n\n[[package]]\nname = \"feature-probe\"\nversion = \"0.1.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"835a3dc7d1ec9e75e2b5fb4ba75396837112d2060b03f7d43bc1897c7f7211da\"\n\n[[package]]\nname = \"generic-array\"\nversion = \"0.14.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9\"\ndependencies = [\n \"serde\",\n \"typenum\",\n \"version_check\",\n]\n\n[[package]]\nname = \"getrandom\"\nversion = \"0.1.16\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce\"\ndependencies = [\n \"cfg-if\",\n \"js-sys\",\n \"libc\",\n \"wasi 0.9.0+wasi-snapshot-preview1\",\n \"wasm-bindgen\",\n]\n\n[[package]]\nname = \"getrandom\"\nversion = \"0.2.8\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31\"\ndependencies = [\n \"cfg-if\",\n \"libc\",\n \"wasi 0.11.0+wasi-snapshot-preview1\",\n]\n\n[[package]]\nname = \"hashbrown\"\nversion = \"0.11.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e\"\ndependencies = [\n \"ahash\",\n]\n\n[[package]]\nname = \"heck\"\nversion = \"0.3.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c\"\ndependencies = [\n \"unicode-segmentation\",\n]\n\n[[package]]\nname = \"hermit-abi\"\nversion = \"0.2.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7\"\ndependencies = [\n \"libc\",\n]\n\n[[package]]\nname = \"hmac\"\nversion = \"0.8.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840\"\ndependencies = [\n \"crypto-mac\",\n \"digest 0.9.0\",\n]\n\n[[package]]\nname = \"hmac-drbg\"\nversion = \"0.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"17ea0a1394df5b6574da6e0c1ade9e78868c9fb0a4e5ef4428e32da4676b85b1\"\ndependencies = [\n \"digest 0.9.0\",\n \"generic-array\",\n \"hmac\",\n]\n\n[[package]]\nname = \"im\"\nversion = \"15.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d0acd33ff0285af998aaf9b57342af478078f53492322fafc47450e09397e0e9\"\ndependencies = [\n \"bitmaps\",\n \"rand_core 0.6.4\",\n \"rand_xoshiro\",\n \"rayon\",\n \"serde\",\n \"sized-chunks\",\n \"typenum\",\n \"version_check\",\n]\n\n[[package]]\nname = \"itertools\"\nversion = \"0.10.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473\"\ndependencies = [\n \"either\",\n]\n\n[[package]]\nname = \"itoa\"\nversion = \"1.0.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440\"\n\n[[package]]\nname = \"js-sys\"\nversion = \"0.3.61\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730\"\ndependencies = [\n \"wasm-bindgen\",\n]\n\n[[package]]\nname = \"keccak\"\nversion = \"0.1.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3afef3b6eff9ce9d8ff9b3601125eec7f0c8cbac7abd14f355d053fa56c98768\"\ndependencies = [\n \"cpufeatures\",\n]\n\n[[package]]\nname = \"lazy_static\"\nversion = \"1.4.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646\"\n\n[[package]]\nname = \"libc\"\nversion = \"0.2.139\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79\"\n\n[[package]]\nname = \"libsecp256k1\"\nversion = \"0.6.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c9d220bc1feda2ac231cb78c3d26f27676b8cf82c96971f7aeef3d0cf2797c73\"\ndependencies = [\n \"arrayref\",\n \"base64 0.12.3\",\n \"digest 0.9.0\",\n \"hmac-drbg\",\n \"libsecp256k1-core\",\n \"libsecp256k1-gen-ecmult\",\n \"libsecp256k1-gen-genmult\",\n \"rand\",\n \"serde\",\n \"sha2 0.9.9\",\n \"typenum\",\n]\n\n[[package]]\nname = \"libsecp256k1-core\"\nversion = \"0.2.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d0f6ab710cec28cef759c5f18671a27dae2a5f952cdaaee1d8e2908cb2478a80\"\ndependencies = [\n \"crunchy\",\n \"digest 0.9.0\",\n \"subtle\",\n]\n\n[[package]]\nname = \"libsecp256k1-gen-ecmult\"\nversion = \"0.2.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ccab96b584d38fac86a83f07e659f0deafd0253dc096dab5a36d53efe653c5c3\"\ndependencies = [\n \"libsecp256k1-core\",\n]\n\n[[package]]\nname = \"libsecp256k1-gen-genmult\"\nversion = \"0.2.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"67abfe149395e3aa1c48a2beb32b068e2334402df8181f818d3aee2b304c4f5d\"\ndependencies = [\n \"libsecp256k1-core\",\n]\n\n[[package]]\nname = \"lock_api\"\nversion = \"0.4.9\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df\"\ndependencies = [\n \"autocfg\",\n \"scopeguard\",\n]\n\n[[package]]\nname = \"log\"\nversion = \"0.4.17\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e\"\ndependencies = [\n \"cfg-if\",\n]\n\n[[package]]\nname = \"memchr\"\nversion = \"2.5.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d\"\n\n[[package]]\nname = \"memmap2\"\nversion = \"0.5.9\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"2af2c65375e552a67fe3829ca63e8a7c27a378a62824594f43b2851d682b5ec2\"\ndependencies = [\n \"libc\",\n]\n\n[[package]]\nname = \"memoffset\"\nversion = \"0.7.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4\"\ndependencies = [\n \"autocfg\",\n]\n\n[[package]]\nname = \"num-derive\"\nversion = \"0.3.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d\"\ndependencies = [\n \"proc-macro2\",\n \"quote\",\n \"syn\",\n]\n\n[[package]]\nname = \"num-traits\"\nversion = \"0.2.15\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd\"\ndependencies = [\n \"autocfg\",\n]\n\n[[package]]\nname = \"num_cpus\"\nversion = \"1.15.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b\"\ndependencies = [\n \"hermit-abi\",\n \"libc\",\n]\n\n[[package]]\nname = \"once_cell\"\nversion = \"1.17.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3\"\n\n[[package]]\nname = \"opaque-debug\"\nversion = \"0.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5\"\n\n[[package]]\nname = \"parking_lot\"\nversion = \"0.12.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f\"\ndependencies = [\n \"lock_api\",\n \"parking_lot_core\",\n]\n\n[[package]]\nname = \"parking_lot_core\"\nversion = \"0.9.7\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521\"\ndependencies = [\n \"cfg-if\",\n \"libc\",\n \"redox_syscall\",\n \"smallvec\",\n \"windows-sys\",\n]\n\n[[package]]\nname = \"ppv-lite86\"\nversion = \"0.2.17\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de\"\n\n[[package]]\nname = \"proc-macro-crate\"\nversion = \"0.1.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785\"\ndependencies = [\n \"toml\",\n]\n\n[[package]]\nname = \"proc-macro2\"\nversion = \"1.0.51\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6\"\ndependencies = [\n \"unicode-ident\",\n]\n\n[[package]]\nname = \"proc-macro2-diagnostics\"\nversion = \"0.9.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4bf29726d67464d49fa6224a1d07936a8c08bb3fba727c7493f6cf1616fdaada\"\ndependencies = [\n \"proc-macro2\",\n \"quote\",\n \"syn\",\n \"version_check\",\n \"yansi\",\n]\n\n[[package]]\nname = \"quote\"\nversion = \"1.0.23\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b\"\ndependencies = [\n \"proc-macro2\",\n]\n\n[[package]]\nname = \"rand\"\nversion = \"0.7.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03\"\ndependencies = [\n \"getrandom 0.1.16\",\n \"libc\",\n \"rand_chacha\",\n \"rand_core 0.5.1\",\n \"rand_hc\",\n]\n\n[[package]]\nname = \"rand_chacha\"\nversion = \"0.2.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402\"\ndependencies = [\n \"ppv-lite86\",\n \"rand_core 0.5.1\",\n]\n\n[[package]]\nname = \"rand_core\"\nversion = \"0.5.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19\"\ndependencies = [\n \"getrandom 0.1.16\",\n]\n\n[[package]]\nname = \"rand_core\"\nversion = \"0.6.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c\"\n\n[[package]]\nname = \"rand_hc\"\nversion = \"0.2.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c\"\ndependencies = [\n \"rand_core 0.5.1\",\n]\n\n[[package]]\nname = \"rand_xoshiro\"\nversion = \"0.6.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa\"\ndependencies = [\n \"rand_core 0.6.4\",\n]\n\n[[package]]\nname = \"rayon\"\nversion = \"1.6.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6db3a213adf02b3bcfd2d3846bb41cb22857d131789e01df434fb7e7bc0759b7\"\ndependencies = [\n \"either\",\n \"rayon-core\",\n]\n\n[[package]]\nname = \"rayon-core\"\nversion = \"1.10.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"356a0625f1954f730c0201cdab48611198dc6ce21f4acff55089b5a78e6e835b\"\ndependencies = [\n \"crossbeam-channel\",\n \"crossbeam-deque\",\n \"crossbeam-utils\",\n \"num_cpus\",\n]\n\n[[package]]\nname = \"redox_syscall\"\nversion = \"0.2.16\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a\"\ndependencies = [\n \"bitflags\",\n]\n\n[[package]]\nname = \"regex\"\nversion = \"1.7.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733\"\ndependencies = [\n \"aho-corasick\",\n \"memchr\",\n \"regex-syntax\",\n]\n\n[[package]]\nname = \"regex-syntax\"\nversion = \"0.6.28\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848\"\n\n[[package]]\nname = \"rustc_version\"\nversion = \"0.4.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366\"\ndependencies = [\n \"semver\",\n]\n\n[[package]]\nname = \"rustversion\"\nversion = \"1.0.11\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"5583e89e108996506031660fe09baa5011b9dd0341b89029313006d1fb508d70\"\n\n[[package]]\nname = \"ryu\"\nversion = \"1.0.12\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde\"\n\n[[package]]\nname = \"scopeguard\"\nversion = \"1.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd\"\n\n[[package]]\nname = \"semver\"\nversion = \"1.0.16\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a\"\n\n[[package]]\nname = \"serde\"\nversion = \"1.0.152\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb\"\ndependencies = [\n \"serde_derive\",\n]\n\n[[package]]\nname = \"serde_bytes\"\nversion = \"0.11.9\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"416bda436f9aab92e02c8e10d49a15ddd339cea90b6e340fe51ed97abb548294\"\ndependencies = [\n \"serde\",\n]\n\n[[package]]\nname = \"serde_derive\"\nversion = \"1.0.152\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e\"\ndependencies = [\n \"proc-macro2\",\n \"quote\",\n \"syn\",\n]\n\n[[package]]\nname = \"serde_json\"\nversion = \"1.0.93\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"cad406b69c91885b5107daf2c29572f6c8cdb3c66826821e286c533490c0bc76\"\ndependencies = [\n \"itoa\",\n \"ryu\",\n \"serde\",\n]\n\n[[package]]\nname = \"sha2\"\nversion = \"0.9.9\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800\"\ndependencies = [\n \"block-buffer 0.9.0\",\n \"cfg-if\",\n \"cpufeatures\",\n \"digest 0.9.0\",\n \"opaque-debug\",\n]\n\n[[package]]\nname = \"sha2\"\nversion = \"0.10.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0\"\ndependencies = [\n \"cfg-if\",\n \"cpufeatures\",\n \"digest 0.10.6\",\n]\n\n[[package]]\nname = \"sha3\"\nversion = \"0.10.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bdf0c33fae925bdc080598b84bc15c55e7b9a4a43b3c704da051f977469691c9\"\ndependencies = [\n \"digest 0.10.6\",\n \"keccak\",\n]\n\n[[package]]\nname = \"sized-chunks\"\nversion = \"0.6.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"16d69225bde7a69b235da73377861095455d298f2b970996eec25ddbb42b3d1e\"\ndependencies = [\n \"bitmaps\",\n \"typenum\",\n]\n\n[[package]]\nname = \"smallvec\"\nversion = \"1.10.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0\"\n\n[[package]]\nname = \"solana-frozen-abi\"\nversion = \"1.10.41\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d343b3838e95561548a2a651787d17aebf0a3f490f193746ee58f174f65bd7c3\"\ndependencies = [\n \"bs58 0.4.0\",\n \"bv\",\n \"generic-array\",\n \"im\",\n \"lazy_static\",\n \"log\",\n \"memmap2\",\n \"rustc_version\",\n \"serde\",\n \"serde_bytes\",\n \"serde_derive\",\n \"sha2 0.10.6\",\n \"solana-frozen-abi-macro\",\n \"thiserror\",\n]\n\n[[package]]\nname = \"solana-frozen-abi-macro\"\nversion = \"1.10.41\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a37211ec8dff16b08fcb422807fa7f046bbc6417bc43e00a2f2effd8fafec6bc\"\ndependencies = [\n \"proc-macro2\",\n \"quote\",\n \"rustc_version\",\n \"syn\",\n]\n\n[[package]]\nname = \"solana-program\"\nversion = \"1.10.41\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f9622af117fe254208f1fe99a533ea523624d64745d6cffecd986da6753662ef\"\ndependencies = [\n \"base64 0.13.1\",\n \"bincode\",\n \"bitflags\",\n \"blake3\",\n \"borsh\",\n \"borsh-derive\",\n \"bs58 0.4.0\",\n \"bv\",\n \"bytemuck\",\n \"console_error_panic_hook\",\n \"console_log\",\n \"curve25519-dalek\",\n \"getrandom 0.1.16\",\n \"itertools\",\n \"js-sys\",\n \"lazy_static\",\n \"libsecp256k1\",\n \"log\",\n \"num-derive\",\n \"num-traits\",\n \"parking_lot\",\n \"rand\",\n \"rustc_version\",\n \"rustversion\",\n \"serde\",\n \"serde_bytes\",\n \"serde_derive\",\n \"sha2 0.10.6\",\n \"sha3\",\n \"solana-frozen-abi\",\n \"solana-frozen-abi-macro\",\n \"solana-sdk-macro\",\n \"thiserror\",\n \"wasm-bindgen\",\n]\n\n[[package]]\nname = \"solana-sdk-macro\"\nversion = \"1.10.41\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8d036e3a52e5570114ec9ab56a1d0a6659e1ebd1c948605318b4e35eafca4515\"\ndependencies = [\n \"bs58 0.4.0\",\n \"proc-macro2\",\n \"quote\",\n \"rustversion\",\n \"syn\",\n]\n\n[[package]]\nname = \"subtle\"\nversion = \"2.4.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601\"\n\n[[package]]\nname = \"syn\"\nversion = \"1.0.107\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5\"\ndependencies = [\n \"proc-macro2\",\n \"quote\",\n \"unicode-ident\",\n]\n\n[[package]]\nname = \"thiserror\"\nversion = \"1.0.38\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0\"\ndependencies = [\n \"thiserror-impl\",\n]\n\n[[package]]\nname = \"thiserror-impl\"\nversion = \"1.0.38\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f\"\ndependencies = [\n \"proc-macro2\",\n \"quote\",\n \"syn\",\n]\n\n[[package]]\nname = \"toml\"\nversion = \"0.5.11\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234\"\ndependencies = [\n \"serde\",\n]\n\n[[package]]\nname = \"typenum\"\nversion = \"1.16.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba\"\n\n[[package]]\nname = \"unicode-ident\"\nversion = \"1.0.6\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc\"\n\n[[package]]\nname = \"unicode-segmentation\"\nversion = \"1.10.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36\"\n\n[[package]]\nname = \"version_check\"\nversion = \"0.9.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f\"\n\n[[package]]\nname = \"wasi\"\nversion = \"0.9.0+wasi-snapshot-preview1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519\"\n\n[[package]]\nname = \"wasi\"\nversion = \"0.11.0+wasi-snapshot-preview1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423\"\n\n[[package]]\nname = \"wasm-bindgen\"\nversion = \"0.2.84\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b\"\ndependencies = [\n \"cfg-if\",\n \"wasm-bindgen-macro\",\n]\n\n[[package]]\nname = \"wasm-bindgen-backend\"\nversion = \"0.2.84\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9\"\ndependencies = [\n \"bumpalo\",\n \"log\",\n \"once_cell\",\n \"proc-macro2\",\n \"quote\",\n \"syn\",\n \"wasm-bindgen-shared\",\n]\n\n[[package]]\nname = \"wasm-bindgen-macro\"\nversion = \"0.2.84\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5\"\ndependencies = [\n \"quote\",\n \"wasm-bindgen-macro-support\",\n]\n\n[[package]]\nname = \"wasm-bindgen-macro-support\"\nversion = \"0.2.84\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6\"\ndependencies = [\n \"proc-macro2\",\n \"quote\",\n \"syn\",\n \"wasm-bindgen-backend\",\n \"wasm-bindgen-shared\",\n]\n\n[[package]]\nname = \"wasm-bindgen-shared\"\nversion = \"0.2.84\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d\"\n\n[[package]]\nname = \"web-sys\"\nversion = \"0.3.61\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97\"\ndependencies = [\n \"js-sys\",\n \"wasm-bindgen\",\n]\n\n[[package]]\nname = \"windows-sys\"\nversion = \"0.45.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0\"\ndependencies = [\n \"windows-targets\",\n]\n\n[[package]]\nname = \"windows-targets\"\nversion = \"0.42.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7\"\ndependencies = [\n \"windows_aarch64_gnullvm\",\n \"windows_aarch64_msvc\",\n \"windows_i686_gnu\",\n \"windows_i686_msvc\",\n \"windows_x86_64_gnu\",\n \"windows_x86_64_gnullvm\",\n \"windows_x86_64_msvc\",\n]\n\n[[package]]\nname = \"windows_aarch64_gnullvm\"\nversion = \"0.42.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608\"\n\n[[package]]\nname = \"windows_aarch64_msvc\"\nversion = \"0.42.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7\"\n\n[[package]]\nname = \"windows_i686_gnu\"\nversion = \"0.42.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640\"\n\n[[package]]\nname = \"windows_i686_msvc\"\nversion = \"0.42.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605\"\n\n[[package]]\nname = \"windows_x86_64_gnu\"\nversion = \"0.42.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45\"\n\n[[package]]\nname = \"windows_x86_64_gnullvm\"\nversion = \"0.42.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463\"\n\n[[package]]\nname = \"windows_x86_64_msvc\"\nversion = \"0.42.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd\"\n\n[[package]]\nname = \"yansi\"\nversion = \"0.5.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec\"\n\n[[package]]\nname = \"zeroize\"\nversion = \"1.3.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4756f7db3f7b5574938c3eb1c117038b8e07f95ee6718c0efad4ac21508f1efd\"\n")), + is_dir: false + }, + TemplateFile { + path: String::from("/anchor_workspace/programs"), + content: Content::String(String::from("")), + is_dir: true + }, + TemplateFile { + path: String::from("/anchor_workspace/programs/{{name}}"), + content: Content::String(String::from("")), + is_dir: true + }, + TemplateFile { + path: String::from("/anchor_workspace/programs/{{name}}/Cargo.toml.hbs"), + content: Content::String(String::from("[package]\nname = \"{{name}}\"\nversion = \"0.1.0\"\ndescription = \"Created with soda\"\nedition = \"2021\"\n\n[lib]\ncrate-type = [\"cdylib\", \"lib\"]\nname = \"{{name}}\"\n\n[features]\nno-entrypoint = []\nno-idl = []\nno-log-ix-name = []\ncpi = [\"no-entrypoint\"]\ndefault = []\n\n[dependencies]\nanchor-lang = \"0.26.0\"\n")), + is_dir: false + }, + TemplateFile { + path: String::from("/anchor_workspace/programs/{{name}}/Xargo.toml.hbs"), + content: Content::String(String::from("[target.bpfel-unknown-unknown.dependencies.std]\nfeatures = []\n")), + is_dir: false + }, + TemplateFile { + path: String::from("/anchor_workspace/programs/{{name}}/src"), + content: Content::String(String::from("")), + is_dir: true + }, + TemplateFile { + path: String::from("/anchor_workspace/programs/{{name}}/src/lib.rs.hbs"), + content: Content::String(String::from("use anchor_lang::prelude::*;\n\ndeclare_id!(\"Fg6PaFpoGXkYsidMpWTK6W2BeZ7FEfcYkg476zPFsLnS\");\n\n#[program]\npub mod {{name}} {\n use super::*;\n\n // Instructions\n {{#each instructions}}\n pub fn {{snakecase this.name}}(ctx: Context<{{pascalcase this.name}}>) -> Result<()> {\n Ok(())\n }\n\n {{/each}}\n}\n\n// Context\n{{#each instructions}}\n#[derive(Accounts)]\npub struct {{pascalcase this.name}}<'info> {\n {{#each this.accounts}}\n #[account(mut)]\n pub {{this.name}}: AccountInfo<'info>,\n {{/each}}\n}\n\n{{/each}}\n// Accounts\n{{#each accounts}}\n#[account]\npub struct {{this.name}} {\n {{#each this.type.fields}}\n pub {{snakecase this.name}}: {{{type_from_account_field this.type}}},\n {{/each}}\n}\n\n{{/each}}\n// Additional structures\n{{#each types}}\n#[derive(Debug, Clone, AnchorSerialize, AnchorDeserialize)]\npub struct {{this.name}} {\n {{#each this.type.fields}}\n pub {{this.name}}: {{this.type}},\n {{/each}}\n}\n\n{{/each}}\n// Events\n{{#each events}}\n#[event]\npub struct {{this.name}} {\n {{#each this.fields}}\n pub {{snakecase this.name}}: {{{type_from_account_field this.type}}},\n {{/each}}\n}\n\n{{/each}}\n// Errors\n#[error_code]\npub enum ErrorCode {\n {{#each errors}}\n #[msg(\"{{{this.msg}}}\")]\n {{this.name}},\n {{/each}}\n}\n")), + is_dir: false + }, + TemplateFile { + path: String::from("/anchor_workspace/.gitignore.hbs"), + content: Content::String(String::from("\n.anchor\n.DS_Store\ntarget\n**/*.rs.bk\nnode_modules\ntest-ledger\n")), + is_dir: false + }, + TemplateFile { + path: String::from("/anchor_workspace/tsconfig.json.hbs"), + content: Content::String(String::from("{\n \"compilerOptions\": {\n \"types\": [\"mocha\", \"chai\"],\n \"typeRoots\": [\"./node_modules/@types\"],\n \"lib\": [\"es2015\"],\n \"module\": \"commonjs\",\n \"target\": \"es6\",\n \"esModuleInterop\": true\n }\n}\n")), + is_dir: false + }, + TemplateFile { + path: String::from("/tests"), + content: Content::String(String::from("")), + is_dir: true + }, + TemplateFile { + path: String::from("/tests/idl.json.hbs"), + content: Content::String(String::from("{{{debug_idl this}}}")), + is_dir: false + }, + TemplateFile { + path: String::from("/tests/tests.js.hbs"), + content: Content::String(String::from("import * as anchor from \"@project-serum/anchor\";\nimport { expect } from 'chai';\n\n// Configure the client to use the local cluster.\nconst provider = anchor.AnchorProvider.env();\nanchor.setProvider(provider);\nconst program = anchor.workspace.{{pascalcase name}};\n\ndescribe('tests', async () => {\n\n {{#each instructions}}\n it('{{name}}', async () => {\n\n // args\n {{#each args}}\n const {{name}} = {{#if (eq type \"string\")}}\"\"{{else}}0{{/if}}; //{{type}}\n {{/each}}\n\n // accounts\n {{#each accounts}}\n {{#if (eq name \"systemProgram\")}}{{else}}const {{name}}Account = null;\n{{/if}}{{/each}}\n const tx = await program.methods\n .{{name}}({{#each args}}{{name}},{{/each}})\n .accounts({\n {{#each accounts}}\n {{#if (eq name \"systemProgram\")}}\n {{name}}: anchor.web3.SystemProgram.programId,\n {{else}}\n {{name}}: {{name}}Account,\n {{/if}}\n {{/each}}\n })\n .rpc();\n\n expect(tx).to.have.lengthOf.greaterThan(0);\n });\n\n {{/each}}\n});\n")), + is_dir: false + }, + TemplateFile { + path: String::from("/client"), + content: Content::String(String::from("")), + is_dir: true + }, + TemplateFile { + path: String::from("/client/manifest.json.hbs"), + content: Content::String(String::from("{\n \"name\": \"{{name}}\",\n \"short_name\": \"{{name}}\",\n \"display\": \"standalone\",\n \"start_url\": \"./\",\n \"theme_color\": \"#000000\",\n \"background_color\": \"#ffffff\",\n \"icons\": [\n {\n \"src\": \"icons/icon-192x192.png\",\n \"sizes\": \"192x192\"\n },\n {\n \"src\": \"icons/icon-128x128.png\",\n \"sizes\": \"128x128\"\n },\n {\n \"src\": \"icons/icon-512x512.png\",\n \"sizes\": \"512x512\"\n }\n ]\n}\n")), + is_dir: false + }, + TemplateFile { + path: String::from("/client/next.config.js.hbs"), + content: Content::String(String::from("/** @type {import('next').NextConfig} */\nconst withPlugins = require(\"next-compose-plugins\");\n\n/** eslint-disable @typescript-eslint/no-var-requires */\nconst withTM = require(\"next-transpile-modules\")([\n \"@solana/wallet-adapter-base\",\n \"@solana/wallet-adapter-phantom\",\n \"@solana/wallet-adapter-react\",\n \"@solana/wallet-adapter-solflare\",\n \"@solana/wallet-adapter-wallets\",\n]);\n\nconst plugins = [\n [\n withTM,\n {\n webpack5: true,\n reactStrictMode: true,\n },\n ],\n];\n\nconst nextConfig = {\n swcMinify: true,\n webpack: (config, { isServer }) => {\n if (!isServer) {\n config.resolve.fallback.fs = false;\n }\n return config;\n },\n};\n\nmodule.exports = withPlugins(plugins, nextConfig);\n")), + is_dir: false + }, + TemplateFile { + path: String::from("/client/next-env.d.ts.hbs"), + content: Content::String(String::from("/// \n/// \n\n// NOTE: This file should not be edited\n// see https://nextjs.org/docs/basic-features/typescript for more information.\n")), + is_dir: false + }, + TemplateFile { + path: String::from("/client/package.json.hbs"), + content: Content::String(String::from("{\n \"name\": \"{{name}}\",\n \"version\": \"0.1.0\",\n \"private\": true,\n \"scripts\": {\n \"dev\": \"next dev\",\n \"build\": \"next build\",\n \"start\": \"next start\",\n \"lint\": \"next lint --fix\"\n },\n \"dependencies\": {\n \"@project-serum/anchor\": \"^0.25.0\",\n \"@solana/wallet-adapter-base\": \"^0.7.0\",\n \"@solana/wallet-adapter-phantom\": \"^0.7.0\",\n \"@solana/wallet-adapter-react\": \"^0.13.1\",\n \"@solana/wallet-adapter-react-ui\": \"^0.6.0\",\n \"@solana/wallet-adapter-solflare\": \"^0.4.0\",\n \"@solana/wallet-adapter-sollet\": \"^0.8.0\",\n \"@solana/wallet-adapter-wallets\": \"^0.11.3\",\n \"next\": \"12.1.0\",\n \"next-compose-plugins\": \"^2.2.1\",\n \"next-transpile-modules\": \"^9.0.0\",\n \"react\": \"17.0.2\",\n \"react-dom\": \"17.0.2\"\n },\n \"devDependencies\": {\n \"@types/react\": \"17.0.34\",\n \"autoprefixer\": \"^10.4.5\",\n \"eslint\": \"7\",\n \"eslint-config-next\": \"12.0.3\",\n \"postcss\": \"^8.4.12\",\n \"tailwindcss\": \"^3.0.24\",\n \"typescript\": \"4.4.4\"\n }\n}\n")), + is_dir: false + }, + TemplateFile { + path: String::from("/client/yarn.lock.hbs"), + content: Content::String(String::from("# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.\n# yarn lockfile v1\n\n\n\"@babel/code-frame@7.12.11\":\n version \"7.12.11\"\n resolved \"https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f\"\n integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==\n dependencies:\n \"@babel/highlight\" \"^7.10.4\"\n\n\"@babel/helper-validator-identifier@^7.18.6\":\n version \"7.19.1\"\n resolved \"https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2\"\n integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==\n\n\"@babel/highlight@^7.10.4\":\n version \"7.18.6\"\n resolved \"https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf\"\n integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==\n dependencies:\n \"@babel/helper-validator-identifier\" \"^7.18.6\"\n chalk \"^2.0.0\"\n js-tokens \"^4.0.0\"\n\n\"@babel/runtime@^7.12.5\", \"@babel/runtime@^7.17.2\", \"@babel/runtime@^7.20.7\":\n version \"7.21.0\"\n resolved \"https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.21.0.tgz#5b55c9d394e5fcf304909a8b00c07dc217b56673\"\n integrity sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==\n dependencies:\n regenerator-runtime \"^0.13.11\"\n\n\"@blocto/sdk@^0.2.16\":\n version \"0.2.22\"\n resolved \"https://registry.yarnpkg.com/@blocto/sdk/-/sdk-0.2.22.tgz#c7fe62809de0640a0a3f7a043c5bbceb8be17e38\"\n integrity sha512-Ro1AiISSlOiri/It932NEFxnDuF83Ide+z0p3KHs5+CdYYLYgCMmyroQnfRtoh3mbXdrTvI+EAuSkr+meWNqrg==\n dependencies:\n bs58 \"^4.0.1\"\n buffer \"^6.0.3\"\n eip1193-provider \"^1.0.1\"\n js-sha3 \"^0.8.0\"\n\n\"@eslint/eslintrc@^0.4.3\":\n version \"0.4.3\"\n resolved \"https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c\"\n integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==\n dependencies:\n ajv \"^6.12.4\"\n debug \"^4.1.1\"\n espree \"^7.3.0\"\n globals \"^13.9.0\"\n ignore \"^4.0.6\"\n import-fresh \"^3.2.1\"\n js-yaml \"^3.13.1\"\n minimatch \"^3.0.4\"\n strip-json-comments \"^3.1.1\"\n\n\"@humanwhocodes/config-array@^0.5.0\":\n version \"0.5.0\"\n resolved \"https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9\"\n integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==\n dependencies:\n \"@humanwhocodes/object-schema\" \"^1.2.0\"\n debug \"^4.1.1\"\n minimatch \"^3.0.4\"\n\n\"@humanwhocodes/object-schema@^1.2.0\":\n version \"1.2.1\"\n resolved \"https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45\"\n integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==\n\n\"@json-rpc-tools/provider@^1.5.5\":\n version \"1.7.6\"\n resolved \"https://registry.yarnpkg.com/@json-rpc-tools/provider/-/provider-1.7.6.tgz#8a17c34c493fa892632e278fd9331104e8491ec6\"\n integrity sha512-z7D3xvJ33UfCGv77n40lbzOYjZKVM3k2+5cV7xS8G6SCvKTzMkhkUYuD/qzQUNT4cG/lv0e9mRToweEEVLVVmA==\n dependencies:\n \"@json-rpc-tools/utils\" \"^1.7.6\"\n axios \"^0.21.0\"\n safe-json-utils \"^1.1.1\"\n ws \"^7.4.0\"\n\n\"@json-rpc-tools/types@^1.7.6\":\n version \"1.7.6\"\n resolved \"https://registry.yarnpkg.com/@json-rpc-tools/types/-/types-1.7.6.tgz#5abd5fde01364a130c46093b501715bcce5bdc0e\"\n integrity sha512-nDSqmyRNEqEK9TZHtM15uNnDljczhCUdBmRhpNZ95bIPKEDQ+nTDmGMFd2lLin3upc5h2VVVd9tkTDdbXUhDIQ==\n dependencies:\n keyvaluestorage-interface \"^1.0.0\"\n\n\"@json-rpc-tools/utils@^1.7.6\":\n version \"1.7.6\"\n resolved \"https://registry.yarnpkg.com/@json-rpc-tools/utils/-/utils-1.7.6.tgz#67f04987dbaa2e7adb6adff1575367b75a9a9ba1\"\n integrity sha512-HjA8x/U/Q78HRRe19yh8HVKoZ+Iaoo3YZjakJYxR+rw52NHo6jM+VE9b8+7ygkCFXl/EHID5wh/MkXaE/jGyYw==\n dependencies:\n \"@json-rpc-tools/types\" \"^1.7.6\"\n \"@pedrouid/environment\" \"^1.0.1\"\n\n\"@ledgerhq/devices@^8.0.0\":\n version \"8.0.0\"\n resolved \"https://registry.yarnpkg.com/@ledgerhq/devices/-/devices-8.0.0.tgz#8fe9f9e442e28b7a20bcdf4c2eed06ce7b8f76ae\"\n integrity sha512-gSnRT0KPca+LIpaC6D/WZQjOAlSI5uCvK1dmxXtKhODLAj735rX5Z3SnGnLUavRCHNbUi44FzgvloF5BKTkh7A==\n dependencies:\n \"@ledgerhq/errors\" \"^6.12.3\"\n \"@ledgerhq/logs\" \"^6.10.1\"\n rxjs \"6\"\n semver \"^7.3.5\"\n\n\"@ledgerhq/errors@^6.12.3\":\n version \"6.12.3\"\n resolved \"https://registry.yarnpkg.com/@ledgerhq/errors/-/errors-6.12.3.tgz#a610caae1eeeb7cb038525e5212fe03217dda683\"\n integrity sha512-djiMSgB/7hnK3aLR/c5ZMMivxjcI7o2+y3VKcsZZpydPoVf9+FXqeJPRfOwmJ0JxbQ//LinUfWpIfHew8LkaVw==\n\n\"@ledgerhq/hw-transport-webhid@^6.7.0\":\n version \"6.27.12\"\n resolved \"https://registry.yarnpkg.com/@ledgerhq/hw-transport-webhid/-/hw-transport-webhid-6.27.12.tgz#dd5073c5da05c6c3234a76a6e44ed576fe198757\"\n integrity sha512-Yhy5dOKeJIU24Dh9xQjrStc++NviPjRSGHsbc1PeyEjgPEGc8q8wtvm7WFBDzmymBwMhIA5eoNj3fGLk/voXQQ==\n dependencies:\n \"@ledgerhq/devices\" \"^8.0.0\"\n \"@ledgerhq/errors\" \"^6.12.3\"\n \"@ledgerhq/hw-transport\" \"^6.28.1\"\n \"@ledgerhq/logs\" \"^6.10.1\"\n\n\"@ledgerhq/hw-transport@^6.28.1\", \"@ledgerhq/hw-transport@^6.7.0\":\n version \"6.28.1\"\n resolved \"https://registry.yarnpkg.com/@ledgerhq/hw-transport/-/hw-transport-6.28.1.tgz#cb22fe9bc23af4682c30f2aac7fe6f7ab13ed65a\"\n integrity sha512-RaZe+abn0zBIz82cE9tp7Y7aZkHWWbEaE2yJpfxT8AhFz3fx+BU0kLYzuRN9fmA7vKueNJ1MTVUCY+Ex9/CHSQ==\n dependencies:\n \"@ledgerhq/devices\" \"^8.0.0\"\n \"@ledgerhq/errors\" \"^6.12.3\"\n events \"^3.3.0\"\n\n\"@ledgerhq/logs@^6.10.1\":\n version \"6.10.1\"\n resolved \"https://registry.yarnpkg.com/@ledgerhq/logs/-/logs-6.10.1.tgz#5bd16082261d7364eabb511c788f00937dac588d\"\n integrity sha512-z+ILK8Q3y+nfUl43ctCPuR4Y2bIxk/ooCQFwZxhtci1EhAtMDzMAx2W25qx8G1PPL9UUOdnUax19+F0OjXoj4w==\n\n\"@next/env@12.1.0\":\n version \"12.1.0\"\n resolved \"https://registry.yarnpkg.com/@next/env/-/env-12.1.0.tgz#73713399399b34aa5a01771fb73272b55b22c314\"\n integrity sha512-nrIgY6t17FQ9xxwH3jj0a6EOiQ/WDHUos35Hghtr+SWN/ntHIQ7UpuvSi0vaLzZVHQWaDupKI+liO5vANcDeTQ==\n\n\"@next/eslint-plugin-next@12.0.3\":\n version \"12.0.3\"\n resolved \"https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-12.0.3.tgz#3945c251d551bacc3712d4a18d6ca56d2938f175\"\n integrity sha512-P7i+bMypneQcoRN+CX79xssvvIJCaw7Fndzbe7/lB0+LyRbVvGVyMUsFmLLbSxtZq4hvFMJ1p8wML/gsulMZWQ==\n dependencies:\n glob \"7.1.7\"\n\n\"@next/swc-android-arm64@12.1.0\":\n version \"12.1.0\"\n resolved \"https://registry.yarnpkg.com/@next/swc-android-arm64/-/swc-android-arm64-12.1.0.tgz#865ba3a9afc204ff2bdeea49dd64d58705007a39\"\n integrity sha512-/280MLdZe0W03stA69iL+v6I+J1ascrQ6FrXBlXGCsGzrfMaGr7fskMa0T5AhQIVQD4nA/46QQWxG//DYuFBcA==\n\n\"@next/swc-darwin-arm64@12.1.0\":\n version \"12.1.0\"\n resolved \"https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.1.0.tgz#08e8b411b8accd095009ed12efbc2f1d4d547135\"\n integrity sha512-R8vcXE2/iONJ1Unf5Ptqjk6LRW3bggH+8drNkkzH4FLEQkHtELhvcmJwkXcuipyQCsIakldAXhRbZmm3YN1vXg==\n\n\"@next/swc-darwin-x64@12.1.0\":\n version \"12.1.0\"\n resolved \"https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-12.1.0.tgz#fcd684497a76e8feaca88db3c394480ff0b007cd\"\n integrity sha512-ieAz0/J0PhmbZBB8+EA/JGdhRHBogF8BWaeqR7hwveb6SYEIJaDNQy0I+ZN8gF8hLj63bEDxJAs/cEhdnTq+ug==\n\n\"@next/swc-linux-arm-gnueabihf@12.1.0\":\n version \"12.1.0\"\n resolved \"https://registry.yarnpkg.com/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.1.0.tgz#9ec6380a27938a5799aaa6035c205b3c478468a7\"\n integrity sha512-njUd9hpl6o6A5d08dC0cKAgXKCzm5fFtgGe6i0eko8IAdtAPbtHxtpre3VeSxdZvuGFh+hb0REySQP9T1ttkog==\n\n\"@next/swc-linux-arm64-gnu@12.1.0\":\n version \"12.1.0\"\n resolved \"https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.1.0.tgz#7f4196dff1049cea479607c75b81033ae2dbd093\"\n integrity sha512-OqangJLkRxVxMhDtcb7Qn1xjzFA3s50EIxY7mljbSCLybU+sByPaWAHY4px97ieOlr2y4S0xdPKkQ3BCAwyo6Q==\n\n\"@next/swc-linux-arm64-musl@12.1.0\":\n version \"12.1.0\"\n resolved \"https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.1.0.tgz#b445f767569cdc2dddee785ca495e1a88c025566\"\n integrity sha512-hB8cLSt4GdmOpcwRe2UzI5UWn6HHO/vLkr5OTuNvCJ5xGDwpPXelVkYW/0+C3g5axbDW2Tym4S+MQCkkH9QfWA==\n\n\"@next/swc-linux-x64-gnu@12.1.0\":\n version \"12.1.0\"\n resolved \"https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.1.0.tgz#67610e9be4fbc987de7535f1bcb17e45fe12f90e\"\n integrity sha512-OKO4R/digvrVuweSw/uBM4nSdyzsBV5EwkUeeG4KVpkIZEe64ZwRpnFB65bC6hGwxIBnTv5NMSnJ+0K/WmG78A==\n\n\"@next/swc-linux-x64-musl@12.1.0\":\n version \"12.1.0\"\n resolved \"https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.1.0.tgz#ea19a23db08a9f2e34ac30401f774cf7d1669d31\"\n integrity sha512-JohhgAHZvOD3rQY7tlp7NlmvtvYHBYgY0x5ZCecUT6eCCcl9lv6iV3nfu82ErkxNk1H893fqH0FUpznZ/H3pSw==\n\n\"@next/swc-win32-arm64-msvc@12.1.0\":\n version \"12.1.0\"\n resolved \"https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.1.0.tgz#eadf054fc412085659b98e145435bbba200b5283\"\n integrity sha512-T/3gIE6QEfKIJ4dmJk75v9hhNiYZhQYAoYm4iVo1TgcsuaKLFa+zMPh4056AHiG6n9tn2UQ1CFE8EoybEsqsSw==\n\n\"@next/swc-win32-ia32-msvc@12.1.0\":\n version \"12.1.0\"\n resolved \"https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.1.0.tgz#68faeae10c89f698bf9d28759172b74c9c21bda1\"\n integrity sha512-iwnKgHJdqhIW19H9PRPM9j55V6RdcOo6rX+5imx832BCWzkDbyomWnlzBfr6ByUYfhohb8QuH4hSGEikpPqI0Q==\n\n\"@next/swc-win32-x64-msvc@12.1.0\":\n version \"12.1.0\"\n resolved \"https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.1.0.tgz#d27e7e76c87a460a4da99c5bfdb1618dcd6cd064\"\n integrity sha512-aBvcbMwuanDH4EMrL2TthNJy+4nP59Bimn8egqv6GHMVj0a44cU6Au4PjOhLNqEh9l+IpRGBqMTzec94UdC5xg==\n\n\"@noble/ed25519@^1.7.0\":\n version \"1.7.3\"\n resolved \"https://registry.yarnpkg.com/@noble/ed25519/-/ed25519-1.7.3.tgz#57e1677bf6885354b466c38e2b620c62f45a7123\"\n integrity sha512-iR8GBkDt0Q3GyaVcIu7mSsVIqnFbkbRzGLWlvhwunacoLwt4J3swfKhfaM6rN6WY+TBGoYT1GtT1mIh2/jGbRQ==\n\n\"@noble/hashes@^1.1.2\":\n version \"1.2.0\"\n resolved \"https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.2.0.tgz#a3150eeb09cc7ab207ebf6d7b9ad311a9bdbed12\"\n integrity sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==\n\n\"@noble/secp256k1@^1.6.3\":\n version \"1.7.1\"\n resolved \"https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.7.1.tgz#b251c70f824ce3ca7f8dc3df08d58f005cc0507c\"\n integrity sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==\n\n\"@nodelib/fs.scandir@2.1.5\":\n version \"2.1.5\"\n resolved \"https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5\"\n integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==\n dependencies:\n \"@nodelib/fs.stat\" \"2.0.5\"\n run-parallel \"^1.1.9\"\n\n\"@nodelib/fs.stat@2.0.5\", \"@nodelib/fs.stat@^2.0.2\":\n version \"2.0.5\"\n resolved \"https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b\"\n integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==\n\n\"@nodelib/fs.walk@^1.2.3\":\n version \"1.2.8\"\n resolved \"https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a\"\n integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==\n dependencies:\n \"@nodelib/fs.scandir\" \"2.1.5\"\n fastq \"^1.6.0\"\n\n\"@pedrouid/environment@^1.0.1\":\n version \"1.0.1\"\n resolved \"https://registry.yarnpkg.com/@pedrouid/environment/-/environment-1.0.1.tgz#858f0f8a057340e0b250398b75ead77d6f4342ec\"\n integrity sha512-HaW78NszGzRZd9SeoI3JD11JqY+lubnaOx7Pewj5pfjqWXOEATpeKIFb9Z4t2WBUK2iryiXX3lzWwmYWgUL0Ug==\n\n\"@project-serum/anchor@^0.25.0\":\n version \"0.25.0\"\n resolved \"https://registry.yarnpkg.com/@project-serum/anchor/-/anchor-0.25.0.tgz#88ee4843336005cf5a64c80636ce626f0996f503\"\n integrity sha512-E6A5Y/ijqpfMJ5psJvbw0kVTzLZFUcOFgs6eSM2M2iWE1lVRF18T6hWZVNl6zqZsoz98jgnNHtVGJMs+ds9A7A==\n dependencies:\n \"@project-serum/borsh\" \"^0.2.5\"\n \"@solana/web3.js\" \"^1.36.0\"\n base64-js \"^1.5.1\"\n bn.js \"^5.1.2\"\n bs58 \"^4.0.1\"\n buffer-layout \"^1.2.2\"\n camelcase \"^5.3.1\"\n cross-fetch \"^3.1.5\"\n crypto-hash \"^1.3.0\"\n eventemitter3 \"^4.0.7\"\n js-sha256 \"^0.9.0\"\n pako \"^2.0.3\"\n snake-case \"^3.0.4\"\n superstruct \"^0.15.4\"\n toml \"^3.0.0\"\n\n\"@project-serum/borsh@^0.2.5\":\n version \"0.2.5\"\n resolved \"https://registry.yarnpkg.com/@project-serum/borsh/-/borsh-0.2.5.tgz#6059287aa624ecebbfc0edd35e4c28ff987d8663\"\n integrity sha512-UmeUkUoKdQ7rhx6Leve1SssMR/Ghv8qrEiyywyxSWg7ooV7StdpPBhciiy5eB3T0qU1BXvdRNC8TdrkxK7WC5Q==\n dependencies:\n bn.js \"^5.1.2\"\n buffer-layout \"^1.2.0\"\n\n\"@project-serum/sol-wallet-adapter@^0.2.5\":\n version \"0.2.6\"\n resolved \"https://registry.yarnpkg.com/@project-serum/sol-wallet-adapter/-/sol-wallet-adapter-0.2.6.tgz#b4cd25a566294354427c97c26d716112b91a0107\"\n integrity sha512-cpIb13aWPW8y4KzkZAPDgw+Kb+DXjCC6rZoH74MGm3I/6e/zKyGnfAuW5olb2zxonFqsYgnv7ev8MQnvSgJ3/g==\n dependencies:\n bs58 \"^4.0.1\"\n eventemitter3 \"^4.0.7\"\n\n\"@rushstack/eslint-patch@^1.0.6\":\n version \"1.2.0\"\n resolved \"https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz#8be36a1f66f3265389e90b5f9c9962146758f728\"\n integrity sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==\n\n\"@solana/buffer-layout@^4.0.0\":\n version \"4.0.1\"\n resolved \"https://registry.yarnpkg.com/@solana/buffer-layout/-/buffer-layout-4.0.1.tgz#b996235eaec15b1e0b5092a8ed6028df77fa6c15\"\n integrity sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA==\n dependencies:\n buffer \"~6.0.3\"\n\n\"@solana/wallet-adapter-base@^0.7.0\":\n version \"0.7.1\"\n resolved \"https://registry.yarnpkg.com/@solana/wallet-adapter-base/-/wallet-adapter-base-0.7.1.tgz#9d352e946f406b5d5342515f2e14c82f11425c1c\"\n integrity sha512-NgdLrsOouBP6Cr563PjxW+4viBo1yx6q2N86LJQzwlrk8Aug48p0AgBPX+F1t9WyulDwRWVTPEALBhmggMpZIg==\n dependencies:\n eventemitter3 \"^4.0.7\"\n\n\"@solana/wallet-adapter-bitkeep@^0.1.0\":\n version \"0.1.0\"\n resolved \"https://registry.yarnpkg.com/@solana/wallet-adapter-bitkeep/-/wallet-adapter-bitkeep-0.1.0.tgz#affe28d957c5aed722a749843b04e11458171633\"\n integrity sha512-SocG9vvTf3hc3JsYbpn1xroW8yNWRoC7b7OVXHMWWeavdAA7zE3/DiP1Ir2WcOmD5LuFcfma6tgyyvU8tLGP8Q==\n\n\"@solana/wallet-adapter-bitpie@^0.3.0\":\n version \"0.3.0\"\n resolved \"https://registry.yarnpkg.com/@solana/wallet-adapter-bitpie/-/wallet-adapter-bitpie-0.3.0.tgz#dc99186d342b34471eb710afa63767a47bb433fa\"\n integrity sha512-WV6lbeWKHHQaZCOdKiM5YTc5Az6N8iBdK/AyKJ2/d862WkpG9Ig0O3by9v0FyW91Ns0rEsXhU0oGLl2MahO76w==\n\n\"@solana/wallet-adapter-blocto@^0.3.0\":\n version \"0.3.1\"\n resolved \"https://registry.yarnpkg.com/@solana/wallet-adapter-blocto/-/wallet-adapter-blocto-0.3.1.tgz#62991e13fac290c13cf88d69234e9590254917ab\"\n integrity sha512-ajnNUW0lpA26lwhdArf2+5XPQqI70Z2O37kwW+wl8vNrvrpKftpMe07q99GhoYuAsEkI6J/bggzt6nvKvfK0bg==\n dependencies:\n \"@blocto/sdk\" \"^0.2.16\"\n\n\"@solana/wallet-adapter-clover@^0.2.0\":\n version \"0.2.0\"\n resolved \"https://registry.yarnpkg.com/@solana/wallet-adapter-clover/-/wallet-adapter-clover-0.2.0.tgz#06c41919572bd9b7fda355f55d981b641abdcdba\"\n integrity sha512-s5f6m5bb/HEmMZ7bZfl+HUlb0J5qyTPq21GurH0Tt4uXnTl6NfIi67jSch/Q2gfwmCpFsoeZi0uFRpZxXdl22Q==\n\n\"@solana/wallet-adapter-coin98@^0.3.0\":\n version \"0.3.0\"\n resolved \"https://registry.yarnpkg.com/@solana/wallet-adapter-coin98/-/wallet-adapter-coin98-0.3.0.tgz#9ac3ee2f5386649d1ee056425bc77bc7dd00a4ae\"\n integrity sha512-HyEPGHojW3ueahMDFOu9h1phYAj4U8LIpXunrqUhL5ApjGFKF4ZFQYd/u2U+frFyj49rmPULlcRkLihP3h59Aw==\n dependencies:\n \"@types/bs58\" \"^4.0.1\"\n bs58 \"^4.0.1\"\n\n\"@solana/wallet-adapter-coinhub@^0.1.0\":\n version \"0.1.0\"\n resolved \"https://registry.yarnpkg.com/@solana/wallet-adapter-coinhub/-/wallet-adapter-coinhub-0.1.0.tgz#fe546f5b939241a6f08259f64cb686bf2e01499a\"\n integrity sha512-BWRw9fKWlLPFUeQVCeEvNZo+T+vdkRAih3AZComX7nuKJ9JY1Ekh5WotmvQFr9z+DUyNfsxgXOTJ/c+tFg+M5Q==\n\n\"@solana/wallet-adapter-ledger@^0.7.0\":\n version \"0.7.0\"\n resolved \"https://registry.yarnpkg.com/@solana/wallet-adapter-ledger/-/wallet-adapter-ledger-0.7.0.tgz#8e99f8b9320c74924bc83055131e652acdee8105\"\n integrity sha512-az4Z6eAFe77AlSqCOl9lHhfIrK/phQruHItLLTtT+8a1Y5QylodBNvc/CiD+I8ULwXDOvonXsFgnJnAVS/xMUg==\n dependencies:\n \"@ledgerhq/hw-transport\" \"^6.7.0\"\n \"@ledgerhq/hw-transport-webhid\" \"^6.7.0\"\n \"@types/w3c-web-hid\" \"^1.0.2\"\n\n\"@solana/wallet-adapter-mathwallet@^0.7.0\":\n version \"0.7.0\"\n resolved \"https://registry.yarnpkg.com/@solana/wallet-adapter-mathwallet/-/wallet-adapter-mathwallet-0.7.0.tgz#4e0af44da30c1c42b556b0b431aab1a9de7336d4\"\n integrity sha512-RqQkqHHyYzg0czopiNWkzID8RF7K6s76QBzVlD1XRJI4lLJKzODu30v+5H+15JWBBtgFuys1pLHZ7p3y3Z6dvg==\n\n\"@solana/wallet-adapter-phantom@^0.7.0\":\n version \"0.7.0\"\n resolved \"https://registry.yarnpkg.com/@solana/wallet-adapter-phantom/-/wallet-adapter-phantom-0.7.0.tgz#fc71557a3d61b20c45e53c99e24f0f03f3a5a199\"\n integrity sha512-u2SkJ6LO+A2MKTgN9bsG5Ro0Vn9KL7NKsGPT0JrYI2rvXm3yZnhlAE0i0oq+/nFAjkL/+Onm9boOaYF0/Z7vBQ==\n\n\"@solana/wallet-adapter-react-ui@^0.6.0\":\n version \"0.6.1\"\n resolved \"https://registry.yarnpkg.com/@solana/wallet-adapter-react-ui/-/wallet-adapter-react-ui-0.6.1.tgz#aae74cb0c973d6179297f4f35168f780b23c607f\"\n integrity sha512-S2aZcHR+BBFMIjYoTWvs5vfEyckLzPOAbUY2CGEoOOR75q235WjBtO6I9ooh/bKFRD0OaGOwzgya4UtrkR5A6A==\n\n\"@solana/wallet-adapter-react@^0.13.1\":\n version \"0.13.1\"\n resolved \"https://registry.yarnpkg.com/@solana/wallet-adapter-react/-/wallet-adapter-react-0.13.1.tgz#7014f85b4d60a1c2b0e8c72c12baa0b1b5172854\"\n integrity sha512-Sk45AuOF8EgmR28zcib5NquvOwTpBlyDA8Iku1MVdXUQ9giA/tBwfJw21HIf1r+TVepg+V0xAP5FhP+MX0p6QQ==\n\n\"@solana/wallet-adapter-safepal@^0.3.0\":\n version \"0.3.0\"\n resolved \"https://registry.yarnpkg.com/@solana/wallet-adapter-safepal/-/wallet-adapter-safepal-0.3.0.tgz#b1368fd0c5c8864c402cc0f0924f27ee70639e82\"\n integrity sha512-G/pCMxAeTWZlvJAKEyHRvLDZIyPkg4Zw/xfGQrTM9AG70cf3RFaiTK+8kqO1JL/xKGUsVfnJRFfPImR+hut6kw==\n\n\"@solana/wallet-adapter-slope@^0.3.0\":\n version \"0.3.0\"\n resolved \"https://registry.yarnpkg.com/@solana/wallet-adapter-slope/-/wallet-adapter-slope-0.3.0.tgz#b15328cf2801811db5769bc81ab2e2d0962016d2\"\n integrity sha512-2ghqUcL8qmCMMtQ2X5xQSZzEpreRW0dfR/o7zHcp3uU4XW5OXFJ2a0YnGUiLVAAEesUG2gmplKSerp72BnPZjA==\n dependencies:\n \"@types/bs58\" \"^4.0.1\"\n bs58 \"^4.0.1\"\n\n\"@solana/wallet-adapter-solflare@^0.4.0\":\n version \"0.4.1\"\n resolved \"https://registry.yarnpkg.com/@solana/wallet-adapter-solflare/-/wallet-adapter-solflare-0.4.1.tgz#d1fd6f3c72c15c6281f94e5537822115ccc0bc5b\"\n integrity sha512-ZydQgOuaBac0+a/Z4ROO54NObFiF/S9MOwiOfICXagk4PrWEJNbG1RwkwZzjtxAeYHEbGCb52XN2Buzm5EanJw==\n\n\"@solana/wallet-adapter-sollet@^0.8.0\":\n version \"0.8.0\"\n resolved \"https://registry.yarnpkg.com/@solana/wallet-adapter-sollet/-/wallet-adapter-sollet-0.8.0.tgz#d2e24a6b1430c40b974b239b8b7442886d57f5fe\"\n integrity sha512-9Bxj2IFT9XPh7Nl9IQaTyNwS3uoowQahqE43Ei2DbFJCrlN8qC6wSnJwHGAUPMKnL85Gg0IEZmtZfmuVmyTGQg==\n dependencies:\n \"@project-serum/sol-wallet-adapter\" \"^0.2.5\"\n\n\"@solana/wallet-adapter-solong@^0.7.0\":\n version \"0.7.0\"\n resolved \"https://registry.yarnpkg.com/@solana/wallet-adapter-solong/-/wallet-adapter-solong-0.7.0.tgz#48cc9a6f2dab48dc2d9e5815f17c741192152138\"\n integrity sha512-y7pal0G/91Oxaco/AVnu9aDFgiaabaFchS1Z62WJzC89Srm7gecclckd4MrQ/TE1TaZQi+8dUWWFGHJxU1zVKg==\n\n\"@solana/wallet-adapter-tokenpocket@^0.2.0\":\n version \"0.2.0\"\n resolved \"https://registry.yarnpkg.com/@solana/wallet-adapter-tokenpocket/-/wallet-adapter-tokenpocket-0.2.0.tgz#b405fb07cee374ddb6a14f140439c68bb88a94b4\"\n integrity sha512-NmqWnq8N5+fIsP5xjQbZIPqTf+jy5VVJ4eMdXHtGVrOZUTeQPD1fnBzKhWp212nJ0ObjN+1ylSKw7XTSS3cPWA==\n\n\"@solana/wallet-adapter-torus@^0.8.0\":\n version \"0.8.1\"\n resolved \"https://registry.yarnpkg.com/@solana/wallet-adapter-torus/-/wallet-adapter-torus-0.8.1.tgz#498e574ab6d328141cccd79711ca33db9e7447e1\"\n integrity sha512-C6iD0dcr56C3oNukjZEJgLiCNwbgmV4dx08oLmGC8dJnDBwS1A0DNpjbJ3V7k4Ywi2OgsFRInpsQqBBU8+7SOg==\n dependencies:\n \"@toruslabs/openlogin\" \"^1.0.0\"\n \"@toruslabs/openlogin-ed25519\" \"^1.0.0\"\n \"@types/keccak\" \"^3.0.1\"\n \"@types/readable-stream\" \"^2.3.11\"\n\n\"@solana/wallet-adapter-wallets@^0.11.3\":\n version \"0.11.3\"\n resolved \"https://registry.yarnpkg.com/@solana/wallet-adapter-wallets/-/wallet-adapter-wallets-0.11.3.tgz#66d16ca75d375db32fcb748d08155a2ee9ac697a\"\n integrity sha512-SiPampUuHYlN9QJfeScH8wZSuCk7GrwuYpb1kzi0N7oqtRf/baxXmZDQFKgWIP/L49FqCEtFmCaAkck0vi8bFA==\n dependencies:\n \"@solana/wallet-adapter-bitkeep\" \"^0.1.0\"\n \"@solana/wallet-adapter-bitpie\" \"^0.3.0\"\n \"@solana/wallet-adapter-blocto\" \"^0.3.0\"\n \"@solana/wallet-adapter-clover\" \"^0.2.0\"\n \"@solana/wallet-adapter-coin98\" \"^0.3.0\"\n \"@solana/wallet-adapter-coinhub\" \"^0.1.0\"\n \"@solana/wallet-adapter-ledger\" \"^0.7.0\"\n \"@solana/wallet-adapter-mathwallet\" \"^0.7.0\"\n \"@solana/wallet-adapter-phantom\" \"^0.7.0\"\n \"@solana/wallet-adapter-safepal\" \"^0.3.0\"\n \"@solana/wallet-adapter-slope\" \"^0.3.0\"\n \"@solana/wallet-adapter-solflare\" \"^0.4.0\"\n \"@solana/wallet-adapter-sollet\" \"^0.8.0\"\n \"@solana/wallet-adapter-solong\" \"^0.7.0\"\n \"@solana/wallet-adapter-tokenpocket\" \"^0.2.0\"\n \"@solana/wallet-adapter-torus\" \"^0.8.0\"\n\n\"@solana/web3.js@^1.36.0\":\n version \"1.73.2\"\n resolved \"https://registry.yarnpkg.com/@solana/web3.js/-/web3.js-1.73.2.tgz#4b30cd402b35733dae3a7d0b638be26a7742b395\"\n integrity sha512-9WACF8W4Nstj7xiDw3Oom22QmrhBh0VyZyZ7JvvG3gOxLWLlX3hvm5nPVJOGcCE/9fFavBbCUb5A6CIuvMGdoA==\n dependencies:\n \"@babel/runtime\" \"^7.12.5\"\n \"@noble/ed25519\" \"^1.7.0\"\n \"@noble/hashes\" \"^1.1.2\"\n \"@noble/secp256k1\" \"^1.6.3\"\n \"@solana/buffer-layout\" \"^4.0.0\"\n agentkeepalive \"^4.2.1\"\n bigint-buffer \"^1.1.5\"\n bn.js \"^5.0.0\"\n borsh \"^0.7.0\"\n bs58 \"^4.0.1\"\n buffer \"6.0.1\"\n fast-stable-stringify \"^1.0.0\"\n jayson \"^3.4.4\"\n node-fetch \"2\"\n rpc-websockets \"^7.5.0\"\n superstruct \"^0.14.2\"\n\n\"@toruslabs/eccrypto@^1.1.8\":\n version \"1.1.8\"\n resolved \"https://registry.yarnpkg.com/@toruslabs/eccrypto/-/eccrypto-1.1.8.tgz#ce1eac9c3964a091cdc74956a62036b5719a41eb\"\n integrity sha512-5dIrO2KVqvnAPOPfJ2m6bnjp9vav9GIcCZXiXRW/bJuIDRLVxJhVvRlleF4oaEZPq5yX5piHq5jVHagNNS0jOQ==\n dependencies:\n acorn \"^8.4.1\"\n elliptic \"^6.5.4\"\n es6-promise \"^4.2.8\"\n nan \"^2.14.2\"\n optionalDependencies:\n secp256k1 \"^3.8.0\"\n\n\"@toruslabs/http-helpers@^2.2.0\":\n version \"2.2.0\"\n resolved \"https://registry.yarnpkg.com/@toruslabs/http-helpers/-/http-helpers-2.2.0.tgz#c494984701ff60eb93c0eaef279daa93b5bcea81\"\n integrity sha512-xkzZZuE+DmWmJBTYneCrMJY24izNQCOdoJMpsXKQx20Va/rTQvNPbdkpx9LBf/pisk8jOwETNAfFQ8YTBc/bZw==\n dependencies:\n lodash.merge \"^4.6.2\"\n loglevel \"^1.8.0\"\n\n\"@toruslabs/openlogin-ed25519@^1.0.0\":\n version \"1.7.0\"\n resolved \"https://registry.yarnpkg.com/@toruslabs/openlogin-ed25519/-/openlogin-ed25519-1.7.0.tgz#82055e2e53e72ad4b96f06f38a1b0432f8e8ce36\"\n integrity sha512-pFDnNxdkIkiGfyv037C4MqRV9gdGv08f3A5rRGoFI3BQynMdtQAozCyX3Q8MF5EgKO7foPJPQPxnjKhohtVrTQ==\n dependencies:\n \"@toruslabs/tweetnacl-js\" \"^1.0.3\"\n\n\"@toruslabs/openlogin-jrpc@^1.7.3\":\n version \"1.7.3\"\n resolved \"https://registry.yarnpkg.com/@toruslabs/openlogin-jrpc/-/openlogin-jrpc-1.7.3.tgz#0bbdc2f7989b4a1f19b8a54d3e66721d424d185f\"\n integrity sha512-xjixDKPLZN7T5hCjwmGTU58NttdZiHn3YlK6II2z4v8IifPUwoquYP08XfaE79ksxamgDYkGERf7bQGkV5Wf5w==\n dependencies:\n \"@toruslabs/openlogin-utils\" \"^1.7.0\"\n end-of-stream \"^1.4.4\"\n eth-rpc-errors \"^4.0.3\"\n events \"^3.3.0\"\n fast-safe-stringify \"^2.1.1\"\n once \"^1.4.0\"\n pump \"^3.0.0\"\n readable-stream \"^3.6.0\"\n\n\"@toruslabs/openlogin-utils@^1.7.0\":\n version \"1.7.0\"\n resolved \"https://registry.yarnpkg.com/@toruslabs/openlogin-utils/-/openlogin-utils-1.7.0.tgz#1762e2f1f67590d0c6cb8e4c4ade82d59ba13a18\"\n integrity sha512-y+j22v+h6EfzN4sfFnmtmMrcxEdkScdJOAgbtvX42BpUYOuFa1Tv0SZjdtsGGDE4g5szmL3rb9NGMHdBF1rZtg==\n dependencies:\n base64url \"^3.0.1\"\n keccak \"^3.0.2\"\n randombytes \"^2.1.0\"\n\n\"@toruslabs/openlogin@^1.0.0\":\n version \"1.7.5\"\n resolved \"https://registry.yarnpkg.com/@toruslabs/openlogin/-/openlogin-1.7.5.tgz#59e05c8e0bf7bfbab7c459d7fd4a28ba36f84c5d\"\n integrity sha512-QKAf829LSjKiAUfuqQALY+SCP8oPlKsGiNwO9wj1lJHeLQLfPnXh2wtfjBwMS2WSo7G+ZPpe2dU59B9LGiylmQ==\n dependencies:\n \"@toruslabs/eccrypto\" \"^1.1.8\"\n \"@toruslabs/http-helpers\" \"^2.2.0\"\n \"@toruslabs/openlogin-jrpc\" \"^1.7.3\"\n \"@toruslabs/openlogin-utils\" \"^1.7.0\"\n lodash.merge \"^4.6.2\"\n loglevel \"^1.8.0\"\n pump \"^3.0.0\"\n\n\"@toruslabs/tweetnacl-js@^1.0.3\":\n version \"1.0.3\"\n resolved \"https://registry.yarnpkg.com/@toruslabs/tweetnacl-js/-/tweetnacl-js-1.0.3.tgz#52abbcd2a6b77959ef6a98afedce77764d87226d\"\n integrity sha512-WQJYMTR/bkqvpk3DWOqRt5e24RhwJp9PXUoSj4zSthd3+fDhKYCI56YVMPNDKah1fCffOe9F3m8iZ5SgDZ+Csw==\n\n\"@types/bs58@^4.0.1\":\n version \"4.0.1\"\n resolved \"https://registry.yarnpkg.com/@types/bs58/-/bs58-4.0.1.tgz#3d51222aab067786d3bc3740a84a7f5a0effaa37\"\n integrity sha512-yfAgiWgVLjFCmRv8zAcOIHywYATEwiTVccTLnRp6UxTNavT55M9d/uhK3T03St/+8/z/wW+CRjGKUNmEqoHHCA==\n dependencies:\n base-x \"^3.0.6\"\n\n\"@types/connect@^3.4.33\":\n version \"3.4.35\"\n resolved \"https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1\"\n integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==\n dependencies:\n \"@types/node\" \"*\"\n\n\"@types/json5@^0.0.29\":\n version \"0.0.29\"\n resolved \"https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee\"\n integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==\n\n\"@types/keccak@^3.0.1\":\n version \"3.0.1\"\n resolved \"https://registry.yarnpkg.com/@types/keccak/-/keccak-3.0.1.tgz#1dfad12395f32927cf409707534dd796d57aa84c\"\n integrity sha512-/MxAVmtyyeOvZ6dGf3ciLwFRuV5M8DRIyYNFGHYI6UyBW4/XqyO0LZw+JFMvaeY3cHItQAkELclBU1x5ank6mg==\n dependencies:\n \"@types/node\" \"*\"\n\n\"@types/node@*\":\n version \"18.14.0\"\n resolved \"https://registry.yarnpkg.com/@types/node/-/node-18.14.0.tgz#94c47b9217bbac49d4a67a967fdcdeed89ebb7d0\"\n integrity sha512-5EWrvLmglK+imbCJY0+INViFWUHg1AHel1sq4ZVSfdcNqGy9Edv3UB9IIzzg+xPaUcAgZYcfVs2fBcwDeZzU0A==\n\n\"@types/node@^12.12.54\":\n version \"12.20.55\"\n resolved \"https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240\"\n integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==\n\n\"@types/prop-types@*\":\n version \"15.7.5\"\n resolved \"https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf\"\n integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==\n\n\"@types/react@17.0.34\":\n version \"17.0.34\"\n resolved \"https://registry.yarnpkg.com/@types/react/-/react-17.0.34.tgz#797b66d359b692e3f19991b6b07e4b0c706c0102\"\n integrity sha512-46FEGrMjc2+8XhHXILr+3+/sTe3OfzSPU9YGKILLrUYbQ1CLQC9Daqo1KzENGXAWwrFwiY0l4ZbF20gRvgpWTg==\n dependencies:\n \"@types/prop-types\" \"*\"\n \"@types/scheduler\" \"*\"\n csstype \"^3.0.2\"\n\n\"@types/readable-stream@^2.3.11\":\n version \"2.3.15\"\n resolved \"https://registry.yarnpkg.com/@types/readable-stream/-/readable-stream-2.3.15.tgz#3d79c9ceb1b6a57d5f6e6976f489b9b5384321ae\"\n integrity sha512-oM5JSKQCcICF1wvGgmecmHldZ48OZamtMxcGGVICOJA8o8cahXC1zEVAif8iwoc5j8etxFaRFnf095+CDsuoFQ==\n dependencies:\n \"@types/node\" \"*\"\n safe-buffer \"~5.1.1\"\n\n\"@types/scheduler@*\":\n version \"0.16.2\"\n resolved \"https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39\"\n integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==\n\n\"@types/w3c-web-hid@^1.0.2\":\n version \"1.0.3\"\n resolved \"https://registry.yarnpkg.com/@types/w3c-web-hid/-/w3c-web-hid-1.0.3.tgz#e08587a7d737f8654ea6bc0a88689ce5d3ce2d19\"\n integrity sha512-eTQRkPd2JukZfS9+kRtrBAaTCCb6waGh5X8BJHmH1MiVQPLMYwm4+EvhwFfOo9SDna15o9dFAwmWwN6r/YM53A==\n\n\"@types/ws@^7.4.4\":\n version \"7.4.7\"\n resolved \"https://registry.yarnpkg.com/@types/ws/-/ws-7.4.7.tgz#f7c390a36f7a0679aa69de2d501319f4f8d9b702\"\n integrity sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==\n dependencies:\n \"@types/node\" \"*\"\n\n\"@typescript-eslint/parser@^4.20.0\":\n version \"4.33.0\"\n resolved \"https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.33.0.tgz#dfe797570d9694e560528d18eecad86c8c744899\"\n integrity sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==\n dependencies:\n \"@typescript-eslint/scope-manager\" \"4.33.0\"\n \"@typescript-eslint/types\" \"4.33.0\"\n \"@typescript-eslint/typescript-estree\" \"4.33.0\"\n debug \"^4.3.1\"\n\n\"@typescript-eslint/scope-manager@4.33.0\":\n version \"4.33.0\"\n resolved \"https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz#d38e49280d983e8772e29121cf8c6e9221f280a3\"\n integrity sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==\n dependencies:\n \"@typescript-eslint/types\" \"4.33.0\"\n \"@typescript-eslint/visitor-keys\" \"4.33.0\"\n\n\"@typescript-eslint/types@4.33.0\":\n version \"4.33.0\"\n resolved \"https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.33.0.tgz#a1e59036a3b53ae8430ceebf2a919dc7f9af6d72\"\n integrity sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==\n\n\"@typescript-eslint/typescript-estree@4.33.0\":\n version \"4.33.0\"\n resolved \"https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz#0dfb51c2908f68c5c08d82aefeaf166a17c24609\"\n integrity sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==\n dependencies:\n \"@typescript-eslint/types\" \"4.33.0\"\n \"@typescript-eslint/visitor-keys\" \"4.33.0\"\n debug \"^4.3.1\"\n globby \"^11.0.3\"\n is-glob \"^4.0.1\"\n semver \"^7.3.5\"\n tsutils \"^3.21.0\"\n\n\"@typescript-eslint/visitor-keys@4.33.0\":\n version \"4.33.0\"\n resolved \"https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz#2a22f77a41604289b7a186586e9ec48ca92ef1dd\"\n integrity sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==\n dependencies:\n \"@typescript-eslint/types\" \"4.33.0\"\n eslint-visitor-keys \"^2.0.0\"\n\nJSONStream@^1.3.5:\n version \"1.3.5\"\n resolved \"https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0\"\n integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==\n dependencies:\n jsonparse \"^1.2.0\"\n through \">=2.2.7 <3\"\n\nacorn-jsx@^5.3.1:\n version \"5.3.2\"\n resolved \"https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937\"\n integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==\n\nacorn-node@^1.8.2:\n version \"1.8.2\"\n resolved \"https://registry.yarnpkg.com/acorn-node/-/acorn-node-1.8.2.tgz#114c95d64539e53dede23de8b9d96df7c7ae2af8\"\n integrity sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==\n dependencies:\n acorn \"^7.0.0\"\n acorn-walk \"^7.0.0\"\n xtend \"^4.0.2\"\n\nacorn-walk@^7.0.0:\n version \"7.2.0\"\n resolved \"https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc\"\n integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==\n\nacorn@^7.0.0, acorn@^7.4.0:\n version \"7.4.1\"\n resolved \"https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa\"\n integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==\n\nacorn@^8.4.1:\n version \"8.8.2\"\n resolved \"https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a\"\n integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==\n\nagentkeepalive@^4.2.1:\n version \"4.2.1\"\n resolved \"https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.2.1.tgz#a7975cbb9f83b367f06c90cc51ff28fe7d499717\"\n integrity sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==\n dependencies:\n debug \"^4.1.0\"\n depd \"^1.1.2\"\n humanize-ms \"^1.2.1\"\n\najv@^6.10.0, ajv@^6.12.4:\n version \"6.12.6\"\n resolved \"https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4\"\n integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==\n dependencies:\n fast-deep-equal \"^3.1.1\"\n fast-json-stable-stringify \"^2.0.0\"\n json-schema-traverse \"^0.4.1\"\n uri-js \"^4.2.2\"\n\najv@^8.0.1:\n version \"8.12.0\"\n resolved \"https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1\"\n integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==\n dependencies:\n fast-deep-equal \"^3.1.1\"\n json-schema-traverse \"^1.0.0\"\n require-from-string \"^2.0.2\"\n uri-js \"^4.2.2\"\n\nansi-colors@^4.1.1:\n version \"4.1.3\"\n resolved \"https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b\"\n integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==\n\nansi-regex@^5.0.1:\n version \"5.0.1\"\n resolved \"https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304\"\n integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==\n\nansi-styles@^3.2.1:\n version \"3.2.1\"\n resolved \"https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d\"\n integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==\n dependencies:\n color-convert \"^1.9.0\"\n\nansi-styles@^4.0.0, ansi-styles@^4.1.0:\n version \"4.3.0\"\n resolved \"https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937\"\n integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\n dependencies:\n color-convert \"^2.0.1\"\n\nanymatch@~3.1.2:\n version \"3.1.3\"\n resolved \"https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e\"\n integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==\n dependencies:\n normalize-path \"^3.0.0\"\n picomatch \"^2.0.4\"\n\narg@^5.0.2:\n version \"5.0.2\"\n resolved \"https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c\"\n integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==\n\nargparse@^1.0.7:\n version \"1.0.10\"\n resolved \"https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911\"\n integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==\n dependencies:\n sprintf-js \"~1.0.2\"\n\naria-query@^5.1.3:\n version \"5.1.3\"\n resolved \"https://registry.yarnpkg.com/aria-query/-/aria-query-5.1.3.tgz#19db27cd101152773631396f7a95a3b58c22c35e\"\n integrity sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==\n dependencies:\n deep-equal \"^2.0.5\"\n\narray-includes@^3.1.5, array-includes@^3.1.6:\n version \"3.1.6\"\n resolved \"https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.6.tgz#9e9e720e194f198266ba9e18c29e6a9b0e4b225f\"\n integrity sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==\n dependencies:\n call-bind \"^1.0.2\"\n define-properties \"^1.1.4\"\n es-abstract \"^1.20.4\"\n get-intrinsic \"^1.1.3\"\n is-string \"^1.0.7\"\n\narray-union@^2.1.0:\n version \"2.1.0\"\n resolved \"https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d\"\n integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==\n\narray.prototype.flat@^1.3.1:\n version \"1.3.1\"\n resolved \"https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz#ffc6576a7ca3efc2f46a143b9d1dda9b4b3cf5e2\"\n integrity sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==\n dependencies:\n call-bind \"^1.0.2\"\n define-properties \"^1.1.4\"\n es-abstract \"^1.20.4\"\n es-shim-unscopables \"^1.0.0\"\n\narray.prototype.flatmap@^1.3.1:\n version \"1.3.1\"\n resolved \"https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz#1aae7903c2100433cb8261cd4ed310aab5c4a183\"\n integrity sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==\n dependencies:\n call-bind \"^1.0.2\"\n define-properties \"^1.1.4\"\n es-abstract \"^1.20.4\"\n es-shim-unscopables \"^1.0.0\"\n\narray.prototype.tosorted@^1.1.1:\n version \"1.1.1\"\n resolved \"https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz#ccf44738aa2b5ac56578ffda97c03fd3e23dd532\"\n integrity sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==\n dependencies:\n call-bind \"^1.0.2\"\n define-properties \"^1.1.4\"\n es-abstract \"^1.20.4\"\n es-shim-unscopables \"^1.0.0\"\n get-intrinsic \"^1.1.3\"\n\nast-types-flow@^0.0.7:\n version \"0.0.7\"\n resolved \"https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad\"\n integrity sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==\n\nastral-regex@^2.0.0:\n version \"2.0.0\"\n resolved \"https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31\"\n integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==\n\nautoprefixer@^10.4.5:\n version \"10.4.13\"\n resolved \"https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.13.tgz#b5136b59930209a321e9fa3dca2e7c4d223e83a8\"\n integrity sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==\n dependencies:\n browserslist \"^4.21.4\"\n caniuse-lite \"^1.0.30001426\"\n fraction.js \"^4.2.0\"\n normalize-range \"^0.1.2\"\n picocolors \"^1.0.0\"\n postcss-value-parser \"^4.2.0\"\n\navailable-typed-arrays@^1.0.5:\n version \"1.0.5\"\n resolved \"https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7\"\n integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==\n\naxe-core@^4.6.2:\n version \"4.6.3\"\n resolved \"https://registry.yarnpkg.com/axe-core/-/axe-core-4.6.3.tgz#fc0db6fdb65cc7a80ccf85286d91d64ababa3ece\"\n integrity sha512-/BQzOX780JhsxDnPpH4ZiyrJAzcd8AfzFPkv+89veFSr1rcMjuq2JDCwypKaPeB6ljHp9KjXhPpjgCvQlWYuqg==\n\naxios@^0.21.0:\n version \"0.21.4\"\n resolved \"https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575\"\n integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==\n dependencies:\n follow-redirects \"^1.14.0\"\n\naxobject-query@^3.1.1:\n version \"3.1.1\"\n resolved \"https://registry.yarnpkg.com/axobject-query/-/axobject-query-3.1.1.tgz#3b6e5c6d4e43ca7ba51c5babf99d22a9c68485e1\"\n integrity sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==\n dependencies:\n deep-equal \"^2.0.5\"\n\nbalanced-match@^1.0.0:\n version \"1.0.2\"\n resolved \"https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee\"\n integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==\n\nbase-x@^3.0.2, base-x@^3.0.6:\n version \"3.0.9\"\n resolved \"https://registry.yarnpkg.com/base-x/-/base-x-3.0.9.tgz#6349aaabb58526332de9f60995e548a53fe21320\"\n integrity sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==\n dependencies:\n safe-buffer \"^5.0.1\"\n\nbase64-js@^1.3.1, base64-js@^1.5.1:\n version \"1.5.1\"\n resolved \"https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a\"\n integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==\n\nbase64url@^3.0.1:\n version \"3.0.1\"\n resolved \"https://registry.yarnpkg.com/base64url/-/base64url-3.0.1.tgz#6399d572e2bc3f90a9a8b22d5dbb0a32d33f788d\"\n integrity sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==\n\nbigint-buffer@^1.1.5:\n version \"1.1.5\"\n resolved \"https://registry.yarnpkg.com/bigint-buffer/-/bigint-buffer-1.1.5.tgz#d038f31c8e4534c1f8d0015209bf34b4fa6dd442\"\n integrity sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA==\n dependencies:\n bindings \"^1.3.0\"\n\nbinary-extensions@^2.0.0:\n version \"2.2.0\"\n resolved \"https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d\"\n integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==\n\nbindings@^1.3.0, bindings@^1.5.0:\n version \"1.5.0\"\n resolved \"https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df\"\n integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==\n dependencies:\n file-uri-to-path \"1.0.0\"\n\nbip66@^1.1.5:\n version \"1.1.5\"\n resolved \"https://registry.yarnpkg.com/bip66/-/bip66-1.1.5.tgz#01fa8748785ca70955d5011217d1b3139969ca22\"\n integrity sha512-nemMHz95EmS38a26XbbdxIYj5csHd3RMP3H5bwQknX0WYHF01qhpufP42mLOwVICuH2JmhIhXiWs89MfUGL7Xw==\n dependencies:\n safe-buffer \"^5.0.1\"\n\nbn.js@^4.11.8, bn.js@^4.11.9:\n version \"4.12.0\"\n resolved \"https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88\"\n integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==\n\nbn.js@^5.0.0, bn.js@^5.1.2, bn.js@^5.2.0:\n version \"5.2.1\"\n resolved \"https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70\"\n integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==\n\nborsh@^0.7.0:\n version \"0.7.0\"\n resolved \"https://registry.yarnpkg.com/borsh/-/borsh-0.7.0.tgz#6e9560d719d86d90dc589bca60ffc8a6c51fec2a\"\n integrity sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA==\n dependencies:\n bn.js \"^5.2.0\"\n bs58 \"^4.0.0\"\n text-encoding-utf-8 \"^1.0.2\"\n\nbrace-expansion@^1.1.7:\n version \"1.1.11\"\n resolved \"https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd\"\n integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==\n dependencies:\n balanced-match \"^1.0.0\"\n concat-map \"0.0.1\"\n\nbraces@^3.0.2, braces@~3.0.2:\n version \"3.0.2\"\n resolved \"https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107\"\n integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==\n dependencies:\n fill-range \"^7.0.1\"\n\nbrorand@^1.1.0:\n version \"1.1.0\"\n resolved \"https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f\"\n integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==\n\nbrowserify-aes@^1.0.6:\n version \"1.2.0\"\n resolved \"https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48\"\n integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==\n dependencies:\n buffer-xor \"^1.0.3\"\n cipher-base \"^1.0.0\"\n create-hash \"^1.1.0\"\n evp_bytestokey \"^1.0.3\"\n inherits \"^2.0.1\"\n safe-buffer \"^5.0.1\"\n\nbrowserslist@^4.21.4:\n version \"4.21.5\"\n resolved \"https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.5.tgz#75c5dae60063ee641f977e00edd3cfb2fb7af6a7\"\n integrity sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==\n dependencies:\n caniuse-lite \"^1.0.30001449\"\n electron-to-chromium \"^1.4.284\"\n node-releases \"^2.0.8\"\n update-browserslist-db \"^1.0.10\"\n\nbs58@^4.0.0, bs58@^4.0.1:\n version \"4.0.1\"\n resolved \"https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a\"\n integrity sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==\n dependencies:\n base-x \"^3.0.2\"\n\nbuffer-layout@^1.2.0, buffer-layout@^1.2.2:\n version \"1.2.2\"\n resolved \"https://registry.yarnpkg.com/buffer-layout/-/buffer-layout-1.2.2.tgz#b9814e7c7235783085f9ca4966a0cfff112259d5\"\n integrity sha512-kWSuLN694+KTk8SrYvCqwP2WcgQjoRCiF5b4QDvkkz8EmgD+aWAIceGFKMIAdmF/pH+vpgNV3d3kAKorcdAmWA==\n\nbuffer-xor@^1.0.3:\n version \"1.0.3\"\n resolved \"https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9\"\n integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==\n\nbuffer@6.0.1:\n version \"6.0.1\"\n resolved \"https://registry.yarnpkg.com/buffer/-/buffer-6.0.1.tgz#3cbea8c1463e5a0779e30b66d4c88c6ffa182ac2\"\n integrity sha512-rVAXBwEcEoYtxnHSO5iWyhzV/O1WMtkUYWlfdLS7FjU4PnSJJHEfHXi/uHPI5EwltmOA794gN3bm3/pzuctWjQ==\n dependencies:\n base64-js \"^1.3.1\"\n ieee754 \"^1.2.1\"\n\nbuffer@^6.0.3, buffer@~6.0.3:\n version \"6.0.3\"\n resolved \"https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6\"\n integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==\n dependencies:\n base64-js \"^1.3.1\"\n ieee754 \"^1.2.1\"\n\nbufferutil@^4.0.1:\n version \"4.0.7\"\n resolved \"https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.7.tgz#60c0d19ba2c992dd8273d3f73772ffc894c153ad\"\n integrity sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw==\n dependencies:\n node-gyp-build \"^4.3.0\"\n\ncall-bind@^1.0.0, call-bind@^1.0.2:\n version \"1.0.2\"\n resolved \"https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c\"\n integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==\n dependencies:\n function-bind \"^1.1.1\"\n get-intrinsic \"^1.0.2\"\n\ncallsites@^3.0.0:\n version \"3.1.0\"\n resolved \"https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73\"\n integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==\n\ncamelcase-css@^2.0.1:\n version \"2.0.1\"\n resolved \"https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5\"\n integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==\n\ncamelcase@^5.3.1:\n version \"5.3.1\"\n resolved \"https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320\"\n integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==\n\ncaniuse-lite@^1.0.30001283, caniuse-lite@^1.0.30001426, caniuse-lite@^1.0.30001449:\n version \"1.0.30001457\"\n resolved \"https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001457.tgz#6af34bb5d720074e2099432aa522c21555a18301\"\n integrity sha512-SDIV6bgE1aVbK6XyxdURbUE89zY7+k1BBBaOwYwkNCglXlel/E7mELiHC64HQ+W0xSKlqWhV9Wh7iHxUjMs4fA==\n\nchalk@^2.0.0:\n version \"2.4.2\"\n resolved \"https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424\"\n integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==\n dependencies:\n ansi-styles \"^3.2.1\"\n escape-string-regexp \"^1.0.5\"\n supports-color \"^5.3.0\"\n\nchalk@^4.0.0:\n version \"4.1.2\"\n resolved \"https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01\"\n integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\n dependencies:\n ansi-styles \"^4.1.0\"\n supports-color \"^7.1.0\"\n\nchokidar@^3.5.3:\n version \"3.5.3\"\n resolved \"https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd\"\n integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==\n dependencies:\n anymatch \"~3.1.2\"\n braces \"~3.0.2\"\n glob-parent \"~5.1.2\"\n is-binary-path \"~2.1.0\"\n is-glob \"~4.0.1\"\n normalize-path \"~3.0.0\"\n readdirp \"~3.6.0\"\n optionalDependencies:\n fsevents \"~2.3.2\"\n\ncipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:\n version \"1.0.4\"\n resolved \"https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de\"\n integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==\n dependencies:\n inherits \"^2.0.1\"\n safe-buffer \"^5.0.1\"\n\ncolor-convert@^1.9.0:\n version \"1.9.3\"\n resolved \"https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8\"\n integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==\n dependencies:\n color-name \"1.1.3\"\n\ncolor-convert@^2.0.1:\n version \"2.0.1\"\n resolved \"https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3\"\n integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\n dependencies:\n color-name \"~1.1.4\"\n\ncolor-name@1.1.3:\n version \"1.1.3\"\n resolved \"https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25\"\n integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==\n\ncolor-name@^1.1.4, color-name@~1.1.4:\n version \"1.1.4\"\n resolved \"https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2\"\n integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\n\ncommander@^2.20.3:\n version \"2.20.3\"\n resolved \"https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33\"\n integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==\n\nconcat-map@0.0.1:\n version \"0.0.1\"\n resolved \"https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b\"\n integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==\n\ncreate-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0:\n version \"1.2.0\"\n resolved \"https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196\"\n integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==\n dependencies:\n cipher-base \"^1.0.1\"\n inherits \"^2.0.1\"\n md5.js \"^1.3.4\"\n ripemd160 \"^2.0.1\"\n sha.js \"^2.4.0\"\n\ncreate-hmac@^1.1.4:\n version \"1.1.7\"\n resolved \"https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff\"\n integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==\n dependencies:\n cipher-base \"^1.0.3\"\n create-hash \"^1.1.0\"\n inherits \"^2.0.1\"\n ripemd160 \"^2.0.0\"\n safe-buffer \"^5.0.1\"\n sha.js \"^2.4.8\"\n\ncross-fetch@^3.1.5:\n version \"3.1.5\"\n resolved \"https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f\"\n integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==\n dependencies:\n node-fetch \"2.6.7\"\n\ncross-spawn@^7.0.2:\n version \"7.0.3\"\n resolved \"https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6\"\n integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==\n dependencies:\n path-key \"^3.1.0\"\n shebang-command \"^2.0.0\"\n which \"^2.0.1\"\n\ncrypto-hash@^1.3.0:\n version \"1.3.0\"\n resolved \"https://registry.yarnpkg.com/crypto-hash/-/crypto-hash-1.3.0.tgz#b402cb08f4529e9f4f09346c3e275942f845e247\"\n integrity sha512-lyAZ0EMyjDkVvz8WOeVnuCPvKVBXcMv1l5SVqO1yC7PzTwrD/pPje/BIRbWhMoPe436U+Y2nD7f5bFx0kt+Sbg==\n\ncssesc@^3.0.0:\n version \"3.0.0\"\n resolved \"https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee\"\n integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==\n\ncsstype@^3.0.2:\n version \"3.1.1\"\n resolved \"https://registry.yarnpkg.com/csstype/-/csstype-3.1.1.tgz#841b532c45c758ee546a11d5bd7b7b473c8c30b9\"\n integrity sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==\n\ndamerau-levenshtein@^1.0.8:\n version \"1.0.8\"\n resolved \"https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7\"\n integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==\n\ndebug@^3.2.7:\n version \"3.2.7\"\n resolved \"https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a\"\n integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==\n dependencies:\n ms \"^2.1.1\"\n\ndebug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.4:\n version \"4.3.4\"\n resolved \"https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865\"\n integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==\n dependencies:\n ms \"2.1.2\"\n\ndeep-equal@^2.0.5:\n version \"2.2.0\"\n resolved \"https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.2.0.tgz#5caeace9c781028b9ff459f33b779346637c43e6\"\n integrity sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw==\n dependencies:\n call-bind \"^1.0.2\"\n es-get-iterator \"^1.1.2\"\n get-intrinsic \"^1.1.3\"\n is-arguments \"^1.1.1\"\n is-array-buffer \"^3.0.1\"\n is-date-object \"^1.0.5\"\n is-regex \"^1.1.4\"\n is-shared-array-buffer \"^1.0.2\"\n isarray \"^2.0.5\"\n object-is \"^1.1.5\"\n object-keys \"^1.1.1\"\n object.assign \"^4.1.4\"\n regexp.prototype.flags \"^1.4.3\"\n side-channel \"^1.0.4\"\n which-boxed-primitive \"^1.0.2\"\n which-collection \"^1.0.1\"\n which-typed-array \"^1.1.9\"\n\ndeep-is@^0.1.3:\n version \"0.1.4\"\n resolved \"https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831\"\n integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==\n\ndefine-properties@^1.1.3, define-properties@^1.1.4:\n version \"1.2.0\"\n resolved \"https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.0.tgz#52988570670c9eacedd8064f4a990f2405849bd5\"\n integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==\n dependencies:\n has-property-descriptors \"^1.0.0\"\n object-keys \"^1.1.1\"\n\ndefined@^1.0.0:\n version \"1.0.1\"\n resolved \"https://registry.yarnpkg.com/defined/-/defined-1.0.1.tgz#c0b9db27bfaffd95d6f61399419b893df0f91ebf\"\n integrity sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==\n\ndelay@^5.0.0:\n version \"5.0.0\"\n resolved \"https://registry.yarnpkg.com/delay/-/delay-5.0.0.tgz#137045ef1b96e5071060dd5be60bf9334436bd1d\"\n integrity sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==\n\ndepd@^1.1.2:\n version \"1.1.2\"\n resolved \"https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9\"\n integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==\n\ndetective@^5.2.1:\n version \"5.2.1\"\n resolved \"https://registry.yarnpkg.com/detective/-/detective-5.2.1.tgz#6af01eeda11015acb0e73f933242b70f24f91034\"\n integrity sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==\n dependencies:\n acorn-node \"^1.8.2\"\n defined \"^1.0.0\"\n minimist \"^1.2.6\"\n\ndidyoumean@^1.2.2:\n version \"1.2.2\"\n resolved \"https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037\"\n integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==\n\ndir-glob@^3.0.1:\n version \"3.0.1\"\n resolved \"https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f\"\n integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==\n dependencies:\n path-type \"^4.0.0\"\n\ndlv@^1.1.3:\n version \"1.1.3\"\n resolved \"https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79\"\n integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==\n\ndoctrine@^2.1.0:\n version \"2.1.0\"\n resolved \"https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d\"\n integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==\n dependencies:\n esutils \"^2.0.2\"\n\ndoctrine@^3.0.0:\n version \"3.0.0\"\n resolved \"https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961\"\n integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==\n dependencies:\n esutils \"^2.0.2\"\n\ndot-case@^3.0.4:\n version \"3.0.4\"\n resolved \"https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751\"\n integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==\n dependencies:\n no-case \"^3.0.4\"\n tslib \"^2.0.3\"\n\ndrbg.js@^1.0.1:\n version \"1.0.1\"\n resolved \"https://registry.yarnpkg.com/drbg.js/-/drbg.js-1.0.1.tgz#3e36b6c42b37043823cdbc332d58f31e2445480b\"\n integrity sha512-F4wZ06PvqxYLFEZKkFxTDcns9oFNk34hvmJSEwdzsxVQ8YI5YaxtACgQatkYgv2VI2CFkUd2Y+xosPQnHv809g==\n dependencies:\n browserify-aes \"^1.0.6\"\n create-hash \"^1.1.2\"\n create-hmac \"^1.1.4\"\n\neip1193-provider@^1.0.1:\n version \"1.0.1\"\n resolved \"https://registry.yarnpkg.com/eip1193-provider/-/eip1193-provider-1.0.1.tgz#420d29cf4f6c443e3f32e718fb16fafb250637c3\"\n integrity sha512-kSuqwQ26d7CzuS/t3yRXo2Su2cVH0QfvyKbr2H7Be7O5YDyIq4hQGCNTo5wRdP07bt+E2R/8nPCzey4ojBHf7g==\n dependencies:\n \"@json-rpc-tools/provider\" \"^1.5.5\"\n\nelectron-to-chromium@^1.4.284:\n version \"1.4.302\"\n resolved \"https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.302.tgz#5770646ffe7051677b489226144aad9386d420f2\"\n integrity sha512-Uk7C+7aPBryUR1Fwvk9VmipBcN9fVsqBO57jV2ZjTm+IZ6BMNqu7EDVEg2HxCNufk6QcWlFsBkhQyQroB2VWKw==\n\nelliptic@^6.5.2, elliptic@^6.5.4:\n version \"6.5.4\"\n resolved \"https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb\"\n integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==\n dependencies:\n bn.js \"^4.11.9\"\n brorand \"^1.1.0\"\n hash.js \"^1.0.0\"\n hmac-drbg \"^1.0.1\"\n inherits \"^2.0.4\"\n minimalistic-assert \"^1.0.1\"\n minimalistic-crypto-utils \"^1.0.1\"\n\nemoji-regex@^8.0.0:\n version \"8.0.0\"\n resolved \"https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37\"\n integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==\n\nemoji-regex@^9.2.2:\n version \"9.2.2\"\n resolved \"https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72\"\n integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==\n\nend-of-stream@^1.1.0, end-of-stream@^1.4.4:\n version \"1.4.4\"\n resolved \"https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0\"\n integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==\n dependencies:\n once \"^1.4.0\"\n\nenhanced-resolve@^5.10.0:\n version \"5.12.0\"\n resolved \"https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz#300e1c90228f5b570c4d35babf263f6da7155634\"\n integrity sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==\n dependencies:\n graceful-fs \"^4.2.4\"\n tapable \"^2.2.0\"\n\nenquirer@^2.3.5:\n version \"2.3.6\"\n resolved \"https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d\"\n integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==\n dependencies:\n ansi-colors \"^4.1.1\"\n\nes-abstract@^1.19.0, es-abstract@^1.20.4:\n version \"1.21.1\"\n resolved \"https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.21.1.tgz#e6105a099967c08377830a0c9cb589d570dd86c6\"\n integrity sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg==\n dependencies:\n available-typed-arrays \"^1.0.5\"\n call-bind \"^1.0.2\"\n es-set-tostringtag \"^2.0.1\"\n es-to-primitive \"^1.2.1\"\n function-bind \"^1.1.1\"\n function.prototype.name \"^1.1.5\"\n get-intrinsic \"^1.1.3\"\n get-symbol-description \"^1.0.0\"\n globalthis \"^1.0.3\"\n gopd \"^1.0.1\"\n has \"^1.0.3\"\n has-property-descriptors \"^1.0.0\"\n has-proto \"^1.0.1\"\n has-symbols \"^1.0.3\"\n internal-slot \"^1.0.4\"\n is-array-buffer \"^3.0.1\"\n is-callable \"^1.2.7\"\n is-negative-zero \"^2.0.2\"\n is-regex \"^1.1.4\"\n is-shared-array-buffer \"^1.0.2\"\n is-string \"^1.0.7\"\n is-typed-array \"^1.1.10\"\n is-weakref \"^1.0.2\"\n object-inspect \"^1.12.2\"\n object-keys \"^1.1.1\"\n object.assign \"^4.1.4\"\n regexp.prototype.flags \"^1.4.3\"\n safe-regex-test \"^1.0.0\"\n string.prototype.trimend \"^1.0.6\"\n string.prototype.trimstart \"^1.0.6\"\n typed-array-length \"^1.0.4\"\n unbox-primitive \"^1.0.2\"\n which-typed-array \"^1.1.9\"\n\nes-get-iterator@^1.1.2:\n version \"1.1.3\"\n resolved \"https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.3.tgz#3ef87523c5d464d41084b2c3c9c214f1199763d6\"\n integrity sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==\n dependencies:\n call-bind \"^1.0.2\"\n get-intrinsic \"^1.1.3\"\n has-symbols \"^1.0.3\"\n is-arguments \"^1.1.1\"\n is-map \"^2.0.2\"\n is-set \"^2.0.2\"\n is-string \"^1.0.7\"\n isarray \"^2.0.5\"\n stop-iteration-iterator \"^1.0.0\"\n\nes-set-tostringtag@^2.0.1:\n version \"2.0.1\"\n resolved \"https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8\"\n integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==\n dependencies:\n get-intrinsic \"^1.1.3\"\n has \"^1.0.3\"\n has-tostringtag \"^1.0.0\"\n\nes-shim-unscopables@^1.0.0:\n version \"1.0.0\"\n resolved \"https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241\"\n integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==\n dependencies:\n has \"^1.0.3\"\n\nes-to-primitive@^1.2.1:\n version \"1.2.1\"\n resolved \"https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a\"\n integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==\n dependencies:\n is-callable \"^1.1.4\"\n is-date-object \"^1.0.1\"\n is-symbol \"^1.0.2\"\n\nes6-promise@^4.0.3, es6-promise@^4.2.8:\n version \"4.2.8\"\n resolved \"https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a\"\n integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==\n\nes6-promisify@^5.0.0:\n version \"5.0.0\"\n resolved \"https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203\"\n integrity sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==\n dependencies:\n es6-promise \"^4.0.3\"\n\nescalade@^3.1.1:\n version \"3.1.1\"\n resolved \"https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40\"\n integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==\n\nescape-string-regexp@^1.0.5:\n version \"1.0.5\"\n resolved \"https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4\"\n integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==\n\nescape-string-regexp@^4.0.0:\n version \"4.0.0\"\n resolved \"https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34\"\n integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==\n\neslint-config-next@12.0.3:\n version \"12.0.3\"\n resolved \"https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-12.0.3.tgz#a85ad423997f098b41b61c279472e0642e200a9e\"\n integrity sha512-q+mX6jhk3HrCo39G18MLhiC6f8zJnTA00f30RSuVUWsv45SQUm6r62oXVqrbAgMEybe0yx/GDRvfA6LvSolw6Q==\n dependencies:\n \"@next/eslint-plugin-next\" \"12.0.3\"\n \"@rushstack/eslint-patch\" \"^1.0.6\"\n \"@typescript-eslint/parser\" \"^4.20.0\"\n eslint-import-resolver-node \"^0.3.4\"\n eslint-import-resolver-typescript \"^2.4.0\"\n eslint-plugin-import \"^2.22.1\"\n eslint-plugin-jsx-a11y \"^6.4.1\"\n eslint-plugin-react \"^7.23.1\"\n eslint-plugin-react-hooks \"^4.2.0\"\n\neslint-import-resolver-node@^0.3.4, eslint-import-resolver-node@^0.3.7:\n version \"0.3.7\"\n resolved \"https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz#83b375187d412324a1963d84fa664377a23eb4d7\"\n integrity sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==\n dependencies:\n debug \"^3.2.7\"\n is-core-module \"^2.11.0\"\n resolve \"^1.22.1\"\n\neslint-import-resolver-typescript@^2.4.0:\n version \"2.7.1\"\n resolved \"https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.7.1.tgz#a90a4a1c80da8d632df25994c4c5fdcdd02b8751\"\n integrity sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ==\n dependencies:\n debug \"^4.3.4\"\n glob \"^7.2.0\"\n is-glob \"^4.0.3\"\n resolve \"^1.22.0\"\n tsconfig-paths \"^3.14.1\"\n\neslint-module-utils@^2.7.4:\n version \"2.7.4\"\n resolved \"https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz#4f3e41116aaf13a20792261e61d3a2e7e0583974\"\n integrity sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==\n dependencies:\n debug \"^3.2.7\"\n\neslint-plugin-import@^2.22.1:\n version \"2.27.5\"\n resolved \"https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz#876a6d03f52608a3e5bb439c2550588e51dd6c65\"\n integrity sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==\n dependencies:\n array-includes \"^3.1.6\"\n array.prototype.flat \"^1.3.1\"\n array.prototype.flatmap \"^1.3.1\"\n debug \"^3.2.7\"\n doctrine \"^2.1.0\"\n eslint-import-resolver-node \"^0.3.7\"\n eslint-module-utils \"^2.7.4\"\n has \"^1.0.3\"\n is-core-module \"^2.11.0\"\n is-glob \"^4.0.3\"\n minimatch \"^3.1.2\"\n object.values \"^1.1.6\"\n resolve \"^1.22.1\"\n semver \"^6.3.0\"\n tsconfig-paths \"^3.14.1\"\n\neslint-plugin-jsx-a11y@^6.4.1:\n version \"6.7.1\"\n resolved \"https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz#fca5e02d115f48c9a597a6894d5bcec2f7a76976\"\n integrity sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==\n dependencies:\n \"@babel/runtime\" \"^7.20.7\"\n aria-query \"^5.1.3\"\n array-includes \"^3.1.6\"\n array.prototype.flatmap \"^1.3.1\"\n ast-types-flow \"^0.0.7\"\n axe-core \"^4.6.2\"\n axobject-query \"^3.1.1\"\n damerau-levenshtein \"^1.0.8\"\n emoji-regex \"^9.2.2\"\n has \"^1.0.3\"\n jsx-ast-utils \"^3.3.3\"\n language-tags \"=1.0.5\"\n minimatch \"^3.1.2\"\n object.entries \"^1.1.6\"\n object.fromentries \"^2.0.6\"\n semver \"^6.3.0\"\n\neslint-plugin-react-hooks@^4.2.0:\n version \"4.6.0\"\n resolved \"https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3\"\n integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==\n\neslint-plugin-react@^7.23.1:\n version \"7.32.2\"\n resolved \"https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz#e71f21c7c265ebce01bcbc9d0955170c55571f10\"\n integrity sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==\n dependencies:\n array-includes \"^3.1.6\"\n array.prototype.flatmap \"^1.3.1\"\n array.prototype.tosorted \"^1.1.1\"\n doctrine \"^2.1.0\"\n estraverse \"^5.3.0\"\n jsx-ast-utils \"^2.4.1 || ^3.0.0\"\n minimatch \"^3.1.2\"\n object.entries \"^1.1.6\"\n object.fromentries \"^2.0.6\"\n object.hasown \"^1.1.2\"\n object.values \"^1.1.6\"\n prop-types \"^15.8.1\"\n resolve \"^2.0.0-next.4\"\n semver \"^6.3.0\"\n string.prototype.matchall \"^4.0.8\"\n\neslint-scope@^5.1.1:\n version \"5.1.1\"\n resolved \"https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c\"\n integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==\n dependencies:\n esrecurse \"^4.3.0\"\n estraverse \"^4.1.1\"\n\neslint-utils@^2.1.0:\n version \"2.1.0\"\n resolved \"https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27\"\n integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==\n dependencies:\n eslint-visitor-keys \"^1.1.0\"\n\neslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0:\n version \"1.3.0\"\n resolved \"https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e\"\n integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==\n\neslint-visitor-keys@^2.0.0:\n version \"2.1.0\"\n resolved \"https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303\"\n integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==\n\neslint@7:\n version \"7.32.0\"\n resolved \"https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d\"\n integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==\n dependencies:\n \"@babel/code-frame\" \"7.12.11\"\n \"@eslint/eslintrc\" \"^0.4.3\"\n \"@humanwhocodes/config-array\" \"^0.5.0\"\n ajv \"^6.10.0\"\n chalk \"^4.0.0\"\n cross-spawn \"^7.0.2\"\n debug \"^4.0.1\"\n doctrine \"^3.0.0\"\n enquirer \"^2.3.5\"\n escape-string-regexp \"^4.0.0\"\n eslint-scope \"^5.1.1\"\n eslint-utils \"^2.1.0\"\n eslint-visitor-keys \"^2.0.0\"\n espree \"^7.3.1\"\n esquery \"^1.4.0\"\n esutils \"^2.0.2\"\n fast-deep-equal \"^3.1.3\"\n file-entry-cache \"^6.0.1\"\n functional-red-black-tree \"^1.0.1\"\n glob-parent \"^5.1.2\"\n globals \"^13.6.0\"\n ignore \"^4.0.6\"\n import-fresh \"^3.0.0\"\n imurmurhash \"^0.1.4\"\n is-glob \"^4.0.0\"\n js-yaml \"^3.13.1\"\n json-stable-stringify-without-jsonify \"^1.0.1\"\n levn \"^0.4.1\"\n lodash.merge \"^4.6.2\"\n minimatch \"^3.0.4\"\n natural-compare \"^1.4.0\"\n optionator \"^0.9.1\"\n progress \"^2.0.0\"\n regexpp \"^3.1.0\"\n semver \"^7.2.1\"\n strip-ansi \"^6.0.0\"\n strip-json-comments \"^3.1.0\"\n table \"^6.0.9\"\n text-table \"^0.2.0\"\n v8-compile-cache \"^2.0.3\"\n\nespree@^7.3.0, espree@^7.3.1:\n version \"7.3.1\"\n resolved \"https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6\"\n integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==\n dependencies:\n acorn \"^7.4.0\"\n acorn-jsx \"^5.3.1\"\n eslint-visitor-keys \"^1.3.0\"\n\nesprima@^4.0.0:\n version \"4.0.1\"\n resolved \"https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71\"\n integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==\n\nesquery@^1.4.0:\n version \"1.4.2\"\n resolved \"https://registry.yarnpkg.com/esquery/-/esquery-1.4.2.tgz#c6d3fee05dd665808e2ad870631f221f5617b1d1\"\n integrity sha512-JVSoLdTlTDkmjFmab7H/9SL9qGSyjElT3myyKp7krqjVFQCDLmj1QFaCLRFBszBKI0XVZaiiXvuPIX3ZwHe1Ng==\n dependencies:\n estraverse \"^5.1.0\"\n\nesrecurse@^4.3.0:\n version \"4.3.0\"\n resolved \"https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921\"\n integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==\n dependencies:\n estraverse \"^5.2.0\"\n\nestraverse@^4.1.1:\n version \"4.3.0\"\n resolved \"https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d\"\n integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==\n\nestraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0:\n version \"5.3.0\"\n resolved \"https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123\"\n integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==\n\nesutils@^2.0.2:\n version \"2.0.3\"\n resolved \"https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64\"\n integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==\n\neth-rpc-errors@^4.0.3:\n version \"4.0.3\"\n resolved \"https://registry.yarnpkg.com/eth-rpc-errors/-/eth-rpc-errors-4.0.3.tgz#6ddb6190a4bf360afda82790bb7d9d5e724f423a\"\n integrity sha512-Z3ymjopaoft7JDoxZcEb3pwdGh7yiYMhOwm2doUt6ASXlMavpNlK6Cre0+IMl2VSGyEU9rkiperQhp5iRxn5Pg==\n dependencies:\n fast-safe-stringify \"^2.0.6\"\n\neventemitter3@^4.0.7:\n version \"4.0.7\"\n resolved \"https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f\"\n integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==\n\nevents@^3.3.0:\n version \"3.3.0\"\n resolved \"https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400\"\n integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==\n\nevp_bytestokey@^1.0.3:\n version \"1.0.3\"\n resolved \"https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02\"\n integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==\n dependencies:\n md5.js \"^1.3.4\"\n safe-buffer \"^5.1.1\"\n\neyes@^0.1.8:\n version \"0.1.8\"\n resolved \"https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0\"\n integrity sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==\n\nfast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:\n version \"3.1.3\"\n resolved \"https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525\"\n integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==\n\nfast-glob@^3.2.12, fast-glob@^3.2.9:\n version \"3.2.12\"\n resolved \"https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80\"\n integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==\n dependencies:\n \"@nodelib/fs.stat\" \"^2.0.2\"\n \"@nodelib/fs.walk\" \"^1.2.3\"\n glob-parent \"^5.1.2\"\n merge2 \"^1.3.0\"\n micromatch \"^4.0.4\"\n\nfast-json-stable-stringify@^2.0.0:\n version \"2.1.0\"\n resolved \"https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633\"\n integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==\n\nfast-levenshtein@^2.0.6:\n version \"2.0.6\"\n resolved \"https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917\"\n integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==\n\nfast-safe-stringify@^2.0.6, fast-safe-stringify@^2.1.1:\n version \"2.1.1\"\n resolved \"https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884\"\n integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==\n\nfast-stable-stringify@^1.0.0:\n version \"1.0.0\"\n resolved \"https://registry.yarnpkg.com/fast-stable-stringify/-/fast-stable-stringify-1.0.0.tgz#5c5543462b22aeeefd36d05b34e51c78cb86d313\"\n integrity sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag==\n\nfastq@^1.6.0:\n version \"1.15.0\"\n resolved \"https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a\"\n integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==\n dependencies:\n reusify \"^1.0.4\"\n\nfile-entry-cache@^6.0.1:\n version \"6.0.1\"\n resolved \"https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027\"\n integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==\n dependencies:\n flat-cache \"^3.0.4\"\n\nfile-uri-to-path@1.0.0:\n version \"1.0.0\"\n resolved \"https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd\"\n integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==\n\nfill-range@^7.0.1:\n version \"7.0.1\"\n resolved \"https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40\"\n integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==\n dependencies:\n to-regex-range \"^5.0.1\"\n\nflat-cache@^3.0.4:\n version \"3.0.4\"\n resolved \"https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11\"\n integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==\n dependencies:\n flatted \"^3.1.0\"\n rimraf \"^3.0.2\"\n\nflatted@^3.1.0:\n version \"3.2.7\"\n resolved \"https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787\"\n integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==\n\nfollow-redirects@^1.14.0:\n version \"1.15.2\"\n resolved \"https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13\"\n integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==\n\nfor-each@^0.3.3:\n version \"0.3.3\"\n resolved \"https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e\"\n integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==\n dependencies:\n is-callable \"^1.1.3\"\n\nfraction.js@^4.2.0:\n version \"4.2.0\"\n resolved \"https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950\"\n integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==\n\nfs.realpath@^1.0.0:\n version \"1.0.0\"\n resolved \"https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f\"\n integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==\n\nfsevents@~2.3.2:\n version \"2.3.2\"\n resolved \"https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a\"\n integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==\n\nfunction-bind@^1.1.1:\n version \"1.1.1\"\n resolved \"https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d\"\n integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==\n\nfunction.prototype.name@^1.1.5:\n version \"1.1.5\"\n resolved \"https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621\"\n integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==\n dependencies:\n call-bind \"^1.0.2\"\n define-properties \"^1.1.3\"\n es-abstract \"^1.19.0\"\n functions-have-names \"^1.2.2\"\n\nfunctional-red-black-tree@^1.0.1:\n version \"1.0.1\"\n resolved \"https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327\"\n integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==\n\nfunctions-have-names@^1.2.2:\n version \"1.2.3\"\n resolved \"https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834\"\n integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==\n\nget-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0:\n version \"1.2.0\"\n resolved \"https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz#7ad1dc0535f3a2904bba075772763e5051f6d05f\"\n integrity sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==\n dependencies:\n function-bind \"^1.1.1\"\n has \"^1.0.3\"\n has-symbols \"^1.0.3\"\n\nget-symbol-description@^1.0.0:\n version \"1.0.0\"\n resolved \"https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6\"\n integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==\n dependencies:\n call-bind \"^1.0.2\"\n get-intrinsic \"^1.1.1\"\n\nglob-parent@^5.1.2, glob-parent@~5.1.2:\n version \"5.1.2\"\n resolved \"https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4\"\n integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==\n dependencies:\n is-glob \"^4.0.1\"\n\nglob-parent@^6.0.2:\n version \"6.0.2\"\n resolved \"https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3\"\n integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==\n dependencies:\n is-glob \"^4.0.3\"\n\nglob@7.1.7:\n version \"7.1.7\"\n resolved \"https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90\"\n integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==\n dependencies:\n fs.realpath \"^1.0.0\"\n inflight \"^1.0.4\"\n inherits \"2\"\n minimatch \"^3.0.4\"\n once \"^1.3.0\"\n path-is-absolute \"^1.0.0\"\n\nglob@^7.1.3, glob@^7.2.0:\n version \"7.2.3\"\n resolved \"https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b\"\n integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==\n dependencies:\n fs.realpath \"^1.0.0\"\n inflight \"^1.0.4\"\n inherits \"2\"\n minimatch \"^3.1.1\"\n once \"^1.3.0\"\n path-is-absolute \"^1.0.0\"\n\nglobals@^13.6.0, globals@^13.9.0:\n version \"13.20.0\"\n resolved \"https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82\"\n integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==\n dependencies:\n type-fest \"^0.20.2\"\n\nglobalthis@^1.0.3:\n version \"1.0.3\"\n resolved \"https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf\"\n integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==\n dependencies:\n define-properties \"^1.1.3\"\n\nglobby@^11.0.3:\n version \"11.1.0\"\n resolved \"https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b\"\n integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==\n dependencies:\n array-union \"^2.1.0\"\n dir-glob \"^3.0.1\"\n fast-glob \"^3.2.9\"\n ignore \"^5.2.0\"\n merge2 \"^1.4.1\"\n slash \"^3.0.0\"\n\ngopd@^1.0.1:\n version \"1.0.1\"\n resolved \"https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c\"\n integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==\n dependencies:\n get-intrinsic \"^1.1.3\"\n\ngraceful-fs@^4.2.4:\n version \"4.2.10\"\n resolved \"https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c\"\n integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==\n\nhas-bigints@^1.0.1, has-bigints@^1.0.2:\n version \"1.0.2\"\n resolved \"https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa\"\n integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==\n\nhas-flag@^3.0.0:\n version \"3.0.0\"\n resolved \"https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd\"\n integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==\n\nhas-flag@^4.0.0:\n version \"4.0.0\"\n resolved \"https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b\"\n integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\n\nhas-property-descriptors@^1.0.0:\n version \"1.0.0\"\n resolved \"https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861\"\n integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==\n dependencies:\n get-intrinsic \"^1.1.1\"\n\nhas-proto@^1.0.1:\n version \"1.0.1\"\n resolved \"https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0\"\n integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==\n\nhas-symbols@^1.0.2, has-symbols@^1.0.3:\n version \"1.0.3\"\n resolved \"https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8\"\n integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==\n\nhas-tostringtag@^1.0.0:\n version \"1.0.0\"\n resolved \"https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25\"\n integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==\n dependencies:\n has-symbols \"^1.0.2\"\n\nhas@^1.0.3:\n version \"1.0.3\"\n resolved \"https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796\"\n integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==\n dependencies:\n function-bind \"^1.1.1\"\n\nhash-base@^3.0.0:\n version \"3.1.0\"\n resolved \"https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33\"\n integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==\n dependencies:\n inherits \"^2.0.4\"\n readable-stream \"^3.6.0\"\n safe-buffer \"^5.2.0\"\n\nhash.js@^1.0.0, hash.js@^1.0.3:\n version \"1.1.7\"\n resolved \"https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42\"\n integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==\n dependencies:\n inherits \"^2.0.3\"\n minimalistic-assert \"^1.0.1\"\n\nhmac-drbg@^1.0.1:\n version \"1.0.1\"\n resolved \"https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1\"\n integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==\n dependencies:\n hash.js \"^1.0.3\"\n minimalistic-assert \"^1.0.0\"\n minimalistic-crypto-utils \"^1.0.1\"\n\nhumanize-ms@^1.2.1:\n version \"1.2.1\"\n resolved \"https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed\"\n integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==\n dependencies:\n ms \"^2.0.0\"\n\nieee754@^1.2.1:\n version \"1.2.1\"\n resolved \"https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352\"\n integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==\n\nignore@^4.0.6:\n version \"4.0.6\"\n resolved \"https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc\"\n integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==\n\nignore@^5.2.0:\n version \"5.2.4\"\n resolved \"https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324\"\n integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==\n\nimport-fresh@^3.0.0, import-fresh@^3.2.1:\n version \"3.3.0\"\n resolved \"https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b\"\n integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==\n dependencies:\n parent-module \"^1.0.0\"\n resolve-from \"^4.0.0\"\n\nimurmurhash@^0.1.4:\n version \"0.1.4\"\n resolved \"https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea\"\n integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==\n\ninflight@^1.0.4:\n version \"1.0.6\"\n resolved \"https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9\"\n integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==\n dependencies:\n once \"^1.3.0\"\n wrappy \"1\"\n\ninherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4:\n version \"2.0.4\"\n resolved \"https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c\"\n integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==\n\ninternal-slot@^1.0.3, internal-slot@^1.0.4:\n version \"1.0.5\"\n resolved \"https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986\"\n integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==\n dependencies:\n get-intrinsic \"^1.2.0\"\n has \"^1.0.3\"\n side-channel \"^1.0.4\"\n\nis-arguments@^1.1.1:\n version \"1.1.1\"\n resolved \"https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b\"\n integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==\n dependencies:\n call-bind \"^1.0.2\"\n has-tostringtag \"^1.0.0\"\n\nis-array-buffer@^3.0.1:\n version \"3.0.1\"\n resolved \"https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.1.tgz#deb1db4fcae48308d54ef2442706c0393997052a\"\n integrity sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ==\n dependencies:\n call-bind \"^1.0.2\"\n get-intrinsic \"^1.1.3\"\n is-typed-array \"^1.1.10\"\n\nis-bigint@^1.0.1:\n version \"1.0.4\"\n resolved \"https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3\"\n integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==\n dependencies:\n has-bigints \"^1.0.1\"\n\nis-binary-path@~2.1.0:\n version \"2.1.0\"\n resolved \"https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09\"\n integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==\n dependencies:\n binary-extensions \"^2.0.0\"\n\nis-boolean-object@^1.1.0:\n version \"1.1.2\"\n resolved \"https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719\"\n integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==\n dependencies:\n call-bind \"^1.0.2\"\n has-tostringtag \"^1.0.0\"\n\nis-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7:\n version \"1.2.7\"\n resolved \"https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055\"\n integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==\n\nis-core-module@^2.11.0, is-core-module@^2.9.0:\n version \"2.11.0\"\n resolved \"https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144\"\n integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==\n dependencies:\n has \"^1.0.3\"\n\nis-date-object@^1.0.1, is-date-object@^1.0.5:\n version \"1.0.5\"\n resolved \"https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f\"\n integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==\n dependencies:\n has-tostringtag \"^1.0.0\"\n\nis-extglob@^2.1.1:\n version \"2.1.1\"\n resolved \"https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2\"\n integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==\n\nis-fullwidth-code-point@^3.0.0:\n version \"3.0.0\"\n resolved \"https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d\"\n integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==\n\nis-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1:\n version \"4.0.3\"\n resolved \"https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084\"\n integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==\n dependencies:\n is-extglob \"^2.1.1\"\n\nis-map@^2.0.1, is-map@^2.0.2:\n version \"2.0.2\"\n resolved \"https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127\"\n integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==\n\nis-negative-zero@^2.0.2:\n version \"2.0.2\"\n resolved \"https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150\"\n integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==\n\nis-number-object@^1.0.4:\n version \"1.0.7\"\n resolved \"https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc\"\n integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==\n dependencies:\n has-tostringtag \"^1.0.0\"\n\nis-number@^7.0.0:\n version \"7.0.0\"\n resolved \"https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b\"\n integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==\n\nis-regex@^1.1.4:\n version \"1.1.4\"\n resolved \"https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958\"\n integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==\n dependencies:\n call-bind \"^1.0.2\"\n has-tostringtag \"^1.0.0\"\n\nis-set@^2.0.1, is-set@^2.0.2:\n version \"2.0.2\"\n resolved \"https://registry.yarnpkg.com/is-set/-/is-set-2.0.2.tgz#90755fa4c2562dc1c5d4024760d6119b94ca18ec\"\n integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==\n\nis-shared-array-buffer@^1.0.2:\n version \"1.0.2\"\n resolved \"https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79\"\n integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==\n dependencies:\n call-bind \"^1.0.2\"\n\nis-string@^1.0.5, is-string@^1.0.7:\n version \"1.0.7\"\n resolved \"https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd\"\n integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==\n dependencies:\n has-tostringtag \"^1.0.0\"\n\nis-symbol@^1.0.2, is-symbol@^1.0.3:\n version \"1.0.4\"\n resolved \"https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c\"\n integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==\n dependencies:\n has-symbols \"^1.0.2\"\n\nis-typed-array@^1.1.10, is-typed-array@^1.1.9:\n version \"1.1.10\"\n resolved \"https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f\"\n integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==\n dependencies:\n available-typed-arrays \"^1.0.5\"\n call-bind \"^1.0.2\"\n for-each \"^0.3.3\"\n gopd \"^1.0.1\"\n has-tostringtag \"^1.0.0\"\n\nis-weakmap@^2.0.1:\n version \"2.0.1\"\n resolved \"https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.1.tgz#5008b59bdc43b698201d18f62b37b2ca243e8cf2\"\n integrity sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==\n\nis-weakref@^1.0.2:\n version \"1.0.2\"\n resolved \"https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2\"\n integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==\n dependencies:\n call-bind \"^1.0.2\"\n\nis-weakset@^2.0.1:\n version \"2.0.2\"\n resolved \"https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.2.tgz#4569d67a747a1ce5a994dfd4ef6dcea76e7c0a1d\"\n integrity sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==\n dependencies:\n call-bind \"^1.0.2\"\n get-intrinsic \"^1.1.1\"\n\nisarray@^2.0.5:\n version \"2.0.5\"\n resolved \"https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723\"\n integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==\n\nisexe@^2.0.0:\n version \"2.0.0\"\n resolved \"https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10\"\n integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==\n\nisomorphic-ws@^4.0.1:\n version \"4.0.1\"\n resolved \"https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#55fd4cd6c5e6491e76dc125938dd863f5cd4f2dc\"\n integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==\n\njayson@^3.4.4:\n version \"3.7.0\"\n resolved \"https://registry.yarnpkg.com/jayson/-/jayson-3.7.0.tgz#b735b12d06d348639ae8230d7a1e2916cb078f25\"\n integrity sha512-tfy39KJMrrXJ+mFcMpxwBvFDetS8LAID93+rycFglIQM4kl3uNR3W4lBLE/FFhsoUCEox5Dt2adVpDm/XtebbQ==\n dependencies:\n \"@types/connect\" \"^3.4.33\"\n \"@types/node\" \"^12.12.54\"\n \"@types/ws\" \"^7.4.4\"\n JSONStream \"^1.3.5\"\n commander \"^2.20.3\"\n delay \"^5.0.0\"\n es6-promisify \"^5.0.0\"\n eyes \"^0.1.8\"\n isomorphic-ws \"^4.0.1\"\n json-stringify-safe \"^5.0.1\"\n lodash \"^4.17.20\"\n uuid \"^8.3.2\"\n ws \"^7.4.5\"\n\njs-sha256@^0.9.0:\n version \"0.9.0\"\n resolved \"https://registry.yarnpkg.com/js-sha256/-/js-sha256-0.9.0.tgz#0b89ac166583e91ef9123644bd3c5334ce9d0966\"\n integrity sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA==\n\njs-sha3@^0.8.0:\n version \"0.8.0\"\n resolved \"https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840\"\n integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==\n\n\"js-tokens@^3.0.0 || ^4.0.0\", js-tokens@^4.0.0:\n version \"4.0.0\"\n resolved \"https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499\"\n integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==\n\njs-yaml@^3.13.1:\n version \"3.14.1\"\n resolved \"https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537\"\n integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==\n dependencies:\n argparse \"^1.0.7\"\n esprima \"^4.0.0\"\n\njson-schema-traverse@^0.4.1:\n version \"0.4.1\"\n resolved \"https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660\"\n integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==\n\njson-schema-traverse@^1.0.0:\n version \"1.0.0\"\n resolved \"https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2\"\n integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==\n\njson-stable-stringify-without-jsonify@^1.0.1:\n version \"1.0.1\"\n resolved \"https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651\"\n integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==\n\njson-stringify-safe@^5.0.1:\n version \"5.0.1\"\n resolved \"https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb\"\n integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==\n\njson5@^1.0.1:\n version \"1.0.2\"\n resolved \"https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593\"\n integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==\n dependencies:\n minimist \"^1.2.0\"\n\njsonparse@^1.2.0:\n version \"1.3.1\"\n resolved \"https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280\"\n integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==\n\n\"jsx-ast-utils@^2.4.1 || ^3.0.0\", jsx-ast-utils@^3.3.3:\n version \"3.3.3\"\n resolved \"https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz#76b3e6e6cece5c69d49a5792c3d01bd1a0cdc7ea\"\n integrity sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==\n dependencies:\n array-includes \"^3.1.5\"\n object.assign \"^4.1.3\"\n\nkeccak@^3.0.2:\n version \"3.0.3\"\n resolved \"https://registry.yarnpkg.com/keccak/-/keccak-3.0.3.tgz#4bc35ad917be1ef54ff246f904c2bbbf9ac61276\"\n integrity sha512-JZrLIAJWuZxKbCilMpNz5Vj7Vtb4scDG3dMXLOsbzBmQGyjwE61BbW7bJkfKKCShXiQZt3T6sBgALRtmd+nZaQ==\n dependencies:\n node-addon-api \"^2.0.0\"\n node-gyp-build \"^4.2.0\"\n readable-stream \"^3.6.0\"\n\nkeyvaluestorage-interface@^1.0.0:\n version \"1.0.0\"\n resolved \"https://registry.yarnpkg.com/keyvaluestorage-interface/-/keyvaluestorage-interface-1.0.0.tgz#13ebdf71f5284ad54be94bd1ad9ed79adad515ff\"\n integrity sha512-8t6Q3TclQ4uZynJY9IGr2+SsIGwK9JHcO6ootkHCGA0CrQCRy+VkouYNO2xicET6b9al7QKzpebNow+gkpCL8g==\n\nlanguage-subtag-registry@~0.3.2:\n version \"0.3.22\"\n resolved \"https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz#2e1500861b2e457eba7e7ae86877cbd08fa1fd1d\"\n integrity sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==\n\nlanguage-tags@=1.0.5:\n version \"1.0.5\"\n resolved \"https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.5.tgz#d321dbc4da30ba8bf3024e040fa5c14661f9193a\"\n integrity sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==\n dependencies:\n language-subtag-registry \"~0.3.2\"\n\nlevn@^0.4.1:\n version \"0.4.1\"\n resolved \"https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade\"\n integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==\n dependencies:\n prelude-ls \"^1.2.1\"\n type-check \"~0.4.0\"\n\nlilconfig@^2.0.5, lilconfig@^2.0.6:\n version \"2.0.6\"\n resolved \"https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.6.tgz#32a384558bd58af3d4c6e077dd1ad1d397bc69d4\"\n integrity sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==\n\nlodash.merge@^4.6.2:\n version \"4.6.2\"\n resolved \"https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a\"\n integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==\n\nlodash.truncate@^4.4.2:\n version \"4.4.2\"\n resolved \"https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193\"\n integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==\n\nlodash@^4.17.20:\n version \"4.17.21\"\n resolved \"https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c\"\n integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==\n\nloglevel@^1.8.0:\n version \"1.8.1\"\n resolved \"https://registry.yarnpkg.com/loglevel/-/loglevel-1.8.1.tgz#5c621f83d5b48c54ae93b6156353f555963377b4\"\n integrity sha512-tCRIJM51SHjAayKwC+QAg8hT8vg6z7GSgLJKGvzuPb1Wc+hLzqtuVLxp6/HzSPOozuK+8ErAhy7U/sVzw8Dgfg==\n\nloose-envify@^1.1.0, loose-envify@^1.4.0:\n version \"1.4.0\"\n resolved \"https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf\"\n integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==\n dependencies:\n js-tokens \"^3.0.0 || ^4.0.0\"\n\nlower-case@^2.0.2:\n version \"2.0.2\"\n resolved \"https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28\"\n integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==\n dependencies:\n tslib \"^2.0.3\"\n\nlru-cache@^6.0.0:\n version \"6.0.0\"\n resolved \"https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94\"\n integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==\n dependencies:\n yallist \"^4.0.0\"\n\nmd5.js@^1.3.4:\n version \"1.3.5\"\n resolved \"https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f\"\n integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==\n dependencies:\n hash-base \"^3.0.0\"\n inherits \"^2.0.1\"\n safe-buffer \"^5.1.2\"\n\nmerge2@^1.3.0, merge2@^1.4.1:\n version \"1.4.1\"\n resolved \"https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae\"\n integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==\n\nmicromatch@^4.0.4, micromatch@^4.0.5:\n version \"4.0.5\"\n resolved \"https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6\"\n integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==\n dependencies:\n braces \"^3.0.2\"\n picomatch \"^2.3.1\"\n\nminimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1:\n version \"1.0.1\"\n resolved \"https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7\"\n integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==\n\nminimalistic-crypto-utils@^1.0.1:\n version \"1.0.1\"\n resolved \"https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a\"\n integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==\n\nminimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2:\n version \"3.1.2\"\n resolved \"https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b\"\n integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==\n dependencies:\n brace-expansion \"^1.1.7\"\n\nminimist@^1.2.0, minimist@^1.2.6:\n version \"1.2.8\"\n resolved \"https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c\"\n integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==\n\nms@2.1.2:\n version \"2.1.2\"\n resolved \"https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009\"\n integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==\n\nms@^2.0.0, ms@^2.1.1:\n version \"2.1.3\"\n resolved \"https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2\"\n integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==\n\nnan@^2.14.0, nan@^2.14.2:\n version \"2.17.0\"\n resolved \"https://registry.yarnpkg.com/nan/-/nan-2.17.0.tgz#c0150a2368a182f033e9aa5195ec76ea41a199cb\"\n integrity sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==\n\nnanoid@^3.1.30, nanoid@^3.3.4:\n version \"3.3.4\"\n resolved \"https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab\"\n integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==\n\nnatural-compare@^1.4.0:\n version \"1.4.0\"\n resolved \"https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7\"\n integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==\n\nnext-compose-plugins@^2.2.1:\n version \"2.2.1\"\n resolved \"https://registry.yarnpkg.com/next-compose-plugins/-/next-compose-plugins-2.2.1.tgz#020fc53f275a7e719d62521bef4300fbb6fde5ab\"\n integrity sha512-OjJ+fV15FXO2uQXQagLD4C0abYErBjyjE0I0FHpOEIB8upw0hg1ldFP6cqHTJBH1cZqy96OeR3u1dJ+Ez2D4Bg==\n\nnext-transpile-modules@^9.0.0:\n version \"9.1.0\"\n resolved \"https://registry.yarnpkg.com/next-transpile-modules/-/next-transpile-modules-9.1.0.tgz#dffd2563bf76f8afdb28f0611948f46252ca65ef\"\n integrity sha512-yzJji65xDqcIqjvx5vPJcs1M+MYQTzLM1pXH/qf8Q88ohx+bwVGDc1AeV+HKr1NwvMCNTpwVPSFI7cA5WdyeWA==\n dependencies:\n enhanced-resolve \"^5.10.0\"\n escalade \"^3.1.1\"\n\nnext@12.1.0:\n version \"12.1.0\"\n resolved \"https://registry.yarnpkg.com/next/-/next-12.1.0.tgz#c33d753b644be92fc58e06e5a214f143da61dd5d\"\n integrity sha512-s885kWvnIlxsUFHq9UGyIyLiuD0G3BUC/xrH0CEnH5lHEWkwQcHOORgbDF0hbrW9vr/7am4ETfX4A7M6DjrE7Q==\n dependencies:\n \"@next/env\" \"12.1.0\"\n caniuse-lite \"^1.0.30001283\"\n postcss \"8.4.5\"\n styled-jsx \"5.0.0\"\n use-subscription \"1.5.1\"\n optionalDependencies:\n \"@next/swc-android-arm64\" \"12.1.0\"\n \"@next/swc-darwin-arm64\" \"12.1.0\"\n \"@next/swc-darwin-x64\" \"12.1.0\"\n \"@next/swc-linux-arm-gnueabihf\" \"12.1.0\"\n \"@next/swc-linux-arm64-gnu\" \"12.1.0\"\n \"@next/swc-linux-arm64-musl\" \"12.1.0\"\n \"@next/swc-linux-x64-gnu\" \"12.1.0\"\n \"@next/swc-linux-x64-musl\" \"12.1.0\"\n \"@next/swc-win32-arm64-msvc\" \"12.1.0\"\n \"@next/swc-win32-ia32-msvc\" \"12.1.0\"\n \"@next/swc-win32-x64-msvc\" \"12.1.0\"\n\nno-case@^3.0.4:\n version \"3.0.4\"\n resolved \"https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d\"\n integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==\n dependencies:\n lower-case \"^2.0.2\"\n tslib \"^2.0.3\"\n\nnode-addon-api@^2.0.0:\n version \"2.0.2\"\n resolved \"https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32\"\n integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==\n\nnode-fetch@2:\n version \"2.6.9\"\n resolved \"https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.9.tgz#7c7f744b5cc6eb5fd404e0c7a9fec630a55657e6\"\n integrity sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==\n dependencies:\n whatwg-url \"^5.0.0\"\n\nnode-fetch@2.6.7:\n version \"2.6.7\"\n resolved \"https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad\"\n integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==\n dependencies:\n whatwg-url \"^5.0.0\"\n\nnode-gyp-build@^4.2.0, node-gyp-build@^4.3.0:\n version \"4.6.0\"\n resolved \"https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.6.0.tgz#0c52e4cbf54bbd28b709820ef7b6a3c2d6209055\"\n integrity sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==\n\nnode-releases@^2.0.8:\n version \"2.0.10\"\n resolved \"https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.10.tgz#c311ebae3b6a148c89b1813fd7c4d3c024ef537f\"\n integrity sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==\n\nnormalize-path@^3.0.0, normalize-path@~3.0.0:\n version \"3.0.0\"\n resolved \"https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65\"\n integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==\n\nnormalize-range@^0.1.2:\n version \"0.1.2\"\n resolved \"https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942\"\n integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==\n\nobject-assign@^4.1.1:\n version \"4.1.1\"\n resolved \"https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863\"\n integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==\n\nobject-hash@^3.0.0:\n version \"3.0.0\"\n resolved \"https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9\"\n integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==\n\nobject-inspect@^1.12.2, object-inspect@^1.9.0:\n version \"1.12.3\"\n resolved \"https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9\"\n integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==\n\nobject-is@^1.1.5:\n version \"1.1.5\"\n resolved \"https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac\"\n integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==\n dependencies:\n call-bind \"^1.0.2\"\n define-properties \"^1.1.3\"\n\nobject-keys@^1.1.1:\n version \"1.1.1\"\n resolved \"https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e\"\n integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==\n\nobject.assign@^4.1.3, object.assign@^4.1.4:\n version \"4.1.4\"\n resolved \"https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f\"\n integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==\n dependencies:\n call-bind \"^1.0.2\"\n define-properties \"^1.1.4\"\n has-symbols \"^1.0.3\"\n object-keys \"^1.1.1\"\n\nobject.entries@^1.1.6:\n version \"1.1.6\"\n resolved \"https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.6.tgz#9737d0e5b8291edd340a3e3264bb8a3b00d5fa23\"\n integrity sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==\n dependencies:\n call-bind \"^1.0.2\"\n define-properties \"^1.1.4\"\n es-abstract \"^1.20.4\"\n\nobject.fromentries@^2.0.6:\n version \"2.0.6\"\n resolved \"https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.6.tgz#cdb04da08c539cffa912dcd368b886e0904bfa73\"\n integrity sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==\n dependencies:\n call-bind \"^1.0.2\"\n define-properties \"^1.1.4\"\n es-abstract \"^1.20.4\"\n\nobject.hasown@^1.1.2:\n version \"1.1.2\"\n resolved \"https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.2.tgz#f919e21fad4eb38a57bc6345b3afd496515c3f92\"\n integrity sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==\n dependencies:\n define-properties \"^1.1.4\"\n es-abstract \"^1.20.4\"\n\nobject.values@^1.1.6:\n version \"1.1.6\"\n resolved \"https://registry.yarnpkg.com/object.values/-/object.values-1.1.6.tgz#4abbaa71eba47d63589d402856f908243eea9b1d\"\n integrity sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==\n dependencies:\n call-bind \"^1.0.2\"\n define-properties \"^1.1.4\"\n es-abstract \"^1.20.4\"\n\nonce@^1.3.0, once@^1.3.1, once@^1.4.0:\n version \"1.4.0\"\n resolved \"https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1\"\n integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==\n dependencies:\n wrappy \"1\"\n\noptionator@^0.9.1:\n version \"0.9.1\"\n resolved \"https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499\"\n integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==\n dependencies:\n deep-is \"^0.1.3\"\n fast-levenshtein \"^2.0.6\"\n levn \"^0.4.1\"\n prelude-ls \"^1.2.1\"\n type-check \"^0.4.0\"\n word-wrap \"^1.2.3\"\n\npako@^2.0.3:\n version \"2.1.0\"\n resolved \"https://registry.yarnpkg.com/pako/-/pako-2.1.0.tgz#266cc37f98c7d883545d11335c00fbd4062c9a86\"\n integrity sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==\n\nparent-module@^1.0.0:\n version \"1.0.1\"\n resolved \"https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2\"\n integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==\n dependencies:\n callsites \"^3.0.0\"\n\npath-is-absolute@^1.0.0:\n version \"1.0.1\"\n resolved \"https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f\"\n integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==\n\npath-key@^3.1.0:\n version \"3.1.1\"\n resolved \"https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375\"\n integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==\n\npath-parse@^1.0.7:\n version \"1.0.7\"\n resolved \"https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735\"\n integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==\n\npath-type@^4.0.0:\n version \"4.0.0\"\n resolved \"https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b\"\n integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==\n\npicocolors@^1.0.0:\n version \"1.0.0\"\n resolved \"https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c\"\n integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==\n\npicomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1:\n version \"2.3.1\"\n resolved \"https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42\"\n integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==\n\npify@^2.3.0:\n version \"2.3.0\"\n resolved \"https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c\"\n integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==\n\npostcss-import@^14.1.0:\n version \"14.1.0\"\n resolved \"https://registry.yarnpkg.com/postcss-import/-/postcss-import-14.1.0.tgz#a7333ffe32f0b8795303ee9e40215dac922781f0\"\n integrity sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==\n dependencies:\n postcss-value-parser \"^4.0.0\"\n read-cache \"^1.0.0\"\n resolve \"^1.1.7\"\n\npostcss-js@^4.0.0:\n version \"4.0.1\"\n resolved \"https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.1.tgz#61598186f3703bab052f1c4f7d805f3991bee9d2\"\n integrity sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==\n dependencies:\n camelcase-css \"^2.0.1\"\n\npostcss-load-config@^3.1.4:\n version \"3.1.4\"\n resolved \"https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-3.1.4.tgz#1ab2571faf84bb078877e1d07905eabe9ebda855\"\n integrity sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==\n dependencies:\n lilconfig \"^2.0.5\"\n yaml \"^1.10.2\"\n\npostcss-nested@6.0.0:\n version \"6.0.0\"\n resolved \"https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-6.0.0.tgz#1572f1984736578f360cffc7eb7dca69e30d1735\"\n integrity sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==\n dependencies:\n postcss-selector-parser \"^6.0.10\"\n\npostcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.11:\n version \"6.0.11\"\n resolved \"https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz#2e41dc39b7ad74046e1615185185cd0b17d0c8dc\"\n integrity sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==\n dependencies:\n cssesc \"^3.0.0\"\n util-deprecate \"^1.0.2\"\n\npostcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0:\n version \"4.2.0\"\n resolved \"https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514\"\n integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==\n\npostcss@8.4.5:\n version \"8.4.5\"\n resolved \"https://registry.yarnpkg.com/postcss/-/postcss-8.4.5.tgz#bae665764dfd4c6fcc24dc0fdf7e7aa00cc77f95\"\n integrity sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==\n dependencies:\n nanoid \"^3.1.30\"\n picocolors \"^1.0.0\"\n source-map-js \"^1.0.1\"\n\npostcss@^8.0.9, postcss@^8.4.12:\n version \"8.4.21\"\n resolved \"https://registry.yarnpkg.com/postcss/-/postcss-8.4.21.tgz#c639b719a57efc3187b13a1d765675485f4134f4\"\n integrity sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==\n dependencies:\n nanoid \"^3.3.4\"\n picocolors \"^1.0.0\"\n source-map-js \"^1.0.2\"\n\nprelude-ls@^1.2.1:\n version \"1.2.1\"\n resolved \"https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396\"\n integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==\n\nprogress@^2.0.0:\n version \"2.0.3\"\n resolved \"https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8\"\n integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==\n\nprop-types@^15.8.1:\n version \"15.8.1\"\n resolved \"https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5\"\n integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==\n dependencies:\n loose-envify \"^1.4.0\"\n object-assign \"^4.1.1\"\n react-is \"^16.13.1\"\n\npump@^3.0.0:\n version \"3.0.0\"\n resolved \"https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64\"\n integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==\n dependencies:\n end-of-stream \"^1.1.0\"\n once \"^1.3.1\"\n\npunycode@^2.1.0:\n version \"2.3.0\"\n resolved \"https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f\"\n integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==\n\nqueue-microtask@^1.2.2:\n version \"1.2.3\"\n resolved \"https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243\"\n integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==\n\nquick-lru@^5.1.1:\n version \"5.1.1\"\n resolved \"https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932\"\n integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==\n\nrandombytes@^2.1.0:\n version \"2.1.0\"\n resolved \"https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a\"\n integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==\n dependencies:\n safe-buffer \"^5.1.0\"\n\nreact-dom@17.0.2:\n version \"17.0.2\"\n resolved \"https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23\"\n integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==\n dependencies:\n loose-envify \"^1.1.0\"\n object-assign \"^4.1.1\"\n scheduler \"^0.20.2\"\n\nreact-is@^16.13.1:\n version \"16.13.1\"\n resolved \"https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4\"\n integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==\n\nreact@17.0.2:\n version \"17.0.2\"\n resolved \"https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037\"\n integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==\n dependencies:\n loose-envify \"^1.1.0\"\n object-assign \"^4.1.1\"\n\nread-cache@^1.0.0:\n version \"1.0.0\"\n resolved \"https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774\"\n integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==\n dependencies:\n pify \"^2.3.0\"\n\nreadable-stream@^3.6.0:\n version \"3.6.0\"\n resolved \"https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198\"\n integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==\n dependencies:\n inherits \"^2.0.3\"\n string_decoder \"^1.1.1\"\n util-deprecate \"^1.0.1\"\n\nreaddirp@~3.6.0:\n version \"3.6.0\"\n resolved \"https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7\"\n integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==\n dependencies:\n picomatch \"^2.2.1\"\n\nregenerator-runtime@^0.13.11:\n version \"0.13.11\"\n resolved \"https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9\"\n integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==\n\nregexp.prototype.flags@^1.4.3:\n version \"1.4.3\"\n resolved \"https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac\"\n integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==\n dependencies:\n call-bind \"^1.0.2\"\n define-properties \"^1.1.3\"\n functions-have-names \"^1.2.2\"\n\nregexpp@^3.1.0:\n version \"3.2.0\"\n resolved \"https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2\"\n integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==\n\nrequire-from-string@^2.0.2:\n version \"2.0.2\"\n resolved \"https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909\"\n integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==\n\nresolve-from@^4.0.0:\n version \"4.0.0\"\n resolved \"https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6\"\n integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==\n\nresolve@^1.1.7, resolve@^1.22.0, resolve@^1.22.1:\n version \"1.22.1\"\n resolved \"https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177\"\n integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==\n dependencies:\n is-core-module \"^2.9.0\"\n path-parse \"^1.0.7\"\n supports-preserve-symlinks-flag \"^1.0.0\"\n\nresolve@^2.0.0-next.4:\n version \"2.0.0-next.4\"\n resolved \"https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.4.tgz#3d37a113d6429f496ec4752d2a2e58efb1fd4660\"\n integrity sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==\n dependencies:\n is-core-module \"^2.9.0\"\n path-parse \"^1.0.7\"\n supports-preserve-symlinks-flag \"^1.0.0\"\n\nreusify@^1.0.4:\n version \"1.0.4\"\n resolved \"https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76\"\n integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==\n\nrimraf@^3.0.2:\n version \"3.0.2\"\n resolved \"https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a\"\n integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==\n dependencies:\n glob \"^7.1.3\"\n\nripemd160@^2.0.0, ripemd160@^2.0.1:\n version \"2.0.2\"\n resolved \"https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c\"\n integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==\n dependencies:\n hash-base \"^3.0.0\"\n inherits \"^2.0.1\"\n\nrpc-websockets@^7.5.0:\n version \"7.5.0\"\n resolved \"https://registry.yarnpkg.com/rpc-websockets/-/rpc-websockets-7.5.0.tgz#bbeb87572e66703ff151e50af1658f98098e2748\"\n integrity sha512-9tIRi1uZGy7YmDjErf1Ax3wtqdSSLIlnmL5OtOzgd5eqPKbsPpwDP5whUDO2LQay3Xp0CcHlcNSGzacNRluBaQ==\n dependencies:\n \"@babel/runtime\" \"^7.17.2\"\n eventemitter3 \"^4.0.7\"\n uuid \"^8.3.2\"\n ws \"^8.5.0\"\n optionalDependencies:\n bufferutil \"^4.0.1\"\n utf-8-validate \"^5.0.2\"\n\nrun-parallel@^1.1.9:\n version \"1.2.0\"\n resolved \"https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee\"\n integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==\n dependencies:\n queue-microtask \"^1.2.2\"\n\nrxjs@6:\n version \"6.6.7\"\n resolved \"https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9\"\n integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==\n dependencies:\n tslib \"^1.9.0\"\n\nsafe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0:\n version \"5.2.1\"\n resolved \"https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6\"\n integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==\n\nsafe-buffer@~5.1.1:\n version \"5.1.2\"\n resolved \"https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d\"\n integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==\n\nsafe-json-utils@^1.1.1:\n version \"1.1.1\"\n resolved \"https://registry.yarnpkg.com/safe-json-utils/-/safe-json-utils-1.1.1.tgz#0e883874467d95ab914c3f511096b89bfb3e63b1\"\n integrity sha512-SAJWGKDs50tAbiDXLf89PDwt9XYkWyANFWVzn4dTXl5QyI8t2o/bW5/OJl3lvc2WVU4MEpTo9Yz5NVFNsp+OJQ==\n\nsafe-regex-test@^1.0.0:\n version \"1.0.0\"\n resolved \"https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295\"\n integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==\n dependencies:\n call-bind \"^1.0.2\"\n get-intrinsic \"^1.1.3\"\n is-regex \"^1.1.4\"\n\nscheduler@^0.20.2:\n version \"0.20.2\"\n resolved \"https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91\"\n integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==\n dependencies:\n loose-envify \"^1.1.0\"\n object-assign \"^4.1.1\"\n\nsecp256k1@^3.8.0:\n version \"3.8.0\"\n resolved \"https://registry.yarnpkg.com/secp256k1/-/secp256k1-3.8.0.tgz#28f59f4b01dbee9575f56a47034b7d2e3b3b352d\"\n integrity sha512-k5ke5avRZbtl9Tqx/SA7CbY3NF6Ro+Sj9cZxezFzuBlLDmyqPiL8hJJ+EmzD8Ig4LUDByHJ3/iPOVoRixs/hmw==\n dependencies:\n bindings \"^1.5.0\"\n bip66 \"^1.1.5\"\n bn.js \"^4.11.8\"\n create-hash \"^1.2.0\"\n drbg.js \"^1.0.1\"\n elliptic \"^6.5.2\"\n nan \"^2.14.0\"\n safe-buffer \"^5.1.2\"\n\nsemver@^6.3.0:\n version \"6.3.0\"\n resolved \"https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d\"\n integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==\n\nsemver@^7.2.1, semver@^7.3.5:\n version \"7.3.8\"\n resolved \"https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798\"\n integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==\n dependencies:\n lru-cache \"^6.0.0\"\n\nsha.js@^2.4.0, sha.js@^2.4.8:\n version \"2.4.11\"\n resolved \"https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7\"\n integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==\n dependencies:\n inherits \"^2.0.1\"\n safe-buffer \"^5.0.1\"\n\nshebang-command@^2.0.0:\n version \"2.0.0\"\n resolved \"https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea\"\n integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==\n dependencies:\n shebang-regex \"^3.0.0\"\n\nshebang-regex@^3.0.0:\n version \"3.0.0\"\n resolved \"https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172\"\n integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==\n\nside-channel@^1.0.4:\n version \"1.0.4\"\n resolved \"https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf\"\n integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==\n dependencies:\n call-bind \"^1.0.0\"\n get-intrinsic \"^1.0.2\"\n object-inspect \"^1.9.0\"\n\nslash@^3.0.0:\n version \"3.0.0\"\n resolved \"https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634\"\n integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==\n\nslice-ansi@^4.0.0:\n version \"4.0.0\"\n resolved \"https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b\"\n integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==\n dependencies:\n ansi-styles \"^4.0.0\"\n astral-regex \"^2.0.0\"\n is-fullwidth-code-point \"^3.0.0\"\n\nsnake-case@^3.0.4:\n version \"3.0.4\"\n resolved \"https://registry.yarnpkg.com/snake-case/-/snake-case-3.0.4.tgz#4f2bbd568e9935abdfd593f34c691dadb49c452c\"\n integrity sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==\n dependencies:\n dot-case \"^3.0.4\"\n tslib \"^2.0.3\"\n\nsource-map-js@^1.0.1, source-map-js@^1.0.2:\n version \"1.0.2\"\n resolved \"https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c\"\n integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==\n\nsprintf-js@~1.0.2:\n version \"1.0.3\"\n resolved \"https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c\"\n integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==\n\nstop-iteration-iterator@^1.0.0:\n version \"1.0.0\"\n resolved \"https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz#6a60be0b4ee757d1ed5254858ec66b10c49285e4\"\n integrity sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==\n dependencies:\n internal-slot \"^1.0.4\"\n\nstring-width@^4.2.3:\n version \"4.2.3\"\n resolved \"https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010\"\n integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==\n dependencies:\n emoji-regex \"^8.0.0\"\n is-fullwidth-code-point \"^3.0.0\"\n strip-ansi \"^6.0.1\"\n\nstring.prototype.matchall@^4.0.8:\n version \"4.0.8\"\n resolved \"https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz#3bf85722021816dcd1bf38bb714915887ca79fd3\"\n integrity sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==\n dependencies:\n call-bind \"^1.0.2\"\n define-properties \"^1.1.4\"\n es-abstract \"^1.20.4\"\n get-intrinsic \"^1.1.3\"\n has-symbols \"^1.0.3\"\n internal-slot \"^1.0.3\"\n regexp.prototype.flags \"^1.4.3\"\n side-channel \"^1.0.4\"\n\nstring.prototype.trimend@^1.0.6:\n version \"1.0.6\"\n resolved \"https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz#c4a27fa026d979d79c04f17397f250a462944533\"\n integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==\n dependencies:\n call-bind \"^1.0.2\"\n define-properties \"^1.1.4\"\n es-abstract \"^1.20.4\"\n\nstring.prototype.trimstart@^1.0.6:\n version \"1.0.6\"\n resolved \"https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz#e90ab66aa8e4007d92ef591bbf3cd422c56bdcf4\"\n integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==\n dependencies:\n call-bind \"^1.0.2\"\n define-properties \"^1.1.4\"\n es-abstract \"^1.20.4\"\n\nstring_decoder@^1.1.1:\n version \"1.3.0\"\n resolved \"https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e\"\n integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==\n dependencies:\n safe-buffer \"~5.2.0\"\n\nstrip-ansi@^6.0.0, strip-ansi@^6.0.1:\n version \"6.0.1\"\n resolved \"https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9\"\n integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==\n dependencies:\n ansi-regex \"^5.0.1\"\n\nstrip-bom@^3.0.0:\n version \"3.0.0\"\n resolved \"https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3\"\n integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==\n\nstrip-json-comments@^3.1.0, strip-json-comments@^3.1.1:\n version \"3.1.1\"\n resolved \"https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006\"\n integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==\n\nstyled-jsx@5.0.0:\n version \"5.0.0\"\n resolved \"https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.0.0.tgz#816b4b92e07b1786c6b7111821750e0ba4d26e77\"\n integrity sha512-qUqsWoBquEdERe10EW8vLp3jT25s/ssG1/qX5gZ4wu15OZpmSMFI2v+fWlRhLfykA5rFtlJ1ME8A8pm/peV4WA==\n\nsuperstruct@^0.14.2:\n version \"0.14.2\"\n resolved \"https://registry.yarnpkg.com/superstruct/-/superstruct-0.14.2.tgz#0dbcdf3d83676588828f1cf5ed35cda02f59025b\"\n integrity sha512-nPewA6m9mR3d6k7WkZ8N8zpTWfenFH3q9pA2PkuiZxINr9DKB2+40wEQf0ixn8VaGuJ78AB6iWOtStI+/4FKZQ==\n\nsuperstruct@^0.15.4:\n version \"0.15.5\"\n resolved \"https://registry.yarnpkg.com/superstruct/-/superstruct-0.15.5.tgz#0f0a8d3ce31313f0d84c6096cd4fa1bfdedc9dab\"\n integrity sha512-4AOeU+P5UuE/4nOUkmcQdW5y7i9ndt1cQd/3iUe+LTz3RxESf/W/5lg4B74HbDMMv8PHnPnGCQFH45kBcrQYoQ==\n\nsupports-color@^5.3.0:\n version \"5.5.0\"\n resolved \"https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f\"\n integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==\n dependencies:\n has-flag \"^3.0.0\"\n\nsupports-color@^7.1.0:\n version \"7.2.0\"\n resolved \"https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da\"\n integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\n dependencies:\n has-flag \"^4.0.0\"\n\nsupports-preserve-symlinks-flag@^1.0.0:\n version \"1.0.0\"\n resolved \"https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09\"\n integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==\n\ntable@^6.0.9:\n version \"6.8.1\"\n resolved \"https://registry.yarnpkg.com/table/-/table-6.8.1.tgz#ea2b71359fe03b017a5fbc296204471158080bdf\"\n integrity sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==\n dependencies:\n ajv \"^8.0.1\"\n lodash.truncate \"^4.4.2\"\n slice-ansi \"^4.0.0\"\n string-width \"^4.2.3\"\n strip-ansi \"^6.0.1\"\n\ntailwindcss@^3.0.24:\n version \"3.2.7\"\n resolved \"https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.2.7.tgz#5936dd08c250b05180f0944500c01dce19188c07\"\n integrity sha512-B6DLqJzc21x7wntlH/GsZwEXTBttVSl1FtCzC8WP4oBc/NKef7kaax5jeihkkCEWc831/5NDJ9gRNDK6NEioQQ==\n dependencies:\n arg \"^5.0.2\"\n chokidar \"^3.5.3\"\n color-name \"^1.1.4\"\n detective \"^5.2.1\"\n didyoumean \"^1.2.2\"\n dlv \"^1.1.3\"\n fast-glob \"^3.2.12\"\n glob-parent \"^6.0.2\"\n is-glob \"^4.0.3\"\n lilconfig \"^2.0.6\"\n micromatch \"^4.0.5\"\n normalize-path \"^3.0.0\"\n object-hash \"^3.0.0\"\n picocolors \"^1.0.0\"\n postcss \"^8.0.9\"\n postcss-import \"^14.1.0\"\n postcss-js \"^4.0.0\"\n postcss-load-config \"^3.1.4\"\n postcss-nested \"6.0.0\"\n postcss-selector-parser \"^6.0.11\"\n postcss-value-parser \"^4.2.0\"\n quick-lru \"^5.1.1\"\n resolve \"^1.22.1\"\n\ntapable@^2.2.0:\n version \"2.2.1\"\n resolved \"https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0\"\n integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==\n\ntext-encoding-utf-8@^1.0.2:\n version \"1.0.2\"\n resolved \"https://registry.yarnpkg.com/text-encoding-utf-8/-/text-encoding-utf-8-1.0.2.tgz#585b62197b0ae437e3c7b5d0af27ac1021e10d13\"\n integrity sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg==\n\ntext-table@^0.2.0:\n version \"0.2.0\"\n resolved \"https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4\"\n integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==\n\n\"through@>=2.2.7 <3\":\n version \"2.3.8\"\n resolved \"https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5\"\n integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==\n\nto-regex-range@^5.0.1:\n version \"5.0.1\"\n resolved \"https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4\"\n integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==\n dependencies:\n is-number \"^7.0.0\"\n\ntoml@^3.0.0:\n version \"3.0.0\"\n resolved \"https://registry.yarnpkg.com/toml/-/toml-3.0.0.tgz#342160f1af1904ec9d204d03a5d61222d762c5ee\"\n integrity sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==\n\ntr46@~0.0.3:\n version \"0.0.3\"\n resolved \"https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a\"\n integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==\n\ntsconfig-paths@^3.14.1:\n version \"3.14.1\"\n resolved \"https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz#ba0734599e8ea36c862798e920bcf163277b137a\"\n integrity sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==\n dependencies:\n \"@types/json5\" \"^0.0.29\"\n json5 \"^1.0.1\"\n minimist \"^1.2.6\"\n strip-bom \"^3.0.0\"\n\ntslib@^1.8.1, tslib@^1.9.0:\n version \"1.14.1\"\n resolved \"https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00\"\n integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==\n\ntslib@^2.0.3:\n version \"2.5.0\"\n resolved \"https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf\"\n integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==\n\ntsutils@^3.21.0:\n version \"3.21.0\"\n resolved \"https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623\"\n integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==\n dependencies:\n tslib \"^1.8.1\"\n\ntype-check@^0.4.0, type-check@~0.4.0:\n version \"0.4.0\"\n resolved \"https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1\"\n integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==\n dependencies:\n prelude-ls \"^1.2.1\"\n\ntype-fest@^0.20.2:\n version \"0.20.2\"\n resolved \"https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4\"\n integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==\n\ntyped-array-length@^1.0.4:\n version \"1.0.4\"\n resolved \"https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb\"\n integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==\n dependencies:\n call-bind \"^1.0.2\"\n for-each \"^0.3.3\"\n is-typed-array \"^1.1.9\"\n\ntypescript@4.4.4:\n version \"4.4.4\"\n resolved \"https://registry.yarnpkg.com/typescript/-/typescript-4.4.4.tgz#2cd01a1a1f160704d3101fd5a58ff0f9fcb8030c\"\n integrity sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==\n\nunbox-primitive@^1.0.2:\n version \"1.0.2\"\n resolved \"https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e\"\n integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==\n dependencies:\n call-bind \"^1.0.2\"\n has-bigints \"^1.0.2\"\n has-symbols \"^1.0.3\"\n which-boxed-primitive \"^1.0.2\"\n\nupdate-browserslist-db@^1.0.10:\n version \"1.0.10\"\n resolved \"https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3\"\n integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==\n dependencies:\n escalade \"^3.1.1\"\n picocolors \"^1.0.0\"\n\nuri-js@^4.2.2:\n version \"4.4.1\"\n resolved \"https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e\"\n integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==\n dependencies:\n punycode \"^2.1.0\"\n\nuse-subscription@1.5.1:\n version \"1.5.1\"\n resolved \"https://registry.yarnpkg.com/use-subscription/-/use-subscription-1.5.1.tgz#73501107f02fad84c6dd57965beb0b75c68c42d1\"\n integrity sha512-Xv2a1P/yReAjAbhylMfFplFKj9GssgTwN7RlcTxBujFQcloStWNDQdc4g4NRWH9xS4i/FDk04vQBptAXoF3VcA==\n dependencies:\n object-assign \"^4.1.1\"\n\nutf-8-validate@^5.0.2:\n version \"5.0.10\"\n resolved \"https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.10.tgz#d7d10ea39318171ca982718b6b96a8d2442571a2\"\n integrity sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==\n dependencies:\n node-gyp-build \"^4.3.0\"\n\nutil-deprecate@^1.0.1, util-deprecate@^1.0.2:\n version \"1.0.2\"\n resolved \"https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf\"\n integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==\n\nuuid@^8.3.2:\n version \"8.3.2\"\n resolved \"https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2\"\n integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==\n\nv8-compile-cache@^2.0.3:\n version \"2.3.0\"\n resolved \"https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee\"\n integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==\n\nwebidl-conversions@^3.0.0:\n version \"3.0.1\"\n resolved \"https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871\"\n integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==\n\nwhatwg-url@^5.0.0:\n version \"5.0.0\"\n resolved \"https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d\"\n integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==\n dependencies:\n tr46 \"~0.0.3\"\n webidl-conversions \"^3.0.0\"\n\nwhich-boxed-primitive@^1.0.2:\n version \"1.0.2\"\n resolved \"https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6\"\n integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==\n dependencies:\n is-bigint \"^1.0.1\"\n is-boolean-object \"^1.1.0\"\n is-number-object \"^1.0.4\"\n is-string \"^1.0.5\"\n is-symbol \"^1.0.3\"\n\nwhich-collection@^1.0.1:\n version \"1.0.1\"\n resolved \"https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.1.tgz#70eab71ebbbd2aefaf32f917082fc62cdcb70906\"\n integrity sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==\n dependencies:\n is-map \"^2.0.1\"\n is-set \"^2.0.1\"\n is-weakmap \"^2.0.1\"\n is-weakset \"^2.0.1\"\n\nwhich-typed-array@^1.1.9:\n version \"1.1.9\"\n resolved \"https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6\"\n integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==\n dependencies:\n available-typed-arrays \"^1.0.5\"\n call-bind \"^1.0.2\"\n for-each \"^0.3.3\"\n gopd \"^1.0.1\"\n has-tostringtag \"^1.0.0\"\n is-typed-array \"^1.1.10\"\n\nwhich@^2.0.1:\n version \"2.0.2\"\n resolved \"https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1\"\n integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==\n dependencies:\n isexe \"^2.0.0\"\n\nword-wrap@^1.2.3:\n version \"1.2.3\"\n resolved \"https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c\"\n integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==\n\nwrappy@1:\n version \"1.0.2\"\n resolved \"https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f\"\n integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==\n\nws@^7.4.0, ws@^7.4.5:\n version \"7.5.9\"\n resolved \"https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591\"\n integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==\n\nws@^8.5.0:\n version \"8.12.1\"\n resolved \"https://registry.yarnpkg.com/ws/-/ws-8.12.1.tgz#c51e583d79140b5e42e39be48c934131942d4a8f\"\n integrity sha512-1qo+M9Ba+xNhPB+YTWUlK6M17brTut5EXbcBaMRN5pH5dFrXz7lzz1ChFSUq3bOUl8yEvSenhHmYUNJxFzdJew==\n\nxtend@^4.0.2:\n version \"4.0.2\"\n resolved \"https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54\"\n integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==\n\nyallist@^4.0.0:\n version \"4.0.0\"\n resolved \"https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72\"\n integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==\n\nyaml@^1.10.2:\n version \"1.10.2\"\n resolved \"https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b\"\n integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==\n")), + is_dir: false + }, + TemplateFile { + path: String::from("/client/.gitignore.hbs"), + content: Content::String(String::from(".next/\nnode_modules/")), + is_dir: false + }, + TemplateFile { + path: String::from("/client/tsconfig.json.hbs"), + content: Content::String(String::from("{\n \"compilerOptions\": {\n \"target\": \"es5\",\n \"lib\": [\n \"dom\",\n \"dom.iterable\",\n \"esnext\"\n ],\n \"allowJs\": true,\n \"skipLibCheck\": true,\n \"strict\": false,\n \"forceConsistentCasingInFileNames\": true,\n \"noEmit\": true,\n \"incremental\": true,\n \"esModuleInterop\": true,\n \"module\": \"esnext\",\n \"moduleResolution\": \"node\",\n \"resolveJsonModule\": true,\n \"isolatedModules\": true,\n \"jsx\": \"preserve\"\n },\n \"include\": [\n \"next-env.d.ts\",\n \"**/*.ts\",\n \"**/*.tsx\"\n ],\n \"exclude\": [\n \"node_modules\"\n ]\n}\n")), + is_dir: false + }, + TemplateFile { + path: String::from("/client/postcss.config.js.hbs"), + content: Content::String(String::from("// If you want to use other PostCSS plugins, see the following:\n// https://tailwindcss.com/docs/using-with-preprocessors\nmodule.exports = {\n plugins: {\n tailwindcss: {},\n autoprefixer: {},\n },\n};\n")), + is_dir: false + }, + TemplateFile { + path: String::from("/client/tailwind.config.js.hbs"), + content: Content::String(String::from("module.exports = {\n purge: [\"./src/**/*.{js,jsx,ts,tsx}\"],\n darkMode: false, // or 'media' or 'class'\n theme: {\n fontFamily: {\n sans: [\"EB+Garamond\", \"sans-serif\"],\n },\n },\n variants: {\n extend: {},\n },\n plugins: [],\n};")), + is_dir: false + }, + TemplateFile { + path: String::from("/client/src"), + content: Content::String(String::from("")), + is_dir: true + }, + TemplateFile { + path: String::from("/client/src/manifest.json.hbs"), + content: Content::String(String::from("{\n \"name\": \"{{name}}\",\n \"short_name\": \"{{name}}\",\n \"display\": \"standalone\",\n \"start_url\": \"./\",\n \"theme_color\": \"#000000\",\n \"background_color\": \"#ffffff\",\n \"icons\": [\n {\n \"src\": \"icons/icon-192x192.png\",\n \"sizes\": \"192x192\"\n },\n {\n \"src\": \"icons/icon-128x128.png\",\n \"sizes\": \"128x128\"\n },\n {\n \"src\": \"icons/icon-512x512.png\",\n \"sizes\": \"512x512\"\n }\n ]\n}\n")), + is_dir: false + }, + TemplateFile { + path: String::from("/client/src/contexts"), + content: Content::String(String::from("")), + is_dir: true + }, + TemplateFile { + path: String::from("/client/src/contexts/ClientWalletProvider.tsx.hbs"), + content: Content::String(String::from("import type { WalletProviderProps } from \"@solana/wallet-adapter-react\";\nimport { WalletProvider } from \"@solana/wallet-adapter-react\";\n\nimport {\n getPhantomWallet,\n getSolflareWallet,\n getSolletWallet,\n} from '@solana/wallet-adapter-wallets'\nimport { useMemo } from \"react\";\nimport { WalletModalProvider } from \"@solana/wallet-adapter-react-ui\";\n\nimport('@solana/wallet-adapter-react-ui/styles.css' as any) ;\n\nexport function ClientWalletProvider(\n props: Omit\n): JSX.Element {\n const wallets = useMemo(\n () => [\n getPhantomWallet(),\n getSolflareWallet(),\n getSolletWallet(),\n ],\n []\n );\n\n return (\n \n \n \n );\n}\n\nexport default ClientWalletProvider;\n")), + is_dir: false + }, + TemplateFile { + path: String::from("/client/src/utils"), + content: Content::String(String::from("")), + is_dir: true + }, + TemplateFile { + path: String::from("/client/src/utils/callInstructions.ts.hbs"), + content: Content::String(String::from("import { web3 } from \"@project-serum/anchor\";\n\n{{#each instructions}}\nexport const {{name}} = (program,{{#each args}} {{name}},{{/each}}{{#each accounts}} {{name}},{{/each}}) => {\n if (program) {\n (async () => {\n try {\n const tx = await program.methods\n .{{name}}({{#each args}} {{name}},{{/each}})\n .accounts({\n {{#each accounts}} \n {{name}},\n {{/each}}\n })\n .rpc();\n } catch (error) { console.log(error) }\n })();\n }\n};\n\n{{/each}}")), + is_dir: false + }, + TemplateFile { + path: String::from("/client/src/utils/idl.json.hbs"), + content: Content::String(String::from("{{{debug_idl this}}}")), + is_dir: false + }, + TemplateFile { + path: String::from("/client/src/utils/useProgram.ts.hbs"), + content: Content::String(String::from("import { useEffect, useState } from \"react\";\nimport { Connection, PublicKey } from \"@solana/web3.js\";\nimport * as anchor from \"@project-serum/anchor\";\n\nimport idl from \"./idl.json\"\n\nconst PROGRAM = idl.metadata.address;\nconst programID = new PublicKey(PROGRAM);\n\nexport interface Wallet {\n signTransaction(\n tx: anchor.web3.Transaction\n ): Promise;\n signAllTransactions(\n txs: anchor.web3.Transaction[]\n ): Promise;\n publicKey: anchor.web3.PublicKey;\n}\n\ntype ProgramProps = {\n connection: Connection;\n wallet?: Wallet;\n};\n\nexport const useProgram = ({ connection, wallet }: ProgramProps) => {\n const [program, setProgram] = useState>();\n\n useEffect(() => {\n updateProgram();\n }, [connection, wallet]);\n\n const updateProgram = () => {\n if (!wallet) return\n const provider = new anchor.AnchorProvider(connection, wallet, {\n preflightCommitment: \"recent\",\n commitment: \"processed\",\n });\n const program = new anchor.Program(idl as any, programID, provider);\n setProgram(program);\n };\n\n return {\n program,\n };\n};\n\n\n\n\n\n")), + is_dir: false + }, + TemplateFile { + path: String::from("/client/src/utils/{{#each instructions}}{{name}}{{#each}}.ts.hbs"), + content: Content::String(String::from("import { web3 } from \"@project-serum/anchor\";\n\n{{#each instructions}}\n{{#if (eq name ../path_replacements.0)}}\nexport const {{name}} = (program,{{#each args}} {{name}},{{/each}}{{#each accounts}} {{name}},{{/each}}) => {\n if (program) {\n (async () => {\n try {\n const tx = await program.methods\n .{{name}}({{#each args}} {{name}},{{/each}})\n .accounts({\n {{#each accounts}} \n {{name}},\n {{/each}}\n })\n .rpc();\n } catch (error) { console.log(error) }\n })();\n }\n};\n{{/if}}\n{{/each}}")), + is_dir: false + }, + TemplateFile { + path: String::from("/client/src/react-app-env.d.ts.hbs"), + content: Content::String(String::from("/// \n")), + is_dir: false + }, + TemplateFile { + path: String::from("/client/src/styles"), + content: Content::String(String::from("")), + is_dir: true + }, + TemplateFile { + path: String::from("/client/src/styles/globals.css.hbs"), + content: Content::String(String::from("@tailwind base;\n@tailwind components;\n@tailwind utilities;\n")), + is_dir: false + }, + TemplateFile { + path: String::from("/client/src/pages"), + content: Content::String(String::from("")), + is_dir: true + }, + TemplateFile { + path: String::from("/client/src/pages/_app.tsx.hbs"), + content: Content::String(String::from("import React from \"react\";\nimport type { AppProps } from \"next/app\";\nimport dynamic from \"next/dynamic\";\nimport { ConnectionProvider } from \"@solana/wallet-adapter-react\";\nimport { WalletMultiButton } from \"@solana/wallet-adapter-react-ui\";\n\nimport \"../styles/globals.css\";\n\n//const endpoint = 'http://localhost:8899'\nconst endpoint = 'https://api.devnet.solana.com'\n\nconst WalletProvider = dynamic(\n () => import(\"../contexts/ClientWalletProvider\"),\n {\n ssr: false,\n }\n);\n\nfunction MyApp({ Component, pageProps }: AppProps) {\n return (\n \n \n \n \n \n \n );\n}\n\nexport default MyApp;\n")), + is_dir: false + }, + TemplateFile { + path: String::from("/client/src/pages/index.tsx.hbs"), + content: Content::String(String::from("import { FC, useEffect, useState } from \"react\";\nimport { useAnchorWallet, useConnection } from \"@solana/wallet-adapter-react\";\nimport type { NextPage } from \"next\";\nimport Head from \"next/head\";\nimport { useProgram } from \"../utils/useProgram\";\nimport { useRouter } from \"next/router\"\n\nconst Home: NextPage = (props) => {\n const wallet = useAnchorWallet();\n const { connection } = useConnection();\n const { program } = useProgram({ connection, wallet });\n\n{{#each events}}\n useEffect(() => {\n if (!program) return;\n const listener = program.addEventListener(\n \"{{name}}\",\n async (event, _slot, _sig) => {\n console.log(event);\n }\n );\n\n return () => {\n program.removeEventListener(listener);\n };\n }, [program]);\n\n{{/each}}\n return (\n <>\n \n {{name}}\n \n \n \n );\n};\n\nexport default Home;\n")), + is_dir: false + }, + TemplateFile { + path: String::from("/client/src/pages/_document.js.hbs"), + content: Content::String(String::from("import Document, { Html, Head, Main, NextScript } from \"next/document\";\n\nclass MyDocument extends Document {\n render() {\n return (\n \n \n \n \n\n \n \n \n \n \n \n
    \n \n \n \n );\n }\n}\n\nexport default MyDocument;\n")), + is_dir: false + } + ].to_vec(), + helpers: [ + TemplateHelper{ + helper_name: String::from("len"), + script: String::from("let name = params[0];\n\nname.len()") + } + ].to_vec() + } +} diff --git a/ui/src-tauri/src/main.rs b/ui/src-tauri/src/main.rs index 25a72fb..ca9b1af 100644 --- a/ui/src-tauri/src/main.rs +++ b/ui/src-tauri/src/main.rs @@ -3,14 +3,17 @@ windows_subsystem = "windows" )] #![allow(non_snake_case, non_camel_case_types)] -use soda_sol::{generate_from_idl, IDL}; + +use soda_sol::{generate_project, write_project_to_fs, get_template_from_fs, IDL, Template}; use std::{io::Write, sync::Mutex}; use tauri::{CustomMenuItem, Menu, MenuItem, Submenu, State}; +mod default_template; +use default_template::default_template; #[derive(Debug)] struct StateStruct { base_folder: String, - template_folder: String, + template: Template, idl_string: String, } @@ -46,7 +49,7 @@ fn main() { .manage(AppState(Mutex::new( StateStruct { base_folder: ".".to_string(), - template_folder: ".".to_string(), + template: default_template(), idl_string: r#"{"version":"0.1.0","name":"Project's Name","instructions":[{"name":"initialize","accounts":[],"args":[]}],"accounts":[],"types":[],"events":[],"errors":[],"metadata":{"address":""}}"#.to_string(), } ))) @@ -97,7 +100,7 @@ fn main() { generate_idl_file, update_base_folder_path, new_window, - update_template_folder_path, + update_template, update_idl_string, ]) .run(tauri::generate_context!()) @@ -106,16 +109,17 @@ fn main() { #[tauri::command] fn generate(handle: tauri::AppHandle, state: State) -> () { - let (idl_string, base_folder, template_folder) = { + let (idl_string, base_folder, template) = { let state = state.0.lock().unwrap(); ( &state.idl_string.clone(), &state.base_folder.clone(), - &state.template_folder.clone(), + &state.template.clone(), ) }; let idl: IDL = serde_json::from_str(idl_string).expect("error while reading json"); - generate_from_idl(base_folder, idl, template_folder); + let dinamyc_files = generate_project(template.clone(), &idl); + write_project_to_fs(dinamyc_files, idl, base_folder); } #[tauri::command] @@ -151,9 +155,10 @@ fn update_base_folder_path(base: String, state: State) -> Result<(), ( } #[tauri::command] -fn update_template_folder_path(template: String, state: State) -> Result<(), ()> { +fn update_template(template_folder: String, state: State) -> Result<(), ()> { let mut state = state.0.lock().unwrap(); - state.template_folder = template; + let template = get_template_from_fs(&template_folder); + state.template = template; Ok(()) } From d1e26245187a61d9e6006715be9518fecdd4e5c7 Mon Sep 17 00:00:00 2001 From: Marche Date: Fri, 23 Jun 2023 18:22:20 -0300 Subject: [PATCH 14/18] Implement Default Template (#86) --- ui/src-tauri/tauri.conf.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/src-tauri/tauri.conf.json b/ui/src-tauri/tauri.conf.json index aead85b..7459330 100644 --- a/ui/src-tauri/tauri.conf.json +++ b/ui/src-tauri/tauri.conf.json @@ -7,7 +7,7 @@ }, "package": { "productName": "soda", - "version": "0.0.5" + "version": "0.0.6" }, "tauri": { "allowlist": { From 7c553b4bcde6ceda10bcca5e5cd5b64a230b7a7c Mon Sep 17 00:00:00 2001 From: SergioAriel <42455008+SergioAriel@users.noreply.github.com> Date: Sat, 24 Jun 2023 11:36:38 -0300 Subject: [PATCH 15/18] UI (#87) --- ui/components/Editor/index.tsx | 42 ++-- ui/components/card/index.tsx | 4 - .../section/EditInstruction/Tabs/tab.tsx | 177 +++++++++------- .../EditInstruction/Tabs/verifyType.ts | 4 - .../section/EditInstruction/index.tsx | 195 +++++++++--------- ui/components/section/index.tsx | 8 - ui/pages/index.tsx | 62 +----- 7 files changed, 225 insertions(+), 267 deletions(-) diff --git a/ui/components/Editor/index.tsx b/ui/components/Editor/index.tsx index 65d60f8..52634f6 100644 --- a/ui/components/Editor/index.tsx +++ b/ui/components/Editor/index.tsx @@ -2,36 +2,30 @@ import { FC, useState } from "react"; import { Section } from "@/components/section"; import { useIDL } from "@/context/IDL"; -export const Editor: FC = ({ - // name, - // setName, - // instructions, - // setInstructions, - // accounts, - // setAccounts, - // types, - // setTypes, - // events, - // setEvents, - // errors, - // setErrors, -}) => { +export const Editor: FC = ({generateIDL}) => { const [select, setSelect] = useState("instructions") const { IDL, setIDL } = useIDL() return (
    - setIDL({ - ...IDL, - name: e.target.value - }) - } - className=" w-3/12 h-20 p-5 bg-[#102042] text-white text-base rounded-xl" - /> +
    + setIDL({ + ...IDL, + name: e.target.value + }) + } + className=" w-3/12 h-20 p-5 bg-[#102042] text-white text-base rounded-xl" + /> +
    + +
    +
    { diff --git a/ui/components/card/index.tsx b/ui/components/card/index.tsx index e42c7d1..8246c72 100644 --- a/ui/components/card/index.tsx +++ b/ui/components/card/index.tsx @@ -48,10 +48,6 @@ export const Card: FC = ({ name, onClick, filter, instruction, index }) => { showOptions &&
    - {/* */} = ({ addProperty, editProperty, objConfig, elements }) => { - const checkbox = useRef() - const [checked, setChecked] = useState(false) const [newProperty, setNewProperty] = useState({}) - const [indeterminate, setIndeterminate] = useState(false) const [selectedProperty, setSelectedProperties] = useState([]) const [propertySelectedEdit, setPropertySelectedEdit] = useState() const [propertyEditing, setPropertyEditing] = useState({}) - useLayoutEffect(() => { - const isIndeterminate = selectedProperty.length > 0 && selectedProperty.length < elements.length - setChecked(selectedProperty.length === elements?.length) - setIndeterminate(isIndeterminate) - checkbox.current.indeterminate = isIndeterminate - }, [selectedProperty]) + useEffect(() => { + const defaultProperty = objConfig.reduce((acc: any, prop: any) => { + return { + ...acc, + [prop.name]: prop?.options === "boolean" ? false : prop?.options?.[0] || "" + } + }, {}) + setNewProperty(defaultProperty) + }, []) - function toggleAll() { - setSelectedProperties(checked || indeterminate ? [] : elements) - setChecked(!checked && !indeterminate) - setIndeterminate(false) + const handlerNewProperty = (e: any) => { + setNewProperty({ + ...newProperty, + [e.target.id]: e.target.type === "checkbox" ? e.target.checked : e.target.value + }) } + const handlerEditProperty = (e: any) => { + setPropertyEditing({ + ...propertyEditing, + [e.target.id]: e.target.value + }) + } + + // const checkbox = useRef() + // const [checked, setChecked] = useState(false) + // const [indeterminate, setIndeterminate] = useState(false) + + // useLayoutEffect(() => { + // const isIndeterminate = selectedProperty.length > 0 && selectedProperty.length < elements.length + // setChecked(selectedProperty.length === elements?.length) + // setIndeterminate(isIndeterminate) + // checkbox.current.indeterminate = isIndeterminate + // }, [selectedProperty]) + + // function toggleAll() { + // setSelectedProperties(checked || indeterminate ? [] : elements) + // setChecked(!checked && !indeterminate) + // setIndeterminate(false) + // } + return (
    - { + {/* { selectedProperty.length > 0 && (
    ) - } + } */} - + */} { objConfig.map(({ name }: { name: string }) => { return ( @@ -73,30 +98,30 @@ const Tab: FC = ({ addProperty, editProperty, objConfig, elements }) => { - + {/* */} { - objConfig.map(({ name, options }: any) => { - if (options) { + objConfig.map(({ disabled, name, options }: any) => { + if (options === "boolean") { + return ( + + ) + } else if (options?.length) { return ( - ) @@ -136,7 +157,7 @@ const Tab: FC = ({ addProperty, editProperty, objConfig, elements }) => { } - + {/* */} { - objConfig.map(({ name, options }: any) => { - if (options) { + objConfig.map(({ disabled, name, options }: any) => { + if (options?.length) { return ( ) - + } else if (options === "boolean") { + return ( + + ) } else { return ( ) @@ -211,8 +227,8 @@ const Tab: FC = ({ addProperty, editProperty, objConfig, elements }) => { } : - + */} { - objConfig.map(({name}: any) => { + objConfig.map(({ name }: any) => { + const value = () => { + if(typeof property[name] === "object"){ + return JSON.stringify(property[name]) + } else if (typeof property[name] === "boolean"){ + + return property[name].toString() + } + + return property[name] + } return ( diff --git a/ui/components/section/EditInstruction/Tabs/verifyType.ts b/ui/components/section/EditInstruction/Tabs/verifyType.ts index 4424816..6a5070b 100644 --- a/ui/components/section/EditInstruction/Tabs/verifyType.ts +++ b/ui/components/section/EditInstruction/Tabs/verifyType.ts @@ -38,28 +38,24 @@ export const isProperty = (item: PropertyTypes, property: string) => { case "args": if (isArgs(item)) { // Realizar acciones para Args - // console.log("Args:", item); return item; } break; case "fields": if (isFields(item)) { // Realizar acciones para Fields - // console.log("Fields:", item); return item; } break; case "variants": if (isVariants(item)) { // Realizar acciones para Variants - // console.log("Variants:", item); return item; } break; case "accounts": if (isAccounts(item)) { // Realizar acciones para Accounts - // console.log("Accounts:", item); return item; } break; diff --git a/ui/components/section/EditInstruction/index.tsx b/ui/components/section/EditInstruction/index.tsx index 2be5389..b2dcd6a 100644 --- a/ui/components/section/EditInstruction/index.tsx +++ b/ui/components/section/EditInstruction/index.tsx @@ -10,7 +10,6 @@ const EditInstructions: FC = ({ editingItem, instruction }) => { useEffect(() => { if (IDL?.[instruction]?.[editingItem]?.type) { - console.log(IDL?.[instruction]?.[editingItem]?.type) setKind(IDL?.[instruction]?.[editingItem]?.type?.kind) } else { setKind("") @@ -21,11 +20,15 @@ const EditInstructions: FC = ({ editingItem, instruction }) => { // const verifyProperty = isProperty(newProperty, tabConfig) // if (verifyProperty) { if (instruction === "errors") { + const errProperty = { + ...newProperty, + code: 6000 + (IDL[instruction].length) + } return setIDL({ ...IDL, [instruction]: [ ...IDL[instruction], - newProperty + errProperty ] }) } @@ -71,14 +74,74 @@ const EditInstructions: FC = ({ editingItem, instruction }) => { // } } - const editProperty = (propertyEdit: any) => { - + const editProperty = (propertyEdit: any, indexProperty: number) => { + if (instruction === "errors") { + const editing = { + ...IDL, + [instruction]: IDL[instruction].map((prop: any, i: number) => { + if (indexProperty === i) { + return propertyEdit + } else { + prop + } + }) + } + return setIDL(editing) + } const editing = { ...IDL, - propertyEdit + [instruction]: IDL[instruction].map((inst: any, index: number) => { + if (index === editingItem) { + if (instruction === "instructions" && !inst?.[tabConfig]?.includes(propertyEdit)) { + return { + ...inst, + [tabConfig]: inst?.[tabConfig].map((prop: any, i: number) => { + if (indexProperty === i) { + return propertyEdit + } else { + prop + } + }) + } + } + if (instruction === "events" && !inst?.[tabConfig]?.includes(propertyEdit)) { + return { + ...inst, + fields: inst?.fields.map((prop: any, i: number) => { + if (indexProperty === i) { + return propertyEdit + } else { + prop + } + }) + } + } + if (!inst?.types?.[tabConfig]?.includes(propertyEdit)) { + return { + ...inst, + type: { + kind: kind, + [kind === "struct" ? "fields" : "variants"]: inst?.type?.[kind === "struct" ? "fields" : "variants"].map((prop: any, i: number) => { + if (indexProperty === i) { + return propertyEdit + } else { + prop + } + }) + + } + } + } + } + return inst + }) } - setIDL(editing) + // const editing = { + // ...IDL, + // ...propertyEdit // } + setIDL(editing) + } const render = { @@ -112,7 +175,7 @@ const EditInstructions: FC = ({ editingItem, instruction }) => { editProperty={editProperty} addProperty={addProperty} elements={IDL?.[instruction]?.[editingItem]?.[tabConfig]} - objConfig={[{ name: "name" }, { name: "isMut", options: ["true", "false"] }, { name: "isSigner", options: ["true", "false"] }]} + objConfig={[{ name: "name" }, { name: "isMut", options: "boolean" }, { name: "isSigner", options: "boolean" }]} /> } { @@ -132,7 +195,7 @@ const EditInstructions: FC = ({ editingItem, instruction }) => { editProperty={editProperty} addProperty={addProperty} elements={IDL?.[instruction]} - objConfig={[{ name: "code" }, { name: "type" }, { name: "msg" }]} + objConfig={[{ disabled: true, name: "code" }, { name: "name" }, { name: "msg" }]} /> ), @@ -143,101 +206,47 @@ const EditInstructions: FC = ({ editingItem, instruction }) => { editProperty={editProperty} addProperty={addProperty} elements={IDL?.[instruction]?.[editingItem]?.fields} - objConfig={[{ name: "name" }, { name: "type", options: type_args }, { name: "index", options: ["true", "false"] }]} + objConfig={[{ name: "name" }, { name: "type", options: type_args }, { name: "index", options: "boolean" }]} /> ), } - // if (instruction === "instructions") { - // return ( - //
    - //
    - // { - // ["accounts", "args"].map((name, index) => { - // return ( - //
    - //
    setTab(name)} - // > - //

    - // {name} - //

    - //
    - //
    - // ) - // }) - // } - //
    - // { - // tabConfig === "accounts" && - // - // } - // { - // tabConfig === "args" && - // - // } - //
    - // ) - // } else if (instruction === "errors") { - // return ( - //
    - - //
    - // ) - // } else if (instruction === "events") { - //
    - // - //
    - // } if (render[instruction as keyof typeof render]) return render[instruction as keyof typeof render] return ( IDL?.[instruction]?.[editingItem] &&
    { - !IDL?.[instruction]?.[editingItem]?.type && - + + { + ["struct", "enum"].map((op: any) => { + return ( + + ) + }) + } + + : +

    + { + `Kind: ${IDL?.[instruction]?.[editingItem]?.type.kind}` + } +

    } { kind === "enum" && @@ -245,7 +254,7 @@ const EditInstructions: FC = ({ editingItem, instruction }) => { editProperty={editProperty} addProperty={addProperty} elements={IDL?.[instruction]?.[editingItem]?.type?.variants} - objConfig={[{ name: "name" }, { name: "type", options: type_args }, { name: "index", options: ["true", "false"] }]} + objConfig={[{ name: "name" }, { name: "type", options: type_args }, { name: "index", options: "boolean" }]} /> } { diff --git a/ui/components/section/index.tsx b/ui/components/section/index.tsx index cb9119b..f4da2c5 100644 --- a/ui/components/section/index.tsx +++ b/ui/components/section/index.tsx @@ -10,14 +10,6 @@ export const Section: FC = ({ instruction }) => { const { IDL, setIDL } = useIDL() const [newIntructionName, setNewIntructionName] = useState(""); const [editingItem, setEditingItem] = useState(0); - const [editingName, setEditingName] = useState() - - // const editNameInstruction = (e) => { - // setIDL({ - // ...IDL, - // IDL[instruction][index].name = e.target.value - // }) - // } return (
    diff --git a/ui/pages/index.tsx b/ui/pages/index.tsx index f373c9a..1130ff0 100644 --- a/ui/pages/index.tsx +++ b/ui/pages/index.tsx @@ -7,27 +7,15 @@ import Layout from "@/components/Layout"; import { useIDL } from "@/context/IDL"; export default function Home() { - // const [name, setName] = useState("Project's Name"); - // const [instructions, setInstructions] = useState([ - // { - // name: "initialize", - // }, - // ]); - // const [accounts, setAccounts] = useState([]); - // const [types, setTypes] = useState([]); - // const [events, setEvents] = useState([]); - // const [errors, setErrors] = useState([]); + const { IDL, setIDL } = useIDL() const [templateFolder, setTemplateFolder] = useState(undefined); const [baseFolder, setBaseFolder] = useState(undefined); - // const [version, setVersion] = useState("0.1.0"); - // const [metadata, setMetadata] = useState(undefined); - const exportData = generateProjectFiles(IDL.name, templateFolder, setTemplateFolder, setBaseFolder); const handleTemplateFolder = selectTemplateFolder(setTemplateFolder); const openIDL = openIDLFile(IDL, setIDL); const newProject = cleanProject(setIDL); - const generateIDL = saveIDLFile(setBaseFolder, IDL.version , IDL.name, IDL.instructions, IDL.accounts, IDL.types, IDL.events, IDL.errors, IDL.metadata); + const generateIDL = saveIDLFile(setBaseFolder, IDL.version, IDL.name, IDL.instructions, IDL.accounts, IDL.types, IDL.events, IDL.errors, IDL.metadata); useEffect(() => { (async () => { @@ -70,49 +58,9 @@ export default function Home() { - - {/*
    -
    - - - - - -
    */} - - - - {/*
    */} + + + ); } From 3d5feed22472d641860501ebc9b8b83787fb6179 Mon Sep 17 00:00:00 2001 From: Marche Date: Sat, 24 Jun 2023 13:39:11 -0300 Subject: [PATCH 16/18] Display Parse Errors (#88) --- ui/helpers/generateProjectFiles.ts | 2 +- ui/helpers/saveIDLFile.ts | 2 +- ui/src-tauri/Cargo.lock | 92 +++++++++++++++++------------- ui/src-tauri/Cargo.toml | 3 +- ui/src-tauri/src/main.rs | 58 ++++++++++++++++--- 5 files changed, 105 insertions(+), 52 deletions(-) diff --git a/ui/helpers/generateProjectFiles.ts b/ui/helpers/generateProjectFiles.ts index 2a0dce4..5dbd1b3 100644 --- a/ui/helpers/generateProjectFiles.ts +++ b/ui/helpers/generateProjectFiles.ts @@ -24,7 +24,7 @@ const generateProjectFiles = ( await message(`Output path: ${result}/${name}`, "Project generated"); }) .catch(async (e) => { - await message(e, { title: "Error", type: "error" }); + await message(e?.error ?? "Error", { title: "Error while creating projects files", type: "error" }); }); } catch (e) { await message(`${e}`, { diff --git a/ui/helpers/saveIDLFile.ts b/ui/helpers/saveIDLFile.ts index f27ead2..a4f7511 100644 --- a/ui/helpers/saveIDLFile.ts +++ b/ui/helpers/saveIDLFile.ts @@ -18,7 +18,7 @@ const saveIDLFile = (setBaseFolder: Function, version: string | undefined, name: await message(`Output path: ${result}/idl.json`, "Project generated"); }) .catch(async (e) => { - await message(e, { title: "Error", type: "error" }); + await message(e?.error ?? "generate_idl_file Error", { title: "Error", type: "error" }); }); } catch (e) { await message(`${e}`, { diff --git a/ui/src-tauri/Cargo.lock b/ui/src-tauri/Cargo.lock index f1b159c..2e66e36 100644 --- a/ui/src-tauri/Cargo.lock +++ b/ui/src-tauri/Cargo.lock @@ -55,11 +55,12 @@ checksum = "224afbd727c3d6e4b90103ece64b8d1b67fbb1973b1046c2281eed3f3803f800" name = "app" version = "0.1.0" dependencies = [ - "env_logger", + "serde", "serde_json", "soda_sol", "tauri", "tauri-build", + "thiserror", ] [[package]] @@ -443,7 +444,7 @@ dependencies = [ "proc-macro2", "quote", "smallvec", - "syn", + "syn 1.0.109", ] [[package]] @@ -453,7 +454,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dfae75de57f2b2e85e8768c3ea840fd159c8f33e2b6522c7835b7abac81be16e" dependencies = [ "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -463,7 +464,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096" dependencies = [ "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -487,7 +488,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn", + "syn 1.0.109", ] [[package]] @@ -498,7 +499,7 @@ checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835" dependencies = [ "darling_core", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -511,7 +512,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version", - "syn", + "syn 1.0.109", ] [[package]] @@ -742,7 +743,7 @@ checksum = "3eb14ed937631bd8b8b8977f2c198443447a8355b6e3ca599f38c975e5a963b6" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -953,7 +954,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -1048,7 +1049,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -1113,7 +1114,7 @@ dependencies = [ "markup5ever", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -1570,7 +1571,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -1730,7 +1731,7 @@ dependencies = [ "pest_meta", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -1807,7 +1808,7 @@ dependencies = [ "proc-macro-hack", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -1821,7 +1822,7 @@ dependencies = [ "proc-macro-hack", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -1917,7 +1918,7 @@ dependencies = [ "proc-macro-error-attr", "proc-macro2", "quote", - "syn", + "syn 1.0.109", "version_check", ] @@ -1940,9 +1941,9 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" [[package]] name = "proc-macro2" -version = "1.0.51" +version = "1.0.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6" +checksum = "dec2b086b7a862cf4de201096214fa870344cf922b2b30c167badb3af3195406" dependencies = [ "unicode-ident", ] @@ -1958,9 +1959,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.23" +version = "1.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" +checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" dependencies = [ "proc-macro2", ] @@ -2146,7 +2147,7 @@ checksum = "db74e3fdd29d969a0ec1f8e79171a6f0f71d0429293656901db382d248c4c021" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -2242,22 +2243,22 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.155" +version = "1.0.164" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71f2b4817415c6d4210bfe1c7bfcf4801b2d904cb4d0e1a8fdb651013c9e86b8" +checksum = "9e8c8cf938e98f769bc164923b06dce91cea1751522f46f8466461af04c9027d" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.155" +version = "1.0.164" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d071a94a3fac4aff69d023a7f411e33f40f3483f8c5190b1953822b6b76d7630" +checksum = "d9735b638ccc51c28bf6914d90a2e9725b377144fc612c49a611fddd1b631d68" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.20", ] [[package]] @@ -2279,7 +2280,7 @@ checksum = "395627de918015623b32e7669714206363a7fc00382bf477e72c1f7533e8eafc" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -2301,7 +2302,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -2323,7 +2324,7 @@ checksum = "74064874e9f6a15f04c1f3cb627902d0e6b410abbf36668afa873c61889f1763" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -2496,6 +2497,17 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "syn" +version = "2.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcb8d4cebc40aa517dfb69618fa647a346562e67228e2236ae0042ee6ac14775" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + [[package]] name = "system-deps" version = "5.0.0" @@ -2678,7 +2690,7 @@ dependencies = [ "heck 0.4.1", "proc-macro2", "quote", - "syn", + "syn 1.0.109", "tauri-codegen", "tauri-utils", ] @@ -2794,22 +2806,22 @@ checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c" [[package]] name = "thiserror" -version = "1.0.39" +version = "1.0.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5ab016db510546d856297882807df8da66a16fb8c4101cb8b30054b0d5b2d9c" +checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.39" +version = "1.0.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5420d42e90af0c38c3290abcca25b9b3bdf379fc9f55c528f53a269d9c9a267e" +checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.20", ] [[package]] @@ -2933,7 +2945,7 @@ checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -3124,7 +3136,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn", + "syn 1.0.109", "wasm-bindgen-shared", ] @@ -3158,7 +3170,7 @@ checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -3246,7 +3258,7 @@ checksum = "eaebe196c01691db62e9e4ca52c5ef1e4fd837dcae27dae3ada599b5a8fd05ac" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -3347,7 +3359,7 @@ version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba01f98f509cb5dc05f4e5fc95e535f78260f15fea8fe1a8abdd08f774f1cee7" dependencies = [ - "syn", + "syn 1.0.109", "windows-tokens", ] diff --git a/ui/src-tauri/Cargo.toml b/ui/src-tauri/Cargo.toml index cb3819d..19485bb 100644 --- a/ui/src-tauri/Cargo.toml +++ b/ui/src-tauri/Cargo.toml @@ -17,7 +17,8 @@ tauri-build = { version = "1.2.1", features = [] } [dependencies] tauri = { version = "1.2.5", features = ["dialog-all", "fs-create-dir", "fs-read-dir", "fs-read-file", "fs-write-file", "shell-open"] } serde_json = "1.0.93" -env_logger = "0.10" +serde = "1.0.164" +thiserror = "1.0.40" soda_sol = { path = "../../crate" } [features] diff --git a/ui/src-tauri/src/main.rs b/ui/src-tauri/src/main.rs index ca9b1af..a6b8b6d 100644 --- a/ui/src-tauri/src/main.rs +++ b/ui/src-tauri/src/main.rs @@ -4,6 +4,7 @@ )] #![allow(non_snake_case, non_camel_case_types)] +use serde; use soda_sol::{generate_project, write_project_to_fs, get_template_from_fs, IDL, Template}; use std::{io::Write, sync::Mutex}; use tauri::{CustomMenuItem, Menu, MenuItem, Submenu, State}; @@ -108,7 +109,7 @@ fn main() { } #[tauri::command] -fn generate(handle: tauri::AppHandle, state: State) -> () { +fn generate(handle: tauri::AppHandle, state: State) -> Result<(), MyError> { let (idl_string, base_folder, template) = { let state = state.0.lock().unwrap(); ( @@ -117,13 +118,21 @@ fn generate(handle: tauri::AppHandle, state: State) -> () { &state.template.clone(), ) }; - let idl: IDL = serde_json::from_str(idl_string).expect("error while reading json"); - let dinamyc_files = generate_project(template.clone(), &idl); - write_project_to_fs(dinamyc_files, idl, base_folder); + match serde_json::from_str::(idl_string) { + Ok(idl) => { + let dinamyc_files = generate_project(template.clone(), &idl); + write_project_to_fs(dinamyc_files, idl, base_folder); + Ok(()) + } + Err(e) => Err(MyError::CustomError { + message: e.to_string(), + }), + } } + #[tauri::command] -fn generate_idl_file(handle: tauri::AppHandle, state: State) -> () { +fn generate_idl_file(handle: tauri::AppHandle, state: State) -> Result<(), MyError> { let (idl_string, base_folder) = { let state = state.0.lock().unwrap(); ( @@ -131,10 +140,17 @@ fn generate_idl_file(handle: tauri::AppHandle, state: State) -> () { &state.base_folder.clone(), ) }; - let idl: IDL = serde_json::from_str(idl_string).expect("error while reading json"); - let mut file = std::fs::File::create(format!("{}/idl.json", base_folder)).unwrap(); - file.write_all(serde_json::to_string_pretty(&idl).unwrap().as_bytes()) - .unwrap(); + match serde_json::from_str::(idl_string) { + Ok(idl) => { + let mut file = std::fs::File::create(format!("{}/idl.json", base_folder)).unwrap(); + file.write_all(serde_json::to_string_pretty(&idl).unwrap().as_bytes()) + .unwrap(); + Ok(()) + } + Err(e) => Err(MyError::CustomError { + message: e.to_string(), + }), + } } #[tauri::command] @@ -167,4 +183,28 @@ fn update_idl_string(idl: String, state: State) -> Result<(), ()> { let mut state = state.0.lock().unwrap(); state.idl_string = idl; Ok(()) +} + +#[derive(thiserror::Error, Debug)] +pub enum MyError { + #[error("custom error: {message}")] + CustomError { message: String }, +} +#[derive(serde::Serialize)] +struct ErrorWrapper { + error: String, +} +impl serde::Serialize for MyError { + fn serialize(&self, serializer: S) -> Result + where + S: serde::ser::Serializer, + { + let error_message = match self { + MyError::CustomError { message } => message, + }; + let wrapper = ErrorWrapper { + error: error_message.to_string(), + }; + wrapper.serialize(serializer) + } } \ No newline at end of file From 6e250fb86ffc7b7040cc7d408119733e1e01c921 Mon Sep 17 00:00:00 2001 From: Marche Date: Sun, 25 Jun 2023 14:09:10 -0300 Subject: [PATCH 17/18] Fix IDL struct (#90) --- crate/src/structs.rs | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/crate/src/structs.rs b/crate/src/structs.rs index 7a6b6cd..c8da3e8 100644 --- a/crate/src/structs.rs +++ b/crate/src/structs.rs @@ -96,6 +96,7 @@ pub struct Instruction { #[derive(Deserialize, Serialize, Debug, Clone)] pub struct Accounts { pub(crate) name: String, + #[serde(default)] #[serde(rename = "type")] pub(crate) type_: Type, } @@ -103,6 +104,7 @@ pub struct Accounts { #[derive(Deserialize, Serialize, Debug, Clone)] pub struct Types { pub(crate) name: String, + #[serde(default)] #[serde(rename = "type")] pub(crate) type_: Kind, } @@ -110,6 +112,7 @@ pub struct Types { #[derive(Deserialize, Serialize, Debug, Clone)] pub struct Event { pub(crate) name: String, + #[serde(default)] pub(crate) fields: Vec, } @@ -117,13 +120,16 @@ pub struct Event { pub struct ErrorDesc { pub(crate) code: u64, pub(crate) name: String, + #[serde(default)] pub(crate) msg: String, } #[derive(Deserialize, Serialize, Debug, Clone)] pub struct InstructionAccount { pub(crate) name: String, + #[serde(default)] pub(crate) isMut: bool, + #[serde(default)] pub(crate) isSigner: bool, #[serde(default)] pub(crate) pda: PDA, @@ -142,6 +148,15 @@ pub struct Type { pub(crate) fields: Vec, } +impl Default for Type { + fn default() -> Self { + Type { + kind: "struct".to_string(), + fields: [].to_vec(), + } + } +} + #[derive(Deserialize, Serialize, Debug, Clone)] pub struct Kind { pub(crate) kind: String, @@ -149,6 +164,15 @@ pub struct Kind { pub(crate) variants: Vec, } +impl Default for Kind { + fn default() -> Self { + Kind { + kind: "struct".to_string(), + variants: [].to_vec(), + } + } +} + #[derive(Deserialize, Serialize, Debug, Clone)] pub struct Field { pub(crate) name: String, From 1f0aec4063acfed9e69232ecb4d5976cd831fe3b Mon Sep 17 00:00:00 2001 From: Marche Date: Sun, 25 Jun 2023 14:21:57 -0300 Subject: [PATCH 18/18] fix IDL struct (#91) --- crate/src/structs.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/crate/src/structs.rs b/crate/src/structs.rs index c8da3e8..e9eb090 100644 --- a/crate/src/structs.rs +++ b/crate/src/structs.rs @@ -95,6 +95,7 @@ pub struct Instruction { #[derive(Deserialize, Serialize, Debug, Clone)] pub struct Accounts { + #[serde(default)] pub(crate) name: String, #[serde(default)] #[serde(rename = "type")] @@ -145,6 +146,7 @@ pub struct InstructionArgs { #[derive(Deserialize, Serialize, Debug, Clone)] pub struct Type { pub(crate) kind: String, + #[serde(default)] pub(crate) fields: Vec, } @@ -206,6 +208,12 @@ pub enum InstructionType { option(OptionType), } +impl Default for InstructionType { + fn default() -> Self { + InstructionType::String("".to_string()) + } +} + #[derive(Deserialize, Serialize, Debug, Clone)] #[serde(untagged)] pub enum InstructionTypeVec { @@ -244,6 +252,7 @@ pub struct Name { #[derive(Deserialize, Serialize, Debug, Clone)] pub struct TypeFields { pub(crate) name: String, + #[serde(default)] #[serde(rename = "type")] pub(crate) type_: InstructionType, }
    + {/* = ({ addProperty, editProperty, objConfig, elements }) => { checked={checked} onChange={toggleAll} /> -
    - + + + + { - setNewProperty({ - ...newProperty, - [e.target.id]: e.target.value - }) - }} + disabled={disabled} + className='bg-transparent border-none pl-5' + onChange={handlerNewProperty} />
    - + + + = ({ addProperty, editProperty, objConfig, elements }) => { { - setPropertyEditing({ - ...propertyEditing, - [e.target.id]: e.target.value - }) - }} + className='bg-transparent border-none pl-5' + onChange={handlerEditProperty} />
    + {/* {selectedProperty.includes(property) && (
    )} @@ -239,9 +255,19 @@ const Tab: FC = ({ addProperty, editProperty, objConfig, elements }) => { ) } /> -
    = ({ addProperty, editProperty, objConfig, elements }) => { )} > { - typeof property[name] === "object" ? - JSON.stringify(property[name]) - : - property[name] + value() }