[
  {
    "path": ".cursor/rules/always-pnpm.mdc",
    "content": "---\ndescription: \nglobs: \nalwaysApply: true\n---\n\nalways use pnpm for package manager."
  },
  {
    "path": ".cursorrules",
    "content": ""
  },
  {
    "path": ".dockerignore",
    "content": "# Git\n.git\n.gitignore\n\n# Build artifacts\ndist\nnode_modules\n.firebase\n.cursor\n\n# Docker\nDockerfile\ndocker-compose.yml\n.dockerignore\n\n# Logs\nnpm-debug.log*\nyarn-debug.log*\nyarn-error.log*\npnpm-debug.log*\n\n# Environment files\n.env\n.env.*\n\n# Editor directories and files\n.vscode/*\n.idea\n*.suo\n*.ntvs*\n*.njsproj\n*.sln\n*.sw? "
  },
  {
    "path": ".firebaserc",
    "content": "{\n  \"projects\": {\n    \"default\": \"inscribed-app\"\n  }\n}\n"
  },
  {
    "path": ".gitignore",
    "content": ".firebase\n\n# Logs\nlogs\n*.log\nnpm-debug.log*\nyarn-debug.log*\nyarn-error.log*\npnpm-debug.log*\nlerna-debug.log*\n\nnode_modules\ndist\ndist-ssr\n*.local\n\n# Editor directories and files\n.vscode/*\n!.vscode/extensions.json\n.idea\n.DS_Store\n*.suo\n*.ntvs*\n*.njsproj\n*.sln\n*.sw?\n"
  },
  {
    "path": "CLAUDE.md",
    "content": "# CLAUDE.md - Development Guide for Inscribed App\n\n## Build Commands\n- `pnpm dev` - Start development server\n- `pnpm build` - Build for production\n- `pnpm deploy` - Deploy to Firebase\n- `pnpm lint` - Run ESLint for code quality\n- `pnpm preview` - Preview production build\n\n## Code Style Guidelines\n- **TypeScript**: Strict typing, avoid any, use proper interfaces/types\n- **React**: Functional components with TypeScript FC type\n- **State Management**: Zustand for global state\n- **CSS**: TailwindCSS for styling, with custom classes as needed\n- **Imports**: Group imports by external/internal, sort alphabetically\n- **Naming**: PascalCase for components, camelCase for variables/functions\n- **File Structure**: Components in src/components, pages in src/pages\n- **Canvas**: Excalidraw powers the drawing functionality\n- **Error Handling**: Use try/catch for async operations, proper error states\n\n## Key Libraries\n- React 18+, TypeScript 5+\n- Excalidraw for drawing canvas\n- Zustand for state management\n- TailwindCSS for styling"
  },
  {
    "path": "Dockerfile",
    "content": "FROM node:20-slim AS base\n\n# Set working directory\nWORKDIR /app\n\n# Install pnpm\nRUN npm install -g pnpm\n\n# Common dependencies and setup\nCOPY package.json pnpm-lock.yaml ./\nRUN pnpm install --frozen-lockfile\n\n# Development stage\nFROM base AS development\nENV NODE_ENV=development\nCOPY . .\nEXPOSE 5173\nCMD [\"pnpm\", \"dev\", \"--host\"]\n\n# Build stage\nFROM base AS build\nENV NODE_ENV=production\nCOPY . .\nRUN pnpm build\n\n# Production stage\nFROM nginx:stable-alpine AS production\nCOPY --from=build /app/dist /usr/share/nginx/html\n# Copy custom nginx config if needed\n# COPY nginx.conf /etc/nginx/conf.d/default.conf\nEXPOSE 80\nCMD [\"nginx\", \"-g\", \"daemon off;\"] "
  },
  {
    "path": "LICENSE",
    "content": "MIT License\n\nCopyright (c) 2024\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "README.md",
    "content": "# Inscribed\n\nA slide-based tool for creating stop motion animations and slides with Excalidraw\n\n![Inscribed App Interface](./docs/imgs/screenshot.png)\n\n🎥 [Watch Demo](https://youtu.be/CLJvvGVErMY) | 🚀 [Try Inscribed](https://inscribed.app) | [Feedback](https://github.com/chunrapeepat/inscribed/issues)\n\n## Tutorials\n\n- [How to use Google fonts?](./docs/custom-fonts.md)\n- [How each export options work?](./docs/export-options.md)\n\n## Features\n\n- 🎨 Interactive drawing canvas powered by Excalidraw\n- ⌨️ Keyboard shortcuts support\n  - Copy/Paste/Duplicate functionality\n  - Navigation with Up/Down arrows\n  - Delete items\n- 📏 Customizable document size\n- 🖼️ Image import and manipulation\n- 🔤 Google Fonts integration\n- 🎭 Presentation mode for slideshows\n- 📤 Export presentations as GIF\n- 💾 Export/Import data functionality\n- 🔗 Embed support via iframe, hosted on Gist\n\n## Getting Started\n\n### Local Development\n\n1. Fork the repository\n2. Clone your fork: `git clone https://github.com/YOUR_USERNAME/inscribed.git`\n3. Create a new branch: `git checkout -b feature/your-feature-name`\n4. Install dependencies: `pnpm install`\n5. Start the development server: `pnpm dev`\n\n### Using Docker\n\n#### Development\n\n```bash\n# Start the development server\ndocker compose up dev\n\n# Or build and run in one command\ndocker compose up dev --build\n```\n\nAfter running either of these commands, open your browser and navigate to:\n\n```\nhttp://localhost:5173\n```\n\nTo use a different port (e.g., 3000), change the first number in the port mapping in docker-compose.yml:\n\n```bash\n# Edit the docker-compose.yml file, changing \"5173:5173\" to \"3000:5173\"\n```\n\nThen access the development server at `http://localhost:<HOST_PORT>`.\n\n#### Production\n\n```bash\n# Build and start the production server\ndocker compose up prod --build -d\n\n# Or use Docker directly\ndocker build -t inscribed:latest .\ndocker run -p 8888:80 inscribed:latest\n```\n\nAfter running either of these commands, open your browser and navigate to:\n\n```\nhttp://localhost:8888\n```\n\nTo use a different port (e.g., 3000), change the first number in the port mapping:\n\n```bash\n# Using docker-compose\n# Edit the docker-compose.yml file, changing \"8888:80\" to \"3000:80\"\n\n# Using Docker directly\ndocker run -p 3000:80 inscribed:latest\n```\n\n## Deployment\n\n### Self-Hosting with Docker\n\n1. Clone the repository: `git clone https://github.com/chunrapeepat/inscribed.git`\n2. Build the Docker image: `docker build -t inscribed:latest .`\n3. Run the container: `docker run -d -p 8888:80 inscribed:latest`\n\nThe application will be available at `http://localhost:8888` or your server's IP/domain on port 8888.\n\nTo customize the port, change the host port mapping in the docker run command:\n\n```bash\n# Format: docker run -d -p <HOST_PORT>:80 inscribed:latest\n# Example for port 9000:\ndocker run -d -p 9000:80 inscribed:latest\n```\n\nThen access the application at `http://localhost:<HOST_PORT>`.\n\n## Changelog\n\n- [12/5/2025] [v1.1.1](https://github.com/chunrapeepat/inscribed/pull/47) - minor improvements for animation recording usecase\n\n- [25/4/2025] [v1.1.0](https://github.com/chunrapeepat/inscribed/pull/34) - export as video, integrate [excalidraw-animate](https://github.com/dai-shi/excalidraw-animate)\n\n- [24/4/2025] [v1.0.7](https://github.com/chunrapeepat/inscribed/pull/33) - fix all reported bugs on Github issues\n\n- [26/3/2025] [v1.0.6](https://github.com/chunrapeepat/inscribed/pull/12) - raw gist url supported, drag and drop to import, cmd/ctrl + s shortcut for export, minor ux improvements.\n\n- [25/3/2025] [v1.0.5](https://github.com/chunrapeepat/inscribed/pull/10) - fix bugs, minor improvements\n\n- [12/3/2025] [v1.0.4](https://github.com/chunrapeepat/inscribed/pull/9) - preview GIF, import directly from Gist, make share url shorter\n\n- [12/3/2025] [v1.0.3](https://github.com/chunrapeepat/inscribed/pull/8) - swipe down to exit presentation, multi-select preview items, improve pref\n\n- [11/3/2025] v1.0.2-hotfix - support gist with multiple files, shareable url\n\n- [23/2/2025] [v1.0.2](https://github.com/chunrapeepat/inscribed/pull/5) - slide bar ux improvement\n\n- [16/2/2025] [v1.0.1](https://github.com/chunrapeepat/inscribed/pull/1) - ux improvement and indexeddb migration\n\n- [11/2/2025] [v1.0.0](https://www.youtube.com/watch?v=CLJvvGVErMY) - launch an MVP\n  - shortcuts: copy/paste, up/down/delete\n  - integrated google fonts\n  - export: gif, iframe embed\n  - full-screen presentation mode\n\n---\n\nCrafted with 🧡 by [@chunrapeepat](https://chunrapeepat.com)\n"
  },
  {
    "path": "docker-compose.yml",
    "content": "services:\n  # Development service\n  dev:\n    build:\n      context: .\n      target: development\n    volumes:\n      - .:/app\n      - /app/node_modules\n    ports:\n      - \"5173:5173\"\n    environment:\n      - NODE_ENV=development\n    command: pnpm dev --host\n\n  # Production service\n  prod:\n    build:\n      context: .\n      target: production\n    ports:\n      - \"8888:80\"\n    restart: unless-stopped\n"
  },
  {
    "path": "docs/custom-fonts.md",
    "content": "# How to use Google fonts?\n\n1. Visit [Google Fonts](https://fonts.google.com) and select your desired fonts.\n\n2. Click **\"View selected families\"** button on the top right conner and click **\"Get embed code\"**\n\n   <img src=\"./imgs/get-embed-code.png\" width=\"75%\" alt=\"Get embed code\">\n\n3. Select **\"Web\"** tab (choose either `<link>` or `@import`) then click **\"Copy Code\"**\n\n   <img src=\"./imgs/copy-fonts-code.png\" width=\"75%\" alt=\"Copy fonts code\">\n\n4. Open **\"Custom Fonts Modal\"** by select any text on the canvas and click the custom font icon.\n\n   <img src=\"./imgs/open-fonts-modal.png\" width=\"75%\" alt=\"Open Fonts Modal\">\n\n5. Paste **the code** to the **\"Embed New fonts\"** textarea then click **\"Add Font.\"**\n\n   <img src=\"./imgs/add-fonts.png\" width=\"40%\" alt=\"Add Fonts\">\n\nNow you should see the added fonts listed above. You can search the font family name in the search input and click on the font text to apply the font family to the selected text elements.\n"
  },
  {
    "path": "docs/export-options.md",
    "content": "# How each export options work?\n\n### Import/Export Data\n\nImport and export data for working with Inscribed editor. (you will get: `filename.ins`)\n\nWarning: The import option will override the existing data stored on the browser. Always backing up the data and be careful when import.\n\n### Export as GIF\n\nExport as GIF file to use on your blog, documentation, or posting on social media.\n\n**Example GIF:**\n\n   <img src=\"./imgs/example-flowchart.gif\" width=\"40%\" alt=\"Example GIF\">\n\n### Export as Hand Drawn Animation Video (Self recording)\n\nExport your slides as a sequence of hand-drawn animations that play one after another. This feature lets you:\n\n- Show your content with an engaging hand-drawn animation effect\n- Record the animations using your own screen recording tools\n- Create professional-looking videos for social media or educational content\n- Control playback with frame navigation and playback controls\n\nHow it works:\n\n1. Click \"Preview and Self-Record\" to display the animation in fullscreen\n2. Use the control panel to play all frames sequentially or navigate between frames\n3. Use your preferred screen recording tool (QuickTime, OBS, etc.) to capture the animation\n4. Create your video with perfectly timed hand-drawn animations\n\nThis is ideal for creating:\n\n- Tutorial videos showing step-by-step processes\n- Social media content with engaging animations\n- Educational videos where concepts build upon each other\n- Presentation recordings with hand-drawn visual elements\n\n### Export as PDF\n\nExport all your slides as a multi-page PDF document. This is useful for:\n\n- Sharing your presentation as a document\n- Printing your slides\n- Archiving your presentation in a standard document format\n- Including your presentation in reports or documentation\n\n### Export as Video\n\nExport your slides as an MP4 video with customizable frame timing. This is ideal for:\n\n- Presenting your slides as a video during conferences or meetings\n- Uploading to video platforms like YouTube or Vimeo\n- Embedding in websites or presentations that support video\n- Sharing on social media platforms that prioritize video content\n\nYou can also enable the loop option to create a video with a specific duration:\n\n- Check the \"Loop video to reach total duration\" option\n- Set your desired total duration in seconds\n- The slides will automatically loop to reach the specified duration\n\nThis is useful for creating looping videos for digital signage, kiosks, or continuous displays.\n\n### Embed Presentation\n\nCreate an iframe embed code in **\"presentation format\"** to embed everywhere. Recommended for explaining something in a step-by-step presentation format.\n\n   <img src=\"./imgs/example-presentation-embed.gif\" width=\"60%\" alt=\"Example Presentation Embed\">\n\n### Embed with Slider Template\n\nCreate an iframe embed code in **\"slider template format\"** to embed everywhere. Recommended for visualizing some ideas or process e.g. algorithm.\n\n   <img src=\"./imgs/example-slider-template-embed.gif\" width=\"60%\" alt=\"Example Slider Template Embed\">\n\n### Get Shareable Link\n\nGenerate a direct shareable link from your Gist URL for easy sharing. This option provides a simple URL that can be shared via email, chat, or social media without embedding. The link can be opened directly in a browser to view the presentation.\n\n## Working with GitHub Gists\n\nFor the embed and shareable link options, you need to save your presentation data to a GitHub Gist. Here are some helpful tips:\n\n### Using Multiple Files in a Single Gist\n\nIf your Gist contains multiple valid Inscribed files, the system will automatically detect them and display a dropdown menu for you to select which file to use.\n\n### Direct File Links\n\nYou can link directly to a specific file in a Gist using the filename parameter in the URL. For example:\n\n```\nhttps://gist.github.com/username/gistid?filename=presentation.ins\n```\n\nWhen a Gist contains multiple files with valid Inscribed data, the system automatically adds this parameter to specify which file to use. This allows you to share a direct link to a specific presentation within a multi-file Gist.\n"
  },
  {
    "path": "eslint.config.js",
    "content": "import js from '@eslint/js';\nimport globals from 'globals';\nimport reactHooks from 'eslint-plugin-react-hooks';\nimport reactRefresh from 'eslint-plugin-react-refresh';\nimport tseslint from 'typescript-eslint';\n\nexport default tseslint.config(\n  { ignores: ['dist'] },\n  {\n    extends: [js.configs.recommended, ...tseslint.configs.recommended],\n    files: ['**/*.{ts,tsx}'],\n    languageOptions: {\n      ecmaVersion: 2020,\n      globals: globals.browser,\n    },\n    plugins: {\n      'react-hooks': reactHooks,\n      'react-refresh': reactRefresh,\n    },\n    rules: {\n      ...reactHooks.configs.recommended.rules,\n      'react-refresh/only-export-components': [\n        'warn',\n        { allowConstantExport: true },\n      ],\n    },\n  }\n);\n"
  },
  {
    "path": "firebase.json",
    "content": "{\n  \"hosting\": {\n    \"public\": \"dist\",\n    \"ignore\": [\"firebase.json\", \"**/.*\", \"**/node_modules/**\"],\n    \"rewrites\": [\n      {\n        \"source\": \"/share/**\",\n        \"destination\": \"/index.html\"\n      },\n      {\n        \"source\": \"/embed/**\",\n        \"destination\": \"/index.html\"\n      },\n      {\n        \"source\": \"**\",\n        \"destination\": \"/index.html\"\n      }\n    ]\n  }\n}\n"
  },
  {
    "path": "index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"UTF-8\" />\n    <link rel=\"icon\" href=\"/favicon.ico\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n    <title>\n      Inscribed: create stop motion animations and slides with Excalidraw\n    </title>\n    <meta\n      name=\"title\"\n      content=\"Inscribed: create stop motion animations and slides with Excalidraw\"\n    />\n    <meta\n      name=\"description\"\n      content=\"Sketch and animate your ideas quickly with Inscribed.app. Export as GIF and iframe and embed everywhere.\"\n    />\n    <meta\n      name=\"keywords\"\n      content=\"sketching tool, animation, slides, presentation, drawing, creative tool\"\n    />\n    <meta property=\"og:type\" content=\"website\" />\n    <meta property=\"og:url\" content=\"https://inscribed.app\" />\n    <meta\n      property=\"og:title\"\n      content=\"Inscribed: create stop motion animations and slides with Excalidraw\"\n    />\n    <meta\n      property=\"og:description\"\n      content=\"Sketch and animate your ideas quickly with Inscribed.app. Export as GIF and iframe and embed everywhere.\"\n    />\n    <meta property=\"og:image\" content=\"/ogimage.png\" />\n\n    <link rel=\"stylesheet\" href=\"/src/global.css\" />\n    <script\n      defer\n      data-domain=\"inscribed.app\"\n      src=\"https://plausible.io/js/script.tagged-events.js\"\n    ></script>\n  </head>\n  <body>\n    <div id=\"root\"></div>\n    <script type=\"module\" src=\"/src/main.tsx\"></script>\n  </body>\n</html>\n"
  },
  {
    "path": "package.json",
    "content": "{\n  \"name\": \"inscribed\",\n  \"private\": true,\n  \"version\": \"1.1.1\",\n  \"type\": \"module\",\n  \"scripts\": {\n    \"copy-excalidraw-assets\": \"rm -rf public/excalidraw && mkdir -p public/excalidraw && cp -r node_modules/@excalidraw/excalidraw/dist public/excalidraw/dist\",\n    \"dev\": \"pnpm run copy-excalidraw-assets && vite\",\n    \"build\": \"pnpm run copy-excalidraw-assets && vite build --mode production && rm -f dist/dev-debug-data.ins\",\n    \"deploy\": \"firebase deploy\",\n    \"lint\": \"eslint .\",\n    \"preview\": \"vite preview\"\n  },\n  \"dependencies\": {\n    \"@emotion/react\": \"^11.14.0\",\n    \"@emotion/styled\": \"^11.14.0\",\n    \"@excalidraw/excalidraw\": \"^0.17.6\",\n    \"@mui/material\": \"^6.4.3\",\n    \"excalidraw-animate\": \"^0.7.1\",\n    \"gif.js\": \"^0.2.0\",\n    \"idb-keyval\": \"^6.2.1\",\n    \"jspdf\": \"^3.0.1\",\n    \"lucide-react\": \"^0.344.0\",\n    \"react\": \"^18.3.1\",\n    \"react-colorful\": \"^5.6.1\",\n    \"react-dom\": \"^18.3.1\",\n    \"zustand\": \"^4.5.2\"\n  },\n  \"devDependencies\": {\n    \"@eslint/js\": \"^9.9.1\",\n    \"@types/gif.js\": \"^0.2.5\",\n    \"@types/react\": \"^18.3.5\",\n    \"@types/react-dom\": \"^18.3.0\",\n    \"@types/wicg-file-system-access\": \"^2023.10.5\",\n    \"@vitejs/plugin-react\": \"^4.3.1\",\n    \"autoprefixer\": \"^10.4.18\",\n    \"eslint\": \"^9.9.1\",\n    \"eslint-plugin-react-hooks\": \"5.1.0-rc.0\",\n    \"eslint-plugin-react-refresh\": \"^0.4.11\",\n    \"globals\": \"^15.9.0\",\n    \"postcss\": \"^8.4.35\",\n    \"tailwindcss\": \"^3.4.1\",\n    \"typescript\": \"^5.5.3\",\n    \"typescript-eslint\": \"^8.3.0\",\n    \"vite\": \"^5.4.2\"\n  },\n  \"license\": \"MIT\"\n}\n"
  },
  {
    "path": "postcss.config.js",
    "content": "export default {\n  plugins: {\n    tailwindcss: {},\n    autoprefixer: {},\n  },\n};\n"
  },
  {
    "path": "public/dev-debug-data.ins",
    "content": "{\"name\":\"embedding-data\",\"document\":{\"backgroundColor\":\"#ffffff\",\"slides\":[{\"id\":\"1742813413357\",\"elements\":[{\"id\":\"frame\",\"type\":\"rectangle\",\"x\":0,\"y\":0,\"width\":1080,\"height\":1180,\"angle\":0,\"strokeColor\":\"#228be6\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":1,\"strokeStyle\":\"dashed\",\"roughness\":0,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":500058849,\"version\":115,\"versionNonce\":1991506828,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742886627773,\"link\":null,\"locked\":true},{\"id\":\"SabN3qb83gzkVzmXkUo2-\",\"type\":\"text\",\"x\":50.00447119981743,\"y\":103.48273353186386,\"width\":245.11202038617023,\"height\":56.87587035663754,\"angle\":0,\"strokeColor\":\"#1e1e1e\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":640456494,\"version\":127,\"versionNonce\":2068075316,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742886627773,\"link\":null,\"locked\":false,\"text\":\"Introducing\",\"fontSize\":45.50069628531005,\"fontFamily\":1,\"textAlign\":\"left\",\"verticalAlign\":\"top\",\"baseline\":39.99999999999998,\"containerId\":null,\"originalText\":\"Introducing\",\"lineHeight\":1.25},{\"id\":\"qlc1jE5zGEzWG_pD38leY\",\"type\":\"text\",\"x\":117.69634563597015,\"y\":286.1857502439407,\"width\":842.7301674871873,\"height\":168.35763817649456,\"angle\":0,\"strokeColor\":\"#1e1e1e\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":142876718,\"version\":166,\"versionNonce\":138717708,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742886627773,\"link\":null,\"locked\":false,\"text\":\"Inscribed.app\",\"fontSize\":134.68611054119563,\"fontFamily\":1,\"textAlign\":\"left\",\"verticalAlign\":\"top\",\"baseline\":119.00000000000003,\"containerId\":null,\"originalText\":\"Inscribed.app\",\"lineHeight\":1.25},{\"type\":\"text\",\"version\":226,\"versionNonce\":188468404,\"isDeleted\":false,\"id\":\"SxiYbA-NsvW6RyXq2Rh4L\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"angle\":0,\"x\":62.88807859139166,\"y\":636.4580453198766,\"strokeColor\":\"#1e1e1e\",\"backgroundColor\":\"transparent\",\"width\":472.37176513671875,\"height\":65.69421407988203,\"seed\":92481010,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"boundElements\":[],\"updated\":1742886627773,\"link\":null,\"locked\":false,\"fontSize\":52.55537126390562,\"fontFamily\":1,\"text\":\"a slide-based tool\",\"textAlign\":\"left\",\"verticalAlign\":\"top\",\"containerId\":null,\"originalText\":\"a slide-based tool\",\"lineHeight\":1.25,\"baseline\":46},{\"type\":\"text\",\"version\":319,\"versionNonce\":817596556,\"isDeleted\":false,\"id\":\"YaGq_kj7AL_O4Zgq6KRU9\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"angle\":0,\"x\":64.015742015097,\"y\":730.7084859013321,\"strokeColor\":\"#1e1e1e\",\"backgroundColor\":\"transparent\",\"width\":944.9173367608571,\"height\":64.46559365669889,\"seed\":1952264050,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"boundElements\":[],\"updated\":1742886627773,\"link\":null,\"locked\":false,\"fontSize\":51.57247492535911,\"fontFamily\":1,\"text\":\"to sketch and animate complex ideas\",\"textAlign\":\"left\",\"verticalAlign\":\"top\",\"containerId\":null,\"originalText\":\"to sketch and animate complex ideas\",\"lineHeight\":1.25,\"baseline\":45},{\"type\":\"text\",\"version\":350,\"versionNonce\":1896355380,\"isDeleted\":false,\"id\":\"5rzNosz9ppARKAg8lhg0O\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"angle\":6.144571506933597,\"x\":633.5022339835508,\"y\":885.8070373759102,\"strokeColor\":\"#c2255c\",\"backgroundColor\":\"transparent\",\"width\":350.7098167983017,\"height\":152.03262330155957,\"seed\":946150706,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"boundElements\":[],\"updated\":1742886627773,\"link\":null,\"locked\":false,\"fontSize\":132.20228113179093,\"fontFamily\":276597047,\"text\":\"FAST!!\",\"textAlign\":\"left\",\"verticalAlign\":\"top\",\"containerId\":null,\"originalText\":\"FAST!!\",\"lineHeight\":1.15,\"baseline\":134.00000000000003},{\"id\":\"ZhCMzCgn1z0-AlwAXgD_w\",\"type\":\"freedraw\",\"x\":190.76830588143514,\"y\":215.26005826490348,\"width\":41.57037504833164,\"height\":49.56856079989461,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":1585425157,\"version\":26,\"versionNonce\":332568332,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742886627773,\"link\":null,\"locked\":false,\"points\":[[0,0],[-0.22470472999100366,-0.22470472999097524],[-0.3712512930285925,-0.4494094599819505],[0.11072406985061889,-0.35496834157996204],[2.6020156414897997,1.7227362632641814],[8.594141774582624,7.786507382730974],[17.478120084950717,17.282724667567237],[25.66193148302807,26.423973610823538],[32.07415776349535,34.45146867499412],[36.76690437098813,40.83438564285393],[39.427538637692976,44.7748598934204],[41.19912375530305,48.9042163807909],[41.19912375530305,49.11915133991266]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"d2UKj_plYS4h8c6UEhUfB\",\"type\":\"freedraw\",\"x\":317.7720705903959,\"y\":271.83680136828497,\"width\":0.20190859796286986,\"height\":62.581895597633235,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":851869957,\"version\":25,\"versionNonce\":965685172,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742886627773,\"link\":null,\"locked\":false,\"points\":[[0,0],[0.10095429898143493,0],[0.20190859796286986,-0.17585587564508387],[0.20190859796286986,-7.131932734496388],[0.20190859796286986,-19.546054918925677],[0.20190859796286986,-30.849679814558954],[0.20190859796286986,-42.35521330815516],[0.20190859796286986,-50.97215121476586],[0.20190859796286986,-56.23154453267071],[0.20190859796286986,-60.01895903962014],[0.20190859796286986,-61.92732094939862],[0.20190859796286986,-62.581895597633235]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"F2bizCOWnEyPy1kj7F_Ft\",\"type\":\"freedraw\",\"x\":448.04219535995014,\"y\":268.6616258358037,\"width\":0,\"height\":49.15171724280992,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":374936485,\"version\":23,\"versionNonce\":1308874124,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742886627773,\"link\":null,\"locked\":false,\"points\":[[0,0],[0,-0.08792793782254194],[0,-0.6382916967859842],[0,-4.477811648371016],[0,-14.43972134463786],[0,-26.638908569945357],[0,-36.5487128215766],[0,-43.8565014317181],[0,-47.9858579190886],[0,-49.15171724280992]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"IDPlxgGRqlFwUtFkXReGo\",\"type\":\"freedraw\",\"x\":599.2652220535911,\"y\":246.90108951986548,\"width\":10.561122309576149,\"height\":69.91248033980281,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":947296133,\"version\":23,\"versionNonce\":1693915444,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742886627773,\"link\":null,\"locked\":false,\"points\":[[0,0],[0,0.10095429898143493],[0,0.12049384071980285],[0,-1.0421088927118092],[0,-6.080054070915423],[0.08141475724312386,-17.54325189074521],[1.65109127689027,-34.26258643819011],[4.445245745473812,-49.50017240381047],[7.7181189866468,-61.647254184482364],[10.561122309576149,-69.79198649908301]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"dIKqmAuGMEV13V3QtKbHg\",\"type\":\"freedraw\",\"x\":767.1229119471441,\"y\":244.24045525316066,\"width\":31.41306993468129,\"height\":54.46972918592985,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":1070059365,\"version\":25,\"versionNonce\":1552499724,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742886627773,\"link\":null,\"locked\":false,\"points\":[[0,0],[-0.22470472999100366,0],[-0.4494094599820073,-0.17259928535540325],[-0.4494094599820073,-0.9997732189453927],[0.889049149094717,-5.5687693954286885],[4.650410933726334,-15.240842555910064],[10.362470301902931,-27.10460098137594],[15.830285398350156,-36.96229978837161],[21.171093473498104,-44.76183353226148],[25.854070310121756,-50.21987885783952],[28.781744980583994,-52.87399994396489],[30.96366047469928,-54.46972918592985]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"WcvXdUnUNTYgTBhmTc5C-\",\"type\":\"freedraw\",\"x\":871.4966307328102,\"y\":292.15792477616503,\"width\":59.436029377759496,\"height\":60.63445460437805,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":2051796485,\"version\":23,\"versionNonce\":2124796596,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742886627773,\"link\":null,\"locked\":false,\"points\":[[0,0],[0.08792793782254194,-0.5340808075147834],[0.6317785162065093,-1.9213882709373706],[4.083764223314347,-7.6595003614316965],[11.932146821550077,-19.409278126757215],[23.90337272657689,-34.07370420138608],[36.11232972275354,-46.03190374525397],[46.45851707320787,-53.60021957857339],[54.323182622892205,-58.28645300548678],[59.436029377759496,-60.63445460437805]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"mU6KNcXIbWAZuez0SUa_J\",\"type\":\"freedraw\",\"x\":987.3400605188856,\"y\":318.34742388612847,\"width\":10.222436919444817,\"height\":3.986066514622678,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":275289573,\"version\":20,\"versionNonce\":89973388,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742886627773,\"link\":null,\"locked\":false,\"points\":[[0,0],[-0.10421088927125766,0],[0.15305974361695007,0],[1.2896097547308045,-0.29634971636494356],[3.862316083613109,-1.4003338245814803],[7.425025860571509,-3.012346017995071],[10.11822603017356,-3.986066514622678]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"_ABo1PY8pXeSYUxvAxhuY\",\"type\":\"freedraw\",\"x\":1003.3722377592383,\"y\":403.91221650719734,\"width\":39.300531616393755,\"height\":0,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":1897360293,\"version\":26,\"versionNonce\":893475892,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742886627773,\"link\":null,\"locked\":false,\"points\":[[0,0],[0.1888822368040337,0],[3.227280977116834,0],[9.870725168154536,0],[18.608156915485097,0],[27.24463436383394,0],[32.393303611888314,0],[35.37959690756543,0],[37.86437529862519,0],[39.300531616393755,0]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"wMVqW7J72yj-f5Bqv1Fzt\",\"type\":\"freedraw\",\"x\":857.3304629725092,\"y\":488.09833208686194,\"width\":15.677225654733093,\"height\":25.30044996086866,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":442888069,\"version\":24,\"versionNonce\":1060679948,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742886627773,\"link\":null,\"locked\":false,\"points\":[[0,0],[0,0.09769770869172589],[-0.09444111840196001,0.19539541738345179],[0.48848854345874315,1.1104972887960116],[2.396850453237221,4.0251455980993],[5.493867818765011,8.724405386171554],[9.053321005433759,14.247582517544117],[11.948429772998793,18.865427548373248],[14.074983232188742,22.213202366209885],[15.582784536331133,25.30044996086866]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"7DWIiTC0f4L0WbtNyx42h\",\"type\":\"freedraw\",\"x\":700.639621182421,\"y\":486.04554085548494,\"width\":20.737966964964812,\"height\":63.695649476718984,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":692594533,\"version\":28,\"versionNonce\":1924117940,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742886627773,\"link\":null,\"locked\":false,\"points\":[[0,0],[-0.10421088927114397,0],[-0.20842177854228794,0.09444111840201685],[0.4233567376642213,1.9051053194887686],[2.914648309303402,7.350124283907917],[6.939793907402645,16.592327526145652],[10.499247094071393,26.371868166187994],[13.918666898282027,35.41541940075257],[17.233875813221402,44.83022192834579],[19.220395889953352,52.54182773441306],[20.12572799049667,56.931711444961536],[20.4318474777308,59.46859528065676],[20.529545186422524,61.419292864201736],[20.529545186422524,62.71541579951196],[20.529545186422524,63.695649476718984]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"aCOQsYTzuCIOBh-PtNuYi\",\"type\":\"freedraw\",\"x\":553.513368317293,\"y\":489.709171419504,\"width\":17.41950145973567,\"height\":57.40391703697156,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":1406920741,\"version\":26,\"versionNonce\":429305740,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742886627773,\"link\":null,\"locked\":false,\"points\":[[0,0],[0,0.1758558756451407],[0.13352020187869584,1.9051053194887686],[5.14215606747473,16.888677242510596],[9.46365138193903,28.355131652630178],[12.993795256000226,38.65572673902835],[15.559988404302999,46.77766292160089],[16.755157040631843,52.574393637310266],[17.207823090903617,55.98730026094148],[17.41950145973567,57.40391703697156]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"BNdKaQRZu59C7BnBqVNkt\",\"type\":\"freedraw\",\"x\":335.46838222475816,\"y\":492.4642803165317,\"width\":1.530597436170467,\"height\":50.51622857420443,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":2037914629,\"version\":27,\"versionNonce\":1947655988,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742886627773,\"link\":null,\"locked\":false,\"points\":[[0,0],[-0.10095429898143493,0],[-0.2019085979629267,0.928128232571396],[-0.2019085979629267,3.5855059089865335],[-0.2019085979629267,10.916090651156082],[-0.2930931260751777,20.871487166843508],[-0.836943704459145,30.182078805165474],[-1.4101035954506642,37.369373574587144],[-1.530597436170467,41.879751125855364],[-1.530597436170467,45.234039124271476],[-1.530597436170467,46.963288568115104],[-1.530597436170467,48.161713794733714],[-1.530597436170467,49.30803357671664],[-1.530597436170467,50.51622857420443]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"RLs4lJNG9ky9fDOONdpD_\",\"type\":\"freedraw\",\"x\":440.5194717906869,\"y\":490.44519433690255,\"width\":8.506213836760026,\"height\":33.282352760983144,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":473590117,\"version\":24,\"versionNonce\":615570956,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742886627773,\"link\":null,\"locked\":false,\"points\":[[0,0],[-0.10421088927114397,0],[-0.20842177854234478,0.19539541738345179],[-0.5275676269353653,1.7618153467408888],[-1.70970990210526,5.409196471232178],[-3.5431702352200887,10.570892080445333],[-5.493867818765011,16.882164061931178],[-7.333841332459258,23.151100369650635],[-8.239173433002634,27.899209012068695],[-8.395489766909407,31.24698382990539],[-8.506213836760026,33.282352760983144]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"zBIQkOiNsGfUwNkpi690R\",\"type\":\"freedraw\",\"x\":184.20301985735088,\"y\":475.36392470518905,\"width\":55.6518714610998,\"height\":35.86157227044475,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":1078437029,\"version\":25,\"versionNonce\":1641863348,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742886627773,\"link\":null,\"locked\":false,\"points\":[[0,0],[0,0.09444111840196001],[-0.09769770869172589,0.18888223680397687],[-2.1428364106386653,0.5243110366455994],[-12.951459582233838,5.669723694410095],[-22.958961542556835,12.498793531962122],[-30.71290302239055,18.10664201086746],[-37.903454382101984,23.34975237732374],[-45.41315159020638,28.77848839029423],[-49.972377995820494,32.11649343726174],[-52.9130790274416,33.99880262472243],[-55.6518714610998,35.86157227044475]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"wsDDtZtkvYMFWyg9_6dnj\",\"type\":\"freedraw\",\"x\":94.65655666079985,\"y\":372.5240599459831,\"width\":8.131705953441752,\"height\":0.19539541738345179,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":942336837,\"version\":19,\"versionNonce\":1501641868,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742886627773,\"link\":null,\"locked\":false,\"points\":[[0,0],[0,0.09769770869172589],[-0.2800667649162847,0.19539541738345179],[-1.273326803282231,0.19539541738345179],[-3.8330067710055857,0.19539541738345179],[-8.131705953441752,0.19539541738345179]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"VihDyrcKRBFxlH3e2GXld\",\"type\":\"freedraw\",\"x\":110.03417600887832,\"y\":286.8822485068116,\"width\":11.140795381147058,\"height\":11.531586215914047,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":1818658213,\"version\":21,\"versionNonce\":1739039284,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742886627773,\"link\":null,\"locked\":false,\"points\":[[0,0],[0,-0.09769770869172589],[-0.5308242172250743,-1.3384586090767243],[-2.146093000928346,-3.878599035061768],[-4.744852052128408,-6.7769643929164545],[-7.298018839272316,-9.069603956882418],[-9.35618390237812,-10.567635490155624],[-11.140795381147058,-11.531586215914047],[-11.140795381147058,-11.531586215914047]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":[-11.140795381147058,-11.531586215914047]},{\"id\":\"7cyIHJmTDN1twt0KP36Ig\",\"type\":\"freedraw\",\"x\":812.0872524679455,\"y\":178.09270670488985,\"width\":0.0001,\"height\":0.0001,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":129373739,\"version\":12,\"versionNonce\":29477644,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742886627773,\"link\":null,\"locked\":false,\"points\":[[0,0],[0.0001,0.0001]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":[0.0001,0.0001]},{\"id\":\"00ISUygm4HTe51oWA1EOt\",\"type\":\"freedraw\",\"x\":157.95928488241626,\"y\":806.079242398076,\"width\":152.29703430725826,\"height\":15.632439046627269,\"angle\":0,\"strokeColor\":\"#0c8599\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":1,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":1895871013,\"version\":166,\"versionNonce\":1281178548,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742886627773,\"link\":null,\"locked\":false,\"points\":[[0,0],[0.10808540450096871,-0.051693019543904484],[1.9361385501910604,-1.6823728178844704],[5.307933234079485,-4.104895688329748],[14.807700416630837,-8.461207426259534],[18.43326083282591,-9.201357478820455],[21.323370561873162,-9.288295738962574],[23.67775263382873,-9.288295738962574],[24.93248319912243,-9.288295738962574],[25.65618547273749,-9.288295738962574],[26.048582484730105,-8.597489023239063],[26.39163615988531,-7.088992725638718],[26.739389200453616,-5.129357348382314],[27.073044144782614,-2.9981951335481654],[27.376153213926614,-1.1419457953796837],[27.68631133119021,0.4440900315365752],[28.078708343182825,1.7411148855479723],[28.539246153665147,2.673938920045316],[29.166611436311996,3.2026175290174024],[30.120582615168246,3.5715177139445586],[31.645526691714338,3.8534796387297092],[34.239576399737246,3.9098720236867166],[37.799345700149104,3.275457692920213],[42.23084728468825,1.4239077201647206],[47.05944524663306,-1.0268113427590606],[51.17843903120206,-3.080434028277182],[54.66536816771111,-4.509041113855005],[57.47088931932285,-5.307933234079542],[59.313040561252194,-5.531153091201077],[60.51372842429538,-5.531153091201077],[61.27502562121515,-5.531153091201077],[61.730864066284425,-5.232743387470123],[62.02927377001532,-4.490243652202707],[62.226647117364905,-3.5762170793576615],[62.43341919554064,-2.629294948621123],[62.71538112032573,-1.6917715487105625],[63.154771786449146,-0.87643164954045],[63.7750880209764,-0.17152683757763043],[64.49409092917841,0.43939066612335864],[65.328228290001,0.8858303803664285],[66.3761867771189,1.261779613413296],[67.77659767021822,1.6612256735255642],[70.11453196322805,1.9549360118434151],[73.73069364859691,1.992530935148011],[78.05645951134164,1.4709013742955221],[81.88879200571245,0.4981327337869743],[85.32402812267759,-0.5263289262655917],[88.6159335945436,-1.595434557742351],[91.05020487852164,-2.4695165245761928],[92.65973753250324,-2.9394530658846634],[93.64895395195765,-3.1650226057128066],[94.18468160904933,-3.2519608658548123],[94.52538560149799,-3.2519608658548123],[94.69691243907562,-3.2073168944305053],[94.70866085260832,-2.977047989189373],[94.70866085260832,-2.4530687456303895],[94.70866085260832,-1.640078529166658],[94.71570990072792,-0.9022781593123455],[94.80969720898963,-0.3031090691439431],[95.06346294129622,0.2866612901981398],[95.31252930818971,0.6978557638431084],[95.55219694425705,1.0150629292263602],[95.8694041096403,1.2288840555216893],[96.4709228825152,1.282926757772202],[98.1039523635622,1.1818904013908877],[101.06220289109919,0.2984097037309539],[104.99792142455792,-1.6048332885685568],[109.46231856698861,-4.017957428187742],[113.58131235155767,-6.294799970827285],[117.05884275724051,-8.303778684921213],[119.81267088930835,-9.94385721408787],[121.65012276582453,-10.991815701205837],[122.89310491758553,-11.574537012428323],[123.57451290248284,-11.722567022940552],[123.90581816410528,-11.722567022940552],[124.14548580017262,-11.569837647015333],[124.31701263775025,-10.944822047075036],[124.6107229760681,-9.753532914857828],[125.02426713241957,-8.18864423230059],[125.43546160606454,-6.630804597862948],[125.8584044932422,-5.242142118296329],[126.33773976537677,-4.093147274797047],[126.89226488412086,-3.1932187981911966],[127.44679000286484,-2.544706371185498],[127.96372019830423,-2.152309359192941],[128.57463770200522,-1.853899655461987],[129.41347442824096,-1.7223174238956744],[130.82563373487298,-1.7223174238956744],[132.98734182489213,-2.1781558689648364],[135.28298182918408,-3.2026175290174024],[137.48463452521443,-4.349262689810189],[139.64164324982036,-5.390172128808558],[141.38040845266184,-6.177315835500281],[142.58814536382474,-6.609657453504042],[143.32594573367905,-6.720092540711562],[143.74418925544362,-6.720092540711562],[144.06609578623997,-6.715393175298459],[144.38330295162322,-6.55091538584054],[144.70990884783257,-6.1373712294890765],[145.04591347486812,-5.60869262051699],[145.5017519199374,-5.0682655980122036],[146.140865616117,-4.450299046191503],[146.8410710626666,-3.782989157533507],[147.5436261919228,-3.2895557891595217],[148.15454369562391,-2.9441524312977663],[148.61978087151928,-2.7326809877089318],[148.98633137373994,-2.6903866989911194],[149.52910807895123,-2.7514784493613433],[150.98591135700755,-3.6420081951408747],[152.29703430725826,-4.631224614595226],[152.29703430725826,-4.631224614595226]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":[152.29703430725826,-4.631224614595226]},{\"id\":\"pnuYeDXfROwcI6MFFpivo\",\"type\":\"freedraw\",\"x\":629.4370816687822,\"y\":825.2750356620443,\"width\":208.52150818325055,\"height\":146.7331346543766,\"angle\":0,\"strokeColor\":\"#c2255c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":1,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":852704549,\"version\":80,\"versionNonce\":535595404,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742886627773,\"link\":null,\"locked\":false,\"points\":[[0,0],[-0.23840506478177304,0],[-3.672820055985767,0.5113615882274871],[-23.159842742495243,3.5518899506615753],[-49.34293811809255,7.013946108796858],[-73.00377701121602,9.007565273711066],[-100.03338312408198,10.064839908830095],[-126.00571460182869,10.064839908830095],[-149.36595580457526,9.90590319897558],[-165.21470989376303,7.701520136210888],[-175.37974903271885,2.6708277547289754],[-183.02253168920095,-3.8041155989091067],[-186.7679098083811,-10.921716083698016],[-187.82863958936667,-18.59905019884411],[-187.5073110237912,-29.624420658534063],[-183.5649895902261,-44.381348653938744],[-168.6767660518982,-66.20404994613625],[-143.98974883645315,-91.10183105943179],[-115.29476241598127,-110.54739199554444],[-83.13771983737422,-125.16265901042652],[-51.080876488892955,-133.8385302809629],[-27.31638321977732,-136.66829474554652],[-10.427630224802442,-135.73540536161784],[3.3445811986774743,-131.37846642408442],[12.362511909987802,-123.75986978866717],[17.610878481052964,-114.04745475821005],[20.060576900332308,-102.44507493883077],[20.692868593883873,-86.3924672435254],[18.54722301084803,-70.7372013228561],[13.433607128572476,-57.8184109283776],[7.3836467165018576,-45.62520116584358]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null}]},{\"id\":\"1740809594099\",\"elements\":[{\"id\":\"frame\",\"type\":\"rectangle\",\"x\":0,\"y\":0,\"width\":1080,\"height\":1180,\"angle\":0,\"strokeColor\":\"#228be6\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":1,\"strokeStyle\":\"dashed\",\"roughness\":0,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":500058849,\"version\":114,\"versionNonce\":1614552139,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337249,\"link\":null,\"locked\":true},{\"id\":\"SabN3qb83gzkVzmXkUo2-\",\"type\":\"text\",\"x\":49.76970876850794,\"y\":103.28503885286639,\"width\":212.281494140625,\"height\":56.87587035663756,\"angle\":0,\"strokeColor\":\"#1e1e1e\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":640456494,\"version\":136,\"versionNonce\":1856874118,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742884042547,\"link\":null,\"locked\":false,\"text\":\"Introducing\",\"fontSize\":45.50069628531005,\"fontFamily\":1,\"textAlign\":\"left\",\"verticalAlign\":\"top\",\"baseline\":43,\"containerId\":null,\"originalText\":\"Introducing\",\"lineHeight\":1.25}]},{\"id\":\"1742813441460\",\"elements\":[{\"id\":\"frame\",\"type\":\"rectangle\",\"x\":0,\"y\":0,\"width\":1080,\"height\":1180,\"angle\":0,\"strokeColor\":\"#228be6\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":1,\"strokeStyle\":\"dashed\",\"roughness\":0,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":500058849,\"version\":114,\"versionNonce\":1614552139,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337249,\"link\":null,\"locked\":true},{\"id\":\"SabN3qb83gzkVzmXkUo2-\",\"type\":\"text\",\"x\":50.00447119981743,\"y\":103.48273353186386,\"width\":245.11202038617023,\"height\":56.87587035663754,\"angle\":0,\"strokeColor\":\"#1e1e1e\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":640456494,\"version\":126,\"versionNonce\":1717232101,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337249,\"link\":null,\"locked\":false,\"text\":\"Introducing\",\"fontSize\":45.50069628531005,\"fontFamily\":1,\"textAlign\":\"left\",\"verticalAlign\":\"top\",\"baseline\":39.99999999999998,\"containerId\":null,\"originalText\":\"Introducing\",\"lineHeight\":1.25},{\"id\":\"qlc1jE5zGEzWG_pD38leY\",\"type\":\"text\",\"x\":117.44654932028925,\"y\":285.4501408509029,\"width\":842.7301674871873,\"height\":168.35763817649456,\"angle\":0,\"strokeColor\":\"#1e1e1e\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":142876718,\"version\":160,\"versionNonce\":1789418219,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337249,\"link\":null,\"locked\":false,\"text\":\"Inscribed.app\",\"fontSize\":134.68611054119563,\"fontFamily\":1,\"textAlign\":\"left\",\"verticalAlign\":\"top\",\"baseline\":119.00000000000003,\"containerId\":null,\"originalText\":\"Inscribed.app\",\"lineHeight\":1.25},{\"type\":\"text\",\"version\":224,\"versionNonce\":829668587,\"isDeleted\":true,\"id\":\"SxiYbA-NsvW6RyXq2Rh4L\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"angle\":0,\"x\":63.058373107304135,\"y\":635.7310495928967,\"strokeColor\":\"#1e1e1e\",\"backgroundColor\":\"transparent\",\"width\":472.37176513671875,\"height\":65.69421407988203,\"seed\":92481010,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"boundElements\":[],\"updated\":1742813438949,\"link\":null,\"locked\":false,\"fontSize\":52.55537126390562,\"fontFamily\":1,\"text\":\"a slide-based tool\",\"textAlign\":\"left\",\"verticalAlign\":\"top\",\"containerId\":null,\"originalText\":\"a slide-based tool\",\"lineHeight\":1.25,\"baseline\":46},{\"id\":\"ZhCMzCgn1z0-AlwAXgD_w\",\"type\":\"freedraw\",\"x\":190.76830588143514,\"y\":215.26005826490348,\"width\":41.57037504833164,\"height\":49.56856079989461,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":1585425157,\"version\":25,\"versionNonce\":980999211,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[-0.22470472999100366,-0.22470472999097524],[-0.3712512930285925,-0.4494094599819505],[0.11072406985061889,-0.35496834157996204],[2.6020156414897997,1.7227362632641814],[8.594141774582624,7.786507382730974],[17.478120084950717,17.282724667567237],[25.66193148302807,26.423973610823538],[32.07415776349535,34.45146867499412],[36.76690437098813,40.83438564285393],[39.427538637692976,44.7748598934204],[41.19912375530305,48.9042163807909],[41.19912375530305,49.11915133991266]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"d2UKj_plYS4h8c6UEhUfB\",\"type\":\"freedraw\",\"x\":317.7720705903959,\"y\":271.83680136828497,\"width\":0.20190859796286986,\"height\":62.581895597633235,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":851869957,\"version\":24,\"versionNonce\":1798475781,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0.10095429898143493,0],[0.20190859796286986,-0.17585587564508387],[0.20190859796286986,-7.131932734496388],[0.20190859796286986,-19.546054918925677],[0.20190859796286986,-30.849679814558954],[0.20190859796286986,-42.35521330815516],[0.20190859796286986,-50.97215121476586],[0.20190859796286986,-56.23154453267071],[0.20190859796286986,-60.01895903962014],[0.20190859796286986,-61.92732094939862],[0.20190859796286986,-62.581895597633235]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"F2bizCOWnEyPy1kj7F_Ft\",\"type\":\"freedraw\",\"x\":448.04219535995014,\"y\":268.6616258358037,\"width\":0,\"height\":49.15171724280992,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":374936485,\"version\":22,\"versionNonce\":50470603,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0,-0.08792793782254194],[0,-0.6382916967859842],[0,-4.477811648371016],[0,-14.43972134463786],[0,-26.638908569945357],[0,-36.5487128215766],[0,-43.8565014317181],[0,-47.9858579190886],[0,-49.15171724280992]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"IDPlxgGRqlFwUtFkXReGo\",\"type\":\"freedraw\",\"x\":599.2652220535911,\"y\":246.90108951986548,\"width\":10.561122309576149,\"height\":69.91248033980281,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":947296133,\"version\":22,\"versionNonce\":1020020581,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0,0.10095429898143493],[0,0.12049384071980285],[0,-1.0421088927118092],[0,-6.080054070915423],[0.08141475724312386,-17.54325189074521],[1.65109127689027,-34.26258643819011],[4.445245745473812,-49.50017240381047],[7.7181189866468,-61.647254184482364],[10.561122309576149,-69.79198649908301]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"dIKqmAuGMEV13V3QtKbHg\",\"type\":\"freedraw\",\"x\":767.1229119471441,\"y\":244.24045525316066,\"width\":31.41306993468129,\"height\":54.46972918592985,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":1070059365,\"version\":24,\"versionNonce\":2055867755,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[-0.22470472999100366,0],[-0.4494094599820073,-0.17259928535540325],[-0.4494094599820073,-0.9997732189453927],[0.889049149094717,-5.5687693954286885],[4.650410933726334,-15.240842555910064],[10.362470301902931,-27.10460098137594],[15.830285398350156,-36.96229978837161],[21.171093473498104,-44.76183353226148],[25.854070310121756,-50.21987885783952],[28.781744980583994,-52.87399994396489],[30.96366047469928,-54.46972918592985]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"WcvXdUnUNTYgTBhmTc5C-\",\"type\":\"freedraw\",\"x\":871.4966307328102,\"y\":292.15792477616503,\"width\":59.436029377759496,\"height\":60.63445460437805,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":2051796485,\"version\":22,\"versionNonce\":1425543877,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0.08792793782254194,-0.5340808075147834],[0.6317785162065093,-1.9213882709373706],[4.083764223314347,-7.6595003614316965],[11.932146821550077,-19.409278126757215],[23.90337272657689,-34.07370420138608],[36.11232972275354,-46.03190374525397],[46.45851707320787,-53.60021957857339],[54.323182622892205,-58.28645300548678],[59.436029377759496,-60.63445460437805]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"mU6KNcXIbWAZuez0SUa_J\",\"type\":\"freedraw\",\"x\":987.3400605188856,\"y\":318.34742388612847,\"width\":10.222436919444817,\"height\":3.986066514622678,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":275289573,\"version\":19,\"versionNonce\":609953803,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[-0.10421088927125766,0],[0.15305974361695007,0],[1.2896097547308045,-0.29634971636494356],[3.862316083613109,-1.4003338245814803],[7.425025860571509,-3.012346017995071],[10.11822603017356,-3.986066514622678]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"_ABo1PY8pXeSYUxvAxhuY\",\"type\":\"freedraw\",\"x\":1003.1052141114412,\"y\":403.6538065254584,\"width\":39.300531616393755,\"height\":0,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":1897360293,\"version\":22,\"versionNonce\":1079210533,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0.1888822368040337,0],[3.227280977116834,0],[9.870725168154536,0],[18.608156915485097,0],[27.24463436383394,0],[32.393303611888314,0],[35.37959690756543,0],[37.86437529862519,0],[39.300531616393755,0]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"wMVqW7J72yj-f5Bqv1Fzt\",\"type\":\"freedraw\",\"x\":857.3304629725092,\"y\":487.8399221051231,\"width\":15.677225654733093,\"height\":25.30044996086866,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":442888069,\"version\":22,\"versionNonce\":913305259,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0,0.09769770869172589],[-0.09444111840196001,0.19539541738345179],[0.48848854345874315,1.1104972887960116],[2.396850453237221,4.0251455980993],[5.493867818765011,8.724405386171554],[9.053321005433759,14.247582517544117],[11.948429772998793,18.865427548373248],[14.074983232188742,22.213202366209885],[15.582784536331133,25.30044996086866]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"7DWIiTC0f4L0WbtNyx42h\",\"type\":\"freedraw\",\"x\":700.639621182421,\"y\":486.04554085548494,\"width\":20.737966964964812,\"height\":63.695649476718984,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":692594533,\"version\":27,\"versionNonce\":466347397,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[-0.10421088927114397,0],[-0.20842177854228794,0.09444111840201685],[0.4233567376642213,1.9051053194887686],[2.914648309303402,7.350124283907917],[6.939793907402645,16.592327526145652],[10.499247094071393,26.371868166187994],[13.918666898282027,35.41541940075257],[17.233875813221402,44.83022192834579],[19.220395889953352,52.54182773441306],[20.12572799049667,56.931711444961536],[20.4318474777308,59.46859528065676],[20.529545186422524,61.419292864201736],[20.529545186422524,62.71541579951196],[20.529545186422524,63.695649476718984]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"aCOQsYTzuCIOBh-PtNuYi\",\"type\":\"freedraw\",\"x\":553.246344669496,\"y\":489.17512412391005,\"width\":17.41950145973567,\"height\":57.40391703697156,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":1406920741,\"version\":22,\"versionNonce\":1131602251,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0,0.1758558756451407],[0.13352020187869584,1.9051053194887686],[5.14215606747473,16.888677242510596],[9.46365138193903,28.355131652630178],[12.993795256000226,38.65572673902835],[15.559988404302999,46.77766292160089],[16.755157040631843,52.574393637310266],[17.207823090903617,55.98730026094148],[17.41950145973567,57.40391703697156]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"BNdKaQRZu59C7BnBqVNkt\",\"type\":\"freedraw\",\"x\":335.46838222475816,\"y\":492.4642803165317,\"width\":1.530597436170467,\"height\":50.51622857420443,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":2037914629,\"version\":26,\"versionNonce\":178187493,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[-0.10095429898143493,0],[-0.2019085979629267,0.928128232571396],[-0.2019085979629267,3.5855059089865335],[-0.2019085979629267,10.916090651156082],[-0.2930931260751777,20.871487166843508],[-0.836943704459145,30.182078805165474],[-1.4101035954506642,37.369373574587144],[-1.530597436170467,41.879751125855364],[-1.530597436170467,45.234039124271476],[-1.530597436170467,46.963288568115104],[-1.530597436170467,48.161713794733714],[-1.530597436170467,49.30803357671664],[-1.530597436170467,50.51622857420443]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"RLs4lJNG9ky9fDOONdpD_\",\"type\":\"freedraw\",\"x\":440.5194717906869,\"y\":490.44519433690255,\"width\":8.506213836760026,\"height\":33.282352760983144,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":473590117,\"version\":23,\"versionNonce\":616464363,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[-0.10421088927114397,0],[-0.20842177854234478,0.19539541738345179],[-0.5275676269353653,1.7618153467408888],[-1.70970990210526,5.409196471232178],[-3.5431702352200887,10.570892080445333],[-5.493867818765011,16.882164061931178],[-7.333841332459258,23.151100369650635],[-8.239173433002634,27.899209012068695],[-8.395489766909407,31.24698382990539],[-8.506213836760026,33.282352760983144]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"zBIQkOiNsGfUwNkpi690R\",\"type\":\"freedraw\",\"x\":184.20301985735088,\"y\":475.36392470518905,\"width\":55.6518714610998,\"height\":35.86157227044475,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":1078437029,\"version\":24,\"versionNonce\":1817839685,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0,0.09444111840196001],[-0.09769770869172589,0.18888223680397687],[-2.1428364106386653,0.5243110366455994],[-12.951459582233838,5.669723694410095],[-22.958961542556835,12.498793531962122],[-30.71290302239055,18.10664201086746],[-37.903454382101984,23.34975237732374],[-45.41315159020638,28.77848839029423],[-49.972377995820494,32.11649343726174],[-52.9130790274416,33.99880262472243],[-55.6518714610998,35.86157227044475]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"wsDDtZtkvYMFWyg9_6dnj\",\"type\":\"freedraw\",\"x\":94.65655666079985,\"y\":372.5240599459831,\"width\":8.131705953441752,\"height\":0.19539541738345179,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":942336837,\"version\":18,\"versionNonce\":610093707,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0,0.09769770869172589],[-0.2800667649162847,0.19539541738345179],[-1.273326803282231,0.19539541738345179],[-3.8330067710055857,0.19539541738345179],[-8.131705953441752,0.19539541738345179]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"VihDyrcKRBFxlH3e2GXld\",\"type\":\"freedraw\",\"x\":110.03417600887832,\"y\":286.8822485068116,\"width\":11.140795381147058,\"height\":11.531586215914047,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":1818658213,\"version\":20,\"versionNonce\":1390065573,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0,-0.09769770869172589],[-0.5308242172250743,-1.3384586090767243],[-2.146093000928346,-3.878599035061768],[-4.744852052128408,-6.7769643929164545],[-7.298018839272316,-9.069603956882418],[-9.35618390237812,-10.567635490155624],[-11.140795381147058,-11.531586215914047],[-11.140795381147058,-11.531586215914047]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":[-11.140795381147058,-11.531586215914047]},{\"id\":\"7cyIHJmTDN1twt0KP36Ig\",\"type\":\"freedraw\",\"x\":812.0872524679455,\"y\":178.09270670488985,\"width\":0.0001,\"height\":0.0001,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":129373739,\"version\":11,\"versionNonce\":372138955,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0.0001,0.0001]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":[0.0001,0.0001]}]},{\"id\":\"1742813437524\",\"elements\":[{\"id\":\"frame\",\"type\":\"rectangle\",\"x\":0,\"y\":0,\"width\":1080,\"height\":1180,\"angle\":0,\"strokeColor\":\"#228be6\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":1,\"strokeStyle\":\"dashed\",\"roughness\":0,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":500058849,\"version\":114,\"versionNonce\":1614552139,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337249,\"link\":null,\"locked\":true},{\"id\":\"SabN3qb83gzkVzmXkUo2-\",\"type\":\"text\",\"x\":50.00447119981743,\"y\":103.48273353186386,\"width\":245.11202038617023,\"height\":56.87587035663754,\"angle\":0,\"strokeColor\":\"#1e1e1e\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":640456494,\"version\":126,\"versionNonce\":1717232101,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337249,\"link\":null,\"locked\":false,\"text\":\"Introducing\",\"fontSize\":45.50069628531005,\"fontFamily\":1,\"textAlign\":\"left\",\"verticalAlign\":\"top\",\"baseline\":39.99999999999998,\"containerId\":null,\"originalText\":\"Introducing\",\"lineHeight\":1.25},{\"id\":\"qlc1jE5zGEzWG_pD38leY\",\"type\":\"text\",\"x\":117.44654932028925,\"y\":285.4501408509029,\"width\":842.7301674871873,\"height\":168.35763817649456,\"angle\":0,\"strokeColor\":\"#1e1e1e\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":142876718,\"version\":160,\"versionNonce\":1789418219,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337249,\"link\":null,\"locked\":false,\"text\":\"Inscribed.app\",\"fontSize\":134.68611054119563,\"fontFamily\":1,\"textAlign\":\"left\",\"verticalAlign\":\"top\",\"baseline\":119.00000000000003,\"containerId\":null,\"originalText\":\"Inscribed.app\",\"lineHeight\":1.25},{\"type\":\"text\",\"version\":222,\"versionNonce\":1993314661,\"isDeleted\":false,\"id\":\"SxiYbA-NsvW6RyXq2Rh4L\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"angle\":0,\"x\":62.88807859139166,\"y\":635.7310495928967,\"strokeColor\":\"#1e1e1e\",\"backgroundColor\":\"transparent\",\"width\":472.37176513671875,\"height\":65.69421407988203,\"seed\":92481010,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"boundElements\":[],\"updated\":1742813356893,\"link\":null,\"locked\":false,\"fontSize\":52.55537126390562,\"fontFamily\":1,\"text\":\"a slide-based tool\",\"textAlign\":\"left\",\"verticalAlign\":\"top\",\"containerId\":null,\"originalText\":\"a slide-based tool\",\"lineHeight\":1.25,\"baseline\":46},{\"type\":\"text\",\"version\":308,\"versionNonce\":1287177541,\"isDeleted\":true,\"id\":\"YaGq_kj7AL_O4Zgq6KRU9\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"angle\":0,\"x\":63.58384040337424,\"y\":728.4125846429787,\"strokeColor\":\"#1e1e1e\",\"backgroundColor\":\"transparent\",\"width\":944.9173367608571,\"height\":64.46559365669889,\"seed\":1952264050,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"boundElements\":[],\"updated\":1742813436371,\"link\":null,\"locked\":false,\"fontSize\":51.57247492535911,\"fontFamily\":1,\"text\":\"to sketch and animate complex ideas\",\"textAlign\":\"left\",\"verticalAlign\":\"top\",\"containerId\":null,\"originalText\":\"to sketch and animate complex ideas\",\"lineHeight\":1.25,\"baseline\":45},{\"id\":\"ZhCMzCgn1z0-AlwAXgD_w\",\"type\":\"freedraw\",\"x\":190.76830588143514,\"y\":215.26005826490348,\"width\":41.57037504833164,\"height\":49.56856079989461,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":1585425157,\"version\":25,\"versionNonce\":980999211,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[-0.22470472999100366,-0.22470472999097524],[-0.3712512930285925,-0.4494094599819505],[0.11072406985061889,-0.35496834157996204],[2.6020156414897997,1.7227362632641814],[8.594141774582624,7.786507382730974],[17.478120084950717,17.282724667567237],[25.66193148302807,26.423973610823538],[32.07415776349535,34.45146867499412],[36.76690437098813,40.83438564285393],[39.427538637692976,44.7748598934204],[41.19912375530305,48.9042163807909],[41.19912375530305,49.11915133991266]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"d2UKj_plYS4h8c6UEhUfB\",\"type\":\"freedraw\",\"x\":317.7720705903959,\"y\":271.83680136828497,\"width\":0.20190859796286986,\"height\":62.581895597633235,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":851869957,\"version\":24,\"versionNonce\":1798475781,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0.10095429898143493,0],[0.20190859796286986,-0.17585587564508387],[0.20190859796286986,-7.131932734496388],[0.20190859796286986,-19.546054918925677],[0.20190859796286986,-30.849679814558954],[0.20190859796286986,-42.35521330815516],[0.20190859796286986,-50.97215121476586],[0.20190859796286986,-56.23154453267071],[0.20190859796286986,-60.01895903962014],[0.20190859796286986,-61.92732094939862],[0.20190859796286986,-62.581895597633235]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"F2bizCOWnEyPy1kj7F_Ft\",\"type\":\"freedraw\",\"x\":448.04219535995014,\"y\":268.6616258358037,\"width\":0,\"height\":49.15171724280992,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":374936485,\"version\":22,\"versionNonce\":50470603,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0,-0.08792793782254194],[0,-0.6382916967859842],[0,-4.477811648371016],[0,-14.43972134463786],[0,-26.638908569945357],[0,-36.5487128215766],[0,-43.8565014317181],[0,-47.9858579190886],[0,-49.15171724280992]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"IDPlxgGRqlFwUtFkXReGo\",\"type\":\"freedraw\",\"x\":599.2652220535911,\"y\":246.90108951986548,\"width\":10.561122309576149,\"height\":69.91248033980281,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":947296133,\"version\":22,\"versionNonce\":1020020581,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0,0.10095429898143493],[0,0.12049384071980285],[0,-1.0421088927118092],[0,-6.080054070915423],[0.08141475724312386,-17.54325189074521],[1.65109127689027,-34.26258643819011],[4.445245745473812,-49.50017240381047],[7.7181189866468,-61.647254184482364],[10.561122309576149,-69.79198649908301]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"dIKqmAuGMEV13V3QtKbHg\",\"type\":\"freedraw\",\"x\":767.1229119471441,\"y\":244.24045525316066,\"width\":31.41306993468129,\"height\":54.46972918592985,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":1070059365,\"version\":24,\"versionNonce\":2055867755,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[-0.22470472999100366,0],[-0.4494094599820073,-0.17259928535540325],[-0.4494094599820073,-0.9997732189453927],[0.889049149094717,-5.5687693954286885],[4.650410933726334,-15.240842555910064],[10.362470301902931,-27.10460098137594],[15.830285398350156,-36.96229978837161],[21.171093473498104,-44.76183353226148],[25.854070310121756,-50.21987885783952],[28.781744980583994,-52.87399994396489],[30.96366047469928,-54.46972918592985]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"WcvXdUnUNTYgTBhmTc5C-\",\"type\":\"freedraw\",\"x\":871.4966307328102,\"y\":292.15792477616503,\"width\":59.436029377759496,\"height\":60.63445460437805,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":2051796485,\"version\":22,\"versionNonce\":1425543877,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0.08792793782254194,-0.5340808075147834],[0.6317785162065093,-1.9213882709373706],[4.083764223314347,-7.6595003614316965],[11.932146821550077,-19.409278126757215],[23.90337272657689,-34.07370420138608],[36.11232972275354,-46.03190374525397],[46.45851707320787,-53.60021957857339],[54.323182622892205,-58.28645300548678],[59.436029377759496,-60.63445460437805]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"mU6KNcXIbWAZuez0SUa_J\",\"type\":\"freedraw\",\"x\":987.3400605188856,\"y\":318.34742388612847,\"width\":10.222436919444817,\"height\":3.986066514622678,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":275289573,\"version\":19,\"versionNonce\":609953803,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[-0.10421088927125766,0],[0.15305974361695007,0],[1.2896097547308045,-0.29634971636494356],[3.862316083613109,-1.4003338245814803],[7.425025860571509,-3.012346017995071],[10.11822603017356,-3.986066514622678]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"_ABo1PY8pXeSYUxvAxhuY\",\"type\":\"freedraw\",\"x\":1003.1052141114412,\"y\":403.6538065254584,\"width\":39.300531616393755,\"height\":0,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":1897360293,\"version\":22,\"versionNonce\":1079210533,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0.1888822368040337,0],[3.227280977116834,0],[9.870725168154536,0],[18.608156915485097,0],[27.24463436383394,0],[32.393303611888314,0],[35.37959690756543,0],[37.86437529862519,0],[39.300531616393755,0]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"wMVqW7J72yj-f5Bqv1Fzt\",\"type\":\"freedraw\",\"x\":857.3304629725092,\"y\":487.8399221051231,\"width\":15.677225654733093,\"height\":25.30044996086866,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":442888069,\"version\":22,\"versionNonce\":913305259,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0,0.09769770869172589],[-0.09444111840196001,0.19539541738345179],[0.48848854345874315,1.1104972887960116],[2.396850453237221,4.0251455980993],[5.493867818765011,8.724405386171554],[9.053321005433759,14.247582517544117],[11.948429772998793,18.865427548373248],[14.074983232188742,22.213202366209885],[15.582784536331133,25.30044996086866]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"7DWIiTC0f4L0WbtNyx42h\",\"type\":\"freedraw\",\"x\":700.639621182421,\"y\":486.04554085548494,\"width\":20.737966964964812,\"height\":63.695649476718984,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":692594533,\"version\":27,\"versionNonce\":466347397,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[-0.10421088927114397,0],[-0.20842177854228794,0.09444111840201685],[0.4233567376642213,1.9051053194887686],[2.914648309303402,7.350124283907917],[6.939793907402645,16.592327526145652],[10.499247094071393,26.371868166187994],[13.918666898282027,35.41541940075257],[17.233875813221402,44.83022192834579],[19.220395889953352,52.54182773441306],[20.12572799049667,56.931711444961536],[20.4318474777308,59.46859528065676],[20.529545186422524,61.419292864201736],[20.529545186422524,62.71541579951196],[20.529545186422524,63.695649476718984]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"aCOQsYTzuCIOBh-PtNuYi\",\"type\":\"freedraw\",\"x\":553.246344669496,\"y\":489.17512412391005,\"width\":17.41950145973567,\"height\":57.40391703697156,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":1406920741,\"version\":22,\"versionNonce\":1131602251,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0,0.1758558756451407],[0.13352020187869584,1.9051053194887686],[5.14215606747473,16.888677242510596],[9.46365138193903,28.355131652630178],[12.993795256000226,38.65572673902835],[15.559988404302999,46.77766292160089],[16.755157040631843,52.574393637310266],[17.207823090903617,55.98730026094148],[17.41950145973567,57.40391703697156]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"BNdKaQRZu59C7BnBqVNkt\",\"type\":\"freedraw\",\"x\":335.46838222475816,\"y\":492.4642803165317,\"width\":1.530597436170467,\"height\":50.51622857420443,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":2037914629,\"version\":26,\"versionNonce\":178187493,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[-0.10095429898143493,0],[-0.2019085979629267,0.928128232571396],[-0.2019085979629267,3.5855059089865335],[-0.2019085979629267,10.916090651156082],[-0.2930931260751777,20.871487166843508],[-0.836943704459145,30.182078805165474],[-1.4101035954506642,37.369373574587144],[-1.530597436170467,41.879751125855364],[-1.530597436170467,45.234039124271476],[-1.530597436170467,46.963288568115104],[-1.530597436170467,48.161713794733714],[-1.530597436170467,49.30803357671664],[-1.530597436170467,50.51622857420443]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"RLs4lJNG9ky9fDOONdpD_\",\"type\":\"freedraw\",\"x\":440.5194717906869,\"y\":490.44519433690255,\"width\":8.506213836760026,\"height\":33.282352760983144,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":473590117,\"version\":23,\"versionNonce\":616464363,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[-0.10421088927114397,0],[-0.20842177854234478,0.19539541738345179],[-0.5275676269353653,1.7618153467408888],[-1.70970990210526,5.409196471232178],[-3.5431702352200887,10.570892080445333],[-5.493867818765011,16.882164061931178],[-7.333841332459258,23.151100369650635],[-8.239173433002634,27.899209012068695],[-8.395489766909407,31.24698382990539],[-8.506213836760026,33.282352760983144]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"zBIQkOiNsGfUwNkpi690R\",\"type\":\"freedraw\",\"x\":184.20301985735088,\"y\":475.36392470518905,\"width\":55.6518714610998,\"height\":35.86157227044475,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":1078437029,\"version\":24,\"versionNonce\":1817839685,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0,0.09444111840196001],[-0.09769770869172589,0.18888223680397687],[-2.1428364106386653,0.5243110366455994],[-12.951459582233838,5.669723694410095],[-22.958961542556835,12.498793531962122],[-30.71290302239055,18.10664201086746],[-37.903454382101984,23.34975237732374],[-45.41315159020638,28.77848839029423],[-49.972377995820494,32.11649343726174],[-52.9130790274416,33.99880262472243],[-55.6518714610998,35.86157227044475]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"wsDDtZtkvYMFWyg9_6dnj\",\"type\":\"freedraw\",\"x\":94.65655666079985,\"y\":372.5240599459831,\"width\":8.131705953441752,\"height\":0.19539541738345179,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":942336837,\"version\":18,\"versionNonce\":610093707,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0,0.09769770869172589],[-0.2800667649162847,0.19539541738345179],[-1.273326803282231,0.19539541738345179],[-3.8330067710055857,0.19539541738345179],[-8.131705953441752,0.19539541738345179]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"VihDyrcKRBFxlH3e2GXld\",\"type\":\"freedraw\",\"x\":110.03417600887832,\"y\":286.8822485068116,\"width\":11.140795381147058,\"height\":11.531586215914047,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":1818658213,\"version\":20,\"versionNonce\":1390065573,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0,-0.09769770869172589],[-0.5308242172250743,-1.3384586090767243],[-2.146093000928346,-3.878599035061768],[-4.744852052128408,-6.7769643929164545],[-7.298018839272316,-9.069603956882418],[-9.35618390237812,-10.567635490155624],[-11.140795381147058,-11.531586215914047],[-11.140795381147058,-11.531586215914047]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":[-11.140795381147058,-11.531586215914047]},{\"id\":\"7cyIHJmTDN1twt0KP36Ig\",\"type\":\"freedraw\",\"x\":812.0872524679455,\"y\":178.09270670488985,\"width\":0.0001,\"height\":0.0001,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":129373739,\"version\":11,\"versionNonce\":372138955,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0.0001,0.0001]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":[0.0001,0.0001]}]},{\"id\":\"1742813434557\",\"elements\":[{\"id\":\"frame\",\"type\":\"rectangle\",\"x\":0,\"y\":0,\"width\":1080,\"height\":1180,\"angle\":0,\"strokeColor\":\"#228be6\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":1,\"strokeStyle\":\"dashed\",\"roughness\":0,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":500058849,\"version\":114,\"versionNonce\":1614552139,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337249,\"link\":null,\"locked\":true},{\"id\":\"SabN3qb83gzkVzmXkUo2-\",\"type\":\"text\",\"x\":50.00447119981743,\"y\":103.48273353186386,\"width\":245.11202038617023,\"height\":56.87587035663754,\"angle\":0,\"strokeColor\":\"#1e1e1e\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":640456494,\"version\":126,\"versionNonce\":1717232101,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337249,\"link\":null,\"locked\":false,\"text\":\"Introducing\",\"fontSize\":45.50069628531005,\"fontFamily\":1,\"textAlign\":\"left\",\"verticalAlign\":\"top\",\"baseline\":39.99999999999998,\"containerId\":null,\"originalText\":\"Introducing\",\"lineHeight\":1.25},{\"id\":\"qlc1jE5zGEzWG_pD38leY\",\"type\":\"text\",\"x\":117.44654932028925,\"y\":285.8331742914604,\"width\":842.7301674871873,\"height\":168.35763817649456,\"angle\":0,\"strokeColor\":\"#1e1e1e\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":142876718,\"version\":162,\"versionNonce\":1327754831,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742887494750,\"link\":null,\"locked\":false,\"text\":\"Inscribed.app\",\"fontSize\":134.68611054119563,\"fontFamily\":1,\"textAlign\":\"left\",\"verticalAlign\":\"top\",\"baseline\":119.00000000000003,\"containerId\":null,\"originalText\":\"Inscribed.app\",\"lineHeight\":1.25},{\"type\":\"text\",\"version\":224,\"versionNonce\":1702832015,\"isDeleted\":false,\"id\":\"SxiYbA-NsvW6RyXq2Rh4L\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"angle\":0,\"x\":63.0795953116704,\"y\":636.1140830334543,\"strokeColor\":\"#1e1e1e\",\"backgroundColor\":\"transparent\",\"width\":472.37176513671875,\"height\":65.69421407988203,\"seed\":92481010,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"boundElements\":[],\"updated\":1742887532718,\"link\":null,\"locked\":false,\"fontSize\":52.55537126390562,\"fontFamily\":1,\"text\":\"a slide-based tool\",\"textAlign\":\"left\",\"verticalAlign\":\"top\",\"containerId\":null,\"originalText\":\"a slide-based tool\",\"lineHeight\":1.25,\"baseline\":46},{\"type\":\"text\",\"version\":307,\"versionNonce\":1151985295,\"isDeleted\":false,\"id\":\"YaGq_kj7AL_O4Zgq6KRU9\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"angle\":0,\"x\":63.40786940359797,\"y\":728.4281303634812,\"strokeColor\":\"#1e1e1e\",\"backgroundColor\":\"transparent\",\"width\":944.9173367608571,\"height\":64.46559365669889,\"seed\":1952264050,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"boundElements\":[],\"updated\":1742887494751,\"link\":null,\"locked\":false,\"fontSize\":51.57247492535911,\"fontFamily\":1,\"text\":\"to sketch and animate complex ideas\",\"textAlign\":\"left\",\"verticalAlign\":\"top\",\"containerId\":null,\"originalText\":\"to sketch and animate complex ideas\",\"lineHeight\":1.25,\"baseline\":45},{\"id\":\"ZhCMzCgn1z0-AlwAXgD_w\",\"type\":\"freedraw\",\"x\":190.76830588143514,\"y\":215.26005826490348,\"width\":41.57037504833164,\"height\":49.56856079989461,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":1585425157,\"version\":25,\"versionNonce\":980999211,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[-0.22470472999100366,-0.22470472999097524],[-0.3712512930285925,-0.4494094599819505],[0.11072406985061889,-0.35496834157996204],[2.6020156414897997,1.7227362632641814],[8.594141774582624,7.786507382730974],[17.478120084950717,17.282724667567237],[25.66193148302807,26.423973610823538],[32.07415776349535,34.45146867499412],[36.76690437098813,40.83438564285393],[39.427538637692976,44.7748598934204],[41.19912375530305,48.9042163807909],[41.19912375530305,49.11915133991266]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"d2UKj_plYS4h8c6UEhUfB\",\"type\":\"freedraw\",\"x\":317.7720705903959,\"y\":271.83680136828497,\"width\":0.20190859796286986,\"height\":62.581895597633235,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":851869957,\"version\":24,\"versionNonce\":1798475781,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0.10095429898143493,0],[0.20190859796286986,-0.17585587564508387],[0.20190859796286986,-7.131932734496388],[0.20190859796286986,-19.546054918925677],[0.20190859796286986,-30.849679814558954],[0.20190859796286986,-42.35521330815516],[0.20190859796286986,-50.97215121476586],[0.20190859796286986,-56.23154453267071],[0.20190859796286986,-60.01895903962014],[0.20190859796286986,-61.92732094939862],[0.20190859796286986,-62.581895597633235]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"F2bizCOWnEyPy1kj7F_Ft\",\"type\":\"freedraw\",\"x\":448.04219535995014,\"y\":268.6616258358037,\"width\":0,\"height\":49.15171724280992,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":374936485,\"version\":22,\"versionNonce\":50470603,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0,-0.08792793782254194],[0,-0.6382916967859842],[0,-4.477811648371016],[0,-14.43972134463786],[0,-26.638908569945357],[0,-36.5487128215766],[0,-43.8565014317181],[0,-47.9858579190886],[0,-49.15171724280992]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"IDPlxgGRqlFwUtFkXReGo\",\"type\":\"freedraw\",\"x\":599.2652220535911,\"y\":246.90108951986548,\"width\":10.561122309576149,\"height\":69.91248033980281,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":947296133,\"version\":22,\"versionNonce\":1020020581,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0,0.10095429898143493],[0,0.12049384071980285],[0,-1.0421088927118092],[0,-6.080054070915423],[0.08141475724312386,-17.54325189074521],[1.65109127689027,-34.26258643819011],[4.445245745473812,-49.50017240381047],[7.7181189866468,-61.647254184482364],[10.561122309576149,-69.79198649908301]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"dIKqmAuGMEV13V3QtKbHg\",\"type\":\"freedraw\",\"x\":767.1229119471441,\"y\":244.24045525316066,\"width\":31.41306993468129,\"height\":54.46972918592985,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":1070059365,\"version\":24,\"versionNonce\":2055867755,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[-0.22470472999100366,0],[-0.4494094599820073,-0.17259928535540325],[-0.4494094599820073,-0.9997732189453927],[0.889049149094717,-5.5687693954286885],[4.650410933726334,-15.240842555910064],[10.362470301902931,-27.10460098137594],[15.830285398350156,-36.96229978837161],[21.171093473498104,-44.76183353226148],[25.854070310121756,-50.21987885783952],[28.781744980583994,-52.87399994396489],[30.96366047469928,-54.46972918592985]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"WcvXdUnUNTYgTBhmTc5C-\",\"type\":\"freedraw\",\"x\":871.4966307328102,\"y\":292.15792477616503,\"width\":59.436029377759496,\"height\":60.63445460437805,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":2051796485,\"version\":22,\"versionNonce\":1425543877,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0.08792793782254194,-0.5340808075147834],[0.6317785162065093,-1.9213882709373706],[4.083764223314347,-7.6595003614316965],[11.932146821550077,-19.409278126757215],[23.90337272657689,-34.07370420138608],[36.11232972275354,-46.03190374525397],[46.45851707320787,-53.60021957857339],[54.323182622892205,-58.28645300548678],[59.436029377759496,-60.63445460437805]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"mU6KNcXIbWAZuez0SUa_J\",\"type\":\"freedraw\",\"x\":987.3400605188856,\"y\":318.34742388612847,\"width\":10.222436919444817,\"height\":3.986066514622678,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":275289573,\"version\":19,\"versionNonce\":609953803,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[-0.10421088927125766,0],[0.15305974361695007,0],[1.2896097547308045,-0.29634971636494356],[3.862316083613109,-1.4003338245814803],[7.425025860571509,-3.012346017995071],[10.11822603017356,-3.986066514622678]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"_ABo1PY8pXeSYUxvAxhuY\",\"type\":\"freedraw\",\"x\":1003.1052141114412,\"y\":403.6538065254584,\"width\":39.300531616393755,\"height\":0,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":1897360293,\"version\":22,\"versionNonce\":1079210533,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0.1888822368040337,0],[3.227280977116834,0],[9.870725168154536,0],[18.608156915485097,0],[27.24463436383394,0],[32.393303611888314,0],[35.37959690756543,0],[37.86437529862519,0],[39.300531616393755,0]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"wMVqW7J72yj-f5Bqv1Fzt\",\"type\":\"freedraw\",\"x\":857.3304629725092,\"y\":487.8399221051231,\"width\":15.677225654733093,\"height\":25.30044996086866,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":442888069,\"version\":22,\"versionNonce\":913305259,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0,0.09769770869172589],[-0.09444111840196001,0.19539541738345179],[0.48848854345874315,1.1104972887960116],[2.396850453237221,4.0251455980993],[5.493867818765011,8.724405386171554],[9.053321005433759,14.247582517544117],[11.948429772998793,18.865427548373248],[14.074983232188742,22.213202366209885],[15.582784536331133,25.30044996086866]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"7DWIiTC0f4L0WbtNyx42h\",\"type\":\"freedraw\",\"x\":700.639621182421,\"y\":486.04554085548494,\"width\":20.737966964964812,\"height\":63.695649476718984,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":692594533,\"version\":27,\"versionNonce\":466347397,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[-0.10421088927114397,0],[-0.20842177854228794,0.09444111840201685],[0.4233567376642213,1.9051053194887686],[2.914648309303402,7.350124283907917],[6.939793907402645,16.592327526145652],[10.499247094071393,26.371868166187994],[13.918666898282027,35.41541940075257],[17.233875813221402,44.83022192834579],[19.220395889953352,52.54182773441306],[20.12572799049667,56.931711444961536],[20.4318474777308,59.46859528065676],[20.529545186422524,61.419292864201736],[20.529545186422524,62.71541579951196],[20.529545186422524,63.695649476718984]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"aCOQsYTzuCIOBh-PtNuYi\",\"type\":\"freedraw\",\"x\":553.246344669496,\"y\":489.17512412391005,\"width\":17.41950145973567,\"height\":57.40391703697156,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":1406920741,\"version\":22,\"versionNonce\":1131602251,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0,0.1758558756451407],[0.13352020187869584,1.9051053194887686],[5.14215606747473,16.888677242510596],[9.46365138193903,28.355131652630178],[12.993795256000226,38.65572673902835],[15.559988404302999,46.77766292160089],[16.755157040631843,52.574393637310266],[17.207823090903617,55.98730026094148],[17.41950145973567,57.40391703697156]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"BNdKaQRZu59C7BnBqVNkt\",\"type\":\"freedraw\",\"x\":335.46838222475816,\"y\":492.65579703681044,\"width\":1.530597436170467,\"height\":50.51622857420443,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":2037914629,\"version\":27,\"versionNonce\":921451695,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742887494751,\"link\":null,\"locked\":false,\"points\":[[0,0],[-0.10095429898143493,0],[-0.2019085979629267,0.928128232571396],[-0.2019085979629267,3.5855059089865335],[-0.2019085979629267,10.916090651156082],[-0.2930931260751777,20.871487166843508],[-0.836943704459145,30.182078805165474],[-1.4101035954506642,37.369373574587144],[-1.530597436170467,41.879751125855364],[-1.530597436170467,45.234039124271476],[-1.530597436170467,46.963288568115104],[-1.530597436170467,48.161713794733714],[-1.530597436170467,49.30803357671664],[-1.530597436170467,50.51622857420443]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"RLs4lJNG9ky9fDOONdpD_\",\"type\":\"freedraw\",\"x\":440.5194717906869,\"y\":490.44519433690255,\"width\":8.506213836760026,\"height\":33.282352760983144,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":473590117,\"version\":23,\"versionNonce\":616464363,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[-0.10421088927114397,0],[-0.20842177854234478,0.19539541738345179],[-0.5275676269353653,1.7618153467408888],[-1.70970990210526,5.409196471232178],[-3.5431702352200887,10.570892080445333],[-5.493867818765011,16.882164061931178],[-7.333841332459258,23.151100369650635],[-8.239173433002634,27.899209012068695],[-8.395489766909407,31.24698382990539],[-8.506213836760026,33.282352760983144]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"zBIQkOiNsGfUwNkpi690R\",\"type\":\"freedraw\",\"x\":184.20301985735088,\"y\":475.36392470518905,\"width\":55.6518714610998,\"height\":35.86157227044475,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":1078437029,\"version\":24,\"versionNonce\":1817839685,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0,0.09444111840196001],[-0.09769770869172589,0.18888223680397687],[-2.1428364106386653,0.5243110366455994],[-12.951459582233838,5.669723694410095],[-22.958961542556835,12.498793531962122],[-30.71290302239055,18.10664201086746],[-37.903454382101984,23.34975237732374],[-45.41315159020638,28.77848839029423],[-49.972377995820494,32.11649343726174],[-52.9130790274416,33.99880262472243],[-55.6518714610998,35.86157227044475]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"wsDDtZtkvYMFWyg9_6dnj\",\"type\":\"freedraw\",\"x\":94.65655666079985,\"y\":372.5240599459831,\"width\":8.131705953441752,\"height\":0.19539541738345179,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":942336837,\"version\":18,\"versionNonce\":610093707,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0,0.09769770869172589],[-0.2800667649162847,0.19539541738345179],[-1.273326803282231,0.19539541738345179],[-3.8330067710055857,0.19539541738345179],[-8.131705953441752,0.19539541738345179]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"VihDyrcKRBFxlH3e2GXld\",\"type\":\"freedraw\",\"x\":110.03417600887832,\"y\":286.8822485068116,\"width\":11.140795381147058,\"height\":11.531586215914047,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":1818658213,\"version\":20,\"versionNonce\":1390065573,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0,-0.09769770869172589],[-0.5308242172250743,-1.3384586090767243],[-2.146093000928346,-3.878599035061768],[-4.744852052128408,-6.7769643929164545],[-7.298018839272316,-9.069603956882418],[-9.35618390237812,-10.567635490155624],[-11.140795381147058,-11.531586215914047],[-11.140795381147058,-11.531586215914047]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":[-11.140795381147058,-11.531586215914047]},{\"id\":\"7cyIHJmTDN1twt0KP36Ig\",\"type\":\"freedraw\",\"x\":812.0872524679455,\"y\":178.09270670488985,\"width\":0.0001,\"height\":0.0001,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":129373739,\"version\":11,\"versionNonce\":372138955,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0.0001,0.0001]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":[0.0001,0.0001]}]},{\"id\":\"1742813430241\",\"elements\":[{\"id\":\"frame\",\"type\":\"rectangle\",\"x\":0,\"y\":0,\"width\":1080,\"height\":1180,\"angle\":0,\"strokeColor\":\"#228be6\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":1,\"strokeStyle\":\"dashed\",\"roughness\":0,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":500058849,\"version\":114,\"versionNonce\":1614552139,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337249,\"link\":null,\"locked\":true},{\"id\":\"SabN3qb83gzkVzmXkUo2-\",\"type\":\"text\",\"x\":50.00447119981743,\"y\":103.48273353186386,\"width\":245.11202038617023,\"height\":56.87587035663754,\"angle\":0,\"strokeColor\":\"#1e1e1e\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":640456494,\"version\":126,\"versionNonce\":1717232101,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337249,\"link\":null,\"locked\":false,\"text\":\"Introducing\",\"fontSize\":45.50069628531005,\"fontFamily\":1,\"textAlign\":\"left\",\"verticalAlign\":\"top\",\"baseline\":39.99999999999998,\"containerId\":null,\"originalText\":\"Introducing\",\"lineHeight\":1.25},{\"id\":\"qlc1jE5zGEzWG_pD38leY\",\"type\":\"text\",\"x\":117.44654932028925,\"y\":285.4501408509029,\"width\":842.7301674871873,\"height\":168.35763817649456,\"angle\":0,\"strokeColor\":\"#1e1e1e\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":142876718,\"version\":160,\"versionNonce\":1789418219,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337249,\"link\":null,\"locked\":false,\"text\":\"Inscribed.app\",\"fontSize\":134.68611054119563,\"fontFamily\":1,\"textAlign\":\"left\",\"verticalAlign\":\"top\",\"baseline\":119.00000000000003,\"containerId\":null,\"originalText\":\"Inscribed.app\",\"lineHeight\":1.25},{\"type\":\"text\",\"version\":222,\"versionNonce\":1993314661,\"isDeleted\":false,\"id\":\"SxiYbA-NsvW6RyXq2Rh4L\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"angle\":0,\"x\":62.88807859139166,\"y\":635.7310495928967,\"strokeColor\":\"#1e1e1e\",\"backgroundColor\":\"transparent\",\"width\":472.37176513671875,\"height\":65.69421407988203,\"seed\":92481010,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"boundElements\":[],\"updated\":1742813356893,\"link\":null,\"locked\":false,\"fontSize\":52.55537126390562,\"fontFamily\":1,\"text\":\"a slide-based tool\",\"textAlign\":\"left\",\"verticalAlign\":\"top\",\"containerId\":null,\"originalText\":\"a slide-based tool\",\"lineHeight\":1.25,\"baseline\":46},{\"type\":\"text\",\"version\":306,\"versionNonce\":1716841579,\"isDeleted\":false,\"id\":\"YaGq_kj7AL_O4Zgq6KRU9\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"angle\":0,\"x\":63.40786940359797,\"y\":728.2366136432024,\"strokeColor\":\"#1e1e1e\",\"backgroundColor\":\"transparent\",\"width\":944.9173367608571,\"height\":64.46559365669889,\"seed\":1952264050,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"boundElements\":[],\"updated\":1742813424283,\"link\":null,\"locked\":false,\"fontSize\":51.57247492535911,\"fontFamily\":1,\"text\":\"to sketch and animate complex ideas\",\"textAlign\":\"left\",\"verticalAlign\":\"top\",\"containerId\":null,\"originalText\":\"to sketch and animate complex ideas\",\"lineHeight\":1.25,\"baseline\":45},{\"id\":\"ZhCMzCgn1z0-AlwAXgD_w\",\"type\":\"freedraw\",\"x\":190.76830588143514,\"y\":215.26005826490348,\"width\":41.57037504833164,\"height\":49.56856079989461,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":1585425157,\"version\":25,\"versionNonce\":980999211,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[-0.22470472999100366,-0.22470472999097524],[-0.3712512930285925,-0.4494094599819505],[0.11072406985061889,-0.35496834157996204],[2.6020156414897997,1.7227362632641814],[8.594141774582624,7.786507382730974],[17.478120084950717,17.282724667567237],[25.66193148302807,26.423973610823538],[32.07415776349535,34.45146867499412],[36.76690437098813,40.83438564285393],[39.427538637692976,44.7748598934204],[41.19912375530305,48.9042163807909],[41.19912375530305,49.11915133991266]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"d2UKj_plYS4h8c6UEhUfB\",\"type\":\"freedraw\",\"x\":317.7720705903959,\"y\":271.83680136828497,\"width\":0.20190859796286986,\"height\":62.581895597633235,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":851869957,\"version\":24,\"versionNonce\":1798475781,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0.10095429898143493,0],[0.20190859796286986,-0.17585587564508387],[0.20190859796286986,-7.131932734496388],[0.20190859796286986,-19.546054918925677],[0.20190859796286986,-30.849679814558954],[0.20190859796286986,-42.35521330815516],[0.20190859796286986,-50.97215121476586],[0.20190859796286986,-56.23154453267071],[0.20190859796286986,-60.01895903962014],[0.20190859796286986,-61.92732094939862],[0.20190859796286986,-62.581895597633235]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"F2bizCOWnEyPy1kj7F_Ft\",\"type\":\"freedraw\",\"x\":448.04219535995014,\"y\":268.6616258358037,\"width\":0,\"height\":49.15171724280992,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":374936485,\"version\":22,\"versionNonce\":50470603,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0,-0.08792793782254194],[0,-0.6382916967859842],[0,-4.477811648371016],[0,-14.43972134463786],[0,-26.638908569945357],[0,-36.5487128215766],[0,-43.8565014317181],[0,-47.9858579190886],[0,-49.15171724280992]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"IDPlxgGRqlFwUtFkXReGo\",\"type\":\"freedraw\",\"x\":599.2652220535911,\"y\":246.90108951986548,\"width\":10.561122309576149,\"height\":69.91248033980281,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":947296133,\"version\":22,\"versionNonce\":1020020581,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0,0.10095429898143493],[0,0.12049384071980285],[0,-1.0421088927118092],[0,-6.080054070915423],[0.08141475724312386,-17.54325189074521],[1.65109127689027,-34.26258643819011],[4.445245745473812,-49.50017240381047],[7.7181189866468,-61.647254184482364],[10.561122309576149,-69.79198649908301]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"dIKqmAuGMEV13V3QtKbHg\",\"type\":\"freedraw\",\"x\":767.1229119471441,\"y\":244.24045525316066,\"width\":31.41306993468129,\"height\":54.46972918592985,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":1070059365,\"version\":24,\"versionNonce\":2055867755,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[-0.22470472999100366,0],[-0.4494094599820073,-0.17259928535540325],[-0.4494094599820073,-0.9997732189453927],[0.889049149094717,-5.5687693954286885],[4.650410933726334,-15.240842555910064],[10.362470301902931,-27.10460098137594],[15.830285398350156,-36.96229978837161],[21.171093473498104,-44.76183353226148],[25.854070310121756,-50.21987885783952],[28.781744980583994,-52.87399994396489],[30.96366047469928,-54.46972918592985]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"WcvXdUnUNTYgTBhmTc5C-\",\"type\":\"freedraw\",\"x\":871.4966307328102,\"y\":292.15792477616503,\"width\":59.436029377759496,\"height\":60.63445460437805,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":2051796485,\"version\":22,\"versionNonce\":1425543877,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0.08792793782254194,-0.5340808075147834],[0.6317785162065093,-1.9213882709373706],[4.083764223314347,-7.6595003614316965],[11.932146821550077,-19.409278126757215],[23.90337272657689,-34.07370420138608],[36.11232972275354,-46.03190374525397],[46.45851707320787,-53.60021957857339],[54.323182622892205,-58.28645300548678],[59.436029377759496,-60.63445460437805]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"mU6KNcXIbWAZuez0SUa_J\",\"type\":\"freedraw\",\"x\":987.3400605188856,\"y\":318.34742388612847,\"width\":10.222436919444817,\"height\":3.986066514622678,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":275289573,\"version\":19,\"versionNonce\":609953803,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[-0.10421088927125766,0],[0.15305974361695007,0],[1.2896097547308045,-0.29634971636494356],[3.862316083613109,-1.4003338245814803],[7.425025860571509,-3.012346017995071],[10.11822603017356,-3.986066514622678]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"_ABo1PY8pXeSYUxvAxhuY\",\"type\":\"freedraw\",\"x\":1003.1052141114412,\"y\":403.6538065254584,\"width\":39.300531616393755,\"height\":0,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":1897360293,\"version\":22,\"versionNonce\":1079210533,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0.1888822368040337,0],[3.227280977116834,0],[9.870725168154536,0],[18.608156915485097,0],[27.24463436383394,0],[32.393303611888314,0],[35.37959690756543,0],[37.86437529862519,0],[39.300531616393755,0]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"wMVqW7J72yj-f5Bqv1Fzt\",\"type\":\"freedraw\",\"x\":857.3304629725092,\"y\":487.8399221051231,\"width\":15.677225654733093,\"height\":25.30044996086866,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":442888069,\"version\":22,\"versionNonce\":913305259,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0,0.09769770869172589],[-0.09444111840196001,0.19539541738345179],[0.48848854345874315,1.1104972887960116],[2.396850453237221,4.0251455980993],[5.493867818765011,8.724405386171554],[9.053321005433759,14.247582517544117],[11.948429772998793,18.865427548373248],[14.074983232188742,22.213202366209885],[15.582784536331133,25.30044996086866]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"7DWIiTC0f4L0WbtNyx42h\",\"type\":\"freedraw\",\"x\":700.639621182421,\"y\":486.04554085548494,\"width\":20.737966964964812,\"height\":63.695649476718984,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":692594533,\"version\":27,\"versionNonce\":466347397,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[-0.10421088927114397,0],[-0.20842177854228794,0.09444111840201685],[0.4233567376642213,1.9051053194887686],[2.914648309303402,7.350124283907917],[6.939793907402645,16.592327526145652],[10.499247094071393,26.371868166187994],[13.918666898282027,35.41541940075257],[17.233875813221402,44.83022192834579],[19.220395889953352,52.54182773441306],[20.12572799049667,56.931711444961536],[20.4318474777308,59.46859528065676],[20.529545186422524,61.419292864201736],[20.529545186422524,62.71541579951196],[20.529545186422524,63.695649476718984]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"aCOQsYTzuCIOBh-PtNuYi\",\"type\":\"freedraw\",\"x\":553.246344669496,\"y\":489.17512412391005,\"width\":17.41950145973567,\"height\":57.40391703697156,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":1406920741,\"version\":22,\"versionNonce\":1131602251,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0,0.1758558756451407],[0.13352020187869584,1.9051053194887686],[5.14215606747473,16.888677242510596],[9.46365138193903,28.355131652630178],[12.993795256000226,38.65572673902835],[15.559988404302999,46.77766292160089],[16.755157040631843,52.574393637310266],[17.207823090903617,55.98730026094148],[17.41950145973567,57.40391703697156]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"BNdKaQRZu59C7BnBqVNkt\",\"type\":\"freedraw\",\"x\":335.46838222475816,\"y\":492.4642803165317,\"width\":1.530597436170467,\"height\":50.51622857420443,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":2037914629,\"version\":26,\"versionNonce\":178187493,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[-0.10095429898143493,0],[-0.2019085979629267,0.928128232571396],[-0.2019085979629267,3.5855059089865335],[-0.2019085979629267,10.916090651156082],[-0.2930931260751777,20.871487166843508],[-0.836943704459145,30.182078805165474],[-1.4101035954506642,37.369373574587144],[-1.530597436170467,41.879751125855364],[-1.530597436170467,45.234039124271476],[-1.530597436170467,46.963288568115104],[-1.530597436170467,48.161713794733714],[-1.530597436170467,49.30803357671664],[-1.530597436170467,50.51622857420443]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"RLs4lJNG9ky9fDOONdpD_\",\"type\":\"freedraw\",\"x\":440.5194717906869,\"y\":490.44519433690255,\"width\":8.506213836760026,\"height\":33.282352760983144,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":473590117,\"version\":23,\"versionNonce\":616464363,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[-0.10421088927114397,0],[-0.20842177854234478,0.19539541738345179],[-0.5275676269353653,1.7618153467408888],[-1.70970990210526,5.409196471232178],[-3.5431702352200887,10.570892080445333],[-5.493867818765011,16.882164061931178],[-7.333841332459258,23.151100369650635],[-8.239173433002634,27.899209012068695],[-8.395489766909407,31.24698382990539],[-8.506213836760026,33.282352760983144]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"zBIQkOiNsGfUwNkpi690R\",\"type\":\"freedraw\",\"x\":184.20301985735088,\"y\":475.36392470518905,\"width\":55.6518714610998,\"height\":35.86157227044475,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":1078437029,\"version\":24,\"versionNonce\":1817839685,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0,0.09444111840196001],[-0.09769770869172589,0.18888223680397687],[-2.1428364106386653,0.5243110366455994],[-12.951459582233838,5.669723694410095],[-22.958961542556835,12.498793531962122],[-30.71290302239055,18.10664201086746],[-37.903454382101984,23.34975237732374],[-45.41315159020638,28.77848839029423],[-49.972377995820494,32.11649343726174],[-52.9130790274416,33.99880262472243],[-55.6518714610998,35.86157227044475]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"wsDDtZtkvYMFWyg9_6dnj\",\"type\":\"freedraw\",\"x\":94.65655666079985,\"y\":372.5240599459831,\"width\":8.131705953441752,\"height\":0.19539541738345179,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":942336837,\"version\":18,\"versionNonce\":610093707,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0,0.09769770869172589],[-0.2800667649162847,0.19539541738345179],[-1.273326803282231,0.19539541738345179],[-3.8330067710055857,0.19539541738345179],[-8.131705953441752,0.19539541738345179]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"VihDyrcKRBFxlH3e2GXld\",\"type\":\"freedraw\",\"x\":110.03417600887832,\"y\":286.8822485068116,\"width\":11.140795381147058,\"height\":11.531586215914047,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":1818658213,\"version\":20,\"versionNonce\":1390065573,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0,-0.09769770869172589],[-0.5308242172250743,-1.3384586090767243],[-2.146093000928346,-3.878599035061768],[-4.744852052128408,-6.7769643929164545],[-7.298018839272316,-9.069603956882418],[-9.35618390237812,-10.567635490155624],[-11.140795381147058,-11.531586215914047],[-11.140795381147058,-11.531586215914047]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":[-11.140795381147058,-11.531586215914047]},{\"id\":\"7cyIHJmTDN1twt0KP36Ig\",\"type\":\"freedraw\",\"x\":812.0872524679455,\"y\":178.09270670488985,\"width\":0.0001,\"height\":0.0001,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":129373739,\"version\":11,\"versionNonce\":372138955,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0.0001,0.0001]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":[0.0001,0.0001]},{\"id\":\"00ISUygm4HTe51oWA1EOt\",\"type\":\"freedraw\",\"x\":157.95928488241626,\"y\":806.079242398076,\"width\":152.29703430725826,\"height\":15.632439046627269,\"angle\":0,\"strokeColor\":\"#0c8599\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":1,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":1895871013,\"version\":165,\"versionNonce\":361511973,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813356893,\"link\":null,\"locked\":false,\"points\":[[0,0],[0.10808540450096871,-0.051693019543904484],[1.9361385501910604,-1.6823728178844704],[5.307933234079485,-4.104895688329748],[14.807700416630837,-8.461207426259534],[18.43326083282591,-9.201357478820455],[21.323370561873162,-9.288295738962574],[23.67775263382873,-9.288295738962574],[24.93248319912243,-9.288295738962574],[25.65618547273749,-9.288295738962574],[26.048582484730105,-8.597489023239063],[26.39163615988531,-7.088992725638718],[26.739389200453616,-5.129357348382314],[27.073044144782614,-2.9981951335481654],[27.376153213926614,-1.1419457953796837],[27.68631133119021,0.4440900315365752],[28.078708343182825,1.7411148855479723],[28.539246153665147,2.673938920045316],[29.166611436311996,3.2026175290174024],[30.120582615168246,3.5715177139445586],[31.645526691714338,3.8534796387297092],[34.239576399737246,3.9098720236867166],[37.799345700149104,3.275457692920213],[42.23084728468825,1.4239077201647206],[47.05944524663306,-1.0268113427590606],[51.17843903120206,-3.080434028277182],[54.66536816771111,-4.509041113855005],[57.47088931932285,-5.307933234079542],[59.313040561252194,-5.531153091201077],[60.51372842429538,-5.531153091201077],[61.27502562121515,-5.531153091201077],[61.730864066284425,-5.232743387470123],[62.02927377001532,-4.490243652202707],[62.226647117364905,-3.5762170793576615],[62.43341919554064,-2.629294948621123],[62.71538112032573,-1.6917715487105625],[63.154771786449146,-0.87643164954045],[63.7750880209764,-0.17152683757763043],[64.49409092917841,0.43939066612335864],[65.328228290001,0.8858303803664285],[66.3761867771189,1.261779613413296],[67.77659767021822,1.6612256735255642],[70.11453196322805,1.9549360118434151],[73.73069364859691,1.992530935148011],[78.05645951134164,1.4709013742955221],[81.88879200571245,0.4981327337869743],[85.32402812267759,-0.5263289262655917],[88.6159335945436,-1.595434557742351],[91.05020487852164,-2.4695165245761928],[92.65973753250324,-2.9394530658846634],[93.64895395195765,-3.1650226057128066],[94.18468160904933,-3.2519608658548123],[94.52538560149799,-3.2519608658548123],[94.69691243907562,-3.2073168944305053],[94.70866085260832,-2.977047989189373],[94.70866085260832,-2.4530687456303895],[94.70866085260832,-1.640078529166658],[94.71570990072792,-0.9022781593123455],[94.80969720898963,-0.3031090691439431],[95.06346294129622,0.2866612901981398],[95.31252930818971,0.6978557638431084],[95.55219694425705,1.0150629292263602],[95.8694041096403,1.2288840555216893],[96.4709228825152,1.282926757772202],[98.1039523635622,1.1818904013908877],[101.06220289109919,0.2984097037309539],[104.99792142455792,-1.6048332885685568],[109.46231856698861,-4.017957428187742],[113.58131235155767,-6.294799970827285],[117.05884275724051,-8.303778684921213],[119.81267088930835,-9.94385721408787],[121.65012276582453,-10.991815701205837],[122.89310491758553,-11.574537012428323],[123.57451290248284,-11.722567022940552],[123.90581816410528,-11.722567022940552],[124.14548580017262,-11.569837647015333],[124.31701263775025,-10.944822047075036],[124.6107229760681,-9.753532914857828],[125.02426713241957,-8.18864423230059],[125.43546160606454,-6.630804597862948],[125.8584044932422,-5.242142118296329],[126.33773976537677,-4.093147274797047],[126.89226488412086,-3.1932187981911966],[127.44679000286484,-2.544706371185498],[127.96372019830423,-2.152309359192941],[128.57463770200522,-1.853899655461987],[129.41347442824096,-1.7223174238956744],[130.82563373487298,-1.7223174238956744],[132.98734182489213,-2.1781558689648364],[135.28298182918408,-3.2026175290174024],[137.48463452521443,-4.349262689810189],[139.64164324982036,-5.390172128808558],[141.38040845266184,-6.177315835500281],[142.58814536382474,-6.609657453504042],[143.32594573367905,-6.720092540711562],[143.74418925544362,-6.720092540711562],[144.06609578623997,-6.715393175298459],[144.38330295162322,-6.55091538584054],[144.70990884783257,-6.1373712294890765],[145.04591347486812,-5.60869262051699],[145.5017519199374,-5.0682655980122036],[146.140865616117,-4.450299046191503],[146.8410710626666,-3.782989157533507],[147.5436261919228,-3.2895557891595217],[148.15454369562391,-2.9441524312977663],[148.61978087151928,-2.7326809877089318],[148.98633137373994,-2.6903866989911194],[149.52910807895123,-2.7514784493613433],[150.98591135700755,-3.6420081951408747],[152.29703430725826,-4.631224614595226],[152.29703430725826,-4.631224614595226]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":[152.29703430725826,-4.631224614595226]},{\"id\":\"pnuYeDXfROwcI6MFFpivo\",\"type\":\"freedraw\",\"x\":629.4370816687822,\"y\":824.7823328076848,\"width\":208.52150818325055,\"height\":146.7331346543766,\"angle\":0,\"strokeColor\":\"#c2255c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":1,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":852704549,\"version\":78,\"versionNonce\":1518127499,\"isDeleted\":true,\"boundElements\":null,\"updated\":1742813426194,\"link\":null,\"locked\":false,\"points\":[[0,0],[-0.23840506478177304,0],[-3.672820055985767,0.5113615882274871],[-23.159842742495243,3.5518899506615753],[-49.34293811809255,7.013946108796858],[-73.00377701121602,9.007565273711066],[-100.03338312408198,10.064839908830095],[-126.00571460182869,10.064839908830095],[-149.36595580457526,9.90590319897558],[-165.21470989376303,7.701520136210888],[-175.37974903271885,2.6708277547289754],[-183.02253168920095,-3.8041155989091067],[-186.7679098083811,-10.921716083698016],[-187.82863958936667,-18.59905019884411],[-187.5073110237912,-29.624420658534063],[-183.5649895902261,-44.381348653938744],[-168.6767660518982,-66.20404994613625],[-143.98974883645315,-91.10183105943179],[-115.29476241598127,-110.54739199554444],[-83.13771983737422,-125.16265901042652],[-51.080876488892955,-133.8385302809629],[-27.31638321977732,-136.66829474554652],[-10.427630224802442,-135.73540536161784],[3.3445811986774743,-131.37846642408442],[12.362511909987802,-123.75986978866717],[17.610878481052964,-114.04745475821005],[20.060576900332308,-102.44507493883077],[20.692868593883873,-86.3924672435254],[18.54722301084803,-70.7372013228561],[13.433607128572476,-57.8184109283776],[7.3836467165018576,-45.62520116584358]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null}]},{\"id\":\"1742813421157\",\"elements\":[{\"id\":\"frame\",\"type\":\"rectangle\",\"x\":0,\"y\":0,\"width\":1080,\"height\":1180,\"angle\":0,\"strokeColor\":\"#228be6\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":1,\"strokeStyle\":\"dashed\",\"roughness\":0,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":500058849,\"version\":114,\"versionNonce\":1614552139,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337249,\"link\":null,\"locked\":true},{\"id\":\"SabN3qb83gzkVzmXkUo2-\",\"type\":\"text\",\"x\":50.00447119981743,\"y\":103.48273353186386,\"width\":245.11202038617023,\"height\":56.87587035663754,\"angle\":0,\"strokeColor\":\"#1e1e1e\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":640456494,\"version\":126,\"versionNonce\":1717232101,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337249,\"link\":null,\"locked\":false,\"text\":\"Introducing\",\"fontSize\":45.50069628531005,\"fontFamily\":1,\"textAlign\":\"left\",\"verticalAlign\":\"top\",\"baseline\":39.99999999999998,\"containerId\":null,\"originalText\":\"Introducing\",\"lineHeight\":1.25},{\"id\":\"qlc1jE5zGEzWG_pD38leY\",\"type\":\"text\",\"x\":117.44654932028925,\"y\":285.4501408509029,\"width\":842.7301674871873,\"height\":168.35763817649456,\"angle\":0,\"strokeColor\":\"#1e1e1e\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":142876718,\"version\":160,\"versionNonce\":1789418219,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337249,\"link\":null,\"locked\":false,\"text\":\"Inscribed.app\",\"fontSize\":134.68611054119563,\"fontFamily\":1,\"textAlign\":\"left\",\"verticalAlign\":\"top\",\"baseline\":119.00000000000003,\"containerId\":null,\"originalText\":\"Inscribed.app\",\"lineHeight\":1.25},{\"type\":\"text\",\"version\":222,\"versionNonce\":1993314661,\"isDeleted\":false,\"id\":\"SxiYbA-NsvW6RyXq2Rh4L\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"angle\":0,\"x\":62.88807859139166,\"y\":635.7310495928967,\"strokeColor\":\"#1e1e1e\",\"backgroundColor\":\"transparent\",\"width\":472.37176513671875,\"height\":65.69421407988203,\"seed\":92481010,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"boundElements\":[],\"updated\":1742813356893,\"link\":null,\"locked\":false,\"fontSize\":52.55537126390562,\"fontFamily\":1,\"text\":\"a slide-based tool\",\"textAlign\":\"left\",\"verticalAlign\":\"top\",\"containerId\":null,\"originalText\":\"a slide-based tool\",\"lineHeight\":1.25,\"baseline\":46},{\"type\":\"text\",\"version\":305,\"versionNonce\":1140989125,\"isDeleted\":false,\"id\":\"YaGq_kj7AL_O4Zgq6KRU9\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"angle\":0,\"x\":63.231898403821816,\"y\":728.0606426434263,\"strokeColor\":\"#1e1e1e\",\"backgroundColor\":\"transparent\",\"width\":944.9173367608571,\"height\":64.46559365669889,\"seed\":1952264050,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"boundElements\":[],\"updated\":1742813356893,\"link\":null,\"locked\":false,\"fontSize\":51.57247492535911,\"fontFamily\":1,\"text\":\"to sketch and animate complex ideas\",\"textAlign\":\"left\",\"verticalAlign\":\"top\",\"containerId\":null,\"originalText\":\"to sketch and animate complex ideas\",\"lineHeight\":1.25,\"baseline\":45},{\"type\":\"text\",\"version\":347,\"versionNonce\":238206859,\"isDeleted\":true,\"id\":\"5rzNosz9ppARKAg8lhg0O\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"angle\":6.144571506933597,\"x\":633.235210335754,\"y\":885.2729900803165,\"strokeColor\":\"#c2255c\",\"backgroundColor\":\"transparent\",\"width\":350.7098167983017,\"height\":152.03262330155957,\"seed\":946150706,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"boundElements\":[],\"updated\":1742813417566,\"link\":null,\"locked\":false,\"fontSize\":132.20228113179093,\"fontFamily\":276597047,\"text\":\"FAST!!\",\"textAlign\":\"left\",\"verticalAlign\":\"top\",\"containerId\":null,\"originalText\":\"FAST!!\",\"lineHeight\":1.15,\"baseline\":134.00000000000003},{\"id\":\"ZhCMzCgn1z0-AlwAXgD_w\",\"type\":\"freedraw\",\"x\":190.76830588143514,\"y\":215.26005826490348,\"width\":41.57037504833164,\"height\":49.56856079989461,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":1585425157,\"version\":25,\"versionNonce\":980999211,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[-0.22470472999100366,-0.22470472999097524],[-0.3712512930285925,-0.4494094599819505],[0.11072406985061889,-0.35496834157996204],[2.6020156414897997,1.7227362632641814],[8.594141774582624,7.786507382730974],[17.478120084950717,17.282724667567237],[25.66193148302807,26.423973610823538],[32.07415776349535,34.45146867499412],[36.76690437098813,40.83438564285393],[39.427538637692976,44.7748598934204],[41.19912375530305,48.9042163807909],[41.19912375530305,49.11915133991266]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"d2UKj_plYS4h8c6UEhUfB\",\"type\":\"freedraw\",\"x\":317.7720705903959,\"y\":271.83680136828497,\"width\":0.20190859796286986,\"height\":62.581895597633235,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":851869957,\"version\":24,\"versionNonce\":1798475781,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0.10095429898143493,0],[0.20190859796286986,-0.17585587564508387],[0.20190859796286986,-7.131932734496388],[0.20190859796286986,-19.546054918925677],[0.20190859796286986,-30.849679814558954],[0.20190859796286986,-42.35521330815516],[0.20190859796286986,-50.97215121476586],[0.20190859796286986,-56.23154453267071],[0.20190859796286986,-60.01895903962014],[0.20190859796286986,-61.92732094939862],[0.20190859796286986,-62.581895597633235]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"F2bizCOWnEyPy1kj7F_Ft\",\"type\":\"freedraw\",\"x\":448.04219535995014,\"y\":268.6616258358037,\"width\":0,\"height\":49.15171724280992,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":374936485,\"version\":22,\"versionNonce\":50470603,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0,-0.08792793782254194],[0,-0.6382916967859842],[0,-4.477811648371016],[0,-14.43972134463786],[0,-26.638908569945357],[0,-36.5487128215766],[0,-43.8565014317181],[0,-47.9858579190886],[0,-49.15171724280992]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"IDPlxgGRqlFwUtFkXReGo\",\"type\":\"freedraw\",\"x\":599.2652220535911,\"y\":246.90108951986548,\"width\":10.561122309576149,\"height\":69.91248033980281,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":947296133,\"version\":22,\"versionNonce\":1020020581,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0,0.10095429898143493],[0,0.12049384071980285],[0,-1.0421088927118092],[0,-6.080054070915423],[0.08141475724312386,-17.54325189074521],[1.65109127689027,-34.26258643819011],[4.445245745473812,-49.50017240381047],[7.7181189866468,-61.647254184482364],[10.561122309576149,-69.79198649908301]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"dIKqmAuGMEV13V3QtKbHg\",\"type\":\"freedraw\",\"x\":767.1229119471441,\"y\":244.24045525316066,\"width\":31.41306993468129,\"height\":54.46972918592985,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":1070059365,\"version\":24,\"versionNonce\":2055867755,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[-0.22470472999100366,0],[-0.4494094599820073,-0.17259928535540325],[-0.4494094599820073,-0.9997732189453927],[0.889049149094717,-5.5687693954286885],[4.650410933726334,-15.240842555910064],[10.362470301902931,-27.10460098137594],[15.830285398350156,-36.96229978837161],[21.171093473498104,-44.76183353226148],[25.854070310121756,-50.21987885783952],[28.781744980583994,-52.87399994396489],[30.96366047469928,-54.46972918592985]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"WcvXdUnUNTYgTBhmTc5C-\",\"type\":\"freedraw\",\"x\":871.4966307328102,\"y\":292.15792477616503,\"width\":59.436029377759496,\"height\":60.63445460437805,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":2051796485,\"version\":22,\"versionNonce\":1425543877,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0.08792793782254194,-0.5340808075147834],[0.6317785162065093,-1.9213882709373706],[4.083764223314347,-7.6595003614316965],[11.932146821550077,-19.409278126757215],[23.90337272657689,-34.07370420138608],[36.11232972275354,-46.03190374525397],[46.45851707320787,-53.60021957857339],[54.323182622892205,-58.28645300548678],[59.436029377759496,-60.63445460437805]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"mU6KNcXIbWAZuez0SUa_J\",\"type\":\"freedraw\",\"x\":987.3400605188856,\"y\":318.34742388612847,\"width\":10.222436919444817,\"height\":3.986066514622678,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":275289573,\"version\":19,\"versionNonce\":609953803,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[-0.10421088927125766,0],[0.15305974361695007,0],[1.2896097547308045,-0.29634971636494356],[3.862316083613109,-1.4003338245814803],[7.425025860571509,-3.012346017995071],[10.11822603017356,-3.986066514622678]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"_ABo1PY8pXeSYUxvAxhuY\",\"type\":\"freedraw\",\"x\":1003.1052141114412,\"y\":403.6538065254584,\"width\":39.300531616393755,\"height\":0,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":1897360293,\"version\":22,\"versionNonce\":1079210533,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0.1888822368040337,0],[3.227280977116834,0],[9.870725168154536,0],[18.608156915485097,0],[27.24463436383394,0],[32.393303611888314,0],[35.37959690756543,0],[37.86437529862519,0],[39.300531616393755,0]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"wMVqW7J72yj-f5Bqv1Fzt\",\"type\":\"freedraw\",\"x\":857.3304629725092,\"y\":487.8399221051231,\"width\":15.677225654733093,\"height\":25.30044996086866,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":442888069,\"version\":22,\"versionNonce\":913305259,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0,0.09769770869172589],[-0.09444111840196001,0.19539541738345179],[0.48848854345874315,1.1104972887960116],[2.396850453237221,4.0251455980993],[5.493867818765011,8.724405386171554],[9.053321005433759,14.247582517544117],[11.948429772998793,18.865427548373248],[14.074983232188742,22.213202366209885],[15.582784536331133,25.30044996086866]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"7DWIiTC0f4L0WbtNyx42h\",\"type\":\"freedraw\",\"x\":700.639621182421,\"y\":486.04554085548494,\"width\":20.737966964964812,\"height\":63.695649476718984,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":692594533,\"version\":27,\"versionNonce\":466347397,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[-0.10421088927114397,0],[-0.20842177854228794,0.09444111840201685],[0.4233567376642213,1.9051053194887686],[2.914648309303402,7.350124283907917],[6.939793907402645,16.592327526145652],[10.499247094071393,26.371868166187994],[13.918666898282027,35.41541940075257],[17.233875813221402,44.83022192834579],[19.220395889953352,52.54182773441306],[20.12572799049667,56.931711444961536],[20.4318474777308,59.46859528065676],[20.529545186422524,61.419292864201736],[20.529545186422524,62.71541579951196],[20.529545186422524,63.695649476718984]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"aCOQsYTzuCIOBh-PtNuYi\",\"type\":\"freedraw\",\"x\":553.246344669496,\"y\":489.17512412391005,\"width\":17.41950145973567,\"height\":57.40391703697156,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":1406920741,\"version\":22,\"versionNonce\":1131602251,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0,0.1758558756451407],[0.13352020187869584,1.9051053194887686],[5.14215606747473,16.888677242510596],[9.46365138193903,28.355131652630178],[12.993795256000226,38.65572673902835],[15.559988404302999,46.77766292160089],[16.755157040631843,52.574393637310266],[17.207823090903617,55.98730026094148],[17.41950145973567,57.40391703697156]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"BNdKaQRZu59C7BnBqVNkt\",\"type\":\"freedraw\",\"x\":335.46838222475816,\"y\":492.4642803165317,\"width\":1.530597436170467,\"height\":50.51622857420443,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":2037914629,\"version\":26,\"versionNonce\":178187493,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[-0.10095429898143493,0],[-0.2019085979629267,0.928128232571396],[-0.2019085979629267,3.5855059089865335],[-0.2019085979629267,10.916090651156082],[-0.2930931260751777,20.871487166843508],[-0.836943704459145,30.182078805165474],[-1.4101035954506642,37.369373574587144],[-1.530597436170467,41.879751125855364],[-1.530597436170467,45.234039124271476],[-1.530597436170467,46.963288568115104],[-1.530597436170467,48.161713794733714],[-1.530597436170467,49.30803357671664],[-1.530597436170467,50.51622857420443]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"RLs4lJNG9ky9fDOONdpD_\",\"type\":\"freedraw\",\"x\":440.5194717906869,\"y\":490.44519433690255,\"width\":8.506213836760026,\"height\":33.282352760983144,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":473590117,\"version\":23,\"versionNonce\":616464363,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[-0.10421088927114397,0],[-0.20842177854234478,0.19539541738345179],[-0.5275676269353653,1.7618153467408888],[-1.70970990210526,5.409196471232178],[-3.5431702352200887,10.570892080445333],[-5.493867818765011,16.882164061931178],[-7.333841332459258,23.151100369650635],[-8.239173433002634,27.899209012068695],[-8.395489766909407,31.24698382990539],[-8.506213836760026,33.282352760983144]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"zBIQkOiNsGfUwNkpi690R\",\"type\":\"freedraw\",\"x\":184.20301985735088,\"y\":475.36392470518905,\"width\":55.6518714610998,\"height\":35.86157227044475,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":1078437029,\"version\":24,\"versionNonce\":1817839685,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0,0.09444111840196001],[-0.09769770869172589,0.18888223680397687],[-2.1428364106386653,0.5243110366455994],[-12.951459582233838,5.669723694410095],[-22.958961542556835,12.498793531962122],[-30.71290302239055,18.10664201086746],[-37.903454382101984,23.34975237732374],[-45.41315159020638,28.77848839029423],[-49.972377995820494,32.11649343726174],[-52.9130790274416,33.99880262472243],[-55.6518714610998,35.86157227044475]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"wsDDtZtkvYMFWyg9_6dnj\",\"type\":\"freedraw\",\"x\":94.65655666079985,\"y\":372.5240599459831,\"width\":8.131705953441752,\"height\":0.19539541738345179,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":942336837,\"version\":18,\"versionNonce\":610093707,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0,0.09769770869172589],[-0.2800667649162847,0.19539541738345179],[-1.273326803282231,0.19539541738345179],[-3.8330067710055857,0.19539541738345179],[-8.131705953441752,0.19539541738345179]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null},{\"id\":\"VihDyrcKRBFxlH3e2GXld\",\"type\":\"freedraw\",\"x\":110.03417600887832,\"y\":286.8822485068116,\"width\":11.140795381147058,\"height\":11.531586215914047,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":1818658213,\"version\":20,\"versionNonce\":1390065573,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0,-0.09769770869172589],[-0.5308242172250743,-1.3384586090767243],[-2.146093000928346,-3.878599035061768],[-4.744852052128408,-6.7769643929164545],[-7.298018839272316,-9.069603956882418],[-9.35618390237812,-10.567635490155624],[-11.140795381147058,-11.531586215914047],[-11.140795381147058,-11.531586215914047]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":[-11.140795381147058,-11.531586215914047]},{\"id\":\"7cyIHJmTDN1twt0KP36Ig\",\"type\":\"freedraw\",\"x\":812.0872524679455,\"y\":178.09270670488985,\"width\":0.0001,\"height\":0.0001,\"angle\":0,\"strokeColor\":\"#e8590c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":2,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":129373739,\"version\":11,\"versionNonce\":372138955,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813337250,\"link\":null,\"locked\":false,\"points\":[[0,0],[0.0001,0.0001]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":[0.0001,0.0001]},{\"id\":\"00ISUygm4HTe51oWA1EOt\",\"type\":\"freedraw\",\"x\":157.95928488241626,\"y\":806.079242398076,\"width\":152.29703430725826,\"height\":15.632439046627269,\"angle\":0,\"strokeColor\":\"#0c8599\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":1,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":1895871013,\"version\":165,\"versionNonce\":361511973,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813356893,\"link\":null,\"locked\":false,\"points\":[[0,0],[0.10808540450096871,-0.051693019543904484],[1.9361385501910604,-1.6823728178844704],[5.307933234079485,-4.104895688329748],[14.807700416630837,-8.461207426259534],[18.43326083282591,-9.201357478820455],[21.323370561873162,-9.288295738962574],[23.67775263382873,-9.288295738962574],[24.93248319912243,-9.288295738962574],[25.65618547273749,-9.288295738962574],[26.048582484730105,-8.597489023239063],[26.39163615988531,-7.088992725638718],[26.739389200453616,-5.129357348382314],[27.073044144782614,-2.9981951335481654],[27.376153213926614,-1.1419457953796837],[27.68631133119021,0.4440900315365752],[28.078708343182825,1.7411148855479723],[28.539246153665147,2.673938920045316],[29.166611436311996,3.2026175290174024],[30.120582615168246,3.5715177139445586],[31.645526691714338,3.8534796387297092],[34.239576399737246,3.9098720236867166],[37.799345700149104,3.275457692920213],[42.23084728468825,1.4239077201647206],[47.05944524663306,-1.0268113427590606],[51.17843903120206,-3.080434028277182],[54.66536816771111,-4.509041113855005],[57.47088931932285,-5.307933234079542],[59.313040561252194,-5.531153091201077],[60.51372842429538,-5.531153091201077],[61.27502562121515,-5.531153091201077],[61.730864066284425,-5.232743387470123],[62.02927377001532,-4.490243652202707],[62.226647117364905,-3.5762170793576615],[62.43341919554064,-2.629294948621123],[62.71538112032573,-1.6917715487105625],[63.154771786449146,-0.87643164954045],[63.7750880209764,-0.17152683757763043],[64.49409092917841,0.43939066612335864],[65.328228290001,0.8858303803664285],[66.3761867771189,1.261779613413296],[67.77659767021822,1.6612256735255642],[70.11453196322805,1.9549360118434151],[73.73069364859691,1.992530935148011],[78.05645951134164,1.4709013742955221],[81.88879200571245,0.4981327337869743],[85.32402812267759,-0.5263289262655917],[88.6159335945436,-1.595434557742351],[91.05020487852164,-2.4695165245761928],[92.65973753250324,-2.9394530658846634],[93.64895395195765,-3.1650226057128066],[94.18468160904933,-3.2519608658548123],[94.52538560149799,-3.2519608658548123],[94.69691243907562,-3.2073168944305053],[94.70866085260832,-2.977047989189373],[94.70866085260832,-2.4530687456303895],[94.70866085260832,-1.640078529166658],[94.71570990072792,-0.9022781593123455],[94.80969720898963,-0.3031090691439431],[95.06346294129622,0.2866612901981398],[95.31252930818971,0.6978557638431084],[95.55219694425705,1.0150629292263602],[95.8694041096403,1.2288840555216893],[96.4709228825152,1.282926757772202],[98.1039523635622,1.1818904013908877],[101.06220289109919,0.2984097037309539],[104.99792142455792,-1.6048332885685568],[109.46231856698861,-4.017957428187742],[113.58131235155767,-6.294799970827285],[117.05884275724051,-8.303778684921213],[119.81267088930835,-9.94385721408787],[121.65012276582453,-10.991815701205837],[122.89310491758553,-11.574537012428323],[123.57451290248284,-11.722567022940552],[123.90581816410528,-11.722567022940552],[124.14548580017262,-11.569837647015333],[124.31701263775025,-10.944822047075036],[124.6107229760681,-9.753532914857828],[125.02426713241957,-8.18864423230059],[125.43546160606454,-6.630804597862948],[125.8584044932422,-5.242142118296329],[126.33773976537677,-4.093147274797047],[126.89226488412086,-3.1932187981911966],[127.44679000286484,-2.544706371185498],[127.96372019830423,-2.152309359192941],[128.57463770200522,-1.853899655461987],[129.41347442824096,-1.7223174238956744],[130.82563373487298,-1.7223174238956744],[132.98734182489213,-2.1781558689648364],[135.28298182918408,-3.2026175290174024],[137.48463452521443,-4.349262689810189],[139.64164324982036,-5.390172128808558],[141.38040845266184,-6.177315835500281],[142.58814536382474,-6.609657453504042],[143.32594573367905,-6.720092540711562],[143.74418925544362,-6.720092540711562],[144.06609578623997,-6.715393175298459],[144.38330295162322,-6.55091538584054],[144.70990884783257,-6.1373712294890765],[145.04591347486812,-5.60869262051699],[145.5017519199374,-5.0682655980122036],[146.140865616117,-4.450299046191503],[146.8410710626666,-3.782989157533507],[147.5436261919228,-3.2895557891595217],[148.15454369562391,-2.9441524312977663],[148.61978087151928,-2.7326809877089318],[148.98633137373994,-2.6903866989911194],[149.52910807895123,-2.7514784493613433],[150.98591135700755,-3.6420081951408747],[152.29703430725826,-4.631224614595226],[152.29703430725826,-4.631224614595226]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":[152.29703430725826,-4.631224614595226]},{\"id\":\"pnuYeDXfROwcI6MFFpivo\",\"type\":\"freedraw\",\"x\":629.4370816687822,\"y\":824.7823328076848,\"width\":208.52150818325055,\"height\":146.7331346543766,\"angle\":0,\"strokeColor\":\"#c2255c\",\"backgroundColor\":\"transparent\",\"fillStyle\":\"solid\",\"strokeWidth\":1,\"strokeStyle\":\"solid\",\"roughness\":1,\"opacity\":100,\"groupIds\":[],\"frameId\":null,\"roundness\":null,\"seed\":852704549,\"version\":77,\"versionNonce\":593194885,\"isDeleted\":false,\"boundElements\":null,\"updated\":1742813356893,\"link\":null,\"locked\":false,\"points\":[[0,0],[-0.23840506478177304,0],[-3.672820055985767,0.5113615882274871],[-23.159842742495243,3.5518899506615753],[-49.34293811809255,7.013946108796858],[-73.00377701121602,9.007565273711066],[-100.03338312408198,10.064839908830095],[-126.00571460182869,10.064839908830095],[-149.36595580457526,9.90590319897558],[-165.21470989376303,7.701520136210888],[-175.37974903271885,2.6708277547289754],[-183.02253168920095,-3.8041155989091067],[-186.7679098083811,-10.921716083698016],[-187.82863958936667,-18.59905019884411],[-187.5073110237912,-29.624420658534063],[-183.5649895902261,-44.381348653938744],[-168.6767660518982,-66.20404994613625],[-143.98974883645315,-91.10183105943179],[-115.29476241598127,-110.54739199554444],[-83.13771983737422,-125.16265901042652],[-51.080876488892955,-133.8385302809629],[-27.31638321977732,-136.66829474554652],[-10.427630224802442,-135.73540536161784],[3.3445811986774743,-131.37846642408442],[12.362511909987802,-123.75986978866717],[17.610878481052964,-114.04745475821005],[20.060576900332308,-102.44507493883077],[20.692868593883873,-86.3924672435254],[18.54722301084803,-70.7372013228561],[13.433607128572476,-57.8184109283776],[7.3836467165018576,-45.62520116584358]],\"pressures\":[],\"simulatePressure\":true,\"lastCommittedPoint\":null}]}],\"files\":{},\"documentSize\":{\"width\":1080,\"height\":1180}},\"fonts\":{\"customFonts\":{\"Darumadrop One\":[{\"subset\":\"[3]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.3.woff2) format('woff2')\",\"unicodeRange\":\"U+fa10, U+fa12-fa6d, U+fb00-fb04, U+fe10-fe19, U+fe30-fe42, U+fe44-fe52, U+fe54-fe66, U+fe68-fe6b, U+ff02, U+ff04, U+ff07, U+ff51, U+ff5b, U+ff5d, U+ff5f-ff60, U+ff66, U+ff69, U+ff87, U+ffa1-ffbe, U+ffc2-ffc7, U+ffca-ffcf, U+ffd2-ffd6\"},{\"subset\":\"[54]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.54.woff2) format('woff2')\",\"unicodeRange\":\"U+3028-303f, U+3094-3096, U+309f-30a0, U+30ee, U+30f7-30fa, U+30ff, U+3105-312f, U+3131-3163, U+3165-318e, U+3190-31bb, U+31c0-31c7\"},{\"subset\":\"[55]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.55.woff2) format('woff2')\",\"unicodeRange\":\"U+2f14-2fd5, U+2ff0-2ffb, U+3004, U+3013, U+3016-301b, U+301e, U+3020-3027\"},{\"subset\":\"[57]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.57.woff2) format('woff2')\",\"unicodeRange\":\"U+24d1-24ff, U+2503-2513, U+2515-2516, U+2518-251b, U+251d-2522, U+2524-259f, U+25a2-25ab, U+25b1, U+25b7, U+25c0-25c1, U+25c9-25ca, U+25cc, U+25d0-25d3, U+25e2-25e3\"},{\"subset\":\"[58]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.58.woff2) format('woff2')\",\"unicodeRange\":\"U+2105, U+2109-210a, U+210f, U+2116, U+2121, U+2126-2127, U+212b, U+212e, U+2135, U+213b, U+2194-2199, U+21b8-21b9, U+21c4-21c6, U+21cb-21cc, U+21d0, U+21e6-21e9, U+21f5, U+2202-2203, U+2205-2206, U+2208-220b, U+220f, U+2211, U+2213, U+2215, U+221a, U+221d, U+2220, U+2223, U+2225-2226, U+2228, U+222a-222e, U+2234-2237, U+223d, U+2243, U+2245, U+2248, U+224c, U+2260, U+2262, U+2264-2265, U+226e-226f, U+2272-2273, U+2276-2277, U+2283-2287, U+228a-228b, U+2295-2299, U+22a0, U+22a5, U+22bf, U+22da-22db, U+22ef, U+2305-2307, U+2318, U+2329-232a, U+23b0-23b1, U+23be-23cc, U+23ce, U+23da-23db, U+2423, U+2469-24d0\"},{\"subset\":\"[59]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.59.woff2) format('woff2')\",\"unicodeRange\":\"U+a1-a4, U+a6-a7, U+aa, U+ac-ad, U+b5-b6, U+b8-ba, U+bc-c8, U+ca-cc, U+ce-d5, U+d9-db, U+dd-df, U+e6, U+ee, U+f0, U+f5, U+f7, U+f9, U+fb, U+fe-102, U+110-113, U+11a-11b, U+128-12b, U+143-144, U+147-148, U+14c, U+14e-14f, U+152-153, U+168-16d, U+192, U+1a0-1a1, U+1af, U+1cd-1dc, U+1f8-1f9, U+251, U+261, U+2bb, U+2c7, U+2c9, U+2ea-2eb, U+304, U+307, U+30c, U+1e3e-1e3f, U+1ea0-1ebe, U+1ec0-1ec6, U+1ec8-1ef9, U+2011-2012, U+2016, U+2018-201a, U+201e, U+2021, U+2030, U+2033, U+2035, U+2042, U+2047, U+2051, U+2074, U+20a9, U+20ab-20ac, U+20dd-20de, U+2100\"},{\"subset\":\"[60]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.60.woff2) format('woff2')\",\"unicodeRange\":\"U+2227, U+26a0, U+2713, U+301f, U+4ff8, U+5239, U+526a, U+54fa, U+5740, U+5937, U+5993, U+59fb, U+5a3c, U+5c41, U+6028, U+626e, U+646f, U+647a, U+64b0, U+64e2, U+65a7, U+66fe, U+6727, U+6955, U+6bef, U+6f23, U+724c, U+767c, U+7a83, U+7ac4, U+7b67, U+8000, U+8471, U+8513, U+8599, U+86db, U+8718, U+87f2, U+88f3, U+8ad2, U+8e2a, U+8fa3, U+95a5, U+9798, U+9910, U+9957, U+9bab, U+9c3b, U+9daf, U+ff95\"},{\"subset\":\"[61]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.61.woff2) format('woff2')\",\"unicodeRange\":\"U+a8, U+2032, U+2261, U+2282, U+3090, U+30f1, U+339c, U+535c, U+53d9, U+56a2, U+56c1, U+5806, U+589f, U+59d0, U+5a7f, U+60e0, U+639f, U+65af, U+68fa, U+69ae, U+6d1b, U+6ef2, U+71fb, U+725d, U+7262, U+75bc, U+7768, U+7940, U+79bf, U+7bed, U+7d68, U+7dfb, U+814b, U+8207, U+83e9, U+8494, U+8526, U+8568, U+85ea, U+86d9, U+87ba, U+8861, U+887f, U+8fe6, U+9059, U+9061, U+916a, U+976d, U+97ad, U+9ece\"},{\"subset\":\"[62]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.62.woff2) format('woff2')\",\"unicodeRange\":\"U+2d9, U+21d4, U+301d, U+515c, U+52fe, U+5420, U+5750, U+5766, U+5954, U+5b95, U+5f8a, U+5f98, U+620c, U+621f, U+641c, U+66d9, U+676d, U+6775, U+67f5, U+694a, U+6a02, U+6a3a, U+6a80, U+6c23, U+6c72, U+6dcb, U+6faa, U+707c, U+71c8, U+7422, U+74e2, U+7791, U+7825, U+7a14, U+7a1c, U+7c95, U+7fc1, U+82a5, U+82db, U+8304, U+853d, U+8cd3, U+8de8, U+8f0c, U+8f3f, U+9091, U+91c7, U+929a, U+98af, U+9913\"},{\"subset\":\"[63]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.63.woff2) format('woff2')\",\"unicodeRange\":\"U+2ca-2cb, U+2229, U+2468, U+2669, U+266f, U+273f, U+4ec0, U+4f60, U+4fb6, U+5347, U+540e, U+543b, U+5b0c, U+5d4c, U+5f14, U+5f9e, U+6155, U+62d0, U+6602, U+6666, U+66f3, U+67a2, U+67ca, U+69cc, U+6d29, U+6d9b, U+6e3e, U+6f81, U+7109, U+73c0, U+73c2, U+7425, U+7435-7436, U+7525, U+7554, U+785d, U+786b, U+7ae3, U+7b94, U+7d18, U+81bf, U+8511, U+8549, U+9075, U+9640, U+98e2, U+9e9f, U+ff96\"},{\"subset\":\"[65]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.65.woff2) format('woff2')\",\"unicodeRange\":\"U+b1, U+309b, U+4e5e, U+51f1, U+5506, U+55c5, U+58cc, U+59d1, U+5c51, U+5ef7, U+6284, U+62d7, U+6689, U+673d, U+6a2b, U+6a8e, U+6a9c, U+6d63, U+6dd1, U+70b8, U+7235, U+72db, U+72f8, U+7560, U+7c9b, U+7ce7, U+7e1e, U+80af, U+82eb, U+8463, U+8499, U+85dd, U+86ee, U+8a60, U+8a6e, U+8c79, U+8e87, U+8e8a, U+8f5f, U+9010, U+918d, U+9190, U+965b, U+97fb, U+9ab8, U+9bad, U+9d3b, U+9d5c, U+9dfa, U+9e93\"},{\"subset\":\"[66]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.66.woff2) format('woff2')\",\"unicodeRange\":\"U+2020, U+3003, U+3231, U+4e9b, U+4f3d, U+4f47, U+51b6, U+51dc, U+53e1, U+5bc5, U+602f, U+60bc, U+61c9, U+633d, U+637b, U+6492, U+65fa, U+660f, U+66f0, U+6703, U+681e, U+6876, U+6893, U+6912, U+698e, U+6c7d, U+714c, U+7169, U+71d5, U+725f, U+72d7, U+745b, U+74dc, U+75e2, U+7891, U+7897, U+7dcb, U+810a, U+8218, U+8339, U+840e, U+852d, U+8823, U+8a0a, U+9089, U+919c, U+971c, U+9ad9, U+ff4a, U+ff5a\"},{\"subset\":\"[69]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.69.woff2) format('woff2')\",\"unicodeRange\":\"U+2003, U+2312, U+266c, U+4f86, U+51ea, U+5243, U+5256, U+541f, U+5841, U+59dc, U+5df3, U+601c, U+60e7, U+632b, U+638c, U+64ad, U+6881, U+697c, U+69cd, U+6c50, U+6d2a, U+6fc1, U+7027, U+7058, U+70f9, U+714e, U+7345, U+751a, U+760d, U+764c, U+77db, U+7d79, U+7e8f, U+80ce, U+814e, U+81fc, U+8247, U+8278, U+85a9, U+8a03, U+90ed, U+9784, U+9801, U+984e, U+99b3, U+9bc9, U+9bdb, U+9be8, U+9e78, U+ff6b\"},{\"subset\":\"[70]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.70.woff2) format('woff2')\",\"unicodeRange\":\"U+266b, U+3006, U+5176, U+5197, U+51a8, U+51c6, U+52f2, U+5614, U+5875, U+5a2f, U+5b54, U+5ce0, U+5dba, U+5deb, U+5e63, U+5f59, U+5fcc, U+6068, U+6367, U+68b6, U+6a0b, U+6b64, U+6e15, U+6eba, U+7272, U+72a0, U+7947, U+7985, U+79e6, U+79e9, U+7a3d, U+7a9f, U+7aaf, U+7b95, U+7f60, U+7f9e, U+7fe0, U+8098, U+80ba, U+8106, U+82d4, U+831c, U+87f9, U+8a1f, U+8acf, U+90c1, U+920d, U+9756, U+fe43, U+ff94\"},{\"subset\":\"[71]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.71.woff2) format('woff2')\",\"unicodeRange\":\"U+af, U+2465, U+2517, U+33a1, U+4f10, U+50c5, U+51b4, U+5384, U+5606, U+5bb0, U+5cac, U+5ee3, U+618e, U+61f2, U+62c9, U+66ab, U+66f9, U+6816, U+6960, U+6b3e, U+6f20, U+7078, U+72d0, U+73ed, U+7ad9, U+7b1b, U+7be4, U+7d62, U+7f51, U+80b4, U+80f4, U+8154, U+85fb, U+865c, U+8702, U+895f, U+8aed, U+8b90, U+8ced, U+8fbf, U+91d8, U+9418, U+9583, U+9591, U+9813, U+982c, U+9bd6, U+ff46, U+ff7f, U+ff88\"},{\"subset\":\"[73]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.73.woff2) format('woff2')\",\"unicodeRange\":\"U+221e, U+2514, U+51f9, U+5270, U+5449, U+5824, U+59a5, U+5a29, U+5d07, U+5e16, U+60e3, U+614c, U+6276, U+643e, U+64ab, U+6562, U+6681, U+670b, U+6734, U+67af, U+6a3d, U+6b05, U+6dc0, U+6e4a, U+7259, U+732a, U+7409, U+78a7, U+7a6b, U+8015, U+809b, U+817a, U+830e, U+837b, U+85ab, U+8a23, U+8a93, U+8b00, U+8b19, U+8b21, U+8cbf, U+8fb0, U+901d, U+91b8, U+9320, U+932c, U+9688, U+96f6, U+9df2, U+ff6a\"},{\"subset\":\"[74]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.74.woff2) format('woff2')\",\"unicodeRange\":\"U+2002, U+2025, U+4f8d, U+51e1, U+51f8, U+5507, U+5598, U+58f1, U+5983, U+59ac, U+5c3c, U+5de7, U+5e7d, U+5eca, U+5f61, U+606d, U+60f9, U+636e, U+64ec, U+67da, U+67ff, U+6813, U+68f2, U+693f, U+6b6a, U+6bbb, U+6ef4, U+7092, U+717d, U+7261, U+73c8, U+7432, U+7483, U+76fe, U+7709, U+78d0, U+81a3, U+81b3, U+82af, U+8305, U+8309, U+8870, U+88fe, U+8cd1, U+8d66, U+906e, U+971e, U+9812, U+ff79, U+ff90\"},{\"subset\":\"[76]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.76.woff2) format('woff2')\",\"unicodeRange\":\"U+2266-2267, U+4f2f, U+5208, U+5451, U+546a, U+5589, U+576a, U+5815, U+5a9a, U+5b9b, U+5c3a, U+5efb, U+5faa, U+6109, U+6643, U+6652, U+695a, U+69fd, U+6b86, U+6bb4, U+6daf, U+7089, U+70cf, U+7a00, U+7a4f, U+7b39, U+7d33, U+80e1, U+828b, U+82a6, U+86cd, U+8c8c, U+8cca, U+8df3, U+9077, U+9175, U+91dc, U+925b, U+9262, U+9271, U+92ed, U+9855, U+9905, U+9d28, U+ff3f, U+ff58, U+ff68, U+ff6d, U+ff9c\"},{\"subset\":\"[77]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.77.woff2) format('woff2')\",\"unicodeRange\":\"U+2207, U+25ef, U+309c, U+4e4f, U+5146, U+51dd, U+5351, U+540a, U+5629, U+5eb5, U+5f04, U+5f13, U+60dc, U+6212, U+63b4, U+642c, U+6627, U+66a6, U+66c7, U+66fd, U+674e, U+6b96, U+6c4e, U+6df3, U+6e67, U+6f84, U+72fc, U+733f, U+7c97, U+7db1, U+7e4d, U+816b, U+82d1, U+84cb, U+854e, U+8607, U+86c7, U+871c, U+8776, U+8a89, U+8fc4, U+91a4, U+9285, U+9685, U+9903, U+9b31, U+9f13, U+ff42, U+ff74, U+ff91\"},{\"subset\":\"[79]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.79.woff2) format('woff2')\",\"unicodeRange\":\"U+25b3, U+30f5, U+4eae, U+4f46, U+4f51, U+5203, U+52ff, U+55a7, U+564c, U+565b, U+57f9, U+5805, U+5b64, U+5e06, U+5f70, U+5f90, U+60e8, U+6182, U+62f3, U+62fe, U+63aa, U+64a4, U+65d7, U+673a, U+6851, U+68cb, U+68df, U+6d1e, U+6e58, U+6e9d, U+77b3, U+7832, U+7c3f, U+7db4, U+7f70, U+80aa, U+80c6, U+8105, U+819d, U+8276, U+8679, U+8986, U+8c9d, U+8fc5, U+916c, U+9665, U+9699, U+96c0, U+9a19, U+ff8b\"},{\"subset\":\"[80]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.80.woff2) format('woff2')\",\"unicodeRange\":\"U+2463, U+25a1, U+4ef0, U+5076, U+5098, U+51fd, U+5302, U+5448, U+54c9, U+570b, U+583a, U+5893, U+58a8, U+58ee, U+5949, U+5bdb, U+5f26, U+5f81, U+6052, U+6170, U+61c7, U+631f, U+635c, U+664b, U+69fb, U+6f01, U+7070, U+722a, U+745e, U+755c, U+76c6, U+78c1, U+79e4, U+7bb8, U+7d0b, U+81a8, U+82d7, U+8b5c, U+8f14, U+8fb1, U+8fbb, U+9283, U+9298, U+9a30, U+ff03, U+ff50, U+ff59, U+ff7b, U+ff8e-ff8f\"},{\"subset\":\"[81]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.81.woff2) format('woff2')\",\"unicodeRange\":\"U+2010, U+2502, U+25b6, U+4f3a, U+514b, U+5265, U+52c3, U+5339, U+53ec, U+54c0, U+55b0, U+5854, U+5b8f, U+5cb3, U+5e84, U+60da, U+6247, U+6249, U+628a, U+62cd, U+65ac, U+6838, U+690e, U+6cf0, U+6f02, U+6f2c, U+6f70, U+708a, U+7434, U+75be, U+77ef, U+7c60, U+7c98, U+7d1b, U+7e2b, U+80a5, U+81e3, U+820c, U+8210, U+8475, U+862d, U+8650, U+8997, U+906d, U+91c8, U+9700, U+9727, U+9df9, U+ff3a, U+ff9a\"},{\"subset\":\"[82]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.82.woff2) format('woff2')\",\"unicodeRange\":\"U+2103, U+5049, U+52b1, U+5320, U+5553, U+572d, U+58c7, U+5b5d, U+5bc2, U+5de3, U+5e61, U+5f80, U+61a9, U+67d0, U+67f4, U+6c88, U+6ca1, U+6ce5, U+6d78, U+6e9c, U+6f54, U+731b, U+73b2, U+74a7, U+74f6, U+75e9, U+7b20, U+7c8b, U+7f72, U+809d, U+8108, U+82b3, U+82bd, U+84b8, U+84c4, U+88c2, U+8ae6, U+8ef8, U+902e, U+9065, U+9326, U+935b, U+938c, U+9676, U+9694, U+96f7, U+9ed9, U+ff48, U+ff4c, U+ff81\"},{\"subset\":\"[83]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.83.woff2) format('woff2')\",\"unicodeRange\":\"U+2500, U+3008-3009, U+4ead, U+4f0f, U+4fca, U+53eb, U+543e, U+57a2, U+5cf0, U+5e8f, U+5fe0, U+61b2, U+62d8, U+6442, U+64b2, U+6589, U+659c, U+67f1, U+68c4, U+6cb8, U+6d12, U+6de1, U+6fe1, U+70c8, U+723d, U+73e0, U+7656, U+773a, U+7948, U+7b87, U+7c92, U+7d3a, U+7e1b, U+7e4a, U+819a, U+8358, U+83c5, U+84bc, U+864e, U+8912, U+8c9e, U+8d05, U+92fc, U+9396, U+98fd, U+99d2, U+ff64, U+ff7a, U+ff83\"},{\"subset\":\"[84]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.84.woff2) format('woff2')\",\"unicodeRange\":\"U+3014-3015, U+4e3c, U+5036, U+5075, U+533f, U+53e9, U+5531, U+5642, U+5984, U+59e6, U+5a01, U+5b6b, U+5c0b, U+5f25, U+6069, U+60a0, U+614e, U+62b5, U+62d2-62d3, U+6597, U+660c, U+674f, U+67cf, U+6841, U+6905, U+6cf3, U+6d32, U+6d69, U+6f64, U+716e, U+7761, U+7b52, U+7be0, U+7dbf, U+7de9, U+7f36, U+81d3, U+8302, U+8389, U+846c, U+84ee, U+8a69, U+9038, U+9d8f, U+ff47, U+ff4b, U+ff76, U+ff9b\"},{\"subset\":\"[85]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.85.woff2) format('woff2')\",\"unicodeRange\":\"U+25c7, U+3007, U+504f, U+507d, U+51a0, U+52a3, U+5410, U+5510, U+559a, U+5782, U+582a, U+5c0a, U+5c3f, U+5c48, U+5f6b, U+6176, U+622f, U+6279, U+62bd, U+62dd, U+65ed, U+67b6, U+6817, U+6850, U+6d6a, U+6deb, U+6ea2, U+6edd, U+6f5c, U+72e9, U+73a9, U+7573, U+76bf, U+7950, U+7956, U+7f8a, U+7ffc, U+80a2, U+80c3, U+83ca, U+8a02, U+8a13, U+8df5, U+9375, U+983b, U+99b4, U+ff4e, U+ff71, U+ff89, U+ff97\"},{\"subset\":\"[86]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.86.woff2) format('woff2')\",\"unicodeRange\":\"U+24, U+2022, U+2212, U+221f, U+2665, U+4ecf, U+5100, U+51cd, U+52d8, U+5378, U+53f6, U+574a, U+5982, U+5996, U+5c1a, U+5e1d, U+5f84, U+609f, U+61a7, U+61f8, U+6398, U+63ee, U+6676, U+6691, U+6eb6, U+7126, U+71e5, U+7687, U+7965, U+7d17, U+80a1, U+8107, U+8266, U+85a6, U+8987, U+8ca2, U+8cab, U+8e0a, U+9042, U+95c7, U+9810, U+9867, U+98fc, U+ff52-ff54, U+ff61, U+ff77, U+ff98-ff99\"},{\"subset\":\"[87]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.87.woff2) format('woff2')\",\"unicodeRange\":\"U+b0, U+226a, U+2462, U+4e39, U+4fc3, U+4fd7, U+50be, U+50da, U+5200, U+5211, U+54f2, U+5618, U+596a, U+5b22, U+5bb4, U+5d50, U+60a3, U+63fa, U+658e, U+65e8, U+6669, U+6795, U+679d, U+67a0, U+6b3a, U+6e09, U+757f, U+7cd6, U+7dbe, U+7ffb, U+83cc, U+83f1, U+840c, U+845b, U+8846, U+8972, U+8a34, U+8a50, U+8a87, U+8edf, U+8ff0, U+90a6, U+9154, U+95a3, U+9663, U+9686, U+96c7, U+ff3c, U+ff7c, U+ff8a\"},{\"subset\":\"[88]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.88.woff2) format('woff2')\",\"unicodeRange\":\"U+25bd, U+4e59, U+4ec1, U+4ff3, U+515a, U+518a, U+525b, U+5375, U+552f, U+57a3, U+5b9c, U+5c3d, U+5e3d, U+5e7b, U+5f0a, U+6094, U+6458, U+654f, U+67f3, U+6b8a, U+6bd2, U+6c37, U+6ce1, U+6e56, U+6e7f, U+6ed1, U+6ede, U+6f0f, U+70ad, U+7267, U+7363, U+786c, U+7a42, U+7db2, U+7f85, U+8178, U+829d, U+8896, U+8c5a, U+8cb0, U+8ce2, U+8ed2, U+9047, U+9177, U+970a, U+9ea6, U+ff1b, U+ff31, U+ff39, U+ff80\"},{\"subset\":\"[89]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.89.woff2) format('woff2')\",\"unicodeRange\":\"U+a5, U+4e80, U+4f34, U+4f73, U+4f75, U+511f, U+5192, U+52aa, U+53c8, U+570f, U+57cb, U+596e, U+5d8b, U+5f66, U+5fd9, U+62db, U+62f6, U+6328, U+633f, U+63a7, U+6469, U+6bbf, U+6c41, U+6c57, U+6d44, U+6dbc, U+706f, U+72c2, U+72ed, U+7551, U+75f4, U+7949, U+7e26, U+7fd4, U+8150, U+8af8, U+8b0e, U+8b72, U+8ca7, U+934b, U+9a0e, U+9a12, U+9b42, U+ff41, U+ff43, U+ff45, U+ff49, U+ff4f, U+ff62-ff63\"},{\"subset\":\"[91]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.91.woff2) format('woff2')\",\"unicodeRange\":\"U+60, U+2200, U+226b, U+2461, U+517c, U+526f, U+5800, U+5b97, U+5bf8, U+5c01, U+5d29, U+5e4c, U+5e81, U+6065, U+61d0, U+667a, U+6696, U+6843, U+6c99, U+6d99, U+6ec5, U+6f22, U+6f6e, U+6fa4, U+6fef, U+71c3, U+72d9, U+7384, U+78e8, U+7a1a, U+7a32, U+7a3c, U+7adc, U+7ca7, U+7d2b, U+7dad, U+7e4b, U+80a9, U+8170, U+81ed, U+820e, U+8a17, U+8afe, U+90aa, U+914e, U+963f, U+99c4, U+9eba, U+9f3b, U+ff38\"},{\"subset\":\"[93]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.93.woff2) format('woff2')\",\"unicodeRange\":\"U+21d2, U+25ce, U+300a-300b, U+4e89, U+4e9c, U+4ea1, U+5263, U+53cc, U+5426, U+5869, U+5947, U+598a, U+5999, U+5e55, U+5e72, U+5e79, U+5fae, U+5fb9, U+602a, U+6163, U+624d, U+6749, U+6c5a, U+6cbf, U+6d45, U+6dfb, U+6e7e, U+708e, U+725b, U+7763, U+79c0, U+7bc4, U+7c89, U+7e01, U+7e2e, U+8010, U+8033, U+8c6a, U+8cc3, U+8f1d, U+8f9b, U+8fb2, U+907f, U+90f7, U+9707, U+9818, U+9b3c, U+ff0a, U+ff4d\"},{\"subset\":\"[94]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.94.woff2) format('woff2')\",\"unicodeRange\":\"U+2015, U+2190, U+4e43, U+5019, U+5247, U+52e7, U+5438, U+54b2, U+55ab, U+57f7, U+5bd2, U+5e8a, U+5ef6, U+6016, U+60b2, U+6162, U+6319, U+6551, U+6607, U+66b4, U+675f, U+67d4, U+6b20, U+6b53, U+6ce3, U+719f, U+75b2, U+770b, U+7720, U+77ac, U+79d2, U+7af9, U+7d05, U+7dca, U+8056, U+80f8, U+81f3, U+8352, U+885d, U+8a70, U+8aa4, U+8cbc, U+900f, U+9084, U+91e3, U+9451, U+96c4, U+99c6, U+9ad4, U+ff70\"},{\"subset\":\"[95]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.95.woff2) format('woff2')\",\"unicodeRange\":\"U+2193, U+25b2, U+4e4b, U+516d, U+51c4, U+529f, U+52c9, U+5360, U+5442, U+5857, U+5915, U+59eb, U+5a9b, U+5c3b, U+6012, U+61b6, U+62b1, U+6311, U+6577, U+65e2, U+65ec, U+6613, U+6790, U+6cb9, U+7372, U+76ae, U+7d5e, U+7fcc, U+88ab, U+88d5, U+8caf, U+8ddd, U+8ecd, U+8f38, U+8f9e, U+8feb, U+9063, U+90f5, U+93e1, U+968a, U+968f, U+98fe, U+9ec4, U+ff1d, U+ff27, U+ff2a, U+ff36, U+ff3b, U+ff3d, U+ffe5\"},{\"subset\":\"[97]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.97.woff2) format('woff2')\",\"unicodeRange\":\"U+7e, U+b4, U+25c6, U+2661, U+4e92, U+4eee, U+4ffa, U+5144, U+5237, U+5287, U+52b4, U+58c1, U+5bff, U+5c04, U+5c06, U+5e95, U+5f31, U+5f93, U+63c3, U+640d, U+6557, U+6614, U+662f, U+67d3, U+690d, U+6bba, U+6e6f, U+72af, U+732b, U+7518, U+7ae0, U+7ae5, U+7af6, U+822a, U+89e6, U+8a3a, U+8a98, U+8cb8, U+8de1, U+8e8d, U+95d8, U+961c, U+96a3, U+96ea, U+9bae, U+ff20, U+ff22, U+ff29, U+ff2b-ff2c\"},{\"subset\":\"[98]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.98.woff2) format('woff2')\",\"unicodeRange\":\"U+25cb, U+4e71, U+4f59, U+50d5, U+520a, U+5217, U+5230, U+523a-523b, U+541b, U+5439, U+5747, U+59c9, U+5bdf, U+5c31, U+5de8, U+5e7c, U+5f69, U+6050, U+60d1, U+63cf, U+663c, U+67c4, U+6885, U+6c38, U+6d6e, U+6db2, U+6df7, U+6e2c, U+6f5f, U+7532, U+76e3-76e4, U+7701, U+793c, U+79f0, U+7a93, U+7d00, U+7de0, U+7e54, U+8328, U+8840, U+969c, U+96e8, U+9811, U+9aea, U+9b5a, U+ff24, U+ff2e, U+ff57\"},{\"subset\":\"[99]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.99.woff2) format('woff2')\",\"unicodeRange\":\"U+2191, U+505c, U+52e4, U+5305, U+535a, U+56e0, U+59bb, U+5acc, U+5b09, U+5b87, U+5c90, U+5df1, U+5e2d, U+5e33, U+5f3e, U+6298, U+6383, U+653b, U+6697, U+6804, U+6a39, U+6cca, U+6e90, U+6f2b, U+702c, U+7206, U+7236, U+7559, U+7565, U+7591, U+75c7, U+75db, U+7b4b, U+7bb1, U+7d99, U+7fbd, U+8131, U+885b, U+8b1d, U+8ff7, U+9003, U+9045, U+96a0, U+9732, U+990a, U+99d0, U+9e97, U+9f62, U+ff25, U+ff2d\"},{\"subset\":\"[101]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.101.woff2) format('woff2')\",\"unicodeRange\":\"U+25bc, U+3012, U+4ef2, U+4f0a, U+516b, U+5373, U+539a, U+53b3, U+559c, U+56f0, U+5727, U+5742, U+5965, U+59ff, U+5bc6, U+5dfb, U+5e45, U+5ead, U+5fb3, U+6211, U+6253, U+639b, U+63a8, U+6545, U+6575, U+6628, U+672d, U+68a8, U+6bdb, U+6d25, U+707d, U+767e, U+7834, U+7b46, U+7bc9, U+8074, U+82e6, U+8349, U+8a2a, U+8d70, U+8da3, U+8fce, U+91cc, U+967d, U+97ff, U+9996, U+ff1c, U+ff2f, U+ff32, U+ff34\"},{\"subset\":\"[102]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.102.woff2) format('woff2')\",\"unicodeRange\":\"U+3d, U+5e, U+25cf, U+4e0e, U+4e5d, U+4e73, U+4e94, U+4f3c, U+5009, U+5145, U+51ac, U+5238, U+524a, U+53f3, U+547c, U+5802, U+5922, U+5a66, U+5c0e, U+5de6, U+5fd8, U+5feb, U+6797, U+685c, U+6b7b, U+6c5f-6c60, U+6cc9, U+6ce2, U+6d17, U+6e21, U+7167, U+7642, U+76db, U+8001, U+821e, U+8857, U+89d2, U+8b1b, U+8b70, U+8cb4, U+8cde, U+8f03, U+8f2a, U+968e, U+9b54, U+9e7f, U+9ebb, U+ff05, U+ff33\"},{\"subset\":\"[105]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.105.woff2) format('woff2')\",\"unicodeRange\":\"U+25, U+25a0, U+4e26, U+4f4e, U+5341, U+56f2, U+5bbf, U+5c45, U+5c55, U+5c5e, U+5dee, U+5e9c, U+5f7c, U+6255, U+627f, U+62bc, U+65cf, U+661f, U+666e, U+66dc, U+67fb, U+6975, U+6a4b, U+6b32, U+6df1, U+6e29, U+6fc0, U+738b, U+7686, U+7a76, U+7a81, U+7c73, U+7d75, U+7dd2, U+82e5, U+82f1, U+85ac, U+888b, U+899a, U+8a31, U+8a8c, U+8ab0, U+8b58, U+904a, U+9060, U+9280, U+95b2, U+984d, U+9ce5, U+ff18\"},{\"subset\":\"[106]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.106.woff2) format('woff2')\",\"unicodeRange\":\"U+30f6, U+50ac, U+5178, U+51e6, U+5224, U+52dd, U+5883, U+5897, U+590f, U+5a5a, U+5bb3, U+5c65, U+5e03, U+5e2b, U+5e30, U+5eb7, U+6271, U+63f4, U+64ae, U+6574, U+672b, U+679a, U+6a29-6a2a, U+6ca2, U+6cc1, U+6d0b, U+713c, U+74b0, U+7981, U+7a0b, U+7bc0, U+7d1a, U+7d61, U+7fd2, U+822c, U+8996, U+89aa, U+8cac, U+8cbb, U+8d77, U+8def, U+9020, U+9152, U+9244, U+9662, U+967a, U+96e3, U+9759, U+ff16\"},{\"subset\":\"[107]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.107.woff2) format('woff2')\",\"unicodeRange\":\"U+23, U+3c, U+2192, U+4e45, U+4efb, U+4f50, U+4f8b, U+4fc2, U+5024, U+5150, U+5272, U+5370, U+53bb, U+542b, U+56db, U+56e3, U+57ce, U+5bc4, U+5bcc, U+5f71, U+60aa, U+6238, U+6280, U+629c, U+6539, U+66ff, U+670d, U+677e-677f, U+6839, U+69cb, U+6b4c, U+6bb5, U+6e96, U+6f14, U+72ec, U+7389, U+7814, U+79cb, U+79d1, U+79fb, U+7a0e, U+7d0d, U+85e4, U+8d64, U+9632, U+96e2, U+9805, U+99ac, U+ff1e\"},{\"subset\":\"[108]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.108.woff2) format('woff2')\",\"unicodeRange\":\"U+2605-2606, U+301c, U+4e57, U+4fee, U+5065, U+52df, U+533b, U+5357, U+57df, U+58eb, U+58f0, U+591c, U+592a-592b, U+5948, U+5b85, U+5d0e, U+5ea7, U+5ff5, U+6025, U+63a1, U+63a5, U+63db, U+643a, U+65bd, U+671d, U+68ee, U+6982, U+6b73, U+6bd4, U+6d88, U+7570, U+7b11, U+7d76, U+8077, U+8217, U+8c37, U+8c61, U+8cc7, U+8d85, U+901f, U+962a, U+9802, U+9806, U+9854, U+98f2, U+9928, U+99c5, U+9ed2\"},{\"subset\":\"[110]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.110.woff2) format('woff2')\",\"unicodeRange\":\"U+40, U+4e86, U+4e95, U+4f01, U+4f1d, U+4fbf, U+5099, U+5171, U+5177, U+53cb, U+53ce, U+53f0, U+5668, U+5712, U+5ba4, U+5ca1, U+5f85, U+60f3, U+653e, U+65ad, U+65e9, U+6620, U+6750, U+6761, U+6b62, U+6b74, U+6e08, U+6e80, U+7248, U+7531, U+7533, U+753a, U+77f3, U+798f, U+7f6e, U+8449, U+88fd, U+89b3, U+8a55, U+8ac7, U+8b77, U+8db3, U+8efd, U+8fd4, U+9031-9032, U+9580, U+9589, U+96d1, U+985e\"},{\"subset\":\"[111]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.111.woff2) format('woff2')\",\"unicodeRange\":\"U+2b, U+d7, U+300e-300f, U+4e07, U+4e8c, U+512a, U+5149, U+518d, U+5236, U+52b9, U+52d9, U+5468, U+578b, U+57fa, U+5b8c, U+5ba2, U+5c02, U+5de5, U+5f37, U+5f62, U+623b, U+63d0, U+652f, U+672a, U+6848, U+6d41, U+7136, U+7537, U+754c, U+76f4, U+79c1, U+7ba1, U+7d44, U+7d4c, U+7dcf, U+7dda, U+7de8, U+82b1, U+897f, U+8ca9, U+8cfc, U+904e, U+9664, U+982d, U+9858, U+98a8, U+9a13, U+ff13, U+ff5c\"},{\"subset\":\"[113]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.113.woff2) format('woff2')\",\"unicodeRange\":\"U+26, U+5f, U+2026, U+203b, U+4e09, U+4eac, U+4ed5, U+4fa1, U+5143, U+5199, U+5207, U+539f, U+53e3, U+53f7, U+5411, U+5473, U+5546, U+55b6, U+5929, U+597d, U+5bb9, U+5c11, U+5c4b, U+5ddd, U+5f97, U+5fc5, U+6295, U+6301, U+6307, U+671b, U+76f8, U+78ba, U+795e, U+7d30, U+7d39, U+7d9a, U+89e3, U+8a00, U+8a73, U+8a8d, U+8a9e, U+8aad, U+8abf, U+8cea, U+8eca, U+8ffd, U+904b, U+9650, U+ff11-ff12\"},{\"subset\":\"[114]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.114.woff2) format('woff2')\",\"unicodeRange\":\"U+3e, U+3005, U+4e0d, U+4e88, U+4ecb, U+4ee3, U+4ef6, U+4fdd, U+4fe1, U+500b, U+50cf, U+5186, U+5316, U+53d7, U+540c, U+544a, U+54e1, U+5728, U+58f2, U+5973, U+5b89, U+5c71, U+5e02, U+5e97, U+5f15, U+5fc3, U+5fdc, U+601d, U+611b, U+611f, U+671f, U+6728, U+6765, U+683c, U+6b21, U+6ce8, U+6d3b, U+6d77, U+7530, U+7740, U+7acb, U+7d50, U+826f, U+8f09, U+8fbc, U+9001, U+9053, U+91ce, U+9762, U+98df\"},{\"subset\":\"[115]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.115.woff2) format('woff2')\",\"unicodeRange\":\"U+7c, U+3080, U+4ee5, U+5148, U+516c, U+521d, U+5225, U+529b, U+52a0, U+53ef, U+56de, U+56fd, U+5909, U+591a, U+5b66, U+5b9f, U+5bb6, U+5bfe, U+5e73, U+5e83, U+5ea6, U+5f53, U+6027, U+610f, U+6210, U+6240, U+660e, U+66f4, U+66f8, U+6709, U+6771, U+697d, U+69d8, U+6a5f, U+6c34, U+6cbb, U+73fe, U+756a, U+7684, U+771f, U+793a, U+7f8e, U+898f, U+8a2d, U+8a71, U+8fd1, U+9078, U+9577, U+96fb, U+ff5e\"},{\"subset\":\"[116]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.116.woff2) format('woff2')\",\"unicodeRange\":\"U+a9, U+3010-3011, U+30e2, U+4e0b, U+4eca, U+4ed6, U+4ed8, U+4f53, U+4f5c, U+4f7f, U+53d6, U+540d, U+54c1, U+5730, U+5916, U+5b50, U+5c0f, U+5f8c, U+624b, U+6570, U+6587, U+6599, U+691c, U+696d, U+6cd5, U+7269, U+7279, U+7406, U+767a-767b, U+77e5, U+7d04, U+7d22, U+8005, U+80fd, U+81ea, U+8868, U+8981, U+89a7, U+901a, U+9023, U+90e8, U+91d1, U+9332, U+958b, U+96c6, U+9ad8, U+ff1a, U+ff1f\"},{\"subset\":\"[117]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.117.woff2) format('woff2')\",\"unicodeRange\":\"U+4e, U+a0, U+3000, U+300c-300d, U+4e00, U+4e0a, U+4e2d, U+4e8b, U+4eba, U+4f1a, U+5165, U+5168, U+5185, U+51fa, U+5206, U+5229, U+524d, U+52d5, U+5408, U+554f, U+5831, U+5834, U+5927, U+5b9a, U+5e74, U+5f0f, U+60c5, U+65b0, U+65b9, U+6642, U+6700, U+672c, U+682a, U+6b63, U+6c17, U+7121, U+751f, U+7528, U+753b, U+76ee, U+793e, U+884c, U+898b, U+8a18, U+9593, U+95a2, U+ff01, U+ff08-ff09\"},{\"subset\":\"[118]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.118.woff2) format('woff2')\",\"unicodeRange\":\"U+21-22, U+27-2a, U+2c-3b, U+3f, U+41-4d, U+4f-5d, U+61-7b, U+7d, U+ab, U+ae, U+b2-b3, U+b7, U+bb, U+c9, U+cd, U+d6, U+d8, U+dc, U+e0-e5, U+e7-ed, U+ef, U+f1-f4, U+f6, U+f8, U+fa, U+fc-fd, U+103, U+14d, U+1b0, U+300-301, U+1ebf, U+1ec7, U+2013-2014, U+201c-201d, U+2039-203a, U+203c, U+2048-2049, U+2113, U+2122, U+65e5, U+6708, U+70b9\"},{\"subset\":\"[119]\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87IhCBJWxZFn8TwagZPFyB0sxkyBU1aqBeao0JjE.119.woff2) format('woff2')\",\"unicodeRange\":\"U+20, U+2027, U+3001-3002, U+3041-307f, U+3081-308f, U+3091-3093, U+3099-309a, U+309d-309e, U+30a1-30e1, U+30e3-30ed, U+30ef-30f0, U+30f2-30f4, U+30fb-30fe, U+ff0c, U+ff0e\"},{\"subset\":\"latin-ext\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87LhODpKTZhPofRc.woff2) format('woff2')\",\"unicodeRange\":\"U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF\"},{\"subset\":\"latin\",\"fontFamily\":\"Darumadrop One\",\"fontStyle\":\"normal\",\"fontWeight\":400,\"fontDisplay\":\"swap\",\"src\":\"url(https://fonts.gstatic.com/s/darumadropone/v12/cY9cfjeIW11dpCKgRLi675a87LhADpKTZhPo.woff2) format('woff2')\",\"unicodeRange\":\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\"}]}}}"
  },
  {
    "path": "public/gif.worker.js",
    "content": "// gif.worker.js 0.2.0 - https://github.com/jnordberg/gif.js\n(function e(t, n, r) {\n  function s(o, u) {\n    if (!n[o]) {\n      if (!t[o]) {\n        var a = typeof require == \"function\" && require;\n        if (!u && a) return a(o, !0);\n        if (i) return i(o, !0);\n        var f = new Error(\"Cannot find module '\" + o + \"'\");\n        throw ((f.code = \"MODULE_NOT_FOUND\"), f);\n      }\n      var l = (n[o] = { exports: {} });\n      t[o][0].call(\n        l.exports,\n        function (e) {\n          var n = t[o][1][e];\n          return s(n ? n : e);\n        },\n        l,\n        l.exports,\n        e,\n        t,\n        n,\n        r\n      );\n    }\n    return n[o].exports;\n  }\n  var i = typeof require == \"function\" && require;\n  for (var o = 0; o < r.length; o++) s(r[o]);\n  return s;\n})(\n  {\n    1: [\n      function (require, module, exports) {\n        var NeuQuant = require(\"./TypedNeuQuant.js\");\n        var LZWEncoder = require(\"./LZWEncoder.js\");\n        function ByteArray() {\n          this.page = -1;\n          this.pages = [];\n          this.newPage();\n        }\n        ByteArray.pageSize = 4096;\n        ByteArray.charMap = {};\n        for (var i = 0; i < 256; i++)\n          ByteArray.charMap[i] = String.fromCharCode(i);\n        ByteArray.prototype.newPage = function () {\n          this.pages[++this.page] = new Uint8Array(ByteArray.pageSize);\n          this.cursor = 0;\n        };\n        ByteArray.prototype.getData = function () {\n          var rv = \"\";\n          for (var p = 0; p < this.pages.length; p++) {\n            for (var i = 0; i < ByteArray.pageSize; i++) {\n              rv += ByteArray.charMap[this.pages[p][i]];\n            }\n          }\n          return rv;\n        };\n        ByteArray.prototype.writeByte = function (val) {\n          if (this.cursor >= ByteArray.pageSize) this.newPage();\n          this.pages[this.page][this.cursor++] = val;\n        };\n        ByteArray.prototype.writeUTFBytes = function (string) {\n          for (var l = string.length, i = 0; i < l; i++)\n            this.writeByte(string.charCodeAt(i));\n        };\n        ByteArray.prototype.writeBytes = function (array, offset, length) {\n          for (var l = length || array.length, i = offset || 0; i < l; i++)\n            this.writeByte(array[i]);\n        };\n        function GIFEncoder(width, height) {\n          this.width = ~~width;\n          this.height = ~~height;\n          this.transparent = null;\n          this.transIndex = 0;\n          this.repeat = -1;\n          this.delay = 0;\n          this.image = null;\n          this.pixels = null;\n          this.indexedPixels = null;\n          this.colorDepth = null;\n          this.colorTab = null;\n          this.neuQuant = null;\n          this.usedEntry = new Array();\n          this.palSize = 7;\n          this.dispose = -1;\n          this.firstFrame = true;\n          this.sample = 10;\n          this.dither = false;\n          this.globalPalette = false;\n          this.out = new ByteArray();\n        }\n        GIFEncoder.prototype.setDelay = function (milliseconds) {\n          this.delay = Math.round(milliseconds / 10);\n        };\n        GIFEncoder.prototype.setFrameRate = function (fps) {\n          this.delay = Math.round(100 / fps);\n        };\n        GIFEncoder.prototype.setDispose = function (disposalCode) {\n          if (disposalCode >= 0) this.dispose = disposalCode;\n        };\n        GIFEncoder.prototype.setRepeat = function (repeat) {\n          this.repeat = repeat;\n        };\n        GIFEncoder.prototype.setTransparent = function (color) {\n          this.transparent = color;\n        };\n        GIFEncoder.prototype.addFrame = function (imageData) {\n          this.image = imageData;\n          this.colorTab =\n            this.globalPalette && this.globalPalette.slice\n              ? this.globalPalette\n              : null;\n          this.getImagePixels();\n          this.analyzePixels();\n          if (this.globalPalette === true) this.globalPalette = this.colorTab;\n          if (this.firstFrame) {\n            this.writeLSD();\n            this.writePalette();\n            if (this.repeat >= 0) {\n              this.writeNetscapeExt();\n            }\n          }\n          this.writeGraphicCtrlExt();\n          this.writeImageDesc();\n          if (!this.firstFrame && !this.globalPalette) this.writePalette();\n          this.writePixels();\n          this.firstFrame = false;\n        };\n        GIFEncoder.prototype.finish = function () {\n          this.out.writeByte(59);\n        };\n        GIFEncoder.prototype.setQuality = function (quality) {\n          if (quality < 1) quality = 1;\n          this.sample = quality;\n        };\n        GIFEncoder.prototype.setDither = function (dither) {\n          if (dither === true) dither = \"FloydSteinberg\";\n          this.dither = dither;\n        };\n        GIFEncoder.prototype.setGlobalPalette = function (palette) {\n          this.globalPalette = palette;\n        };\n        GIFEncoder.prototype.getGlobalPalette = function () {\n          return (\n            (this.globalPalette &&\n              this.globalPalette.slice &&\n              this.globalPalette.slice(0)) ||\n            this.globalPalette\n          );\n        };\n        GIFEncoder.prototype.writeHeader = function () {\n          this.out.writeUTFBytes(\"GIF89a\");\n        };\n        GIFEncoder.prototype.analyzePixels = function () {\n          if (!this.colorTab) {\n            this.neuQuant = new NeuQuant(this.pixels, this.sample);\n            this.neuQuant.buildColormap();\n            this.colorTab = this.neuQuant.getColormap();\n          }\n          if (this.dither) {\n            this.ditherPixels(\n              this.dither.replace(\"-serpentine\", \"\"),\n              this.dither.match(/-serpentine/) !== null\n            );\n          } else {\n            this.indexPixels();\n          }\n          this.pixels = null;\n          this.colorDepth = 8;\n          this.palSize = 7;\n          if (this.transparent !== null) {\n            this.transIndex = this.findClosest(this.transparent, true);\n          }\n        };\n        GIFEncoder.prototype.indexPixels = function (imgq) {\n          var nPix = this.pixels.length / 3;\n          this.indexedPixels = new Uint8Array(nPix);\n          var k = 0;\n          for (var j = 0; j < nPix; j++) {\n            var index = this.findClosestRGB(\n              this.pixels[k++] & 255,\n              this.pixels[k++] & 255,\n              this.pixels[k++] & 255\n            );\n            this.usedEntry[index] = true;\n            this.indexedPixels[j] = index;\n          }\n        };\n        GIFEncoder.prototype.ditherPixels = function (kernel, serpentine) {\n          var kernels = {\n            FalseFloydSteinberg: [\n              [3 / 8, 1, 0],\n              [3 / 8, 0, 1],\n              [2 / 8, 1, 1],\n            ],\n            FloydSteinberg: [\n              [7 / 16, 1, 0],\n              [3 / 16, -1, 1],\n              [5 / 16, 0, 1],\n              [1 / 16, 1, 1],\n            ],\n            Stucki: [\n              [8 / 42, 1, 0],\n              [4 / 42, 2, 0],\n              [2 / 42, -2, 1],\n              [4 / 42, -1, 1],\n              [8 / 42, 0, 1],\n              [4 / 42, 1, 1],\n              [2 / 42, 2, 1],\n              [1 / 42, -2, 2],\n              [2 / 42, -1, 2],\n              [4 / 42, 0, 2],\n              [2 / 42, 1, 2],\n              [1 / 42, 2, 2],\n            ],\n            Atkinson: [\n              [1 / 8, 1, 0],\n              [1 / 8, 2, 0],\n              [1 / 8, -1, 1],\n              [1 / 8, 0, 1],\n              [1 / 8, 1, 1],\n              [1 / 8, 0, 2],\n            ],\n          };\n          if (!kernel || !kernels[kernel]) {\n            throw \"Unknown dithering kernel: \" + kernel;\n          }\n          var ds = kernels[kernel];\n          var index = 0,\n            height = this.height,\n            width = this.width,\n            data = this.pixels;\n          var direction = serpentine ? -1 : 1;\n          this.indexedPixels = new Uint8Array(this.pixels.length / 3);\n          for (var y = 0; y < height; y++) {\n            if (serpentine) direction = direction * -1;\n            for (\n              var x = direction == 1 ? 0 : width - 1,\n                xend = direction == 1 ? width : 0;\n              x !== xend;\n              x += direction\n            ) {\n              index = y * width + x;\n              var idx = index * 3;\n              var r1 = data[idx];\n              var g1 = data[idx + 1];\n              var b1 = data[idx + 2];\n              idx = this.findClosestRGB(r1, g1, b1);\n              this.usedEntry[idx] = true;\n              this.indexedPixels[index] = idx;\n              idx *= 3;\n              var r2 = this.colorTab[idx];\n              var g2 = this.colorTab[idx + 1];\n              var b2 = this.colorTab[idx + 2];\n              var er = r1 - r2;\n              var eg = g1 - g2;\n              var eb = b1 - b2;\n              for (\n                var i = direction == 1 ? 0 : ds.length - 1,\n                  end = direction == 1 ? ds.length : 0;\n                i !== end;\n                i += direction\n              ) {\n                var x1 = ds[i][1];\n                var y1 = ds[i][2];\n                if (\n                  x1 + x >= 0 &&\n                  x1 + x < width &&\n                  y1 + y >= 0 &&\n                  y1 + y < height\n                ) {\n                  var d = ds[i][0];\n                  idx = index + x1 + y1 * width;\n                  idx *= 3;\n                  data[idx] = Math.max(0, Math.min(255, data[idx] + er * d));\n                  data[idx + 1] = Math.max(\n                    0,\n                    Math.min(255, data[idx + 1] + eg * d)\n                  );\n                  data[idx + 2] = Math.max(\n                    0,\n                    Math.min(255, data[idx + 2] + eb * d)\n                  );\n                }\n              }\n            }\n          }\n        };\n        GIFEncoder.prototype.findClosest = function (c, used) {\n          return this.findClosestRGB(\n            (c & 16711680) >> 16,\n            (c & 65280) >> 8,\n            c & 255,\n            used\n          );\n        };\n        GIFEncoder.prototype.findClosestRGB = function (r, g, b, used) {\n          if (this.colorTab === null) return -1;\n          if (this.neuQuant && !used) {\n            return this.neuQuant.lookupRGB(r, g, b);\n          }\n          var c = b | (g << 8) | (r << 16);\n          var minpos = 0;\n          var dmin = 256 * 256 * 256;\n          var len = this.colorTab.length;\n          for (var i = 0, index = 0; i < len; index++) {\n            var dr = r - (this.colorTab[i++] & 255);\n            var dg = g - (this.colorTab[i++] & 255);\n            var db = b - (this.colorTab[i++] & 255);\n            var d = dr * dr + dg * dg + db * db;\n            if ((!used || this.usedEntry[index]) && d < dmin) {\n              dmin = d;\n              minpos = index;\n            }\n          }\n          return minpos;\n        };\n        GIFEncoder.prototype.getImagePixels = function () {\n          var w = this.width;\n          var h = this.height;\n          this.pixels = new Uint8Array(w * h * 3);\n          var data = this.image;\n          var srcPos = 0;\n          var count = 0;\n          for (var i = 0; i < h; i++) {\n            for (var j = 0; j < w; j++) {\n              this.pixels[count++] = data[srcPos++];\n              this.pixels[count++] = data[srcPos++];\n              this.pixels[count++] = data[srcPos++];\n              srcPos++;\n            }\n          }\n        };\n        GIFEncoder.prototype.writeGraphicCtrlExt = function () {\n          this.out.writeByte(33);\n          this.out.writeByte(249);\n          this.out.writeByte(4);\n          var transp, disp;\n          if (this.transparent === null) {\n            transp = 0;\n            disp = 0;\n          } else {\n            transp = 1;\n            disp = 2;\n          }\n          if (this.dispose >= 0) {\n            disp = dispose & 7;\n          }\n          disp <<= 2;\n          this.out.writeByte(0 | disp | 0 | transp);\n          this.writeShort(this.delay);\n          this.out.writeByte(this.transIndex);\n          this.out.writeByte(0);\n        };\n        GIFEncoder.prototype.writeImageDesc = function () {\n          this.out.writeByte(44);\n          this.writeShort(0);\n          this.writeShort(0);\n          this.writeShort(this.width);\n          this.writeShort(this.height);\n          if (this.firstFrame || this.globalPalette) {\n            this.out.writeByte(0);\n          } else {\n            this.out.writeByte(128 | 0 | 0 | 0 | this.palSize);\n          }\n        };\n        GIFEncoder.prototype.writeLSD = function () {\n          this.writeShort(this.width);\n          this.writeShort(this.height);\n          this.out.writeByte(128 | 112 | 0 | this.palSize);\n          this.out.writeByte(0);\n          this.out.writeByte(0);\n        };\n        GIFEncoder.prototype.writeNetscapeExt = function () {\n          this.out.writeByte(33);\n          this.out.writeByte(255);\n          this.out.writeByte(11);\n          this.out.writeUTFBytes(\"NETSCAPE2.0\");\n          this.out.writeByte(3);\n          this.out.writeByte(1);\n          this.writeShort(this.repeat);\n          this.out.writeByte(0);\n        };\n        GIFEncoder.prototype.writePalette = function () {\n          this.out.writeBytes(this.colorTab);\n          var n = 3 * 256 - this.colorTab.length;\n          for (var i = 0; i < n; i++) this.out.writeByte(0);\n        };\n        GIFEncoder.prototype.writeShort = function (pValue) {\n          this.out.writeByte(pValue & 255);\n          this.out.writeByte((pValue >> 8) & 255);\n        };\n        GIFEncoder.prototype.writePixels = function () {\n          var enc = new LZWEncoder(\n            this.width,\n            this.height,\n            this.indexedPixels,\n            this.colorDepth\n          );\n          enc.encode(this.out);\n        };\n        GIFEncoder.prototype.stream = function () {\n          return this.out;\n        };\n        module.exports = GIFEncoder;\n      },\n      { \"./LZWEncoder.js\": 2, \"./TypedNeuQuant.js\": 3 },\n    ],\n    2: [\n      function (require, module, exports) {\n        var EOF = -1;\n        var BITS = 12;\n        var HSIZE = 5003;\n        var masks = [\n          0, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383,\n          32767, 65535,\n        ];\n        function LZWEncoder(width, height, pixels, colorDepth) {\n          var initCodeSize = Math.max(2, colorDepth);\n          var accum = new Uint8Array(256);\n          var htab = new Int32Array(HSIZE);\n          var codetab = new Int32Array(HSIZE);\n          var cur_accum,\n            cur_bits = 0;\n          var a_count;\n          var free_ent = 0;\n          var maxcode;\n          var clear_flg = false;\n          var g_init_bits, ClearCode, EOFCode;\n          function char_out(c, outs) {\n            accum[a_count++] = c;\n            if (a_count >= 254) flush_char(outs);\n          }\n          function cl_block(outs) {\n            cl_hash(HSIZE);\n            free_ent = ClearCode + 2;\n            clear_flg = true;\n            output(ClearCode, outs);\n          }\n          function cl_hash(hsize) {\n            for (var i = 0; i < hsize; ++i) htab[i] = -1;\n          }\n          function compress(init_bits, outs) {\n            var fcode, c, i, ent, disp, hsize_reg, hshift;\n            g_init_bits = init_bits;\n            clear_flg = false;\n            n_bits = g_init_bits;\n            maxcode = MAXCODE(n_bits);\n            ClearCode = 1 << (init_bits - 1);\n            EOFCode = ClearCode + 1;\n            free_ent = ClearCode + 2;\n            a_count = 0;\n            ent = nextPixel();\n            hshift = 0;\n            for (fcode = HSIZE; fcode < 65536; fcode *= 2) ++hshift;\n            hshift = 8 - hshift;\n            hsize_reg = HSIZE;\n            cl_hash(hsize_reg);\n            output(ClearCode, outs);\n            outer_loop: while ((c = nextPixel()) != EOF) {\n              fcode = (c << BITS) + ent;\n              i = (c << hshift) ^ ent;\n              if (htab[i] === fcode) {\n                ent = codetab[i];\n                continue;\n              } else if (htab[i] >= 0) {\n                disp = hsize_reg - i;\n                if (i === 0) disp = 1;\n                do {\n                  if ((i -= disp) < 0) i += hsize_reg;\n                  if (htab[i] === fcode) {\n                    ent = codetab[i];\n                    continue outer_loop;\n                  }\n                } while (htab[i] >= 0);\n              }\n              output(ent, outs);\n              ent = c;\n              if (free_ent < 1 << BITS) {\n                codetab[i] = free_ent++;\n                htab[i] = fcode;\n              } else {\n                cl_block(outs);\n              }\n            }\n            output(ent, outs);\n            output(EOFCode, outs);\n          }\n          function encode(outs) {\n            outs.writeByte(initCodeSize);\n            remaining = width * height;\n            curPixel = 0;\n            compress(initCodeSize + 1, outs);\n            outs.writeByte(0);\n          }\n          function flush_char(outs) {\n            if (a_count > 0) {\n              outs.writeByte(a_count);\n              outs.writeBytes(accum, 0, a_count);\n              a_count = 0;\n            }\n          }\n          function MAXCODE(n_bits) {\n            return (1 << n_bits) - 1;\n          }\n          function nextPixel() {\n            if (remaining === 0) return EOF;\n            --remaining;\n            var pix = pixels[curPixel++];\n            return pix & 255;\n          }\n          function output(code, outs) {\n            cur_accum &= masks[cur_bits];\n            if (cur_bits > 0) cur_accum |= code << cur_bits;\n            else cur_accum = code;\n            cur_bits += n_bits;\n            while (cur_bits >= 8) {\n              char_out(cur_accum & 255, outs);\n              cur_accum >>= 8;\n              cur_bits -= 8;\n            }\n            if (free_ent > maxcode || clear_flg) {\n              if (clear_flg) {\n                maxcode = MAXCODE((n_bits = g_init_bits));\n                clear_flg = false;\n              } else {\n                ++n_bits;\n                if (n_bits == BITS) maxcode = 1 << BITS;\n                else maxcode = MAXCODE(n_bits);\n              }\n            }\n            if (code == EOFCode) {\n              while (cur_bits > 0) {\n                char_out(cur_accum & 255, outs);\n                cur_accum >>= 8;\n                cur_bits -= 8;\n              }\n              flush_char(outs);\n            }\n          }\n          this.encode = encode;\n        }\n        module.exports = LZWEncoder;\n      },\n      {},\n    ],\n    3: [\n      function (require, module, exports) {\n        var ncycles = 100;\n        var netsize = 256;\n        var maxnetpos = netsize - 1;\n        var netbiasshift = 4;\n        var intbiasshift = 16;\n        var intbias = 1 << intbiasshift;\n        var gammashift = 10;\n        var gamma = 1 << gammashift;\n        var betashift = 10;\n        var beta = intbias >> betashift;\n        var betagamma = intbias << (gammashift - betashift);\n        var initrad = netsize >> 3;\n        var radiusbiasshift = 6;\n        var radiusbias = 1 << radiusbiasshift;\n        var initradius = initrad * radiusbias;\n        var radiusdec = 30;\n        var alphabiasshift = 10;\n        var initalpha = 1 << alphabiasshift;\n        var alphadec;\n        var radbiasshift = 8;\n        var radbias = 1 << radbiasshift;\n        var alpharadbshift = alphabiasshift + radbiasshift;\n        var alpharadbias = 1 << alpharadbshift;\n        var prime1 = 499;\n        var prime2 = 491;\n        var prime3 = 487;\n        var prime4 = 503;\n        var minpicturebytes = 3 * prime4;\n        function NeuQuant(pixels, samplefac) {\n          var network;\n          var netindex;\n          var bias;\n          var freq;\n          var radpower;\n          function init() {\n            network = [];\n            netindex = new Int32Array(256);\n            bias = new Int32Array(netsize);\n            freq = new Int32Array(netsize);\n            radpower = new Int32Array(netsize >> 3);\n            var i, v;\n            for (i = 0; i < netsize; i++) {\n              v = (i << (netbiasshift + 8)) / netsize;\n              network[i] = new Float64Array([v, v, v, 0]);\n              freq[i] = intbias / netsize;\n              bias[i] = 0;\n            }\n          }\n          function unbiasnet() {\n            for (var i = 0; i < netsize; i++) {\n              network[i][0] >>= netbiasshift;\n              network[i][1] >>= netbiasshift;\n              network[i][2] >>= netbiasshift;\n              network[i][3] = i;\n            }\n          }\n          function altersingle(alpha, i, b, g, r) {\n            network[i][0] -= (alpha * (network[i][0] - b)) / initalpha;\n            network[i][1] -= (alpha * (network[i][1] - g)) / initalpha;\n            network[i][2] -= (alpha * (network[i][2] - r)) / initalpha;\n          }\n          function alterneigh(radius, i, b, g, r) {\n            var lo = Math.abs(i - radius);\n            var hi = Math.min(i + radius, netsize);\n            var j = i + 1;\n            var k = i - 1;\n            var m = 1;\n            var p, a;\n            while (j < hi || k > lo) {\n              a = radpower[m++];\n              if (j < hi) {\n                p = network[j++];\n                p[0] -= (a * (p[0] - b)) / alpharadbias;\n                p[1] -= (a * (p[1] - g)) / alpharadbias;\n                p[2] -= (a * (p[2] - r)) / alpharadbias;\n              }\n              if (k > lo) {\n                p = network[k--];\n                p[0] -= (a * (p[0] - b)) / alpharadbias;\n                p[1] -= (a * (p[1] - g)) / alpharadbias;\n                p[2] -= (a * (p[2] - r)) / alpharadbias;\n              }\n            }\n          }\n          function contest(b, g, r) {\n            var bestd = ~(1 << 31);\n            var bestbiasd = bestd;\n            var bestpos = -1;\n            var bestbiaspos = bestpos;\n            var i, n, dist, biasdist, betafreq;\n            for (i = 0; i < netsize; i++) {\n              n = network[i];\n              dist =\n                Math.abs(n[0] - b) + Math.abs(n[1] - g) + Math.abs(n[2] - r);\n              if (dist < bestd) {\n                bestd = dist;\n                bestpos = i;\n              }\n              biasdist = dist - (bias[i] >> (intbiasshift - netbiasshift));\n              if (biasdist < bestbiasd) {\n                bestbiasd = biasdist;\n                bestbiaspos = i;\n              }\n              betafreq = freq[i] >> betashift;\n              freq[i] -= betafreq;\n              bias[i] += betafreq << gammashift;\n            }\n            freq[bestpos] += beta;\n            bias[bestpos] -= betagamma;\n            return bestbiaspos;\n          }\n          function inxbuild() {\n            var i,\n              j,\n              p,\n              q,\n              smallpos,\n              smallval,\n              previouscol = 0,\n              startpos = 0;\n            for (i = 0; i < netsize; i++) {\n              p = network[i];\n              smallpos = i;\n              smallval = p[1];\n              for (j = i + 1; j < netsize; j++) {\n                q = network[j];\n                if (q[1] < smallval) {\n                  smallpos = j;\n                  smallval = q[1];\n                }\n              }\n              q = network[smallpos];\n              if (i != smallpos) {\n                j = q[0];\n                q[0] = p[0];\n                p[0] = j;\n                j = q[1];\n                q[1] = p[1];\n                p[1] = j;\n                j = q[2];\n                q[2] = p[2];\n                p[2] = j;\n                j = q[3];\n                q[3] = p[3];\n                p[3] = j;\n              }\n              if (smallval != previouscol) {\n                netindex[previouscol] = (startpos + i) >> 1;\n                for (j = previouscol + 1; j < smallval; j++) netindex[j] = i;\n                previouscol = smallval;\n                startpos = i;\n              }\n            }\n            netindex[previouscol] = (startpos + maxnetpos) >> 1;\n            for (j = previouscol + 1; j < 256; j++) netindex[j] = maxnetpos;\n          }\n          function inxsearch(b, g, r) {\n            var a, p, dist;\n            var bestd = 1e3;\n            var best = -1;\n            var i = netindex[g];\n            var j = i - 1;\n            while (i < netsize || j >= 0) {\n              if (i < netsize) {\n                p = network[i];\n                dist = p[1] - g;\n                if (dist >= bestd) i = netsize;\n                else {\n                  i++;\n                  if (dist < 0) dist = -dist;\n                  a = p[0] - b;\n                  if (a < 0) a = -a;\n                  dist += a;\n                  if (dist < bestd) {\n                    a = p[2] - r;\n                    if (a < 0) a = -a;\n                    dist += a;\n                    if (dist < bestd) {\n                      bestd = dist;\n                      best = p[3];\n                    }\n                  }\n                }\n              }\n              if (j >= 0) {\n                p = network[j];\n                dist = g - p[1];\n                if (dist >= bestd) j = -1;\n                else {\n                  j--;\n                  if (dist < 0) dist = -dist;\n                  a = p[0] - b;\n                  if (a < 0) a = -a;\n                  dist += a;\n                  if (dist < bestd) {\n                    a = p[2] - r;\n                    if (a < 0) a = -a;\n                    dist += a;\n                    if (dist < bestd) {\n                      bestd = dist;\n                      best = p[3];\n                    }\n                  }\n                }\n              }\n            }\n            return best;\n          }\n          function learn() {\n            var i;\n            var lengthcount = pixels.length;\n            var alphadec = 30 + (samplefac - 1) / 3;\n            var samplepixels = lengthcount / (3 * samplefac);\n            var delta = ~~(samplepixels / ncycles);\n            var alpha = initalpha;\n            var radius = initradius;\n            var rad = radius >> radiusbiasshift;\n            if (rad <= 1) rad = 0;\n            for (i = 0; i < rad; i++)\n              radpower[i] =\n                alpha * (((rad * rad - i * i) * radbias) / (rad * rad));\n            var step;\n            if (lengthcount < minpicturebytes) {\n              samplefac = 1;\n              step = 3;\n            } else if (lengthcount % prime1 !== 0) {\n              step = 3 * prime1;\n            } else if (lengthcount % prime2 !== 0) {\n              step = 3 * prime2;\n            } else if (lengthcount % prime3 !== 0) {\n              step = 3 * prime3;\n            } else {\n              step = 3 * prime4;\n            }\n            var b, g, r, j;\n            var pix = 0;\n            i = 0;\n            while (i < samplepixels) {\n              b = (pixels[pix] & 255) << netbiasshift;\n              g = (pixels[pix + 1] & 255) << netbiasshift;\n              r = (pixels[pix + 2] & 255) << netbiasshift;\n              j = contest(b, g, r);\n              altersingle(alpha, j, b, g, r);\n              if (rad !== 0) alterneigh(rad, j, b, g, r);\n              pix += step;\n              if (pix >= lengthcount) pix -= lengthcount;\n              i++;\n              if (delta === 0) delta = 1;\n              if (i % delta === 0) {\n                alpha -= alpha / alphadec;\n                radius -= radius / radiusdec;\n                rad = radius >> radiusbiasshift;\n                if (rad <= 1) rad = 0;\n                for (j = 0; j < rad; j++)\n                  radpower[j] =\n                    alpha * (((rad * rad - j * j) * radbias) / (rad * rad));\n              }\n            }\n          }\n          function buildColormap() {\n            init();\n            learn();\n            unbiasnet();\n            inxbuild();\n          }\n          this.buildColormap = buildColormap;\n          function getColormap() {\n            var map = [];\n            var index = [];\n            for (var i = 0; i < netsize; i++) index[network[i][3]] = i;\n            var k = 0;\n            for (var l = 0; l < netsize; l++) {\n              var j = index[l];\n              map[k++] = network[j][0];\n              map[k++] = network[j][1];\n              map[k++] = network[j][2];\n            }\n            return map;\n          }\n          this.getColormap = getColormap;\n          this.lookupRGB = inxsearch;\n        }\n        module.exports = NeuQuant;\n      },\n      {},\n    ],\n    4: [\n      function (require, module, exports) {\n        var GIFEncoder, renderFrame;\n        GIFEncoder = require(\"./GIFEncoder.js\");\n        renderFrame = function (frame) {\n          var encoder, page, stream, transfer;\n          encoder = new GIFEncoder(frame.width, frame.height);\n          if (frame.index === 0) {\n            encoder.writeHeader();\n          } else {\n            encoder.firstFrame = false;\n          }\n          encoder.setTransparent(frame.transparent);\n          encoder.setRepeat(frame.repeat);\n          encoder.setDelay(frame.delay);\n          encoder.setQuality(frame.quality);\n          encoder.setDither(frame.dither);\n          encoder.setGlobalPalette(frame.globalPalette);\n          encoder.addFrame(frame.data);\n          if (frame.last) {\n            encoder.finish();\n          }\n          if (frame.globalPalette === true) {\n            frame.globalPalette = encoder.getGlobalPalette();\n          }\n          stream = encoder.stream();\n          frame.data = stream.pages;\n          frame.cursor = stream.cursor;\n          frame.pageSize = stream.constructor.pageSize;\n          if (frame.canTransfer) {\n            transfer = (function () {\n              var i, len, ref, results;\n              ref = frame.data;\n              results = [];\n              for (i = 0, len = ref.length; i < len; i++) {\n                page = ref[i];\n                results.push(page.buffer);\n              }\n              return results;\n            })();\n            return self.postMessage(frame, transfer);\n          } else {\n            return self.postMessage(frame);\n          }\n        };\n        self.onmessage = function (event) {\n          return renderFrame(event.data);\n        };\n      },\n      { \"./GIFEncoder.js\": 1 },\n    ],\n  },\n  {},\n  [4]\n);\n//# sourceMappingURL=gif.worker.js.map\n"
  },
  {
    "path": "src/App.tsx",
    "content": "import React from \"react\";\nimport { Embed } from \"./pages/Embed\";\nimport { InscribedEditor } from \"./pages/InscribedEditor\";\n\nconst App: React.FC = () => {\n  const params = new URLSearchParams(window.location.search);\n  const pathname = window.location.pathname;\n\n  // Check if we're on the /share path\n  const isSharePath = pathname.startsWith(\"/share\");\n  // Check if we're on the /embed path\n  const isEmbedPath = pathname.startsWith(\"/embed\");\n\n  let type: string | null;\n  let gistUrl: string | null;\n  let filename: string | undefined;\n\n  // New format for /share path\n  if (isSharePath) {\n    const gistParam = params.get(\"gist\");\n    if (gistParam) {\n      // For share URLs, default to presentation type if not specified\n      type = params.get(\"type\") || \"presentation\";\n\n      // Check if the gist parameter is a full raw URL\n      if (gistParam.includes(\"raw\")) {\n        gistUrl = gistParam; // Use the raw URL directly\n      } else if (gistParam.startsWith(\"https://gist.github.com/\")) {\n        gistUrl = gistParam; // Use the full gist URL directly\n      } else {\n        // Convert username/gistid to full gist URL\n        gistUrl = `https://gist.github.com/${gistParam}`;\n      }\n\n      // Get filename from params\n      filename = params.get(\"filename\") || undefined;\n    } else {\n      // Legacy format fallback for /share (shouldn't happen with new links)\n      type = params.get(\"type\");\n      gistUrl = params.get(\"gist_url\");\n      filename = params.get(\"filename\") || undefined;\n    }\n  } else {\n    // Original format for non-share paths (like /embed)\n    type = params.get(\"type\");\n    gistUrl = params.get(\"gist_url\");\n    filename = params.get(\"filename\") || undefined;\n  }\n\n  // Render embed view or main app\n  if (\n    (isSharePath || isEmbedPath) &&\n    (type === \"presentation\" || type === \"slider-template\") &&\n    gistUrl\n  ) {\n    return (\n      <Embed\n        gistUrl={gistUrl}\n        filename={filename}\n        type={type as \"presentation\" | \"slider-template\"}\n      />\n    );\n  }\n\n  return <InscribedEditor />;\n};\n\nexport default App;\n"
  },
  {
    "path": "src/components/Canvas.tsx",
    "content": "import React, { useRef, useEffect, useCallback, useState } from \"react\";\nimport { Excalidraw, parseLibraryTokensFromUrl } from \"@excalidraw/excalidraw\";\nimport { createDefaultFrame, useDocumentStore } from \"../store/document\";\nimport {\n  ExcalidrawElement,\n  ExcalidrawImageElement,\n  FileId,\n} from \"@excalidraw/excalidraw/types/element/types\";\nimport {\n  AppState,\n  BinaryFiles,\n  ExcalidrawImperativeAPI,\n  Gesture,\n} from \"@excalidraw/excalidraw/types/types\";\nimport { useFontsStore } from \"../store/custom-fonts\";\nimport { Slide, Writeable } from \"../types\";\nimport { useModalStore } from \"../store/modal\";\nimport { getExcalidrawFontId, loadExcalidrawFonts } from \"../utils/fonts\";\nimport { useLibraryStore } from \"../store/library\";\nimport { copy } from \"../utils/general\";\nimport { getImageDimensions } from \"../utils/excalidraw\";\n\nexport const Canvas: React.FC = () => {\n  const {\n    slides,\n    currentSlideIndex,\n    updateSlide,\n    documentSize,\n    files,\n    setFiles,\n    backgroundColor,\n    getSidebarCollapsed,\n  } = useDocumentStore();\n  const { customFonts } = useFontsStore();\n  const hasInitialized = useDocumentStore((state) => state._initialized);\n  const { openModal } = useModalStore();\n  const { libraryItems, setItems } = useLibraryStore();\n  const currentSlide = slides[currentSlideIndex];\n  const previousFilesRef = useRef<BinaryFiles | null>(null);\n  const previousSelectionIdsRef = useRef<{ [id: string]: boolean }>({});\n  const excalidrawAPIRef = useRef<ExcalidrawImperativeAPI | null>(null);\n  const previousPointerRef = useRef<PointerEvent | null>(null);\n  const [fontsLoaded, setFontsLoaded] = useState(false);\n  const isSidebarCollapsed = getSidebarCollapsed();\n  const canvasRef = useRef<HTMLDivElement>(null);\n  const totalSlidesRef = useRef<number>(slides.length);\n\n  const scrollToFrame = (frame: ExcalidrawElement) => {\n    excalidrawAPIRef.current?.scrollToContent(frame, {\n      fitToViewport: true,\n      viewportZoomFactor: 0.9,\n    });\n  };\n\n  // add Excalidraw library from urls\n  useEffect(() => {\n    const parsed = parseLibraryTokensFromUrl();\n    if (!parsed) return;\n\n    const { libraryUrl } = parsed;\n\n    fetch(libraryUrl)\n      .then((res) => res.json())\n      .then((data) => {\n        setItems([...libraryItems, ...(data?.library || [])]);\n        window.history.replaceState(null, \"\", window.location.pathname);\n        excalidrawAPIRef.current?.updateLibrary({\n          libraryItems: [...libraryItems, ...(data?.library || [])],\n        });\n      })\n      .catch(console.error);\n  }, []);\n\n  const handleTextSelectionChange = (ids: string[]) => {\n    // check if label already exists\n    const addCustomFontsLabel = () => {\n      const existingLabel = document.getElementById(\"open-custom-fonts-modal\");\n      if (existingLabel) {\n        existingLabel.remove();\n      }\n\n      // add custom fonts button to the popup\n      const elements = excalidrawAPIRef.current\n        ?.getSceneElements()\n        .filter((e) => ids.includes(e.id));\n      const isSomeText = elements?.some((e) => e.type === \"text\");\n      if (!isSomeText) return;\n\n      let fontFamilyFieldset: HTMLFieldSetElement | null = null;\n      const fieldsets = document.querySelectorAll(\n        \"div.Stack.Stack_vertical.App-menu_top__left fieldset\"\n      );\n      for (const fieldset of fieldsets) {\n        if (fieldset.innerHTML.includes(\"Font family\")) {\n          fontFamilyFieldset = fieldset as HTMLFieldSetElement;\n        }\n      }\n      if (fontFamilyFieldset == null) return;\n\n      const fontFamilyPopup = fontFamilyFieldset.querySelector(\"div\");\n      if (!fontFamilyPopup) return;\n\n      const label = document.createElement(\"label\");\n      label.id = \"open-custom-fonts-modal\";\n      label.title = \"Custom Fonts\";\n      label.innerHTML = `\n        <input type=\"radio\" name=\"custom-fonts\">\n        <svg aria-hidden=\"true\" focusable=\"false\" role=\"img\" viewBox=\"0 0 24 24\" class=\"\" fill=\"none\" stroke-width=\"2\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><g stroke-width=\"1.5\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"></path><line x1=\"4\" y1=\"20\" x2=\"7\" y2=\"20\"></line><line x1=\"14\" y1=\"20\" x2=\"21\" y2=\"20\"></line><line x1=\"6.9\" y1=\"15\" x2=\"13.8\" y2=\"15\"></line><line x1=\"10.2\" y1=\"6.3\" x2=\"16\" y2=\"20\"></line><polyline points=\"5 20 11 4 13 4 20 20\"></polyline></g></svg>\n      `;\n      label.style.border = \"1px solid #d7622b\";\n\n      fontFamilyPopup.appendChild(label);\n      label.addEventListener(\"click\", (e) => {\n        e.preventDefault();\n        e.stopPropagation();\n        openModal(\"custom-fonts-modal\");\n      });\n    };\n\n    addCustomFontsLabel();\n  };\n\n  // Save the current slide when user change focus from the canvas\n  const handleCanvasBlur = useCallback(() => {\n    if (excalidrawAPIRef.current) {\n      const elements = excalidrawAPIRef.current.getSceneElements();\n      updateSlide(currentSlideIndex, copy(elements));\n    }\n  }, [currentSlideIndex, updateSlide]);\n\n  useEffect(() => {\n    const handleClickOutside = (event: MouseEvent) => {\n      if (\n        canvasRef.current &&\n        !canvasRef.current.contains(event.target as Node)\n      ) {\n        handleCanvasBlur();\n      }\n    };\n\n    const handleWindowBlur = () => {\n      handleCanvasBlur();\n    };\n\n    document.addEventListener(\"mousedown\", handleClickOutside);\n    window.addEventListener(\"blur\", handleWindowBlur);\n\n    return () => {\n      document.removeEventListener(\"mousedown\", handleClickOutside);\n      window.removeEventListener(\"blur\", handleWindowBlur);\n    };\n  }, [handleCanvasBlur]);\n\n  // register fonts to Excalidraw\n  useEffect(() => {\n    if (!hasInitialized) return;\n\n    const excalidrawFontIds = [];\n    for (const slide of slides) {\n      for (const element of slide.elements) {\n        if (element.type === \"text\") {\n          excalidrawFontIds.push(element.fontFamily);\n        }\n      }\n    }\n\n    loadExcalidrawFonts([...new Set(excalidrawFontIds)]).then(() => {\n      setFontsLoaded(true);\n      useFontsStore.setState({ _initialized: true });\n    });\n  }, [customFonts, slides, hasInitialized]);\n\n  // apply font to selected items after user selects a font\n  useEffect(() => {\n    const handleFontSelected = async (e: Event) => {\n      const customEvent = e as CustomEvent;\n      const { fontFamily } = customEvent.detail;\n\n      // load excalidraw fonts\n      await loadExcalidrawFonts([getExcalidrawFontId(fontFamily)]);\n\n      const selectedIds = Object.keys(previousSelectionIdsRef.current);\n      const selectedElements: Writeable<ExcalidrawElement>[] = copy(\n        excalidrawAPIRef.current?.getSceneElements() as object\n      );\n      selectedElements?.forEach((e: Writeable<ExcalidrawElement>) => {\n        if (e.type === \"text\" && selectedIds.includes(e.id)) {\n          e.fontFamily = getExcalidrawFontId(fontFamily);\n        }\n      });\n      excalidrawAPIRef.current?.updateScene({\n        elements: selectedElements,\n      });\n    };\n\n    window.addEventListener(\"fontSelected\", handleFontSelected);\n    return () => {\n      window.removeEventListener(\"fontSelected\", handleFontSelected);\n    };\n  }, []);\n\n  // handle document size change\n  useEffect(() => {\n    if (!excalidrawAPIRef.current) return;\n\n    const _slides = copy(slides);\n    _slides.forEach((_slide: Slide, index: number) => {\n      const frame: Writeable<ExcalidrawElement> | undefined =\n        _slide.elements.find(\n          (element: ExcalidrawElement) => element.id === \"frame\"\n        );\n      if (frame) {\n        frame.width = documentSize.width;\n        frame.height = documentSize.height;\n      }\n\n      updateSlide(index, _slide.elements);\n\n      if (index === currentSlideIndex) {\n        excalidrawAPIRef.current?.updateScene({\n          elements: _slide.elements,\n        });\n      }\n    });\n  }, [documentSize, currentSlideIndex]);\n\n  // handle background color change\n  useEffect(() => {\n    if (!excalidrawAPIRef.current) return;\n\n    excalidrawAPIRef.current.updateScene({\n      appState: {\n        viewBackgroundColor: backgroundColor,\n      },\n    });\n  }, [backgroundColor]);\n\n  const onPointerUpdate = (payload: {\n    pointer: {\n      x: number;\n      y: number;\n      tool: \"pointer\" | \"laser\";\n    };\n    button: \"down\" | \"up\";\n    pointersMap: Gesture[\"pointers\"];\n  }) => {\n    if (payload.button === \"down\") {\n      previousPointerRef.current = { type: \"down\" } as PointerEvent;\n    } else if (\n      payload.button === \"up\" &&\n      previousPointerRef.current?.type === \"down\"\n    ) {\n      previousPointerRef.current = null;\n\n      updateSlide(\n        currentSlideIndex,\n        copy(excalidrawAPIRef.current?.getSceneElements() as object)\n      );\n    }\n  };\n\n  const onChange = useCallback(\n    (\n      elements: readonly ExcalidrawElement[],\n      appState: AppState,\n      files: BinaryFiles\n    ) => {\n      if (elements.length === 0) {\n        let frame = currentSlide.elements.find(\n          (element) => element.id === \"frame\"\n        ) as ExcalidrawElement;\n\n        // if somehow frame is not found, create a new one\n        if (!frame) {\n          frame = createDefaultFrame();\n          excalidrawAPIRef.current?.updateScene({\n            elements: [...currentSlide.elements, frame],\n          });\n        } else {\n          excalidrawAPIRef.current?.updateScene({\n            elements: currentSlide.elements,\n          });\n        }\n\n        setTimeout(() => {\n          scrollToFrame(frame);\n        }, 0);\n        return;\n      }\n\n      // handle files change\n      if (JSON.stringify(previousFilesRef.current) !== JSON.stringify(files)) {\n        setFiles(files);\n        previousFilesRef.current = files;\n\n        const latestFileId = Object.keys(files).sort((a, b) => {\n          return (files[b]?.created ?? 0) - (files[a]?.created ?? 0);\n        })[0];\n\n        if (latestFileId && files[latestFileId]) {\n          const fileData = files[latestFileId];\n          if (fileData.dataURL) {\n            getImageDimensions(fileData.dataURL).then(({ width, height }) => {\n              const elements =\n                excalidrawAPIRef.current?.getSceneElements() ?? [];\n              elements.forEach((element) => {\n                if (element.type === \"image\" && element.fileId === null) {\n                  const imageElement =\n                    element as Writeable<ExcalidrawImageElement>;\n                  imageElement.fileId = latestFileId as FileId;\n                  imageElement.width = width;\n                  imageElement.height = height;\n                }\n              });\n              excalidrawAPIRef.current?.updateScene({\n                elements: elements,\n              });\n            });\n          }\n        }\n      }\n\n      // handle selection change\n      if (\n        JSON.stringify(appState.selectedElementIds) !==\n        JSON.stringify(previousSelectionIdsRef.current)\n      ) {\n        handleTextSelectionChange(Object.keys(appState.selectedElementIds));\n        previousSelectionIdsRef.current = appState.selectedElementIds;\n        // update state when users move the items\n        updateSlide(currentSlideIndex, copy(elements));\n      }\n    },\n    [currentSlide.elements, currentSlideIndex]\n  );\n\n  // handle when user delete slides\n  useEffect(() => {\n    if (totalSlidesRef.current !== slides.length) {\n      totalSlidesRef.current = slides.length;\n      if (excalidrawAPIRef.current) {\n        excalidrawAPIRef.current.updateScene({\n          elements: currentSlide.elements,\n        });\n      }\n    }\n  }, [slides]);\n\n  if (!hasInitialized || !fontsLoaded)\n    return (\n      <div\n        style={{ left: \"17rem\" }}\n        className=\"fixed top-24 right-4 bottom-4 bg-white rounded-lg shadow-lg overflow-hidden flex items-center justify-center\"\n      >\n        Loading...\n      </div>\n    );\n\n  return (\n    <div\n      ref={canvasRef}\n      style={{\n        left: isSidebarCollapsed ? \"1rem\" : \"17rem\",\n        transition: \"left 0.3s ease\", // Match the sidebar transition duration\n      }}\n      className=\"fixed top-24 right-4 bottom-4 bg-white rounded-lg shadow-lg overflow-hidden\"\n    >\n      <Excalidraw\n        excalidrawAPI={(api) => {\n          excalidrawAPIRef.current = api;\n        }}\n        onPointerUpdate={onPointerUpdate}\n        initialData={{\n          files,\n          appState: {\n            viewBackgroundColor: backgroundColor,\n            width: documentSize.width,\n            height: documentSize.height,\n            isLoading: false,\n            errorMessage: null,\n            gridSize: null,\n          },\n          libraryItems: libraryItems,\n        }}\n        gridModeEnabled={false}\n        onLibraryChange={(items) => {\n          setItems(items);\n        }}\n        onPaste={(data) => {\n          const pastedElements = (data as { elements: ExcalidrawElement[] })\n            .elements;\n\n          // if some pasted elements are already in the slide\n          // use the Excalidraw default paste behavior\n          if (\n            pastedElements.some((element) =>\n              slides[currentSlideIndex].elements.some(\n                (e) => e.id === element.id\n              )\n            )\n          ) {\n            return true;\n          }\n\n          const newElements = [\n            ...slides[currentSlideIndex].elements,\n            ...(data as { elements: ExcalidrawElement[] }).elements,\n          ];\n          excalidrawAPIRef.current?.updateScene({\n            elements: newElements,\n          });\n          updateSlide(currentSlideIndex, newElements);\n          return false;\n        }}\n        onChange={onChange}\n      />\n    </div>\n  );\n};\n"
  },
  {
    "path": "src/components/CustomFontsModal.tsx",
    "content": "import React, { useEffect, useState } from \"react\";\nimport { X, Trash2 } from \"lucide-react\";\nimport { useFontsStore } from \"../store/custom-fonts\";\nimport { parseFontFaces } from \"../utils/fonts\";\n\ninterface CustomFontsModalProps {\n  isOpen: boolean;\n  onClose: () => void;\n}\n\nexport const CustomFontsModal: React.FC<CustomFontsModalProps> = ({\n  isOpen,\n  onClose,\n}) => {\n  const { customFonts, addFonts, removeFont } = useFontsStore();\n  const [embedCode, setEmbedCode] = useState(\"\");\n  const [searchQuery, setSearchQuery] = useState(\"\");\n  const searchInputRef = React.useRef<HTMLInputElement>(null);\n  const [hasInitiallyFocused, setHasInitiallyFocused] = useState(false);\n\n  // handle search input focus\n  useEffect(() => {\n    if (isOpen && !hasInitiallyFocused) {\n      searchInputRef.current?.focus();\n      setHasInitiallyFocused(true);\n    }\n\n    if (!isOpen) {\n      setHasInitiallyFocused(false);\n    }\n  }, [isOpen, hasInitiallyFocused]);\n\n  // ESC shortcut\n  useEffect(() => {\n    const handleEscKey = (event: KeyboardEvent) => {\n      if (event.key === \"Escape\" && isOpen) {\n        onClose();\n      }\n    };\n\n    window.addEventListener(\"keydown\", handleEscKey);\n    return () => window.removeEventListener(\"keydown\", handleEscKey);\n  }, [isOpen, onClose]);\n\n  const handleEmbedFonts = async (e: React.FormEvent) => {\n    e.preventDefault();\n\n    const linkPattern =\n      /href=\"(https:\\/\\/fonts\\.googleapis\\.com\\/css2\\?[^\"]+)\"/;\n    const importPattern =\n      /@import url\\(['\"]?(https:\\/\\/fonts\\.googleapis\\.com\\/css2\\?[^'\"]+)['\"]?\\)/;\n\n    const linkMatch = embedCode.match(linkPattern);\n    const importMatch = embedCode.match(importPattern);\n\n    const fontUrl = linkMatch?.[1] || importMatch?.[1];\n    if (!fontUrl) {\n      alert(\"Invalid Google Fonts embed code\");\n      return;\n    }\n\n    const response = await fetch(fontUrl);\n    const content = await response.text();\n    const fontFaces = parseFontFaces(content);\n\n    addFonts(fontFaces);\n    setEmbedCode(\"\");\n  };\n\n  const handleFontClick = (fontFamily: string) => {\n    const event = new CustomEvent(\"fontSelected\", {\n      detail: { fontFamily },\n    });\n    window.dispatchEvent(event);\n    onClose();\n  };\n\n  if (!isOpen) return null;\n\n  const filteredFonts = Object.entries(customFonts).filter(([fontFamily]) =>\n    fontFamily.toLowerCase().includes(searchQuery.toLowerCase())\n  );\n\n  return (\n    <div className=\"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-[999999]\">\n      <div className=\"bg-white rounded-lg w-full max-w-md border-b\">\n        <div className=\"flex items-center justify-between p-4\">\n          <h2 className=\"text-xl font-semibold\">Custom Fonts</h2>\n          <button\n            onClick={onClose}\n            className=\"p-1 hover:bg-gray-100 rounded-full transition-colors\"\n          >\n            <X size={20} />\n          </button>\n        </div>\n\n        <div className=\"p-4 border-b\">\n          <div className=\"mb-3\">\n            <input\n              ref={searchInputRef}\n              type=\"text\"\n              placeholder=\"Search fonts...\"\n              value={searchQuery}\n              onChange={(e) => setSearchQuery(e.target.value)}\n              className=\"w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-1 focus:ring-blue-500\"\n            />\n          </div>\n\n          <div className=\"space-y-2 max-h-[200px] overflow-y-auto\">\n            {filteredFonts.map(([fontFamily]) => (\n              <div\n                key={fontFamily}\n                className=\"flex items-center justify-between p-2 bg-gray-50 hover:bg-gray-100 rounded transition-colors\"\n              >\n                <span\n                  style={{ fontFamily: `${fontFamily}, sans-serif` }}\n                  onClick={() => handleFontClick(fontFamily)}\n                  className=\"cursor-pointer hover:opacity-75\"\n                >\n                  {fontFamily}\n                </span>\n                <button\n                  onClick={() => removeFont(fontFamily)}\n                  className=\"p-1 text-red-600 hover:bg-red-50 rounded transition-colors\"\n                >\n                  <Trash2 size={16} />\n                </button>\n              </div>\n            ))}\n            {filteredFonts.length === 0 && (\n              <p className=\"text-gray-500 text-sm\">\n                {Object.keys(customFonts).length === 0\n                  ? \"No fonts added yet\"\n                  : \"No matching fonts found\"}\n              </p>\n            )}\n          </div>\n        </div>\n\n        <form onSubmit={handleEmbedFonts} className=\"p-4 space-y-4\">\n          <div>\n            <div className=\"flex justify-between items-center\">\n              <label\n                htmlFor=\"embedCode\"\n                className=\"block text-sm font-medium text-gray-700\"\n              >\n                Embed New Fonts\n              </label>\n              <a\n                href=\"https://fonts.google.com\"\n                target=\"_blank\"\n                rel=\"noopener noreferrer\"\n                className=\"text-sm text-blue-600 hover:text-blue-800\"\n              >\n                browse google fonts →\n              </a>\n            </div>\n            <textarea\n              id=\"embedCode\"\n              value={embedCode}\n              onChange={(e) => setEmbedCode(e.target.value)}\n              className=\"mt-1 block w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-1 focus:ring-blue-500 min-h-[100px]\"\n              placeholder=\"Paste Google Fonts embed code <link> or @import here...\"\n              required\n            />\n            <p className=\"mt-2 text-sm text-gray-500\">\n              Need help?{\" \"}\n              <a\n                href=\"https://github.com/chunrapeepat/inscribed/blob/master/docs/custom-fonts.md\"\n                target=\"_blank\"\n                rel=\"noopener noreferrer\"\n                className=\"text-blue-600 hover:text-blue-800\"\n              >\n                Learn how to add custom fonts\n              </a>\n            </p>\n          </div>\n          <button\n            type=\"submit\"\n            className=\"w-full py-2 px-4 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors\"\n          >\n            Add Font\n          </button>\n        </form>\n      </div>\n    </div>\n  );\n};\n"
  },
  {
    "path": "src/components/DocumentSettingModal.tsx",
    "content": "import React, { useEffect, useState } from \"react\";\nimport { X } from \"lucide-react\";\nimport {\n  DEFAULT_FRAME_HEIGHT,\n  DEFAULT_FRAME_WIDTH,\n  useDocumentStore,\n} from \"../store/document\";\nimport { HexColorPicker } from \"react-colorful\";\n\ninterface DocumentSettingModalProps {\n  isOpen: boolean;\n  onClose: () => void;\n}\n\nexport const DocumentSettingModal: React.FC<DocumentSettingModalProps> = ({\n  isOpen,\n  onClose,\n}) => {\n  const { documentSize, setDocumentSize, backgroundColor, setBackgroundColor } =\n    useDocumentStore();\n  const [width, setWidth] = useState(documentSize.width);\n  const [height, setHeight] = useState(documentSize.height);\n  const [color, setColor] = useState(backgroundColor);\n  const [showColorPicker, setShowColorPicker] = useState(false);\n\n  useEffect(() => {\n    setWidth(documentSize.width);\n    setHeight(documentSize.height);\n    setColor(backgroundColor);\n  }, [documentSize, backgroundColor]);\n\n  // ESC shortcut\n  useEffect(() => {\n    const handleEscKey = (event: KeyboardEvent) => {\n      if (event.key === \"Escape\" && isOpen) {\n        onClose();\n      }\n    };\n\n    window.addEventListener(\"keydown\", handleEscKey);\n    return () => window.removeEventListener(\"keydown\", handleEscKey);\n  }, [isOpen, onClose]);\n\n  if (!isOpen) return null;\n\n  const handleSubmit = (e: React.FormEvent) => {\n    e.preventDefault();\n    setDocumentSize({\n      width: Math.max(\n        100,\n        Math.min(DEFAULT_FRAME_WIDTH * 5, width || DEFAULT_FRAME_WIDTH)\n      ),\n      height: Math.max(\n        100,\n        Math.min(DEFAULT_FRAME_HEIGHT * 5, height || DEFAULT_FRAME_HEIGHT)\n      ),\n    });\n    setBackgroundColor(color);\n    onClose();\n  };\n\n  return (\n    <div className=\"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-[999999]\">\n      <div className=\"bg-white rounded-lg w-full max-w-md\">\n        <div className=\"flex items-center justify-between p-4 border-b\">\n          <h2 className=\"text-xl font-semibold\">Document Setting</h2>\n          <button\n            onClick={onClose}\n            className=\"p-1 hover:bg-gray-100 rounded-full transition-colors\"\n          >\n            <X size={20} />\n          </button>\n        </div>\n        <form onSubmit={handleSubmit} className=\"p-4 space-y-4\">\n          <div className=\"space-y-4\">\n            <div>\n              <label\n                htmlFor=\"width\"\n                className=\"block text-sm font-medium text-gray-700\"\n              >\n                Width (px)\n              </label>\n              <input\n                type=\"number\"\n                id=\"width\"\n                value={width}\n                onChange={(e) => setWidth(Number(e.target.value || 100))}\n                className=\"mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-blue-500 focus:ring-blue-500\"\n                min=\"100\"\n                max=\"4000\"\n                required\n              />\n            </div>\n            <div>\n              <label\n                htmlFor=\"height\"\n                className=\"block text-sm font-medium text-gray-700\"\n              >\n                Height (px)\n              </label>\n              <input\n                type=\"number\"\n                id=\"height\"\n                value={height}\n                onChange={(e) => setHeight(Number(e.target.value || 100))}\n                className=\"mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-blue-500 focus:ring-blue-500\"\n                min=\"100\"\n                max=\"4000\"\n                required\n              />\n            </div>\n            <div>\n              <label\n                htmlFor=\"backgroundColor\"\n                className=\"block text-sm font-medium text-gray-700\"\n              >\n                Background Color\n              </label>\n              <div className=\"mt-1 flex items-center gap-2\">\n                <button\n                  type=\"button\"\n                  onClick={() => setShowColorPicker(!showColorPicker)}\n                  className=\"w-10 h-10 rounded border border-gray-300\"\n                  style={{ backgroundColor: color }}\n                  aria-label=\"Choose background color\"\n                />\n                <input\n                  type=\"text\"\n                  value={color}\n                  onChange={(e) => setColor(e.target.value)}\n                  className=\"block w-full rounded-md border-gray-300 shadow-sm focus:border-blue-500 focus:ring-blue-500\"\n                  placeholder=\"#FFFFFF\"\n                />\n              </div>\n              {showColorPicker && (\n                <div className=\"absolute mt-2 z-10\">\n                  <div\n                    className=\"fixed inset-0\"\n                    onClick={() => setShowColorPicker(false)}\n                  />\n                  <HexColorPicker\n                    color={color}\n                    onChange={setColor}\n                    className=\"relative\"\n                  />\n                </div>\n              )}\n            </div>\n            <div className=\"text-sm text-gray-500\">\n              <p>Recommanded size:</p>\n              <ul className=\"list-disc list-inside\">\n                <li>16:9 Widescreen (1920 × 1080)</li>\n                <li>4:3 Standard (1600 × 1200)</li>\n                <li>1:1 Square (1080 × 1080)</li>\n                <li>9:16 Portrait (1080 × 1920)</li>\n              </ul>\n            </div>\n          </div>\n\n          <div className=\"pt-4 border-t\">\n            <button\n              type=\"submit\"\n              className=\"w-full py-2 px-4 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors\"\n            >\n              Apply Change\n            </button>\n          </div>\n        </form>\n      </div>\n    </div>\n  );\n};\n"
  },
  {
    "path": "src/components/ExportModal.tsx",
    "content": "import React, { useEffect, useState } from \"react\";\nimport { X } from \"lucide-react\";\nimport {\n  exportToGif,\n  fetchDataFromGist,\n  fetchDataFromRawGist,\n  downloadInsFile,\n  generateEmbedCode,\n  handleImport,\n  GistFileData,\n  generateExportData,\n  exportToPdf,\n  exportToVideo,\n  exportToHandDrawnSVG,\n  displayHandDrawnPreview,\n} from \"../utils/export\";\nimport { useDocumentStore } from \"../store/document\";\nimport { useFontsStore } from \"../store/custom-fonts\";\n\ninterface ExportModalProps {\n  isOpen: boolean;\n  onClose: () => void;\n}\n\nconst exportOptions = [\n  {\n    id: \"import\",\n    title: \"Import\",\n    description:\n      \"Import inscribed data (.ins file) This option will overwrite your data, backup your current data before importing\",\n  },\n  {\n    id: \"import-gist\",\n    title: \"Import from Gist\",\n    description:\n      \"Import inscribed data from a GitHub Gist URL. This option will overwrite your data.\",\n  },\n  {\n    id: \"export-data\",\n    title: \"Export Data\",\n    description: \"Export your current data for later editing\",\n  },\n  {\n    id: \"gif\",\n    title: \"Export as GIF\",\n    description: \"Create an animated GIF. Good for sharing on social media.\",\n  },\n  {\n    id: \"pdf\",\n    title: \"Export as PDF\",\n    description:\n      \"Create a PDF document with all your slides. Good for printing or sharing as documents.\",\n  },\n  // {\n  //   id: \"video\",\n  //   title: \"Export as Video (WebM)\",\n  //   description:\n  //     \"Create a WebM video of your slides. Good for presentations and sharing on video platforms.\",\n  // },\n  {\n    id: \"hand-drawn-video\",\n    title: \"Export as Hand Drawn Animation (Self recording)\",\n    description:\n      \"Create a video with hand-drawn animation effect for your social media posts or educational videos. Self-record and use it with your own video editing tools.\",\n  },\n  {\n    id: \"embed-presentation\",\n    title: \"Embed Presentation\",\n    description:\n      \"Create an iframe embed of your slides. Good for embeding on website, documentation, Notion/Obsidian.\",\n  },\n  {\n    id: \"embed-slider-template\",\n    title: \"Embed with Slider Template\",\n    description:\n      \"Create an iframe embed with slider template. Good for visualizing a step by step process e.g. algorithm\",\n  },\n  {\n    id: \"get-shareable-link\",\n    title: \"Get Shareable Link\",\n    description:\n      \"Generate a direct shareable link from your Gist URL for easy sharing\",\n  },\n];\n\nexport const ExportModal: React.FC<ExportModalProps> = ({\n  isOpen,\n  onClose,\n}) => {\n  const [selectedOption, setSelectedOption] = React.useState<string | null>(\n    null\n  );\n  const [exportFileName, setExportFileName] = React.useState(\"\");\n  const [gistId, setGistId] = React.useState(\"\");\n  const [frameDelay, setFrameDelay] = React.useState(\"100\");\n  const [loopVideo, setLoopVideo] = React.useState(false);\n  const [videoDuration, setVideoDuration] = React.useState(\"10\");\n  const [exportProgress, setExportProgress] = React.useState<number | null>(\n    null\n  );\n  const [exportScale, setExportScale] = React.useState<number>(1);\n  const [showEmbedCode, setShowEmbedCode] = useState(false);\n  const [embedCode, setEmbedCode] = useState(\"\");\n  const [gistFiles, setGistFiles] = useState<GistFileData[]>([]);\n  const [selectedFile, setSelectedFile] = useState<string | null>(null);\n  const [isLoadingGist, setIsLoadingGist] = useState(false);\n  const [importedGistUrl, setImportedGistUrl] = useState<string | null>(null);\n\n  // GIF preview states\n  const [previewGifUrl, setPreviewGifUrl] = useState<string | null>(null);\n  const [isGeneratingPreview, setIsGeneratingPreview] = useState(false);\n  const [previewProgress, setPreviewProgress] = useState<number | null>(null);\n\n  // Video preview states\n  const [previewVideoUrl, setPreviewVideoUrl] = useState<string | null>(null);\n  const [isGeneratingVideoPreview, setIsGeneratingVideoPreview] =\n    useState(false);\n  const [previewVideoProgress, setPreviewVideoProgress] = useState<\n    number | null\n  >(null);\n\n  const { filename } = useDocumentStore();\n\n  // update default export filename\n  useEffect(() => {\n    setExportFileName(filename || \"\");\n  }, [filename]);\n\n  // ESC shortcut\n  useEffect(() => {\n    const handleEscKey = (event: KeyboardEvent) => {\n      if (event.key === \"Escape\" && isOpen) {\n        onClose();\n      }\n    };\n\n    window.addEventListener(\"keydown\", handleEscKey);\n    return () => window.removeEventListener(\"keydown\", handleEscKey);\n  }, [isOpen, onClose]);\n\n  // Reset importedGistUrl on first modal load or when refreshing the page\n  useEffect(() => {\n    // This effect will run on component mount\n    // We reset the importedGistUrl to ensure it starts fresh on page load\n    if (!isOpen) {\n      setImportedGistUrl(null);\n    }\n  }, []); // Empty dependency array means this runs once on mount\n\n  if (!isOpen) return null;\n\n  const handleClose = () => {\n    setShowEmbedCode(false);\n    setEmbedCode(\"\");\n    setGistId(\"\");\n    setSelectedOption(null);\n    setGistFiles([]);\n    setSelectedFile(null);\n    setIsLoadingGist(false);\n\n    // Clean up any GIF preview\n    if (previewGifUrl) {\n      URL.revokeObjectURL(previewGifUrl);\n      setPreviewGifUrl(null);\n    }\n    setPreviewProgress(null);\n    setIsGeneratingPreview(false);\n\n    // Clean up any video preview\n    if (previewVideoUrl) {\n      URL.revokeObjectURL(previewVideoUrl);\n      setPreviewVideoUrl(null);\n    }\n    setPreviewVideoProgress(null);\n    setIsGeneratingVideoPreview(false);\n\n    // Don't reset importedGistUrl here, as we want to persist it between modal openings\n\n    onClose();\n  };\n\n  const handleExport = async () => {\n    if (!selectedOption) return;\n    if (\n      (selectedOption === \"export-data\" ||\n        selectedOption === \"gif\" ||\n        selectedOption === \"pdf\" ||\n        selectedOption === \"video\") &&\n      !exportFileName.trim()\n    )\n      return;\n    if (\n      (selectedOption === \"embed-presentation\" ||\n        selectedOption === \"embed-slider-template\" ||\n        selectedOption === \"get-shareable-link\" ||\n        selectedOption === \"import-gist\") &&\n      !gistId.trim()\n    )\n      return;\n    if (\n      (selectedOption === \"gif\" || selectedOption === \"video\") &&\n      (!frameDelay || parseInt(frameDelay) < 1)\n    )\n      return;\n    if (\n      selectedOption === \"video\" &&\n      loopVideo &&\n      (!videoDuration || parseInt(videoDuration) < 1)\n    )\n      return;\n\n    try {\n      if (selectedOption === \"import\") {\n        const fileInput = document.getElementById(\n          \"fileUpload\"\n        ) as HTMLInputElement;\n        if (!fileInput.files?.length) return;\n\n        // Reset imported Gist URL when importing a file\n        setImportedGistUrl(null);\n\n        await handleImport(fileInput.files[0]);\n        onClose();\n      } else if (selectedOption === \"import-gist\") {\n        // If we already have gist files and a selected file, proceed with import\n        if (gistFiles.length > 0 && selectedFile) {\n          // Find the selected file in gistFiles\n          const selectedGistFile = gistFiles.find(\n            (file) => file.filename === selectedFile\n          );\n          if (selectedGistFile) {\n            // Import the data directly from the selected file\n            const documentStore = useDocumentStore.getState();\n            const fontsStore = useFontsStore.getState();\n\n            // Reset the store with import data\n            documentStore.resetStore(selectedGistFile.content.document);\n\n            // Add fonts if not already present\n            if (selectedGistFile.content.fonts?.customFonts) {\n              Object.keys(selectedGistFile.content.fonts.customFonts).forEach(\n                (fontFamily) => {\n                  if (!fontsStore.customFonts[fontFamily]) {\n                    fontsStore.addFonts(\n                      selectedGistFile.content.fonts.customFonts[fontFamily]\n                    );\n                  }\n                }\n              );\n            }\n\n            // Save the imported Gist URL\n            setImportedGistUrl(gistId);\n\n            onClose();\n            return;\n          }\n        }\n\n        // Otherwise fetch from the gist\n        setIsLoadingGist(true);\n        try {\n          // Check if it's a raw gist URL\n          if (gistId.includes(\"raw\")) {\n            const result = await fetchDataFromRawGist(gistId);\n\n            // Import directly since raw URLs only contain one file\n            const documentStore = useDocumentStore.getState();\n            const fontsStore = useFontsStore.getState();\n\n            // Reset the store with import data\n            documentStore.resetStore(result.document);\n\n            // Add fonts if not already present\n            if (result.fonts?.customFonts) {\n              Object.keys(result.fonts.customFonts).forEach((fontFamily) => {\n                if (!fontsStore.customFonts[fontFamily]) {\n                  fontsStore.addFonts(result.fonts.customFonts[fontFamily]);\n                }\n              });\n            }\n\n            // Save the imported Gist URL\n            setImportedGistUrl(gistId);\n\n            onClose();\n            return;\n          }\n\n          const result = await fetchDataFromGist(gistId);\n\n          // If result is an array, we have multiple files to choose from\n          if (Array.isArray(result)) {\n            setGistFiles(result);\n            setSelectedFile(result[0].filename); // Select first file by default\n            setIsLoadingGist(false);\n            return; // Wait for user to select a file\n          }\n\n          // Single file result, import directly\n          const documentStore = useDocumentStore.getState();\n          const fontsStore = useFontsStore.getState();\n\n          // Reset the store with import data\n          documentStore.resetStore(result.document);\n\n          // Add fonts if not already present\n          if (result.fonts?.customFonts) {\n            Object.keys(result.fonts.customFonts).forEach((fontFamily) => {\n              if (!fontsStore.customFonts[fontFamily]) {\n                fontsStore.addFonts(result.fonts.customFonts[fontFamily]);\n              }\n            });\n          }\n\n          // Save the imported Gist URL\n          setImportedGistUrl(gistId);\n\n          onClose();\n        } finally {\n          setIsLoadingGist(false);\n        }\n        return;\n      } else if (selectedOption === \"export-data\") {\n        const exportData = generateExportData(exportFileName);\n        downloadInsFile(exportData, exportFileName);\n        setExportFileName(\"\");\n        setSelectedOption(null);\n      } else if (selectedOption === \"gif\") {\n        setExportProgress(0);\n        await exportToGif({\n          fileName: exportFileName,\n          frameDelay: parseInt(frameDelay),\n          onProgress: (progress) => setExportProgress(progress),\n          scale: exportScale,\n        });\n        setExportProgress(null);\n        setSelectedOption(null);\n        setExportFileName(\"\");\n        setFrameDelay(\"100\");\n      } else if (selectedOption === \"hand-drawn-video\") {\n        setExportProgress(0);\n\n        // Get the animated SVG elements\n        const animatedSvgs = await exportToHandDrawnSVG();\n\n        // Display the SVGs for preview\n        if (animatedSvgs && animatedSvgs.length > 0) {\n          displayHandDrawnPreview(animatedSvgs);\n          // Close the modal when showing the preview\n          onClose();\n        } else {\n          throw new Error(\"Failed to generate animated SVGs\");\n        }\n\n        setExportProgress(100);\n        return;\n      } else if (selectedOption === \"pdf\") {\n        setExportProgress(0);\n        await exportToPdf({\n          fileName: exportFileName,\n          onProgress: (progress) => setExportProgress(progress),\n          scale: exportScale,\n        });\n        setExportProgress(null);\n        setSelectedOption(null);\n        setExportFileName(\"\");\n      } else if (selectedOption === \"video\") {\n        setExportProgress(0);\n        await exportToVideo({\n          fileName: exportFileName,\n          frameDelay: parseInt(frameDelay),\n          loopToReachDuration: loopVideo,\n          durationInSeconds: loopVideo ? parseInt(videoDuration) : undefined,\n          onProgress: (progress) => setExportProgress(progress),\n          scale: exportScale,\n        });\n        setExportProgress(null);\n        setSelectedOption(null);\n        setExportFileName(\"\");\n        setFrameDelay(\"100\");\n      } else if (\n        selectedOption === \"embed-presentation\" ||\n        selectedOption === \"embed-slider-template\" ||\n        selectedOption === \"get-shareable-link\"\n      ) {\n        // If we already have gist files and a selected file, proceed with that\n        if (gistFiles.length > 0 && selectedFile) {\n          // Use a query parameter for filename instead of fragment identifier\n          const fileParam = `&filename=${encodeURIComponent(selectedFile)}`;\n\n          if (selectedOption === \"get-shareable-link\") {\n            // Generate shareable link instead of iframe code\n            if (gistId.includes(\"raw\")) {\n              // For raw URLs, use the entire URL encoded\n              const shareableLink = `${\n                window.location.origin\n              }/share?gist=${encodeURIComponent(gistId)}${fileParam}`;\n              setEmbedCode(shareableLink);\n            } else {\n              // For regular gist URLs\n              const gistMatch = gistId.match(\n                /gist\\.github\\.com\\/([^/]+\\/[^/]+)/\n              );\n              if (gistMatch) {\n                // If it's a full gist URL, use it directly\n                const shareableLink = `${\n                  window.location.origin\n                }/share?gist=${encodeURIComponent(gistId)}${fileParam}`;\n                setEmbedCode(shareableLink);\n              } else {\n                // If it's just a gist ID or username/gistid format\n                const gistShortId = gistId;\n                const shareableLink = `${window.location.origin}/share?gist=${gistShortId}${fileParam}`;\n                setEmbedCode(shareableLink);\n              }\n            }\n            setShowEmbedCode(true);\n          } else {\n            // Generate iframe code for other embed options\n            const embedType =\n              selectedOption === \"embed-presentation\"\n                ? \"presentation\"\n                : \"slider-template\";\n            const iframeCode = generateEmbedCode(\n              embedType,\n              `${gistId}${fileParam}`\n            );\n            setEmbedCode(iframeCode);\n            setShowEmbedCode(true);\n          }\n          return;\n        }\n\n        // Otherwise fetch from the gist\n        setIsLoadingGist(true);\n        try {\n          // Check if it's a raw gist URL\n          if (gistId.includes(\"raw\")) {\n            // For raw URLs, we can use them directly without fetching\n            if (selectedOption === \"get-shareable-link\") {\n              // For shareable links with raw URLs, encode the entire URL\n              const shareableLink = `${\n                window.location.origin\n              }/share?gist=${encodeURIComponent(gistId)}`;\n              setEmbedCode(shareableLink);\n            } else {\n              // For embed options with raw URLs\n              const embedType =\n                selectedOption === \"embed-presentation\"\n                  ? \"presentation\"\n                  : \"slider-template\";\n              // Pass the raw URL directly to the embed code generator\n              const iframeCode = generateEmbedCode(\n                embedType,\n                encodeURIComponent(gistId)\n              );\n              setEmbedCode(iframeCode);\n            }\n            setShowEmbedCode(true);\n            setIsLoadingGist(false);\n            return;\n          }\n\n          const result = await fetchDataFromGist(gistId);\n\n          // If result is an array, we have multiple files to choose from\n          if (Array.isArray(result)) {\n            setGistFiles(result);\n            setSelectedFile(result[0].filename); // Select first file by default\n            setIsLoadingGist(false);\n            return; // Wait for user to select a file\n          }\n\n          // Single file result, proceed with generating link/embed\n          if (selectedOption === \"get-shareable-link\") {\n            // Generate shareable link instead of iframe code\n            if (gistId.includes(\"raw\")) {\n              // For raw URLs, use the entire URL encoded\n              const shareableLink = `${\n                window.location.origin\n              }/share?gist=${encodeURIComponent(gistId)}`;\n              setEmbedCode(shareableLink);\n            } else {\n              // For regular gist URLs\n              const gistMatch = gistId.match(\n                /gist\\.github\\.com\\/([^/]+\\/[^/]+)/\n              );\n              if (gistMatch) {\n                // If it's a full gist URL, use it directly\n                const shareableLink = `${\n                  window.location.origin\n                }/share?gist=${encodeURIComponent(gistId)}`;\n                setEmbedCode(shareableLink);\n              } else {\n                // If it's just a gist ID or username/gistid format\n                const gistShortId = gistId;\n                const shareableLink = `${window.location.origin}/share?gist=${gistShortId}`;\n                setEmbedCode(shareableLink);\n              }\n            }\n            setShowEmbedCode(true);\n          } else {\n            // Generate iframe code for other embed options\n            const embedType =\n              selectedOption === \"embed-presentation\"\n                ? \"presentation\"\n                : \"slider-template\";\n            const iframeCode = generateEmbedCode(embedType, gistId);\n            setEmbedCode(iframeCode);\n            setShowEmbedCode(true);\n          }\n        } finally {\n          setIsLoadingGist(false);\n        }\n        return;\n      }\n\n      onClose();\n    } catch (error) {\n      console.error(\"Export failed:\", error);\n      alert(\n        error instanceof Error\n          ? error.message\n          : \"Export failed. Please try again.\"\n      );\n      setExportProgress(null);\n    }\n  };\n\n  const handleSubmit = (e: React.FormEvent) => {\n    e.preventDefault();\n    handleExport();\n  };\n\n  // Function to generate a preview GIF\n  const handlePreviewGif = async () => {\n    // Clear any existing preview\n    if (previewGifUrl) {\n      URL.revokeObjectURL(previewGifUrl);\n      setPreviewGifUrl(null);\n    }\n\n    setIsGeneratingPreview(true);\n    setPreviewProgress(0);\n\n    try {\n      // Use the existing exportToGif function with 'preview' as the filename\n      // to indicate we want to get the URL rather than download\n      const url = (await exportToGif({\n        fileName: \"preview\",\n        frameDelay: parseInt(frameDelay) || 100,\n        onProgress: (progress) => setPreviewProgress(progress),\n        scale: exportScale,\n      })) as string;\n\n      setPreviewGifUrl(url);\n    } catch (error) {\n      console.error(\"Error generating preview GIF:\", error);\n    } finally {\n      setIsGeneratingPreview(false);\n      setPreviewProgress(null);\n    }\n  };\n\n  // Function to generate a preview Video\n  const handlePreviewVideo = async () => {\n    // Clear any existing preview\n    if (previewVideoUrl) {\n      URL.revokeObjectURL(previewVideoUrl);\n      setPreviewVideoUrl(null);\n    }\n\n    setIsGeneratingVideoPreview(true);\n    setPreviewVideoProgress(0);\n\n    try {\n      // Use the existing exportToVideo function with 'preview' as the filename\n      // to indicate we want to get the URL rather than download\n      const url = (await exportToVideo({\n        fileName: \"preview\",\n        frameDelay: parseInt(frameDelay) || 100,\n        loopToReachDuration: loopVideo,\n        durationInSeconds: loopVideo ? parseInt(videoDuration) : undefined,\n        onProgress: (progress) => setPreviewVideoProgress(progress),\n        scale: exportScale,\n      })) as string;\n\n      setPreviewVideoUrl(url);\n    } catch (error) {\n      console.error(\"Error generating preview Video:\", error);\n    } finally {\n      setIsGeneratingVideoPreview(false);\n      setPreviewVideoProgress(null);\n    }\n  };\n\n  return (\n    <div className=\"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-[999999]\">\n      <div className=\"bg-white rounded-lg w-full max-w-md\">\n        <div className=\"flex items-center justify-between p-4 border-b\">\n          <h2 className=\"text-xl font-semibold\">Export Presentation</h2>\n          <button\n            type=\"button\"\n            onClick={onClose}\n            className=\"p-1 hover:bg-gray-100 rounded-full transition-colors\"\n          >\n            <X size={20} />\n          </button>\n        </div>\n        <div className=\"p-4 space-y-3\">\n          <p className=\"mb-2 text-sm text-gray-500\">\n            Need help?{\" \"}\n            <a\n              href=\"https://github.com/chunrapeepat/inscribed/blob/master/docs/export-options.md\"\n              target=\"_blank\"\n              rel=\"noopener noreferrer\"\n              className=\"text-blue-600 hover:text-blue-800\"\n            >\n              Learn how each option works\n            </a>\n          </p>\n          {!showEmbedCode ? (\n            <>\n              <div className=\"mb-4\">\n                <select\n                  id=\"export-option\"\n                  value={selectedOption || \"\"}\n                  onChange={(e) => setSelectedOption(e.target.value || null)}\n                  className=\"w-full p-2 border border-gray-300 rounded-md focus:outline-none focus:ring-1 focus:ring-blue-500\"\n                >\n                  <option value=\"\">Select an option</option>\n                  {exportOptions.map((option) => (\n                    <option key={option.id} value={option.id}>\n                      {option.title}\n                    </option>\n                  ))}\n                </select>\n                {selectedOption && (\n                  <p className=\"text-gray-600 text-sm mt-2\">\n                    {\n                      exportOptions.find(\n                        (option) => option.id === selectedOption\n                      )?.description\n                    }\n                  </p>\n                )}\n              </div>\n\n              {selectedOption === \"import\" && (\n                <div className=\"mt-4 pt-4 border-t border-gray-200\">\n                  <label\n                    htmlFor=\"fileUpload\"\n                    className=\"block text-sm font-medium text-gray-700 mb-1\"\n                  >\n                    Select File\n                  </label>\n                  <input\n                    type=\"file\"\n                    id=\"fileUpload\"\n                    accept=\".ins\"\n                    className=\"block w-full text-sm text-gray-500\n                      file:mr-4 file:py-2 file:px-4\n                      file:rounded-md file:border-0\n                      file:text-sm file:font-semibold\n                      file:bg-blue-50 file:text-blue-700\n                      hover:file:bg-blue-100\n                      file:cursor-pointer cursor-pointer\"\n                    required\n                  />\n\n                  <p className=\"text-xs text-gray-500 mt-4\">\n                    <b>Pro tip:</b> drag and drop your .ins file on Inscribed\n                    editor for fast import.\n                  </p>\n                </div>\n              )}\n\n              {selectedOption === \"import-gist\" && (\n                <form\n                  onSubmit={handleSubmit}\n                  className=\"mt-4 pt-4 border-t border-gray-200\"\n                >\n                  <label\n                    htmlFor=\"importGistUrl\"\n                    className=\"block text-sm font-medium text-gray-700\"\n                  >\n                    Gist URL\n                  </label>\n                  <input\n                    type=\"text\"\n                    id=\"importGistUrl\"\n                    value={gistId}\n                    onChange={(e) => {\n                      setGistId(e.target.value);\n                      // Clear gist files when URL changes\n                      if (gistFiles.length > 0) {\n                        setGistFiles([]);\n                        setSelectedFile(null);\n                      }\n                    }}\n                    className=\"mt-1 block w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-1 focus:ring-blue-500\"\n                    placeholder=\"Enter GitHub Gist URL (or raw gist URL)\"\n                    required\n                  />\n\n                  {isLoadingGist && (\n                    <div className=\"mt-2 text-sm text-gray-600 flex items-center\">\n                      <div className=\"animate-spin mr-2 h-4 w-4 border-2 border-gray-500 border-t-transparent rounded-full\"></div>\n                      Loading Gist files...\n                    </div>\n                  )}\n\n                  {gistFiles.length > 0 && (\n                    <div className=\"mt-3\">\n                      <label\n                        htmlFor=\"importGistFile\"\n                        className=\"block text-sm font-medium text-gray-700 mb-1\"\n                      >\n                        Select File\n                      </label>\n                      <select\n                        id=\"importGistFile\"\n                        value={selectedFile || \"\"}\n                        onChange={(e) => setSelectedFile(e.target.value)}\n                        className=\"w-full p-2 border border-gray-300 rounded-md focus:outline-none focus:ring-1 focus:ring-blue-500\"\n                      >\n                        {gistFiles.map((file) => (\n                          <option key={file.filename} value={file.filename}>\n                            {file.filename}\n                          </option>\n                        ))}\n                      </select>\n                      <p className=\"text-xs text-gray-500 mt-1\">\n                        Found {gistFiles.length} valid Inscribed data files in\n                        this Gist\n                      </p>\n                    </div>\n                  )}\n                </form>\n              )}\n\n              {selectedOption === \"export-data\" && (\n                <form\n                  onSubmit={handleSubmit}\n                  className=\"mt-4 pt-4 border-t border-gray-200\"\n                >\n                  <label\n                    htmlFor=\"fileName\"\n                    className=\"block text-sm font-medium text-gray-700\"\n                  >\n                    Export File Name\n                  </label>\n                  <input\n                    type=\"text\"\n                    id=\"fileName\"\n                    value={exportFileName}\n                    onChange={(e) => setExportFileName(e.target.value)}\n                    className=\"mt-1 block w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-1 focus:ring-blue-500\"\n                    placeholder=\"Enter file name\"\n                    required\n                  />\n                  <p className=\"text-xs text-gray-500 mt-2\">\n                    <b>Pro tip:</b> use <b>cmd/ctrl + s</b> shortcut to export\n                    file\n                  </p>\n                </form>\n              )}\n\n              {selectedOption === \"gif\" && (\n                <form\n                  onSubmit={handleSubmit}\n                  className=\"mt-4 pt-4 border-t border-gray-200 space-y-4\"\n                >\n                  <div>\n                    <label\n                      htmlFor=\"gifFileName\"\n                      className=\"block text-sm font-medium text-gray-700\"\n                    >\n                      GIF File Name\n                    </label>\n                    <input\n                      type=\"text\"\n                      id=\"gifFileName\"\n                      value={exportFileName}\n                      onChange={(e) => setExportFileName(e.target.value)}\n                      className=\"mt-1 block w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-1 focus:ring-blue-500\"\n                      placeholder=\"Enter file name (.gif)\"\n                      required\n                    />\n                  </div>\n                  <div>\n                    <div className=\"flex justify-between items-center\">\n                      <label\n                        htmlFor=\"frameDelay\"\n                        className=\"block text-sm font-medium text-gray-700\"\n                      >\n                        Frame Delay (ms)\n                      </label>\n                      <button\n                        type=\"button\"\n                        onClick={handlePreviewGif}\n                        disabled={isGeneratingPreview}\n                        className=\"text-blue-600 hover:text-blue-800 space-x-1 text-sm\"\n                      >\n                        <span>(preview GIF)</span>\n                      </button>\n                    </div>\n                    <input\n                      type=\"number\"\n                      id=\"frameDelay\"\n                      value={frameDelay}\n                      onChange={(e) => setFrameDelay(e.target.value)}\n                      className=\"mt-1 block w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-1 focus:ring-blue-500\"\n                      placeholder=\"Enter delay in milliseconds\"\n                      min=\"1\"\n                      required\n                    />\n                  </div>\n\n                  <div>\n                    <label\n                      htmlFor=\"gifResolution\"\n                      className=\"block text-sm font-medium text-gray-700\"\n                    >\n                      Resolution\n                    </label>\n                    <div className=\"mt-1 flex space-x-4\">\n                      {[1, 2, 3].map((scale) => (\n                        <label key={scale} className=\"inline-flex items-center\">\n                          <input\n                            type=\"radio\"\n                            className=\"form-radio h-4 w-4 text-blue-600\"\n                            checked={exportScale === scale}\n                            onChange={() => setExportScale(scale)}\n                          />\n                          <span className=\"ml-2 text-sm text-gray-700\">\n                            {scale}x\n                          </span>\n                        </label>\n                      ))}\n                    </div>\n                    <p className=\"text-xs text-gray-500 mt-1\">\n                      Higher resolution results in larger file size but better\n                      quality.\n                    </p>\n                  </div>\n\n                  {/* Preview GIF Progress */}\n                  {isGeneratingPreview && previewProgress !== null && (\n                    <div className=\"mt-2\">\n                      <div className=\"h-2 bg-gray-200 rounded-full overflow-hidden\">\n                        <div\n                          className=\"h-full bg-blue-500 transition-all duration-300\"\n                          style={{ width: `${previewProgress}%` }}\n                        />\n                      </div>\n                      <p className=\"text-sm text-gray-600 mt-1 text-center\">\n                        Generating preview: {Math.round(previewProgress)}%\n                      </p>\n                    </div>\n                  )}\n\n                  {/* Preview GIF Display */}\n                  {previewGifUrl && (\n                    <div className=\"mt-2 border rounded-lg p-2\">\n                      <p className=\"text-xs text-gray-500 mb-1\">Preview:</p>\n                      <div className=\"flex justify-center\">\n                        <img\n                          src={previewGifUrl}\n                          alt=\"GIF Preview\"\n                          className=\"max-h-64 max-w-full object-contain rounded\"\n                        />\n                      </div>\n                    </div>\n                  )}\n\n                  {/* Export Progress */}\n                  {exportProgress !== null && (\n                    <div className=\"mt-2\">\n                      <div className=\"h-2 bg-gray-200 rounded-full overflow-hidden\">\n                        <div\n                          className=\"h-full bg-blue-600 transition-all duration-300\"\n                          style={{ width: `${exportProgress}%` }}\n                        />\n                      </div>\n                      <p className=\"text-sm text-gray-600 mt-1 text-center\">\n                        Generating GIF: {Math.round(exportProgress)}%\n                      </p>\n                    </div>\n                  )}\n                </form>\n              )}\n\n              {selectedOption === \"pdf\" && (\n                <form\n                  onSubmit={handleSubmit}\n                  className=\"mt-4 pt-4 border-t border-gray-200 space-y-4\"\n                >\n                  <div>\n                    <label\n                      htmlFor=\"pdfFileName\"\n                      className=\"block text-sm font-medium text-gray-700\"\n                    >\n                      PDF File Name\n                    </label>\n                    <input\n                      type=\"text\"\n                      id=\"pdfFileName\"\n                      value={exportFileName}\n                      onChange={(e) => setExportFileName(e.target.value)}\n                      className=\"mt-1 block w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-1 focus:ring-blue-500\"\n                      placeholder=\"Enter file name (.pdf)\"\n                      required\n                    />\n                  </div>\n\n                  <div>\n                    <label\n                      htmlFor=\"pdfResolution\"\n                      className=\"block text-sm font-medium text-gray-700\"\n                    >\n                      Resolution\n                    </label>\n                    <div className=\"mt-1 flex space-x-4\">\n                      {[1, 2, 3].map((scale) => (\n                        <label key={scale} className=\"inline-flex items-center\">\n                          <input\n                            type=\"radio\"\n                            className=\"form-radio h-4 w-4 text-blue-600\"\n                            checked={exportScale === scale}\n                            onChange={() => setExportScale(scale)}\n                          />\n                          <span className=\"ml-2 text-sm text-gray-700\">\n                            {scale}x\n                          </span>\n                        </label>\n                      ))}\n                    </div>\n                    <p className=\"text-xs text-gray-500 mt-1\">\n                      Higher resolution results in larger file size but better\n                      quality.\n                    </p>\n                  </div>\n\n                  {/* Export Progress */}\n                  {exportProgress !== null && (\n                    <div className=\"mt-2\">\n                      <div className=\"h-2 bg-gray-200 rounded-full overflow-hidden\">\n                        <div\n                          className=\"h-full bg-blue-600 transition-all duration-300\"\n                          style={{ width: `${exportProgress}%` }}\n                        />\n                      </div>\n                      <p className=\"text-sm text-gray-600 mt-1 text-center\">\n                        Generating PDF: {Math.round(exportProgress)}%\n                      </p>\n                    </div>\n                  )}\n                </form>\n              )}\n\n              {selectedOption === \"video\" && (\n                <form\n                  onSubmit={handleSubmit}\n                  className=\"mt-4 pt-4 border-t border-gray-200 space-y-4\"\n                >\n                  <div>\n                    <label\n                      htmlFor=\"videoFileName\"\n                      className=\"block text-sm font-medium text-gray-700\"\n                    >\n                      Video File Name\n                    </label>\n                    <input\n                      type=\"text\"\n                      id=\"videoFileName\"\n                      value={exportFileName}\n                      onChange={(e) => setExportFileName(e.target.value)}\n                      className=\"mt-1 block w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-1 focus:ring-blue-500\"\n                      placeholder=\"Enter file name (.webm)\"\n                      required\n                    />\n                  </div>\n                  <div>\n                    <div className=\"flex justify-between items-center\">\n                      <label\n                        htmlFor=\"videoFrameDelay\"\n                        className=\"block text-sm font-medium text-gray-700\"\n                      >\n                        Frame Delay (ms)\n                      </label>\n                      <button\n                        type=\"button\"\n                        onClick={handlePreviewVideo}\n                        disabled={isGeneratingVideoPreview}\n                        className=\"text-blue-600 hover:text-blue-800 space-x-1 text-sm\"\n                      >\n                        <span>(preview video)</span>\n                      </button>\n                    </div>\n                    <input\n                      type=\"number\"\n                      id=\"videoFrameDelay\"\n                      value={frameDelay}\n                      onChange={(e) => setFrameDelay(e.target.value)}\n                      className=\"mt-1 block w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-1 focus:ring-blue-500\"\n                      placeholder=\"Enter delay in milliseconds\"\n                      min=\"1\"\n                      required\n                    />\n                  </div>\n\n                  <div>\n                    <label\n                      htmlFor=\"videoResolution\"\n                      className=\"block text-sm font-medium text-gray-700\"\n                    >\n                      Resolution\n                    </label>\n                    <div className=\"mt-1 flex space-x-4\">\n                      {[1, 2, 3].map((scale) => (\n                        <label key={scale} className=\"inline-flex items-center\">\n                          <input\n                            type=\"radio\"\n                            className=\"form-radio h-4 w-4 text-blue-600\"\n                            checked={exportScale === scale}\n                            onChange={() => setExportScale(scale)}\n                          />\n                          <span className=\"ml-2 text-sm text-gray-700\">\n                            {scale}x\n                          </span>\n                        </label>\n                      ))}\n                    </div>\n                    <p className=\"text-xs text-gray-500 mt-1\">\n                      Higher resolution results in larger file size but better\n                      quality.\n                    </p>\n                  </div>\n\n                  <div className=\"flex items-center\">\n                    <input\n                      type=\"checkbox\"\n                      id=\"loopVideo\"\n                      checked={loopVideo}\n                      onChange={(e) => setLoopVideo(e.target.checked)}\n                      className=\"h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded\"\n                    />\n                    <label\n                      htmlFor=\"loopVideo\"\n                      className=\"ml-2 block text-sm text-gray-700\"\n                    >\n                      Loop video to reach total duration\n                    </label>\n                  </div>\n\n                  {loopVideo && (\n                    <div>\n                      <label\n                        htmlFor=\"videoDuration\"\n                        className=\"block text-sm font-medium text-gray-700\"\n                      >\n                        Total Duration (seconds)\n                      </label>\n                      <input\n                        type=\"number\"\n                        id=\"videoDuration\"\n                        value={videoDuration}\n                        onChange={(e) => setVideoDuration(e.target.value)}\n                        className=\"mt-1 block w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-1 focus:ring-blue-500\"\n                        placeholder=\"Enter duration in seconds\"\n                        min=\"1\"\n                        required={loopVideo}\n                      />\n                    </div>\n                  )}\n\n                  {/* Preview Video Progress */}\n                  {isGeneratingVideoPreview &&\n                    previewVideoProgress !== null && (\n                      <div className=\"mt-2\">\n                        <div className=\"h-2 bg-gray-200 rounded-full overflow-hidden\">\n                          <div\n                            className=\"h-full bg-blue-500 transition-all duration-300\"\n                            style={{ width: `${previewVideoProgress}%` }}\n                          />\n                        </div>\n                        <p className=\"text-sm text-gray-600 mt-1 text-center\">\n                          Generating preview: {Math.round(previewVideoProgress)}\n                          %\n                        </p>\n                      </div>\n                    )}\n\n                  {/* Preview Video Display */}\n                  {previewVideoUrl && (\n                    <div className=\"mt-2 border rounded-lg p-2\">\n                      <p className=\"text-xs text-gray-500 mb-1\">Preview:</p>\n                      <div className=\"flex justify-center\">\n                        <video\n                          src={previewVideoUrl}\n                          controls\n                          autoPlay\n                          loop\n                          className=\"max-h-64 max-w-full object-contain rounded\"\n                        />\n                      </div>\n                    </div>\n                  )}\n\n                  {/* Export Progress */}\n                  {exportProgress !== null && (\n                    <div className=\"mt-2\">\n                      <div className=\"h-2 bg-gray-200 rounded-full overflow-hidden\">\n                        <div\n                          className=\"h-full bg-blue-600 transition-all duration-300\"\n                          style={{ width: `${exportProgress}%` }}\n                        />\n                      </div>\n                      <p className=\"text-sm text-gray-600 mt-1 text-center\">\n                        Generating Video: {Math.round(exportProgress)}%\n                      </p>\n                    </div>\n                  )}\n                </form>\n              )}\n\n              {selectedOption === \"hand-drawn-video\" && (\n                <form\n                  onSubmit={handleSubmit}\n                  className=\"mt-4 pt-4 border-t border-gray-200 space-y-4\"\n                >\n                  <div className=\"bg-blue-50 p-4 rounded-md\">\n                    <h3 className=\"text-blue-800 font-medium text-sm mb-2\">\n                      Screen Recording Instructions:\n                    </h3>\n                    <ol className=\"text-sm text-gray-700 space-y-1 pl-5 list-decimal\">\n                      <li>\n                        Use your own screen recording tool (e.g., QuickTime,\n                        OBS, etc.)\n                      </li>\n                      <li>\n                        Position your recording window to capture the animation\n                      </li>\n                      <li>Record the animation and save as video</li>\n                      <li>\n                        Use the \"Replay Animation\" button if you need to restart\n                        the animation\n                      </li>\n                    </ol>\n                  </div>\n\n                  <div className=\"text-xs text-gray-500\">\n                    This amazing feature is made possible by{\" \"}\n                    <a\n                      href=\"https://github.com/dai-shi/excalidraw-animate\"\n                      target=\"_blank\"\n                      className=\"text-blue-600 hover:text-blue-800\"\n                    >\n                      excalidraw-animate\n                    </a>\n                  </div>\n                </form>\n              )}\n\n              {(selectedOption === \"embed-presentation\" ||\n                selectedOption === \"embed-slider-template\" ||\n                selectedOption === \"get-shareable-link\") && (\n                <form\n                  onSubmit={handleSubmit}\n                  className=\"mt-4 pt-4 border-t border-gray-200\"\n                >\n                  <div className=\"flex justify-between items-center\">\n                    <label\n                      htmlFor=\"gistId\"\n                      className=\"block text-sm font-medium text-gray-700\"\n                    >\n                      Gist URL\n                    </label>\n                    <div className=\"space-x-1 text-sm\">\n                      <button\n                        type=\"button\"\n                        onClick={() => {\n                          const exportData =\n                            generateExportData(\"embedding-data\");\n                          navigator.clipboard.writeText(\n                            JSON.stringify(exportData)\n                          );\n                        }}\n                        className=\"text-blue-600 hover:text-blue-800\"\n                      >\n                        (copy data)\n                      </button>\n                      {importedGistUrl && (\n                        <a\n                          href={importedGistUrl}\n                          target=\"_blank\"\n                          rel=\"noopener noreferrer\"\n                          className=\"text-blue-600 hover:text-blue-800\"\n                        >\n                          (existing gist →)\n                        </a>\n                      )}\n                      <a\n                        href=\"https://gist.github.com/\"\n                        target=\"_blank\"\n                        rel=\"noopener noreferrer\"\n                        className=\"text-blue-600 hover:text-blue-800\"\n                      >\n                        (new gist →)\n                      </a>\n                    </div>\n                  </div>\n                  <input\n                    type=\"text\"\n                    id=\"gistId\"\n                    value={gistId}\n                    onChange={(e) => {\n                      setGistId(e.target.value);\n                      // Clear gist files when URL changes\n                      if (gistFiles.length > 0) {\n                        setGistFiles([]);\n                        setSelectedFile(null);\n                      }\n                    }}\n                    className=\"mt-1 block w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-1 focus:ring-blue-500\"\n                    placeholder=\"Enter GitHub Gist URL (or raw gist URL)\"\n                    required\n                  />\n                  <p className=\"text-xs text-gray-500 mt-2\">\n                    <b>Pro tip:</b> use raw gist URL to increase the rate limit.\n                  </p>\n\n                  {isLoadingGist && (\n                    <div className=\"mt-2 text-sm text-gray-600 flex items-center\">\n                      <div className=\"animate-spin mr-2 h-4 w-4 border-2 border-gray-500 border-t-transparent rounded-full\"></div>\n                      Loading Gist files...\n                    </div>\n                  )}\n\n                  {gistFiles.length > 0 && (\n                    <div className=\"mt-3\">\n                      <label\n                        htmlFor=\"gistFile\"\n                        className=\"block text-sm font-medium text-gray-700 mb-1\"\n                      >\n                        Select File\n                      </label>\n                      <select\n                        id=\"gistFile\"\n                        value={selectedFile || \"\"}\n                        onChange={(e) => setSelectedFile(e.target.value)}\n                        className=\"w-full p-2 border border-gray-300 rounded-md focus:outline-none focus:ring-1 focus:ring-blue-500\"\n                      >\n                        {gistFiles.map((file) => (\n                          <option key={file.filename} value={file.filename}>\n                            {file.filename}\n                          </option>\n                        ))}\n                      </select>\n                      <p className=\"text-xs text-gray-500 mt-1\">\n                        Found {gistFiles.length} valid Inscribed data files in\n                        this Gist\n                      </p>\n                    </div>\n                  )}\n                </form>\n              )}\n            </>\n          ) : (\n            <div className=\"space-y-4\">\n              <h3 className=\"font-medium text-lg\">\n                {selectedOption === \"embed-presentation\"\n                  ? \"Embed Presentation\"\n                  : selectedOption === \"embed-slider-template\"\n                  ? \"Embed Slider Template\"\n                  : \"Shareable Link\"}\n              </h3>\n              <textarea\n                value={embedCode}\n                readOnly\n                onClick={(e) => e.currentTarget.select()}\n                className={`w-full p-3 border rounded-md font-mono text-sm ${\n                  selectedOption === \"get-shareable-link\" ? \"h-12\" : \"h-32\"\n                }`}\n              />\n              <div className=\"flex justify-end gap-2\">\n                <button\n                  type=\"button\"\n                  onClick={() => {\n                    navigator.clipboard.writeText(embedCode);\n                    alert(\"Copied to clipboard!\");\n                  }}\n                  className=\"px-4 py-2 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors\"\n                >\n                  {selectedOption === \"get-shareable-link\"\n                    ? \"Copy Link\"\n                    : \"Copy Code\"}\n                </button>\n                <button\n                  type=\"button\"\n                  onClick={handleClose}\n                  className=\"px-4 py-2 bg-gray-100 text-gray-700 rounded-lg hover:bg-gray-200 transition-colors\"\n                >\n                  Close\n                </button>\n              </div>\n            </div>\n          )}\n        </div>\n\n        {!showEmbedCode && (\n          <div className=\"p-4 border-t bg-gray-50 rounded-b-lg\">\n            <button\n              type=\"submit\"\n              onClick={handleExport}\n              disabled={\n                !selectedOption ||\n                (selectedOption === \"export-data\" && !exportFileName.trim()) ||\n                (selectedOption === \"gif\" &&\n                  (!exportFileName.trim() ||\n                    !frameDelay ||\n                    parseInt(frameDelay) < 1)) ||\n                (selectedOption === \"pdf\" && !exportFileName.trim()) ||\n                (selectedOption === \"video\" &&\n                  (!exportFileName.trim() ||\n                    !frameDelay ||\n                    parseInt(frameDelay) < 1)) ||\n                ((selectedOption === \"embed-presentation\" ||\n                  selectedOption === \"embed-slider-template\" ||\n                  selectedOption === \"get-shareable-link\" ||\n                  selectedOption === \"import-gist\") &&\n                  (!gistId.trim() || (gistFiles.length > 0 && !selectedFile)))\n              }\n              className={`w-full py-2 px-4 rounded-lg transition-colors ${\n                selectedOption &&\n                !(selectedOption === \"export-data\" && !exportFileName.trim()) &&\n                !(\n                  selectedOption === \"gif\" &&\n                  (!exportFileName.trim() ||\n                    !frameDelay ||\n                    parseInt(frameDelay) < 1)\n                ) &&\n                !(selectedOption === \"pdf\" && !exportFileName.trim()) &&\n                !(\n                  selectedOption === \"video\" &&\n                  (!exportFileName.trim() ||\n                    !frameDelay ||\n                    parseInt(frameDelay) < 1)\n                ) &&\n                !(\n                  (selectedOption === \"embed-presentation\" ||\n                    selectedOption === \"embed-slider-template\" ||\n                    selectedOption === \"get-shareable-link\" ||\n                    selectedOption === \"import-gist\") &&\n                  (!gistId.trim() || (gistFiles.length > 0 && !selectedFile))\n                )\n                  ? \"bg-blue-600 hover:bg-blue-700 text-white\"\n                  : \"bg-gray-300 cursor-not-allowed text-gray-500\"\n              }`}\n            >\n              {selectedOption === \"import\"\n                ? \"Upload File\"\n                : selectedOption === \"import-gist\"\n                ? \"Import\"\n                : selectedOption === \"hand-drawn-video\"\n                ? \"Preview and Self-Record\"\n                : selectedOption\n                ? \"Export\"\n                : \"Select an option\"}\n            </button>\n          </div>\n        )}\n      </div>\n    </div>\n  );\n};\n"
  },
  {
    "path": "src/components/PresentationMode.tsx",
    "content": "import React, { useState, useEffect, useCallback } from \"react\";\nimport { useDocumentStore } from \"../store/document\";\nimport { exportToImageUrls } from \"../utils/export\";\n\ninterface PresentationModeProps {\n  onClose: () => void;\n}\n\nexport const PresentationMode: React.FC<PresentationModeProps> = ({\n  onClose,\n}) => {\n  const [currentSlideIndex, setCurrentSlideIndex] = useState(0);\n  const [slideImages, setSlideImages] = useState<string[]>([]);\n  const { slides, backgroundColor, documentSize, files } = useDocumentStore();\n\n  const [loading, setLoading] = useState(true);\n  const [loadingText, setLoadingText] = useState(\n    \"Initializing presentation...\"\n  );\n  const [touchStartX, setTouchStartX] = useState<number | null>(null);\n  const [touchStartY, setTouchStartY] = useState<number | null>(null);\n\n  // generate slide images\n  useEffect(() => {\n    setLoadingText(\"Generating presentation slides...\");\n\n    const generateSlideImages = async () => {\n      const tempImages = await exportToImageUrls({\n        slides,\n        backgroundColor,\n        documentSize,\n        files,\n      });\n\n      setSlideImages(tempImages);\n      setLoadingText(\"Presentation ready!\");\n      setLoading(false);\n    };\n\n    generateSlideImages();\n  }, []);\n\n  // handle keyboard navigation\n  const handleNavigation = useCallback(\n    (direction: \"prev\" | \"next\") => {\n      setCurrentSlideIndex((prev) => {\n        if (direction === \"prev\") {\n          return Math.max(prev - 1, 0);\n        }\n        return Math.min(prev + 1, slides.length - 1);\n      });\n    },\n    [slides.length]\n  );\n\n  useEffect(() => {\n    const handleKeyDown = (e: KeyboardEvent) => {\n      if (e.key === \"Escape\") {\n        onClose();\n      } else if (e.key === \"ArrowRight\" || e.key === \"ArrowDown\") {\n        handleNavigation(\"next\");\n      } else if (e.key === \"ArrowLeft\" || e.key === \"ArrowUp\") {\n        handleNavigation(\"prev\");\n      }\n    };\n\n    document.addEventListener(\"keydown\", handleKeyDown);\n    return () => document.removeEventListener(\"keydown\", handleKeyDown);\n  }, [handleNavigation]);\n\n  // handle click/touch navigation\n  const handleInteraction = useCallback(\n    (e: React.MouseEvent | React.TouchEvent) => {\n      const clientX =\n        \"touches\" in e ? e.touches[0].clientX : (e as React.MouseEvent).clientX;\n\n      const halfWidth = window.innerWidth / 2;\n      handleNavigation(clientX < halfWidth ? \"prev\" : \"next\");\n    },\n    [handleNavigation]\n  );\n\n  // add touch swipe support\n  const handleTouchStart = (e: React.TouchEvent) => {\n    setTouchStartX(e.touches[0].clientX);\n    setTouchStartY(e.touches[0].clientY);\n  };\n  \n  const handleTouchEnd = (e: React.TouchEvent) => {\n    if (touchStartX === null || touchStartY === null) return;\n\n    const touchEndX = e.changedTouches[0].clientX;\n    const touchEndY = e.changedTouches[0].clientY;\n    \n    const diffX = touchStartX - touchEndX;\n    const diffY = touchStartY - touchEndY;\n    \n    // Determine if swipe is more horizontal or vertical\n    if (Math.abs(diffX) > Math.abs(diffY)) {\n      // Horizontal swipe\n      if (Math.abs(diffX) > 50) {  // minimum swipe distance\n        handleNavigation(diffX > 0 ? \"next\" : \"prev\");\n      }\n    } else {\n      // Vertical swipe - if swiping down\n      if (diffY < -100) {  // negative value means swiped down, higher threshold for exit\n        onClose();\n      }\n    }\n    \n    setTouchStartX(null);\n    setTouchStartY(null);\n  };\n\n  if (loading) {\n    return (\n      <div className=\"fixed inset-0 bg-black flex flex-col items-center justify-center text-white gap-4 z-[999999]\">\n        <div className=\"flex items-center gap-2\">\n          <div className=\"w-5 h-5 border-2 border-white border-t-transparent rounded-full animate-spin\" />\n          <div>{loadingText}</div>\n        </div>\n      </div>\n    );\n  }\n\n  return (\n    <div\n      className=\"fixed inset-0 bg-black flex items-center justify-center cursor-none z-[999999]\"\n      onClick={handleInteraction}\n      onTouchStart={handleTouchStart}\n      onTouchEnd={handleTouchEnd}\n    >\n      {slideImages[currentSlideIndex] && (\n        <img\n          src={slideImages[currentSlideIndex]}\n          alt={`Slide ${currentSlideIndex + 1}`}\n          className=\"max-w-full max-h-full object-contain\"\n          draggable={false}\n        />\n      )}\n      <div className=\"fixed bottom-4 right-4 text-white text-sm opacity-50\">\n        {currentSlideIndex + 1} / {slides.length}\n      </div>\n      <div className=\"fixed bottom-4 left-4 text-white text-sm opacity-50 max-w-[70%]\">\n        <span className=\"hidden md:inline\">Press ← → to navigate • ESC to exit</span>\n        <span className=\"md:hidden\">Swipe left/right to navigate • Swipe down to exit</span>\n      </div>\n    </div>\n  );\n};\n"
  },
  {
    "path": "src/components/SlideList.tsx",
    "content": "import React, { useEffect } from \"react\";\nimport { useDocumentStore } from \"../store/document\";\nimport { SlidePreview } from \"./SlidePreview\";\n\nexport const SlideList: React.FC = () => {\n  const {\n    slides,\n    currentSlideIndex,\n    setCurrentSlide,\n    reorderSlides,\n    reorderConsecutiveSlides,\n    deleteSlide,\n    updateSlide,\n    addSlideAfterIndex,\n    getSidebarCollapsed,\n    setIsSlideListFocused,\n  } = useDocumentStore();\n  const sidebarRef = React.useRef<HTMLDivElement>(null);\n  const [showShortcuts, setShowShortcuts] = React.useState(false);\n  const [isSidebarFocused, setIsSidebarFocused] = React.useState(false);\n\n  // Multi-select state\n  const [selectionStart, setSelectionStart] = React.useState<number | null>(\n    null\n  );\n  const [selectionEnd, setSelectionEnd] = React.useState<number | null>(null);\n\n  const isSidebarCollapsed = getSidebarCollapsed();\n\n  // Function to determine if there's an active multi-selection\n  const hasSelection = () => selectionStart !== null && selectionEnd !== null;\n\n  // Function to clear the current selection\n  const clearSelection = () => {\n    setSelectionStart(null);\n    setSelectionEnd(null);\n  };\n\n  // Get the selected slides indices in a range (inclusive)\n  const getSelectedIndices = () => {\n    if (selectionStart === null || selectionEnd === null) {\n      return [currentSlideIndex];\n    }\n\n    const start = Math.min(selectionStart, selectionEnd);\n    const end = Math.max(selectionStart, selectionEnd);\n\n    return Array.from({ length: end - start + 1 }, (_, i) => start + i);\n  };\n\n  // handle keyboard shortcuts for navigation when focused on the sidebar\n  useEffect(() => {\n    const handleKeyDown = (e: KeyboardEvent) => {\n      if (!sidebarRef.current?.contains(document.activeElement)) {\n        return;\n      }\n\n      if (e.key === \"ArrowUp\") {\n        e.preventDefault();\n\n        if (e.shiftKey) {\n          // Start selection if none exists yet\n          if (selectionStart === null) {\n            setSelectionStart(currentSlideIndex);\n            setSelectionEnd((end) => {\n              return Math.max(0, (end !== null ? end : currentSlideIndex) - 1);\n            });\n          } else {\n            // Update the end of selection\n            setSelectionEnd((end) => {\n              return Math.max(0, (end !== null ? end : currentSlideIndex) - 1);\n            });\n          }\n        } else {\n          // Clear any existing selection on normal navigation\n          clearSelection();\n          setCurrentSlide(Math.max(0, currentSlideIndex - 1));\n        }\n      } else if (e.key === \"ArrowDown\") {\n        e.preventDefault();\n\n        if (e.shiftKey) {\n          // Start selection if none exists yet\n          if (selectionStart === null) {\n            setSelectionStart(currentSlideIndex);\n            setSelectionEnd((end) =>\n              Math.min(\n                slides.length - 1,\n                (end !== null ? end : currentSlideIndex) + 1\n              )\n            );\n          } else {\n            // Update the end of selection\n            setSelectionEnd((end) =>\n              Math.min(\n                slides.length - 1,\n                (end !== null ? end : currentSlideIndex) + 1\n              )\n            );\n          }\n        } else {\n          // Clear any existing selection on normal navigation\n          clearSelection();\n          setCurrentSlide(Math.min(slides.length - 1, currentSlideIndex + 1));\n        }\n      } else if (e.key === \"Delete\" || e.key === \"Backspace\") {\n        e.preventDefault();\n        if (slides.length > 1) {\n          // Don't support multi-select delete for now since it's complex\n          // We would need to handle the case where all selected slides are deleted\n          deleteSlide(currentSlideIndex);\n          setCurrentSlide(Math.min(currentSlideIndex, slides.length - 2));\n          clearSelection();\n        }\n      } else if ((e.ctrlKey || e.metaKey) && e.key === \"d\") {\n        e.preventDefault();\n        const slideToStore = slides[currentSlideIndex];\n        addSlideAfterIndex(currentSlideIndex);\n        const insertIndex = currentSlideIndex + 1;\n        updateSlide(insertIndex, slideToStore.elements);\n        setCurrentSlide(insertIndex);\n      } else if ((e.ctrlKey || e.metaKey) && e.key === \"c\") {\n        e.preventDefault();\n        const slideToStore = slides[currentSlideIndex];\n        const slideData = {\n          type: \"PRESENTATION_SLIDE\",\n          data: slideToStore,\n        };\n        navigator.clipboard\n          .writeText(JSON.stringify(slideData))\n          .catch((error) =>\n            console.error(\"Failed to copy to clipboard:\", error)\n          );\n      } else if ((e.ctrlKey || e.metaKey) && e.key === \"v\") {\n        e.preventDefault();\n        navigator.clipboard\n          .readText()\n          .then((clipboardText) => {\n            try {\n              const parsedData = JSON.parse(clipboardText);\n              if (parsedData.type !== \"PRESENTATION_SLIDE\") {\n                throw new Error(\"Invalid slide data format\");\n              }\n              addSlideAfterIndex(currentSlideIndex);\n              const insertIndex = currentSlideIndex + 1;\n              updateSlide(insertIndex, parsedData.data.elements);\n              setCurrentSlide(insertIndex);\n            } catch (error) {\n              console.error(\"Failed to paste slide:\", error);\n            }\n          })\n          .catch((error) =>\n            console.error(\"Failed to read from clipboard:\", error)\n          );\n      }\n    };\n\n    window.addEventListener(\"keydown\", handleKeyDown);\n    return () => window.removeEventListener(\"keydown\", handleKeyDown);\n  }, [currentSlideIndex, slides]);\n\n  // Handle click with selection\n  const handleSlideClick = (index: number, e: React.MouseEvent) => {\n    if (e.shiftKey) {\n      // If holding shift, create or extend selection\n      if (selectionStart === null) {\n        setSelectionStart(currentSlideIndex);\n        setSelectionEnd(index);\n      } else {\n        setSelectionEnd(index);\n      }\n      // We still want to update the current slide\n      setCurrentSlide(index);\n    } else {\n      // Normal click, just set current and clear selection\n      setCurrentSlide(index);\n      clearSelection();\n    }\n  };\n\n  // handle drag and drop for reordering slides\n  const handleDragStart = (\n    e: React.DragEvent<HTMLDivElement>,\n    index: number\n  ) => {\n    // If we have a selection and the dragged item is within the selection,\n    // we'll drag the entire selection\n    if (hasSelection() && getSelectedIndices().includes(index)) {\n      // Store the selection range to use in drop handler\n      const selectedIndices = getSelectedIndices();\n      const startIdx = Math.min(...selectedIndices);\n      const endIdx = Math.max(...selectedIndices);\n\n      // Store both the main index and the selection range\n      e.dataTransfer.setData(\"text/plain\", index.toString());\n      e.dataTransfer.setData(\n        \"application/json\",\n        JSON.stringify({\n          selectionStart: startIdx,\n          selectionEnd: endIdx,\n        })\n      );\n\n      // Add opacity to all selected items\n      document.querySelectorAll(\".selected-slide\").forEach((el) => {\n        el.classList.add(\"opacity-50\");\n      });\n    } else {\n      // Single item drag\n      e.dataTransfer.setData(\"text/plain\", index.toString());\n      e.currentTarget.classList.add(\"opacity-50\");\n\n      // Clear selection when dragging a non-selected item\n      clearSelection();\n    }\n  };\n\n  const handleDragEnd = (e: React.DragEvent<HTMLDivElement>) => {\n    // Remove opacity from all potentially dragged items\n    e.currentTarget.classList.remove(\"opacity-50\");\n    document.querySelectorAll(\".selected-slide\").forEach((el) => {\n      el.classList.remove(\"opacity-50\");\n    });\n  };\n\n  const handleDragOver = (e: React.DragEvent<HTMLDivElement>) => {\n    e.preventDefault();\n    e.currentTarget.classList.add(\"border-t-2\", \"border-blue-500\");\n  };\n\n  const handleDragLeave = (e: React.DragEvent<HTMLDivElement>) => {\n    e.currentTarget.classList.remove(\"border-t-2\", \"border-blue-500\");\n  };\n\n  const handleDrop = (e: React.DragEvent<HTMLDivElement>, toIndex: number) => {\n    e.preventDefault();\n    e.currentTarget.classList.remove(\"border-t-2\", \"border-blue-500\");\n\n    // Check if this is a multi-selection drag\n    try {\n      const selectionData = e.dataTransfer.getData(\"application/json\");\n      if (selectionData) {\n        const { selectionStart, selectionEnd } = JSON.parse(selectionData);\n        reorderConsecutiveSlides(selectionStart, selectionEnd, toIndex);\n        clearSelection();\n        return;\n      }\n    } catch (error) {\n      console.error(\"Error parsing selection data:\", error);\n    }\n\n    // Fall back to single-item reordering\n    const fromIndex = parseInt(e.dataTransfer.getData(\"text/plain\"), 10);\n    if (fromIndex !== toIndex) {\n      reorderSlides(fromIndex, toIndex);\n    }\n\n    // Clear any selection after drop\n    clearSelection();\n  };\n\n  return (\n    <div className=\"relative\">\n      <div className=\"\">\n        {showShortcuts && (\n          <div\n            style={{ transform: \"translateX(calc(100% - 3rem))\" }}\n            className=\"absolute z-[99999] top-40 ml-2 w-64 p-4 bg-white rounded-lg shadow-lg border border-gray-200\"\n          >\n            <h3 className=\"text-sm font-medium mb-2\">Keyboard Shortcuts</h3>\n            <ul className=\"space-y-2 text-sm text-gray-600\">\n              <li>↑ - Previous slide</li>\n              <li>↓ - Next slide</li>\n              <li>Shift + ↑/↓ - Select multiple slides</li>\n              <li>Shift + Click - Select range of slides</li>\n              <li>Delete/Backspace - Delete current slide</li>\n              <li>Ctrl/⌘ + C - Copy slide</li>\n              <li>Ctrl/⌘ + V - Paste slide</li>\n              <li>Ctrl/⌘ + D - Duplicate slide</li>\n              <li>Ctrl/⌘ + S - Save/Export Data (filename.ins)</li>\n            </ul>\n          </div>\n        )}\n      </div>\n\n      <div\n        className={`fixed z-[9999] left-4 top-24 bottom-4 flex overflow-hidden transition-all duration-300 ${\n          isSidebarCollapsed ? \"translate-x-[-280px]\" : \"\"\n        }`}\n      >\n        <div\n          ref={sidebarRef}\n          className=\"w-60 bg-white rounded-lg shadow-lg focus:outline-none\"\n          tabIndex={0}\n          onFocus={() => {\n            setIsSidebarFocused(true);\n            setIsSlideListFocused(true);\n          }}\n          onBlur={() => {\n            setIsSidebarFocused(false);\n            setIsSlideListFocused(false);\n          }}\n        >\n          <div className=\"p-4\">\n            <div className=\"flex justify-between items-center mb-4\">\n              <div className=\"text-gray-700 font-medium\">Slides</div>\n              <div className=\"relative\">\n                <button\n                  className=\"p-1 rounded-full hover:bg-gray-100\"\n                  onMouseEnter={() => setShowShortcuts(true)}\n                  onMouseLeave={() => setShowShortcuts(false)}\n                >\n                  <svg\n                    xmlns=\"http://www.w3.org/2000/svg\"\n                    className=\"h-5 w-5 text-gray-500\"\n                    viewBox=\"0 0 20 20\"\n                    fill=\"currentColor\"\n                  >\n                    <path\n                      fillRule=\"evenodd\"\n                      d=\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z\"\n                      clipRule=\"evenodd\"\n                    />\n                  </svg>\n                </button>\n              </div>\n            </div>\n            <div\n              className=\"space-y-4 overflow-y-auto\"\n              style={{ maxHeight: \"calc(100vh - 160px)\" }}\n            >\n              {slides.map((slide, index) => (\n                <div\n                  key={slide.id}\n                  draggable\n                  onDragStart={(e) => handleDragStart(e, index)}\n                  onDragEnd={handleDragEnd}\n                  onDragOver={handleDragOver}\n                  onDragLeave={handleDragLeave}\n                  onDrop={(e) => handleDrop(e, index)}\n                  onClick={(e) => handleSlideClick(index, e)}\n                  className={`p-2 rounded-lg cursor-move transition-colors ${\n                    hasSelection() && getSelectedIndices().includes(index)\n                      ? \"selected-slide bg-blue-50 border-2 border-blue-300\"\n                      : currentSlideIndex === index\n                      ? isSidebarFocused\n                        ? \"bg-blue-100 border-2 border-blue-500\"\n                        : \"bg-gray-100 border-2 border-gray-300\"\n                      : \"hover:bg-gray-100 border-2 border-transparent\"\n                  }`}\n                >\n                  <div className=\"flex items-center gap-2 mb-1\">\n                    <div className=\"text-gray-500 text-xs font-medium\">\n                      Slide {index + 1}\n                    </div>\n                  </div>\n                  <div className=\"relative\">\n                    <SlidePreview elements={slide.elements} />\n                    <div\n                      className=\"absolute inset-0 z-10 cursor-pointer\"\n                      aria-label=\"Slide overlay\"\n                    />\n                  </div>\n                </div>\n              ))}\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n  );\n};\n"
  },
  {
    "path": "src/components/SlidePreview.tsx",
    "content": "import React, { useEffect, useRef } from \"react\";\nimport { exportToSvg } from \"@excalidraw/excalidraw\";\nimport { ExcalidrawElement } from \"@excalidraw/excalidraw/types/element/types\";\nimport { useDocumentStore } from \"../store/document\";\nimport { copy } from \"../utils/general\";\nimport { useFontsStore } from \"../store/custom-fonts\";\n\ninterface SlidePreviewProps {\n  elements: ExcalidrawElement[];\n}\n\nexport const SlidePreview: React.FC<SlidePreviewProps> = ({ elements }) => {\n  const previewRef = useRef<HTMLDivElement>(null);\n  const initializedRef = useRef<boolean>(false);\n  const { backgroundColor, files, _isSlideListFocused } = useDocumentStore();\n  const fontStore = useFontsStore.getState();\n\n  useEffect(() => {\n    const generatePreview = async () => {\n      if (!previewRef.current) return;\n\n      // disable frame from preview\n      const _elements = copy(elements);\n      const frameElements = _elements.find(\n        (element: ExcalidrawElement) => element.id === \"frame\"\n      );\n      if (frameElements) {\n        frameElements.strokeColor = \"transparent\";\n      }\n\n      try {\n        const svg = await exportToSvg({\n          elements: _elements,\n          appState: {\n            viewBackgroundColor: backgroundColor,\n            exportWithDarkMode: false,\n          },\n          files: files,\n        });\n\n        previewRef.current.innerHTML = \"\";\n\n        svg.setAttribute(\"width\", \"100%\");\n        svg.setAttribute(\"height\", \"100%\");\n        svg.style.backgroundColor = \"#fafafa\";\n        previewRef.current.appendChild(svg);\n      } catch (error) {\n        console.error(\"Failed to generate preview:\", error);\n      }\n    };\n\n    if (fontStore._initialized) {\n      generatePreview();\n    }\n\n    if (!_isSlideListFocused || !initializedRef.current) {\n      generatePreview();\n      initializedRef.current = true;\n    }\n  }, [_isSlideListFocused, elements, backgroundColor, fontStore._initialized]);\n\n  return (\n    <div\n      ref={previewRef}\n      className=\"w-full h-28 bg-white rounded border border-gray-200 overflow-hidden\"\n    />\n  );\n};\n"
  },
  {
    "path": "src/components/Toolbar.tsx",
    "content": "import React, { useState } from \"react\";\nimport {\n  Plus,\n  Trash2,\n  Presentation as Present,\n  Cloudy,\n  FileCog,\n  Copy,\n  PanelLeftClose,\n} from \"lucide-react\";\nimport { useDocumentStore } from \"../store/document\";\nimport { ExportModal } from \"./ExportModal\";\nimport { DocumentSettingModal } from \"./DocumentSettingModal\";\nimport { CustomFontsModal } from \"./CustomFontsModal\";\nimport { useModalStore } from \"../store/modal\";\nimport { PresentationMode } from \"./PresentationMode\";\n\nexport const Toolbar: React.FC = () => {\n  const {\n    addSlide,\n    addSlideAfterIndex,\n    deleteSlide,\n    currentSlideIndex,\n    slides,\n    updateSlide,\n    getSidebarCollapsed,\n    toggleSidebar,\n  } = useDocumentStore();\n  const [isExportModalOpen, setIsExportModalOpen] = useState(false);\n  const [isDocumentSizeModalOpen, setIsDocumentSizeModalOpen] = useState(false);\n  const { openCustomFontsModal, closeModal } = useModalStore();\n  const [isPresentationMode, setIsPresentationMode] = useState(false);\n\n  const isSidebarCollapsed = getSidebarCollapsed();\n\n  const handleDuplicateSlide = () => {\n    const slideToStore = slides[currentSlideIndex];\n    addSlideAfterIndex(currentSlideIndex);\n    const insertIndex = currentSlideIndex + 1;\n    updateSlide(insertIndex, slideToStore.elements);\n  };\n\n  return (\n    <>\n      <div className=\"fixed top-4 left-0 right-0 mx-4 bg-white rounded-lg shadow-lg px-2 py-2\">\n        <div className=\"relative flex justify-between\">\n          <div className=\"flex gap-2\">\n            <button\n              onClick={toggleSidebar}\n              className=\"flex flex-col items-center gap-1 px-3 py-2 rounded-md hover:bg-gray-100\"\n              title={isSidebarCollapsed ? \"Show Sidebar\" : \"Hide Sidebar\"}\n            >\n              <PanelLeftClose\n                size={16}\n                className={`transform transition-transform ${\n                  isSidebarCollapsed ? \"rotate-180\" : \"\"\n                }`}\n              />\n              <span className=\"text-xs\">\n                {isSidebarCollapsed ? \"Show Slides\" : \"Hide Slides\"}\n              </span>\n            </button>\n            <button\n              onClick={addSlide}\n              className=\"flex flex-col items-center gap-1 px-3 py-2 rounded-md hover:bg-gray-100\"\n            >\n              <Plus size={16} />\n              <span className=\"text-xs\">New Slide</span>\n            </button>\n            <button\n              onClick={handleDuplicateSlide}\n              className=\"flex flex-col items-center gap-1 px-3 py-2 rounded-md hover:bg-gray-100\"\n            >\n              <Copy size={16} />\n              <span className=\"text-xs\">Duplicate</span>\n            </button>\n            <button\n              onClick={() => deleteSlide(currentSlideIndex)}\n              className=\"flex flex-col items-center gap-1 px-3 py-2 rounded-md hover:bg-gray-100 text-red-600\"\n            >\n              <Trash2 size={16} />\n              <span className=\"text-xs\">Delete Slide</span>\n            </button>\n          </div>\n\n          <div className=\"absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 flex flex-col items-center\">\n            <img src=\"/logo.png\" alt=\"Logo\" className=\"h-8\" />\n            <a\n              href=\"https://github.com/chunrapeepat/inscribed?tab=readme-ov-file#changelog\"\n              target=\"_blank\"\n              rel=\"noopener noreferrer\"\n              className=\"mt-1 text-xs text-gray-500\"\n            >\n              v{APP_VERSION}\n            </a>\n          </div>\n\n          <div className=\"flex gap-2\">\n            <button\n              onClick={() => setIsPresentationMode(true)}\n              className=\"flex flex-col items-center gap-1 px-3 py-2 rounded-md hover:bg-gray-100 text-green-600\"\n            >\n              <Present size={16} />\n              <span className=\"text-xs\">Present</span>\n            </button>\n            <button\n              onClick={() => setIsDocumentSizeModalOpen(true)}\n              className=\"flex flex-col items-center gap-1 px-3 py-2 rounded-md hover:bg-gray-100\"\n            >\n              <FileCog size={16} />\n              <span className=\"text-xs\">Document Setting</span>\n            </button>\n            <button\n              onClick={() => setIsExportModalOpen(true)}\n              className=\"flex flex-col items-center gap-1 px-3 py-2 rounded-md hover:bg-gray-100 text-blue-600\"\n            >\n              <Cloudy size={16} />\n              <span className=\"text-xs\">Import/Export</span>\n            </button>\n          </div>\n        </div>\n      </div>\n\n      <ExportModal\n        isOpen={isExportModalOpen}\n        onClose={() => setIsExportModalOpen(false)}\n      />\n      <DocumentSettingModal\n        isOpen={isDocumentSizeModalOpen}\n        onClose={() => setIsDocumentSizeModalOpen(false)}\n      />\n      <CustomFontsModal\n        isOpen={openCustomFontsModal}\n        onClose={() => closeModal(\"custom-fonts-modal\")}\n      />\n      {isPresentationMode && (\n        <PresentationMode onClose={() => setIsPresentationMode(false)} />\n      )}\n    </>\n  );\n};\n"
  },
  {
    "path": "src/components/embed/DefaultNavigation.tsx",
    "content": "import React, { useState, useEffect } from \"react\";\n\ninterface DefaultNavigationProps {\n  currentSlide: number;\n  totalSlides: number;\n  onNextSlide?: () => void;\n  onPrevSlide?: () => void;\n  onJumpToSlide?: (slide: number) => void;\n}\n\nexport const DefaultNavigation: React.FC<DefaultNavigationProps> = ({\n  currentSlide,\n  totalSlides,\n  onNextSlide,\n  onPrevSlide,\n  onJumpToSlide,\n}) => {\n  const [inputValue, setInputValue] = useState((currentSlide + 1).toString());\n\n  // update input value when currentSlide changes\n  useEffect(() => {\n    setInputValue((currentSlide + 1).toString());\n  }, [currentSlide]);\n\n  return (\n    <div\n      className=\"flex items-center justify-center gap-4 p-2 \n                    bg-gray-100 border-t border-gray-300 backdrop-blur z-20\"\n    >\n      <button\n        onClick={onPrevSlide}\n        className=\"p-2 rounded-lg hover:bg-white/80 disabled:opacity-50 transition-colors\"\n        disabled={currentSlide === 0}\n      >\n        ←\n      </button>\n\n      <div className=\"flex items-center gap-2 px-2 border-l border-r border-gray-200\">\n        <input\n          type=\"number\"\n          min={1}\n          max={totalSlides}\n          value={inputValue}\n          onChange={(e) => {\n            setInputValue(e.target.value);\n          }}\n          onKeyDown={(e) => {\n            if (e.key === \"Enter\") {\n              const page = parseInt(inputValue) - 1;\n              if (!isNaN(page) && page >= 0 && page < totalSlides) {\n                onJumpToSlide?.(page);\n              } else {\n                // Reset to current slide if invalid\n                setInputValue((currentSlide + 1).toString());\n              }\n            }\n          }}\n          onBlur={() => {\n            // Reset to current slide on blur\n            setInputValue((currentSlide + 1).toString());\n          }}\n          className=\"w-16 px-2 py-1 text-center border rounded bg-white\"\n        />\n        <span className=\"text-sm text-gray-600\">/ {totalSlides}</span>\n      </div>\n\n      <button\n        onClick={onNextSlide}\n        className=\"p-2 rounded-lg hover:bg-white/80 disabled:opacity-50 transition-colors\"\n        disabled={currentSlide === totalSlides - 1}\n      >\n        →\n      </button>\n    </div>\n  );\n};\n"
  },
  {
    "path": "src/components/embed/ReadOnlyCanvas.tsx",
    "content": "import React, { useEffect, useRef, useCallback, useState } from \"react\";\nimport { Excalidraw } from \"@excalidraw/excalidraw\";\nimport type { ExcalidrawElement } from \"@excalidraw/excalidraw/types/element/types\";\nimport type {\n  BinaryFiles,\n  ExcalidrawImperativeAPI,\n} from \"@excalidraw/excalidraw/types/types\";\nimport type {\n  AppState,\n  NormalizedZoomValue,\n} from \"@excalidraw/excalidraw/types/types\";\nimport { DefaultNavigation } from \"./DefaultNavigation\";\nimport { SliderNavigation } from \"./SliderNavigation\";\n\ntype ExportData = {\n  name: string;\n  document: {\n    backgroundColor: string;\n    slides: {\n      id: string;\n      elements: ExcalidrawElement[];\n    }[];\n    files: BinaryFiles;\n    documentSize: { width: number; height: number };\n  };\n  fonts: {\n    customFonts: {\n      [fontFamily: string]: {\n        subset: string;\n        fontFamily: string;\n        fontStyle: string;\n        fontWeight: number;\n        fontDisplay: string;\n        src: string;\n        unicodeRange: string;\n      }[];\n    };\n  };\n};\n\ninterface ReadOnlyCanvasProps {\n  initialData: ExportData;\n  navigationType?: \"default\" | \"slider\";\n}\nexport const ReadOnlyCanvas: React.FC<ReadOnlyCanvasProps> = ({\n  initialData,\n  navigationType = \"default\",\n}) => {\n  const {\n    document: { slides, files, backgroundColor, documentSize },\n  } = initialData;\n  const excalidrawAPIRef = useRef<ExcalidrawImperativeAPI | null>(null);\n  const [isLoaded, setIsLoaded] = useState(false);\n  const [currentSlideIndex, setCurrentSlideIndex] = useState(0);\n  const totalSlides = slides.length;\n\n  // Function to center content\n  const centerContent = useCallback(() => {\n    if (!excalidrawAPIRef.current || slides.length === 0) return;\n\n    const frame = slides[currentSlideIndex].elements.find(\n      (element) => element.id === \"frame\"\n    );\n    if (frame) {\n      excalidrawAPIRef.current?.scrollToContent(frame, {\n        fitToViewport: true,\n        viewportZoomFactor: 1,\n      });\n    }\n  }, [slides, currentSlideIndex]);\n\n  // Handle window resize\n  useEffect(() => {\n    const handleResize = () => {\n      centerContent();\n    };\n\n    window.addEventListener(\"resize\", handleResize);\n    return () => window.removeEventListener(\"resize\", handleResize);\n  }, [slides, currentSlideIndex]);\n\n  useEffect(() => {\n    // wait for the canvas to load; refactor this later\n    setTimeout(\n      () => {\n        if (!excalidrawAPIRef.current || slides.length === 0) return;\n        const frame = slides[currentSlideIndex].elements.find(\n          (element) => element.id === \"frame\"\n        );\n        if (frame) {\n          excalidrawAPIRef.current?.updateScene({\n            elements: slides[currentSlideIndex].elements.map(\n              (el: ExcalidrawElement) =>\n                el.id === \"frame\"\n                  ? {\n                      ...el,\n                      strokeStyle: \"solid\",\n                      strokeWidth: 1,\n                      strokeColor: \"transparent\",\n                    }\n                  : el\n            ),\n          });\n\n          setIsLoaded(true);\n          centerContent();\n        }\n      },\n      isLoaded ? 0 : 300\n    );\n  }, [slides, currentSlideIndex, isLoaded]);\n\n  // handle keyboard events\n  useEffect(() => {\n    let isKeyPressed = false;\n\n    const handleKeyDown = (e: KeyboardEvent) => {\n      if (isKeyPressed) return; // Prevent multiple triggers while key is held\n      isKeyPressed = true;\n\n      if (e.key === \"ArrowRight\") {\n        setCurrentSlideIndex((prev) => Math.min(prev + 1, totalSlides - 1));\n      } else if (e.key === \"ArrowLeft\") {\n        setCurrentSlideIndex((prev) => Math.max(prev - 1, 0));\n      }\n    };\n    const handleKeyUp = () => {\n      isKeyPressed = false;\n    };\n\n    window.addEventListener(\"keydown\", handleKeyDown);\n    window.addEventListener(\"keyup\", handleKeyUp);\n\n    return () => {\n      window.removeEventListener(\"keydown\", handleKeyDown);\n      window.removeEventListener(\"keyup\", handleKeyUp);\n    };\n  }, []);\n\n  return (\n    <div className=\"fixed inset-0 bg-white flex flex-col\">\n      <style>\n        {`\n          .Stack.Stack_vertical.zoom-actions {\n            display: none !important;\n          }\n          .App-bottom-bar {\n            display: none !important;\n          }\n        `}\n      </style>\n      {/* Credit link in top right */}\n      <div className=\"absolute top-2 right-2 z-20\">\n        <a\n          href=\"https://inscribed.app\"\n          target=\"_blank\"\n          rel=\"noopener noreferrer\"\n          className=\"text-sm text-gray-500 hover:text-gray-700 transition-colors\"\n        >\n          Made with inscribed.app\n        </a>\n      </div>\n      {/* Main content wrapper with padding-bottom for nav bar */}\n      <div className=\"flex-1 relative\">\n        <div className=\"absolute inset-0 z-10\" />\n        <Excalidraw\n          excalidrawAPI={(api) => {\n            excalidrawAPIRef.current = api;\n          }}\n          initialData={{\n            files,\n            elements: slides[currentSlideIndex].elements.map(\n              (el: ExcalidrawElement) => ({\n                ...el,\n                opacity: 0,\n              })\n            ),\n            appState: {\n              viewBackgroundColor: backgroundColor,\n              width: documentSize.width,\n              height: documentSize.height,\n              isLoading: false,\n              errorMessage: null,\n              viewModeEnabled: true,\n              zenModeEnabled: true,\n              gridSize: null,\n              showHelpDialog: false,\n              disableScrollForElements: true,\n              scrollX: 0,\n              scrollY: 0,\n              zoom: { value: 1 as NormalizedZoomValue },\n            } as Partial<AppState>,\n          }}\n          viewModeEnabled\n          zenModeEnabled\n          gridModeEnabled={false}\n          UIOptions={{\n            canvasActions: {\n              toggleTheme: false,\n              export: false,\n              saveAsImage: false,\n              saveToActiveFile: false,\n              loadScene: false,\n              clearCanvas: false,\n              changeViewBackgroundColor: false,\n            },\n          }}\n        />\n      </div>\n\n      {/* Navigation */}\n      {navigationType === \"default\" ? (\n        <DefaultNavigation\n          currentSlide={currentSlideIndex}\n          totalSlides={totalSlides}\n          onNextSlide={() =>\n            setCurrentSlideIndex((prev) => Math.min(prev + 1, totalSlides - 1))\n          }\n          onPrevSlide={() =>\n            setCurrentSlideIndex((prev) => Math.max(prev - 1, 0))\n          }\n          onJumpToSlide={(value) => setCurrentSlideIndex(value)}\n        />\n      ) : (\n        <SliderNavigation\n          currentSlide={currentSlideIndex}\n          totalSlides={totalSlides}\n          onSlideChange={(value) => setCurrentSlideIndex(value)}\n        />\n      )}\n    </div>\n  );\n};\n"
  },
  {
    "path": "src/components/embed/SliderNavigation.tsx",
    "content": "import React, { useState, useEffect } from \"react\";\nimport { Slider } from \"@mui/material\";\nimport { styled } from \"@mui/material/styles\";\n\ninterface SliderNavigationProps {\n  currentSlide: number;\n  totalSlides: number;\n  onSlideChange: (slide: number) => void;\n}\n\nconst StyledSlider = styled(Slider)({\n  color: \"#1a73e8\",\n  height: 8,\n  width: \"100%\",\n  maxWidth: \"700px\",\n  transform: \"translateY(3px)\",\n  \"& .MuiSlider-thumb\": {\n    height: 15,\n    width: 15,\n    backgroundColor: \"#fff\",\n    border: \"2px solid currentColor\",\n    \"&:focus, &:hover, &.Mui-active, &.Mui-focusVisible\": {\n      boxShadow: \"inherit\",\n    },\n  },\n  \"& .MuiSlider-track\": {\n    height: 5,\n    borderRadius: 4,\n  },\n  \"& .MuiSlider-rail\": {\n    height: 5,\n    borderRadius: 4,\n    opacity: 0.3,\n  },\n});\n\nexport const SliderNavigation: React.FC<SliderNavigationProps> = ({\n  currentSlide,\n  totalSlides,\n  onSlideChange,\n}): JSX.Element => {\n  const [inputValue, setInputValue] = useState((currentSlide + 1).toString());\n\n  // Update input value when currentSlide changes\n  useEffect(() => {\n    setInputValue((currentSlide + 1).toString());\n  }, [currentSlide]);\n\n  // Add keyboard navigation\n  useEffect(() => {\n    const handleKeyDown = (e: KeyboardEvent) => {\n      if (e.key === \"ArrowRight\") {\n        if (currentSlide < totalSlides - 1) {\n          onSlideChange(currentSlide + 1);\n        }\n      } else if (e.key === \"ArrowLeft\") {\n        if (currentSlide > 0) {\n          onSlideChange(currentSlide - 1);\n        }\n      }\n    };\n\n    window.addEventListener(\"keydown\", handleKeyDown);\n    return () => window.removeEventListener(\"keydown\", handleKeyDown);\n  }, [currentSlide, totalSlides, onSlideChange]);\n\n  return (\n    <div className=\"fixed bottom-0 left-0 right-0 flex items-center justify-center p-2 bg-gray-100 border-t border-gray-300 backdrop-blur z-20\">\n      <div className=\"flex items-center justify-center gap-3 w-full max-w-[1000px] px-4\">\n        <div className=\"flex items-center gap-2 min-w-[100px] justify-end\">\n          <input\n            type=\"number\"\n            min={1}\n            max={totalSlides}\n            value={inputValue}\n            onChange={(e) => {\n              setInputValue(e.target.value);\n            }}\n            onKeyDown={(e) => {\n              if (e.key === \"Enter\") {\n                const page = parseInt(inputValue) - 1;\n                if (!isNaN(page) && page >= 0 && page < totalSlides) {\n                  onSlideChange(page);\n                } else {\n                  // Reset to current slide if invalid\n                  setInputValue((currentSlide + 1).toString());\n                }\n              }\n            }}\n            onBlur={() => {\n              // Reset to current slide on blur\n              setInputValue((currentSlide + 1).toString());\n            }}\n            className=\"w-16 px-2 py-1.5 text-center border rounded bg-white\"\n          />\n          <span className=\"text-sm text-gray-600 w-12\">/ {totalSlides}</span>\n        </div>\n\n        <div className=\"flex-1\">\n          <StyledSlider\n            value={currentSlide}\n            onChange={(_, value) => onSlideChange(value as number)}\n            min={0}\n            max={totalSlides - 1}\n            step={1}\n          />\n        </div>\n      </div>\n    </div>\n  );\n};\n"
  },
  {
    "path": "src/global.css",
    "content": "@tailwind base;\n@tailwind components;\n@tailwind utilities;\n\n.HelpDialog__header {\n  display: none !important;\n}\nbutton.dropdown-menu-button.main-menu-trigger.zen-mode-transition {\n  display: none !important;\n}\n\n.excalidraw-modal-container {\n  z-index: 999999 !important;\n}\n#hand-drawn-preview-container svg rect {\n  stroke: #333;\n  stroke-width: 2px;\n  stroke-dasharray: 10;\n}\n"
  },
  {
    "path": "src/main.tsx",
    "content": "import React from \"react\";\nimport ReactDOM from \"react-dom/client\";\nimport App from \"./App\";\n\ndeclare global {\n  interface Window {\n    EXCALIDRAW_ASSET_PATH: string;\n  }\n}\nwindow.EXCALIDRAW_ASSET_PATH = \"/excalidraw\";\n\nReactDOM.createRoot(document.getElementById(\"root\")!).render(\n  <React.StrictMode>\n    <App />\n  </React.StrictMode>\n);\n"
  },
  {
    "path": "src/pages/Embed.tsx",
    "content": "import React, { useEffect } from \"react\";\nimport { ThemeProvider, createTheme } from \"@mui/material/styles\";\nimport { ReadOnlyCanvas } from \"../components/embed/ReadOnlyCanvas\";\nimport { registerExcalidrawFonts } from \"../utils/fonts\";\nimport { ExportData } from \"../types\";\nimport { fetchDataFromGist, fetchDataFromRawGist } from \"../utils/export\";\n\ninterface EmbedProps {\n  gistUrl: string;\n  filename?: string;\n  type: \"presentation\" | \"slider-template\";\n}\n\nexport const Embed: React.FC<EmbedProps> = ({ gistUrl, filename, type }) => {\n  const [loading, setLoading] = React.useState(true);\n  const [error, setError] = React.useState<string | null>(null);\n  const [data, setData] = React.useState<ExportData | null>(null);\n  const [fontsLoaded, setFontsLoaded] = React.useState(false);\n\n  useEffect(() => {\n    const loadData = async () => {\n      try {\n        // Check if it's a raw gist URL\n        if (gistUrl.includes(\"raw\")) {\n          const rawData = await fetchDataFromRawGist(gistUrl);\n          setData(rawData);\n        } else {\n          const gistData = await fetchDataFromGist(gistUrl);\n          if (Array.isArray(gistData)) {\n            if (filename) {\n              const file = gistData.find((file) => file.filename === filename);\n              if (file) {\n                setData(file.content);\n              }\n            } else {\n              setData(gistData[0].content);\n            }\n          } else {\n            setData(gistData);\n          }\n        }\n        setLoading(false);\n      } catch (error) {\n        console.error(\"Failed to load template:\", error);\n        setError(\n          error instanceof Error ? error.message : \"Failed to load template\"\n        );\n        setLoading(false);\n      }\n    };\n\n    const loadDebugData = async () => {\n      // fetch default data from public folder\n      const fetchData = await fetch(\"/dev-debug-data.ins\");\n      const data = await fetchData.json();\n      setData(data);\n      setLoading(false);\n    };\n\n    if (import.meta.env.DEV) {\n      loadDebugData();\n    } else {\n      loadData();\n    }\n  }, [gistUrl, filename]);\n\n  // register fonts when data is loaded\n  useEffect(() => {\n    if (!data) return;\n\n    const loadAllFonts = async () => {\n      const customFonts = [];\n      for (const fontFamily in data?.fonts?.customFonts || {}) {\n        customFonts.push(...(data?.fonts?.customFonts[fontFamily] || []));\n      }\n      await registerExcalidrawFonts(customFonts);\n      setFontsLoaded(true);\n    };\n\n    loadAllFonts();\n  }, [data]);\n\n  if (loading || !fontsLoaded) {\n    return (\n      <div className=\"flex items-center justify-center h-screen\">\n        Loading template...\n      </div>\n    );\n  }\n\n  if (error) {\n    return (\n      <div className=\"flex items-center justify-center h-screen text-red-500\">\n        {error}\n      </div>\n    );\n  }\n\n  if (!data) {\n    return (\n      <div className=\"flex items-center justify-center h-screen text-red-500\">\n        No data available\n      </div>\n    );\n  }\n\n  const Component = () => (\n    <ReadOnlyCanvas\n      initialData={data}\n      navigationType={type === \"slider-template\" ? \"slider\" : \"default\"}\n    />\n  );\n\n  return type === \"slider-template\" ? (\n    <ThemeProvider theme={createTheme()}>\n      <Component />\n    </ThemeProvider>\n  ) : (\n    <Component />\n  );\n};\n"
  },
  {
    "path": "src/pages/InscribedEditor.tsx",
    "content": "import React, { useState, useEffect, useCallback } from \"react\";\nimport { Toolbar } from \"../components/Toolbar\";\nimport { SlideList } from \"../components/SlideList\";\nimport { Canvas } from \"../components/Canvas\";\nimport {\n  generateExportData,\n  downloadInsFile,\n  handleImport,\n} from \"../utils/export\";\nimport { useDocumentStore } from \"../store/document\";\n\nexport const InscribedEditor: React.FC = () => {\n  const { filename, _isHandDrawnPreviewOpen } = useDocumentStore();\n  const [showMobileOverlay, setShowMobileOverlay] = useState(false);\n  const [showAboutOverlay, setShowAboutOverlay] = useState(() => {\n    // Check if user has visited before\n    return localStorage.getItem(\"hasVisitedBefore\") !== \"true\";\n  });\n  const [showDropOverlay, setShowDropOverlay] = useState(false);\n  const [showImportConfirm, setShowImportConfirm] = useState(false);\n  const [fileToImport, setFileToImport] = useState<File | null>(null);\n\n  const save = async () => {\n    const defaultFileName = filename || `inscribed-${Date.now()}.ins`;\n    if (\"showSaveFilePicker\" in window) {\n      try {\n        const options: SaveFilePickerOptions = {\n          suggestedName: defaultFileName,\n          types: [\n            {\n              description: \"Inscribed File\",\n              accept: { \"text/plain\": [\".ins\"] },\n            },\n          ],\n        };\n\n        const fileHandle = await window.showSaveFilePicker(options);\n        const exportData = generateExportData(\n          fileHandle.name.replace(\".ins\", \"\")\n        );\n        const blob = new Blob([JSON.stringify(exportData)], {\n          type: \"text/plain\",\n        });\n        const writableStream = await fileHandle.createWritable();\n        await writableStream.write(blob);\n        await writableStream.close();\n      } catch (err) {\n        console.error(\"Save cancelled or error:\", err);\n      }\n    } else {\n      let fileName = window.prompt(\n        \"Enter file name (the default extension .ins will be appended if missing)\",\n        defaultFileName\n      );\n\n      if (!fileName) return;\n      if (!fileName.toLowerCase().endsWith(\".ins\")) {\n        fileName += \".ins\";\n      }\n      const exportData = generateExportData(fileName);\n      downloadInsFile(exportData, fileName);\n    }\n  };\n\n  // Custom save shortcut: ctrl/cmd + s triggers the save function.\n  useEffect(() => {\n    if (_isHandDrawnPreviewOpen) return;\n\n    const handleKeyDown = (event: KeyboardEvent) => {\n      if ((event.ctrlKey || event.metaKey) && event.key.toLowerCase() === \"s\") {\n        event.preventDefault();\n        event.stopPropagation();\n        save();\n      }\n    };\n\n    window.addEventListener(\"keydown\", handleKeyDown, true);\n    return () => {\n      window.removeEventListener(\"keydown\", handleKeyDown, true);\n    };\n  }, [filename, _isHandDrawnPreviewOpen]);\n\n  useEffect(() => {\n    const isMobile = window.innerWidth <= 768;\n    setShowMobileOverlay(isMobile);\n  }, []);\n\n  const handleCloseAbout = () => {\n    setShowAboutOverlay(false);\n    localStorage.setItem(\"hasVisitedBefore\", \"true\");\n  };\n\n  // Handle file drop\n  const handleDragOver = useCallback(\n    (e: React.DragEvent<HTMLDivElement> | DragEvent) => {\n      e.preventDefault();\n      e.stopPropagation();\n\n      // Check if any of the dragged items is a .ins file\n      if (e.dataTransfer?.items) {\n        let hasInsFile = false;\n        for (let i = 0; i < e.dataTransfer.items.length; i++) {\n          const item = e.dataTransfer.items[i];\n          if (item.kind === \"file\") {\n            const file = item.getAsFile();\n            if (file && file.name.toLowerCase().endsWith(\".ins\")) {\n              hasInsFile = true;\n              break;\n            }\n          }\n        }\n        setShowDropOverlay(hasInsFile);\n      }\n    },\n    []\n  );\n\n  const handleDragLeave = useCallback(\n    (e: React.DragEvent<HTMLDivElement> | DragEvent) => {\n      e.preventDefault();\n      e.stopPropagation();\n      setShowDropOverlay(false);\n    },\n    []\n  );\n\n  const handleDrop = useCallback(\n    (e: React.DragEvent<HTMLDivElement> | DragEvent) => {\n      e.preventDefault();\n      setShowDropOverlay(false);\n\n      if (e.dataTransfer?.files) {\n        // Find the first .ins file\n        for (let i = 0; i < e.dataTransfer.files.length; i++) {\n          const file = e.dataTransfer.files[i];\n          if (file.name.toLowerCase().endsWith(\".ins\")) {\n            e.stopPropagation();\n            setFileToImport(file);\n            setShowImportConfirm(true);\n            break;\n          }\n        }\n      }\n    },\n    []\n  );\n\n  // Set up global drag and drop handlers\n  useEffect(() => {\n    // Use the capture phase to intercept events before they reach the canvas\n    window.addEventListener(\"dragover\", handleDragOver, true);\n    window.addEventListener(\"dragleave\", handleDragLeave, true);\n    window.addEventListener(\"drop\", handleDrop, true);\n\n    return () => {\n      window.removeEventListener(\"dragover\", handleDragOver, true);\n      window.removeEventListener(\"dragleave\", handleDragLeave, true);\n      window.removeEventListener(\"drop\", handleDrop, true);\n    };\n  }, [handleDragOver, handleDragLeave, handleDrop]);\n\n  const confirmImport = async () => {\n    if (fileToImport) {\n      try {\n        await handleImport(fileToImport);\n        setShowImportConfirm(false);\n        setFileToImport(null);\n      } catch (error) {\n        console.error(\"Import failed:\", error);\n        alert(\"Import failed. Please try again.\");\n      }\n    }\n  };\n\n  return (\n    <div className=\"min-h-screen bg-gray-100 relative\">\n      <Toolbar />\n      <SlideList />\n      <Canvas />\n\n      <a\n        href=\"https://github.com/chunrapeepat/inscribed/issues/new\"\n        target=\"_blank\"\n        rel=\"noopener noreferrer\"\n        className=\"fixed right-[-40px] top-1/2 transform -translate-y-1/2 -rotate-90 bg-white shadow-md hover:shadow-lg rounded-lg px-4 py-2 hover:bg-gray-50 transition-all duration-200 border border-gray-200\"\n      >\n        Feedback\n      </a>\n\n      {/* Mobile overlay */}\n      {showMobileOverlay && (\n        <div className=\"fixed inset-0 bg-black bg-opacity-50 z-[999999] flex items-center justify-center p-4\">\n          <div className=\"bg-white rounded-lg p-6 max-w-sm text-center\">\n            <h2 className=\"text-xl font-semibold mb-4\">\n              Desktop Experience Recommended\n            </h2>\n            <p className=\"mb-6\">\n              This website is optimized for desktop viewing. For the best\n              experience, please use a desktop or laptop computer.\n            </p>\n            <button\n              onClick={() => setShowMobileOverlay(false)}\n              className=\"bg-blue-600 text-white px-6 py-2 rounded-lg hover:bg-blue-700\"\n            >\n              I understand\n            </button>\n          </div>\n        </div>\n      )}\n\n      {/* About overlay */}\n      {showAboutOverlay && (\n        <div className=\"fixed inset-0 bg-black bg-opacity-50 z-[999999] flex items-center justify-center p-4\">\n          <div className=\"bg-white rounded-lg p-6 max-w-xl text-center\">\n            <h2 className=\"text-xl font-semibold mb-4\">About Inscribed</h2>\n            <p className=\"mb-6\">\n              A slide-based tool for fast sketching and animating ideas.\n            </p>\n            <div className=\"mb-6\">\n              <iframe\n                width=\"100%\"\n                height=\"300\"\n                src=\"https://www.youtube.com/embed/CLJvvGVErMY?si=aB4FI9V3ABQCcWtE\"\n                title=\"YouTube video player\"\n                frameBorder=\"0\"\n                allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\"\n                referrerPolicy=\"strict-origin-when-cross-origin\"\n                allowFullScreen\n                className=\"rounded-lg\"\n              ></iframe>\n            </div>\n            <div className=\"mb-6 flex items-center justify-center gap-4\">\n              <iframe\n                src=\"https://ghbtns.com/github-btn.html?user=chunrapeepat&repo=inscribed&type=star&count=true&size=small\"\n                frameBorder=\"0\"\n                scrolling=\"0\"\n                width=\"150\"\n                height=\"20\"\n                title=\"GitHub\"\n              ></iframe>\n              <a\n                href=\"https://github.com/chunrapeepat/inscribed\"\n                target=\"_blank\"\n                rel=\"noopener noreferrer\"\n                className=\"text-blue-600 hover:text-blue-700 hover:underline\"\n              >\n                See the project on GitHub\n              </a>\n            </div>\n            <div className=\"mb-6 text-left\">\n              <p className=\"text-gray-700 text-sm\">\n                I've been writing tech content lately and needed a way to\n                animate ideas for my blog. I'm a big fan of{\" \"}\n                <a\n                  href=\"https://excalidraw.com\"\n                  target=\"_blank\"\n                  rel=\"noopener noreferrer\"\n                  className=\"text-blue-600 hover:text-blue-700 hover:underline\"\n                >\n                  Excalidraw\n                </a>{\" \"}\n                and Keynote, so this is an attempt to combine their UX together\n                for creating slides and stop motion animations. Export as GIF or\n                iframe and embed anywhere you want. Enjoy!\n              </p>\n            </div>\n            <button\n              onClick={handleCloseAbout}\n              className=\"bg-blue-600 text-white px-6 py-2 rounded-lg hover:bg-blue-700\"\n            >\n              Close\n            </button>\n          </div>\n        </div>\n      )}\n\n      {/* Drop overlay */}\n      {showDropOverlay && (\n        <div className=\"fixed inset-0 bg-blue-500 bg-opacity-30 z-[999999] flex items-center justify-center p-4 border-4 border-blue-500 border-dashed\">\n          <div className=\"bg-white rounded-lg p-8 max-w-md text-center shadow-xl\">\n            <h2 className=\"text-2xl font-semibold mb-4\">Drop to Import</h2>\n            <p className=\"text-gray-600\">\n              Drop your .ins file here to import it into Inscribed\n            </p>\n          </div>\n        </div>\n      )}\n\n      {/* Import confirmation overlay */}\n      {showImportConfirm && (\n        <div className=\"fixed inset-0 bg-black bg-opacity-50 z-[999999] flex items-center justify-center p-4\">\n          <div className=\"bg-white rounded-lg p-6 max-w-md text-center\">\n            <h2 className=\"text-xl font-semibold mb-4\">Confirm Import</h2>\n            <p className=\"mb-6\">\n              Importing \"{fileToImport?.name}\" will replace your current data.\n              Make sure you've backed up any important work.\n            </p>\n            <div className=\"flex justify-center space-x-4\">\n              <button\n                onClick={() => {\n                  setShowImportConfirm(false);\n                  setFileToImport(null);\n                }}\n                className=\"bg-gray-200 text-gray-800 px-6 py-2 rounded-lg hover:bg-gray-300\"\n              >\n                Cancel\n              </button>\n              <button\n                onClick={confirmImport}\n                className=\"bg-blue-600 text-white px-6 py-2 rounded-lg hover:bg-blue-700\"\n              >\n                Import\n              </button>\n            </div>\n          </div>\n        </div>\n      )}\n    </div>\n  );\n};\n"
  },
  {
    "path": "src/store/custom-fonts.ts",
    "content": "import { create } from \"zustand\";\nimport { persist, createJSONStorage } from \"zustand/middleware\";\nimport { CustomFontFace } from \"../types\";\n\n// handle excalidraw custom fonts\ninterface CustomFontsState {\n  _initialized: boolean;\n  customFonts: {\n    [fontFamily: string]: CustomFontFace[];\n  };\n  addFonts: (fontFaces: CustomFontFace[]) => void;\n  removeFont: (fontFamily: string) => void;\n}\n\nexport const useFontsStore = create<CustomFontsState>()(\n  persist(\n    (set) => ({\n      _initialized: false,\n      customFonts: {},\n      addFonts: (fontFaces: CustomFontFace[]) =>\n        set((state) => {\n          const newState = { ...state.customFonts };\n          fontFaces.forEach((fontFace) => {\n            newState[fontFace.fontFamily] = [\n              ...(newState[fontFace.fontFamily] || []),\n              fontFace,\n            ];\n          });\n          return { customFonts: newState };\n        }),\n      removeFont: (fontFamily) =>\n        set((state) => {\n          const newState = { ...state.customFonts };\n          delete newState[fontFamily];\n          return { customFonts: newState };\n        }),\n    }),\n    {\n      name: \"custom-fonts-store\",\n      storage: createJSONStorage(() => localStorage, {}),\n    }\n  )\n);\n"
  },
  {
    "path": "src/store/default-library/algorithms-and-data-structures-arrays-matrices-trees.json",
    "content": "{\n  \"type\": \"excalidrawlib\",\n  \"version\": 2,\n  \"source\": \"app://obsidian.md\",\n  \"libraryItems\": [\n    {\n      \"status\": \"published\",\n      \"elements\": [\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1020,\n          \"versionNonce\": 1567863816,\n          \"isDeleted\": false,\n          \"id\": \"binuWzAklFVorzH4fgvhF\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3097.2762074316083,\n          \"y\": 3721.7578673089447,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.39630933298774,\n          \"height\": 43.83138635257527,\n          \"seed\": 1310186104,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953192,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1061,\n          \"versionNonce\": 735539320,\n          \"isDeleted\": false,\n          \"id\": \"O8cgPXjzhXefQL0l95IlG\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3138.6725167645877,\n          \"y\": 3721.7578673089447,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.39630933298774,\n          \"height\": 43.83138635257527,\n          \"seed\": 599992584,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953192,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1074,\n          \"versionNonce\": 871363336,\n          \"isDeleted\": false,\n          \"id\": \"FVJhWIgNK5XUo3KisFfl8\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3180.124629945943,\n          \"y\": 3721.7578673089447,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.39630933298774,\n          \"height\": 43.83138635257527,\n          \"seed\": 1277545336,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953192,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1114,\n          \"versionNonce\": 964862328,\n          \"isDeleted\": false,\n          \"id\": \"TyUL1VNxe_faygqQS0vIw\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3221.5209392789407,\n          \"y\": 3721.7578673089447,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.39630933298774,\n          \"height\": 43.83138635257527,\n          \"seed\": 1250478088,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953192,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1067,\n          \"versionNonce\": 244077064,\n          \"isDeleted\": false,\n          \"id\": \"FBiVWIuJJOKPvExNayzoW\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3263.3230947818524,\n          \"y\": 3721.7578673089447,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.39630933298774,\n          \"height\": 43.83138635257527,\n          \"seed\": 357407864,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953192,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1107,\n          \"versionNonce\": 748663416,\n          \"isDeleted\": false,\n          \"id\": \"3iXTSN6Aj0vdlyxF4ua70\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3304.7194041148437,\n          \"y\": 3721.7578673089447,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.39630933298774,\n          \"height\": 43.83138635257527,\n          \"seed\": 1698858760,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953192,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1051,\n          \"versionNonce\": 876925192,\n          \"isDeleted\": false,\n          \"id\": \"1tb6fO8YQtp2dKE08GJwL\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3346.115713447834,\n          \"y\": 3721.7578673089447,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.39630933298774,\n          \"height\": 43.83138635257527,\n          \"seed\": 1800621432,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953192,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1091,\n          \"versionNonce\": 1005757304,\n          \"isDeleted\": false,\n          \"id\": \"YjlIb9SEkLxXPuHLPDOMp\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3387.512022780817,\n          \"y\": 3721.7578673089447,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.39630933298774,\n          \"height\": 43.83138635257527,\n          \"seed\": 543974920,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953192,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1055,\n          \"versionNonce\": 747991048,\n          \"isDeleted\": false,\n          \"id\": \"RRpUiIHxlChU3oAKyjTj-\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3428.096639773947,\n          \"y\": 3721.7578673089447,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.39630933298774,\n          \"height\": 43.83138635257527,\n          \"seed\": 930799224,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953192,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1095,\n          \"versionNonce\": 633304184,\n          \"isDeleted\": false,\n          \"id\": \"d7W2B1Blit-Mu3VhTJQY7\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3469.492949106933,\n          \"y\": 3721.7578673089447,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.39630933298774,\n          \"height\": 43.83138635257527,\n          \"seed\": 956458248,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953192,\n          \"link\": null\n        }\n      ],\n      \"id\": \"Tr-NFzcWzDhQ2HW16DA0F\",\n      \"created\": 1646040014400,\n      \"name\": \"Array - 10\"\n    },\n    {\n      \"status\": \"published\",\n      \"elements\": [\n        {\n          \"type\": \"rectangle\",\n          \"version\": 921,\n          \"versionNonce\": 611327496,\n          \"isDeleted\": false,\n          \"id\": \"fcfcFPxxPGtUKrW8CEsp2\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3103.942874098275,\n          \"y\": 3620.6854037243634,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.39630933298774,\n          \"height\": 43.83138635257527,\n          \"seed\": 570883336,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 963,\n          \"versionNonce\": 816752248,\n          \"isDeleted\": false,\n          \"id\": \"328g7uCSMjrM7G41vQn3N\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3145.3391834312542,\n          \"y\": 3620.6854037243634,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.39630933298774,\n          \"height\": 43.83138635257527,\n          \"seed\": 599340920,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 976,\n          \"versionNonce\": 1942953224,\n          \"isDeleted\": false,\n          \"id\": \"OIwMHSMsuSD6woMAxZbSS\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3186.7912966126087,\n          \"y\": 3620.6854037243634,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.39630933298774,\n          \"height\": 43.83138635257527,\n          \"seed\": 2033327112,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1016,\n          \"versionNonce\": 1241716600,\n          \"isDeleted\": false,\n          \"id\": \"Z1MNIUo9R9qyaVg4wPCUf\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3228.187605945607,\n          \"y\": 3620.6854037243634,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.39630933298774,\n          \"height\": 43.83138635257527,\n          \"seed\": 2140375160,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 969,\n          \"versionNonce\": 485899272,\n          \"isDeleted\": false,\n          \"id\": \"wvN9tey0X1gsZwroFxLzz\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3269.989761448518,\n          \"y\": 3620.6854037243634,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.39630933298774,\n          \"height\": 43.83138635257527,\n          \"seed\": 463559432,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1009,\n          \"versionNonce\": 27355256,\n          \"isDeleted\": false,\n          \"id\": \"4jFj3cLGm9dhmjwhLcI_8\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3311.38607078151,\n          \"y\": 3620.6854037243634,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.39630933298774,\n          \"height\": 43.83138635257527,\n          \"seed\": 1845213560,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 953,\n          \"versionNonce\": 1910602504,\n          \"isDeleted\": false,\n          \"id\": \"mq5mJhgyTMAV3P44p0tCK\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3352.7823801145005,\n          \"y\": 3620.6854037243634,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.39630933298774,\n          \"height\": 43.83138635257527,\n          \"seed\": 1271970312,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 993,\n          \"versionNonce\": 860723576,\n          \"isDeleted\": false,\n          \"id\": \"g9PWp2WmyRA4fObEMi-9e\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3394.1786894474835,\n          \"y\": 3620.6854037243634,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.39630933298774,\n          \"height\": 43.83138635257527,\n          \"seed\": 573950584,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 957,\n          \"versionNonce\": 621599240,\n          \"isDeleted\": false,\n          \"id\": \"cgRs7bGcRVmuMuEZ-cErz\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3434.7633064406136,\n          \"y\": 3620.6854037243634,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.39630933298774,\n          \"height\": 43.83138635257527,\n          \"seed\": 482097416,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 997,\n          \"versionNonce\": 575384184,\n          \"isDeleted\": false,\n          \"id\": \"zazeaghr3kSFkUkfHNbkW\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3476.1596157735985,\n          \"y\": 3620.6854037243634,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.39630933298774,\n          \"height\": 43.83138635257527,\n          \"seed\": 1191558008,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 587,\n          \"versionNonce\": 963926280,\n          \"isDeleted\": false,\n          \"id\": \"rPIYyKur\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3117.7575636918673,\n          \"y\": 3595.222015716135,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 12.754673715669167,\n          \"height\": 23.452141993327153,\n          \"seed\": 1642059784,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null,\n          \"fontSize\": 18.35590686106971,\n          \"fontFamily\": 1,\n          \"text\": \"0\",\n          \"rawText\": \"0\",\n          \"baseline\": 16.452141993327153,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"0\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 610,\n          \"versionNonce\": 157260664,\n          \"isDeleted\": false,\n          \"id\": \"RDqEWfUY\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3163.378896414427,\n          \"y\": 3595.1112473126645,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 4.93729305122677,\n          \"height\": 23.452141993327153,\n          \"seed\": 246385784,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null,\n          \"fontSize\": 18.355906861069688,\n          \"fontFamily\": 1,\n          \"text\": \"1\",\n          \"rawText\": \"1\",\n          \"baseline\": 16.452141993327153,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"1\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 606,\n          \"versionNonce\": 1922299912,\n          \"isDeleted\": false,\n          \"id\": \"g8NY3GC3\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3200.843347070794,\n          \"y\": 3595.1112473126645,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 13.16611480327138,\n          \"height\": 23.452141993327153,\n          \"seed\": 523736840,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null,\n          \"fontSize\": 18.355906861069705,\n          \"fontFamily\": 1,\n          \"text\": \"2\",\n          \"rawText\": \"2\",\n          \"baseline\": 16.452141993327153,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"2\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 601,\n          \"versionNonce\": 718105720,\n          \"isDeleted\": false,\n          \"id\": \"3z8Dyn4Z\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3242.4295450954487,\n          \"y\": 3595.1112473126645,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 12.343232628066918,\n          \"height\": 23.452141993327153,\n          \"seed\": 1123499384,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953192,\n          \"link\": null,\n          \"fontSize\": 18.355906861069695,\n          \"fontFamily\": 1,\n          \"text\": \"3\",\n          \"rawText\": \"3\",\n          \"baseline\": 16.452141993327153,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"3\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 614,\n          \"versionNonce\": 1147647752,\n          \"isDeleted\": false,\n          \"id\": \"J94iihhL\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3284.6114779817053,\n          \"y\": 3595.1112473126645,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 11.931791540464689,\n          \"height\": 23.452141993327153,\n          \"seed\": 2034202120,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953192,\n          \"link\": null,\n          \"fontSize\": 18.355906861069702,\n          \"fontFamily\": 1,\n          \"text\": \"4\",\n          \"rawText\": \"4\",\n          \"baseline\": 16.452141993327153,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"4\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 611,\n          \"versionNonce\": 1616452984,\n          \"isDeleted\": false,\n          \"id\": \"AlTcnSIh\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3326.19767600635,\n          \"y\": 3595.1112473126645,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 11.520350452862456,\n          \"height\": 23.452141993327153,\n          \"seed\": 1428213368,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953192,\n          \"link\": null,\n          \"fontSize\": 18.35590686106969,\n          \"fontFamily\": 1,\n          \"text\": \"5\",\n          \"rawText\": \"5\",\n          \"baseline\": 16.452141993327153,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"5\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 613,\n          \"versionNonce\": 1131124232,\n          \"isDeleted\": false,\n          \"id\": \"AMgCPZOv\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3367.404096647675,\n          \"y\": 3595.1112473126645,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 11.931791540464689,\n          \"height\": 23.452141993327153,\n          \"seed\": 619934984,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953192,\n          \"link\": null,\n          \"fontSize\": 18.355906861069702,\n          \"fontFamily\": 1,\n          \"text\": \"6\",\n          \"rawText\": \"6\",\n          \"baseline\": 16.452141993327153,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"6\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 608,\n          \"versionNonce\": 726052472,\n          \"isDeleted\": false,\n          \"id\": \"gUQDgZ2k\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3409.749849438993,\n          \"y\": 3595.1112473126645,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 9.87458610245354,\n          \"height\": 23.452141993327153,\n          \"seed\": 1844461432,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953192,\n          \"link\": null,\n          \"fontSize\": 18.355906861069705,\n          \"fontFamily\": 1,\n          \"text\": \"7\",\n          \"rawText\": \"7\",\n          \"baseline\": 16.452141993327153,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"7\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 612,\n          \"versionNonce\": 345740552,\n          \"isDeleted\": false,\n          \"id\": \"COGqOtNM\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3448.245690823789,\n          \"y\": 3595.1112473126645,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 13.988996978475837,\n          \"height\": 23.452141993327153,\n          \"seed\": 1473221640,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953192,\n          \"link\": null,\n          \"fontSize\": 18.35590686106967,\n          \"fontFamily\": 1,\n          \"text\": \"8\",\n          \"rawText\": \"8\",\n          \"baseline\": 16.452141993327153,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"8\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 613,\n          \"versionNonce\": 1146756984,\n          \"isDeleted\": false,\n          \"id\": \"PcDSgTiP\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3491.1611096900997,\n          \"y\": 3595.1112473126645,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 11.108909365260226,\n          \"height\": 23.452141993327153,\n          \"seed\": 2108264568,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953192,\n          \"link\": null,\n          \"fontSize\": 18.355906861069702,\n          \"fontFamily\": 1,\n          \"text\": \"9\",\n          \"rawText\": \"9\",\n          \"baseline\": 16.452141993327153,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"9\"\n        }\n      ],\n      \"id\": \"psLCi-1LiZc7A6mt7_onB\",\n      \"created\": 1646040011432,\n      \"name\": \"Array numbered - 10\"\n    },\n    {\n      \"status\": \"published\",\n      \"elements\": [\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1002,\n          \"versionNonce\": 94963720,\n          \"isDeleted\": false,\n          \"id\": \"Y41va_sZxN8anyLtF1upW\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3105.6647768266457,\n          \"y\": 3475.915755530857,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.39630933298774,\n          \"height\": 43.83138635257527,\n          \"seed\": 2019655944,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1043,\n          \"versionNonce\": 1263623288,\n          \"isDeleted\": false,\n          \"id\": \"Cf7bzpmDe45KsYoiZMq9Z\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3147.0610861596356,\n          \"y\": 3475.915755530857,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.39630933298774,\n          \"height\": 43.83138635257527,\n          \"seed\": 1496904568,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1056,\n          \"versionNonce\": 1381680904,\n          \"isDeleted\": false,\n          \"id\": \"VXikUhNdqWYxTi-AUWT4S\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3188.5131993409886,\n          \"y\": 3475.915755530857,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.39630933298774,\n          \"height\": 43.83138635257527,\n          \"seed\": 698097672,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1096,\n          \"versionNonce\": 719261048,\n          \"isDeleted\": false,\n          \"id\": \"DuLPYApN5pEhRmntj9bGB\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3229.9095086739744,\n          \"y\": 3475.915755530857,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.39630933298774,\n          \"height\": 43.83138635257527,\n          \"seed\": 1706804344,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1049,\n          \"versionNonce\": 1081910792,\n          \"isDeleted\": false,\n          \"id\": \"PTJ73abA_XjtwCSqcmZOX\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3271.7116641768944,\n          \"y\": 3475.915755530857,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.39630933298774,\n          \"height\": 43.83138635257527,\n          \"seed\": 942333704,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1089,\n          \"versionNonce\": 261004920,\n          \"isDeleted\": false,\n          \"id\": \"RWDJyA73IT7lL--E4MTis\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3313.1079735098774,\n          \"y\": 3475.915755530857,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.39630933298774,\n          \"height\": 43.83138635257527,\n          \"seed\": 1539077496,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1033,\n          \"versionNonce\": 1829414152,\n          \"isDeleted\": false,\n          \"id\": \"YlqfpO-nOYONl57FLmFua\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3354.5042828428655,\n          \"y\": 3475.915755530857,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.39630933298774,\n          \"height\": 43.83138635257527,\n          \"seed\": 613006856,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1073,\n          \"versionNonce\": 975441784,\n          \"isDeleted\": false,\n          \"id\": \"BZBNjpXtr8Tr2HOdMEa3L\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3395.9005921758494,\n          \"y\": 3475.915755530857,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.39630933298774,\n          \"height\": 43.83138635257527,\n          \"seed\": 276760184,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1037,\n          \"versionNonce\": 1971373064,\n          \"isDeleted\": false,\n          \"id\": \"hpuQyzklZgpSlxYHQlTep\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3436.485209168981,\n          \"y\": 3475.915755530857,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.39630933298774,\n          \"height\": 43.83138635257527,\n          \"seed\": 2142551304,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1077,\n          \"versionNonce\": 853762168,\n          \"isDeleted\": false,\n          \"id\": \"zs7CxFYt034PMil-XITYZ\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3477.8815185019644,\n          \"y\": 3475.915755530857,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.39630933298774,\n          \"height\": 43.83138635257527,\n          \"seed\": 281507704,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1058,\n          \"versionNonce\": 1742406408,\n          \"isDeleted\": false,\n          \"id\": \"0QGYzfLG1Hj7C39mNfWOB\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3518.641156655886,\n          \"y\": 3475.915755530857,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.39630933298774,\n          \"height\": 43.83138635257527,\n          \"seed\": 1529338888,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1098,\n          \"versionNonce\": 1502646648,\n          \"isDeleted\": false,\n          \"id\": \"1arob6oDXc2NtPkykTLCE\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3560.0374659888653,\n          \"y\": 3475.915755530857,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.39630933298774,\n          \"height\": 43.83138635257527,\n          \"seed\": 819579000,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1111,\n          \"versionNonce\": 848650760,\n          \"isDeleted\": false,\n          \"id\": \"iB8lEpDwn8T1BDMVnyA4I\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3601.489579170216,\n          \"y\": 3475.915755530857,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.39630933298774,\n          \"height\": 43.83138635257527,\n          \"seed\": 954145544,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1151,\n          \"versionNonce\": 1970250360,\n          \"isDeleted\": false,\n          \"id\": \"XRiSc1y1P6wzF1vIn67UG\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3642.8858885032037,\n          \"y\": 3475.915755530857,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.39630933298774,\n          \"height\": 43.83138635257527,\n          \"seed\": 477755768,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1104,\n          \"versionNonce\": 346808584,\n          \"isDeleted\": false,\n          \"id\": \"cxwKAtOhXlti73DdVS4zM\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3684.688044006129,\n          \"y\": 3475.915755530857,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.39630933298774,\n          \"height\": 43.83138635257527,\n          \"seed\": 2069264904,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1144,\n          \"versionNonce\": 1162122104,\n          \"isDeleted\": false,\n          \"id\": \"GxQEOEhlwmidzJvPgAkhs\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3726.084353339111,\n          \"y\": 3475.915755530857,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.39630933298774,\n          \"height\": 43.83138635257527,\n          \"seed\": 1726745208,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1088,\n          \"versionNonce\": 228229128,\n          \"isDeleted\": false,\n          \"id\": \"_WerImsWLcQeBV3l6tBDA\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3767.4806626721015,\n          \"y\": 3475.915755530857,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.39630933298774,\n          \"height\": 43.83138635257527,\n          \"seed\": 1435105544,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1128,\n          \"versionNonce\": 257123448,\n          \"isDeleted\": false,\n          \"id\": \"l1aEYKwfZ2SjbHvl0m7KT\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3808.876972005092,\n          \"y\": 3475.915755530857,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.39630933298774,\n          \"height\": 43.83138635257527,\n          \"seed\": 452197240,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1092,\n          \"versionNonce\": 1297956616,\n          \"isDeleted\": false,\n          \"id\": \"d-Ct4oqumoEA7r3ZDM7vV\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3849.461588998212,\n          \"y\": 3475.915755530857,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.39630933298774,\n          \"height\": 43.83138635257527,\n          \"seed\": 989173768,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1131,\n          \"versionNonce\": 828380536,\n          \"isDeleted\": false,\n          \"id\": \"eqjgyLWaDTyxvEG4WGM4_\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3890.8578983312045,\n          \"y\": 3475.915755530857,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.39630933298774,\n          \"height\": 43.83138635257527,\n          \"seed\": 1255525496,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null\n        }\n      ],\n      \"id\": \"SXvNRZ12BnML1evVJqrc2\",\n      \"created\": 1646040005586,\n      \"name\": \"Array - 20\"\n    },\n    {\n      \"status\": \"published\",\n      \"elements\": [\n        {\n          \"type\": \"rectangle\",\n          \"version\": 932,\n          \"versionNonce\": 56094584,\n          \"isDeleted\": false,\n          \"id\": \"66QTAbiUjk3yuYV7Kn6ni\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3107.0089425126735,\n          \"y\": 3371.4825084195795,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.2728410928626,\n          \"height\": 43.700655274795736,\n          \"seed\": 2078238328,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 973,\n          \"versionNonce\": 1912267784,\n          \"isDeleted\": false,\n          \"id\": \"1y-YCoh_fV7lEI0PQ5cYc\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3148.2817836055447,\n          \"y\": 3371.4825084195795,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.2728410928626,\n          \"height\": 43.700655274795736,\n          \"seed\": 1091198216,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 986,\n          \"versionNonce\": 1788559480,\n          \"isDeleted\": false,\n          \"id\": \"iyt837Dev36vHkv2XTy6b\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3189.6102621067466,\n          \"y\": 3371.4825084195795,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.2728410928626,\n          \"height\": 43.700655274795736,\n          \"seed\": 1897650040,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1026,\n          \"versionNonce\": 269558536,\n          \"isDeleted\": false,\n          \"id\": \"X98ibXsXIbhEeoRjt17nT\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3230.8831031995965,\n          \"y\": 3371.4825084195795,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.2728410928626,\n          \"height\": 43.700655274795736,\n          \"seed\": 550075400,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 979,\n          \"versionNonce\": 256668024,\n          \"isDeleted\": false,\n          \"id\": \"e4QeH4vF19paMawIh3hrW\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3272.560579989456,\n          \"y\": 3371.4825084195795,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.2728410928626,\n          \"height\": 43.700655274795736,\n          \"seed\": 1201809528,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1019,\n          \"versionNonce\": 789021192,\n          \"isDeleted\": false,\n          \"id\": \"Syd7kQUYN95IXRMrfS7EV\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3313.83342108232,\n          \"y\": 3371.4825084195795,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.2728410928626,\n          \"height\": 43.700655274795736,\n          \"seed\": 424459016,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 963,\n          \"versionNonce\": 1219461752,\n          \"isDeleted\": false,\n          \"id\": \"CCy2P5192XKWe5SN3WXOz\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3355.1062621751707,\n          \"y\": 3371.4825084195795,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.2728410928626,\n          \"height\": 43.700655274795736,\n          \"seed\": 2067159416,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1003,\n          \"versionNonce\": 2111439112,\n          \"isDeleted\": false,\n          \"id\": \"pKs7CpNt3GsXJYPhnoIAm\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3396.3791032680333,\n          \"y\": 3371.4825084195795,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.2728410928626,\n          \"height\": 43.700655274795736,\n          \"seed\": 1024465416,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 967,\n          \"versionNonce\": 1703441272,\n          \"isDeleted\": false,\n          \"id\": \"bB4wuDhugGt1u5eOnISau\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3436.8426729669145,\n          \"y\": 3371.4825084195795,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.2728410928626,\n          \"height\": 43.700655274795736,\n          \"seed\": 1864133240,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1007,\n          \"versionNonce\": 1812242440,\n          \"isDeleted\": false,\n          \"id\": \"fABzwNMnvY3GtLW14dluo\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3478.115514059789,\n          \"y\": 3371.4825084195795,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.2728410928626,\n          \"height\": 43.700655274795736,\n          \"seed\": 1863293192,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 988,\n          \"versionNonce\": 1008419960,\n          \"isDeleted\": false,\n          \"id\": \"l97BsYea2ePIrqhnd437e\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3518.753582902991,\n          \"y\": 3371.4825084195795,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.2728410928626,\n          \"height\": 43.700655274795736,\n          \"seed\": 2115525496,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1028,\n          \"versionNonce\": 428039944,\n          \"isDeleted\": false,\n          \"id\": \"kTUhxsqqYIl6AYvSKHCoO\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3560.0264239958574,\n          \"y\": 3371.4825084195795,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.2728410928626,\n          \"height\": 43.700655274795736,\n          \"seed\": 1388787720,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1041,\n          \"versionNonce\": 975959416,\n          \"isDeleted\": false,\n          \"id\": \"aOMXiF6ansnSbv-qlc71S\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3601.354902497063,\n          \"y\": 3371.4825084195795,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.2728410928626,\n          \"height\": 43.700655274795736,\n          \"seed\": 174992504,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1081,\n          \"versionNonce\": 1188183560,\n          \"isDeleted\": false,\n          \"id\": \"SC820tkieMA6M7J2l-VCA\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3642.627743589918,\n          \"y\": 3371.4825084195795,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.2728410928626,\n          \"height\": 43.700655274795736,\n          \"seed\": 1009973000,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1034,\n          \"versionNonce\": 1962837624,\n          \"isDeleted\": false,\n          \"id\": \"FuPojGIb46-TtZa9XaVx4\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3684.305220379774,\n          \"y\": 3371.4825084195795,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.2728410928626,\n          \"height\": 43.700655274795736,\n          \"seed\": 232906104,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1074,\n          \"versionNonce\": 1156398344,\n          \"isDeleted\": false,\n          \"id\": \"-2OsiyLtW4lHUv5BeF_2T\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3725.5780614726295,\n          \"y\": 3371.4825084195795,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.2728410928626,\n          \"height\": 43.700655274795736,\n          \"seed\": 533648904,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1018,\n          \"versionNonce\": 962000760,\n          \"isDeleted\": false,\n          \"id\": \"64kw3jxybruEishQjFmof\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3766.850902565506,\n          \"y\": 3371.4825084195795,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.2728410928626,\n          \"height\": 43.700655274795736,\n          \"seed\": 699887224,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1058,\n          \"versionNonce\": 1699765256,\n          \"isDeleted\": false,\n          \"id\": \"5V9qCyVVoRe22iZSvrBGO\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3808.123743658359,\n          \"y\": 3371.4825084195795,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.2728410928626,\n          \"height\": 43.700655274795736,\n          \"seed\": 43439368,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1022,\n          \"versionNonce\": 460933240,\n          \"isDeleted\": false,\n          \"id\": \"VnT8tk5L3BRJMUjc9ytst\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3848.587313357249,\n          \"y\": 3371.4825084195795,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.2728410928626,\n          \"height\": 43.700655274795736,\n          \"seed\": 917692280,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1061,\n          \"versionNonce\": 1777834760,\n          \"isDeleted\": false,\n          \"id\": \"f3SOt8gL439F0FIIgjhwZ\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3889.860154450111,\n          \"y\": 3371.4825084195795,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.2728410928626,\n          \"height\": 43.700655274795736,\n          \"seed\": 1778840584,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 631,\n          \"versionNonce\": 120158584,\n          \"isDeleted\": false,\n          \"id\": \"AQVcevJv\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3120.782428543923,\n          \"y\": 3346.095067271233,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 12.716631746652606,\n          \"height\": 23.38219385674836,\n          \"seed\": 1427648632,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null,\n          \"fontSize\": 18.301158707126586,\n          \"fontFamily\": 1,\n          \"text\": \"0\",\n          \"rawText\": \"0\",\n          \"baseline\": 16.38219385674836,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"0\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 654,\n          \"versionNonce\": 1969158664,\n          \"isDeleted\": false,\n          \"id\": \"HuhhMz7c\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3166.267691511636,\n          \"y\": 3345.984629244566,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 4.922567127736501,\n          \"height\": 23.38219385674836,\n          \"seed\": 1276850952,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null,\n          \"fontSize\": 18.30115870712659,\n          \"fontFamily\": 1,\n          \"text\": \"1\",\n          \"rawText\": \"1\",\n          \"baseline\": 16.38219385674836,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"1\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 650,\n          \"versionNonce\": 1336642168,\n          \"isDeleted\": false,\n          \"id\": \"AVRR1B0t\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3203.6204010523184,\n          \"y\": 3345.984629244566,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 13.126845673963961,\n          \"height\": 23.38219385674836,\n          \"seed\": 2091606392,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null,\n          \"fontSize\": 18.301158707126557,\n          \"fontFamily\": 1,\n          \"text\": \"2\",\n          \"rawText\": \"2\",\n          \"baseline\": 16.38219385674836,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"2\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 645,\n          \"versionNonce\": 2055371016,\n          \"isDeleted\": false,\n          \"id\": \"hXrUMuxO\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3245.0825644766173,\n          \"y\": 3345.984629244566,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 12.306417819341249,\n          \"height\": 23.38219385674836,\n          \"seed\": 2135921160,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null,\n          \"fontSize\": 18.30115870712661,\n          \"fontFamily\": 1,\n          \"text\": \"3\",\n          \"rawText\": \"3\",\n          \"baseline\": 16.38219385674836,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"3\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 658,\n          \"versionNonce\": 1069775736,\n          \"isDeleted\": false,\n          \"id\": \"XQzZNjKK\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3287.138685929385,\n          \"y\": 3345.984629244566,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 11.896203892029872,\n          \"height\": 23.38219385674836,\n          \"seed\": 212890232,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null,\n          \"fontSize\": 18.301158707126614,\n          \"fontFamily\": 1,\n          \"text\": \"4\",\n          \"rawText\": \"4\",\n          \"baseline\": 16.38219385674836,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"4\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 655,\n          \"versionNonce\": 752752648,\n          \"isDeleted\": false,\n          \"id\": \"yFDMJX5J\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3328.600849353704,\n          \"y\": 3345.984629244566,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 11.485989964718499,\n          \"height\": 23.38219385674836,\n          \"seed\": 715133192,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null,\n          \"fontSize\": 18.301158707126596,\n          \"fontFamily\": 1,\n          \"text\": \"5\",\n          \"rawText\": \"5\",\n          \"baseline\": 16.38219385674836,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"5\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 657,\n          \"versionNonce\": 699747448,\n          \"isDeleted\": false,\n          \"id\": \"jca0lXl2\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3369.6843681151136,\n          \"y\": 3345.984629244566,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 11.896203892029872,\n          \"height\": 23.38219385674836,\n          \"seed\": 1542153080,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null,\n          \"fontSize\": 18.301158707126614,\n          \"fontFamily\": 1,\n          \"text\": \"6\",\n          \"rawText\": \"6\",\n          \"baseline\": 16.38219385674836,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"6\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 652,\n          \"versionNonce\": 1886246664,\n          \"isDeleted\": false,\n          \"id\": \"Pk72U0uG\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3411.903820865233,\n          \"y\": 3345.984629244566,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 9.845134255473003,\n          \"height\": 23.38219385674836,\n          \"seed\": 898150408,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null,\n          \"fontSize\": 18.3011587071266,\n          \"fontFamily\": 1,\n          \"text\": \"7\",\n          \"rawText\": \"7\",\n          \"baseline\": 16.38219385674836,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"7\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 656,\n          \"versionNonce\": 2001010040,\n          \"isDeleted\": false,\n          \"id\": \"tbBKR245\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3450.284844918138,\n          \"y\": 3345.984629244566,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 13.947273528586742,\n          \"height\": 23.38219385674836,\n          \"seed\": 1218458744,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null,\n          \"fontSize\": 18.301158707126586,\n          \"fontFamily\": 1,\n          \"text\": \"8\",\n          \"rawText\": \"8\",\n          \"baseline\": 16.38219385674836,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"8\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 657,\n          \"versionNonce\": 1236121096,\n          \"isDeleted\": false,\n          \"id\": \"7nQXKPDY\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3493.0722646626186,\n          \"y\": 3345.984629244566,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 11.075776037407113,\n          \"height\": 23.38219385674836,\n          \"seed\": 939880200,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null,\n          \"fontSize\": 18.301158707126575,\n          \"fontFamily\": 1,\n          \"text\": \"9\",\n          \"rawText\": \"9\",\n          \"baseline\": 16.38219385674836,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"9\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 637,\n          \"versionNonce\": 968265336,\n          \"isDeleted\": false,\n          \"id\": \"gkiAo9f5\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3530.491853871131,\n          \"y\": 3345.984629244566,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 17.63919887438911,\n          \"height\": 23.38219385674836,\n          \"seed\": 1217586552,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null,\n          \"fontSize\": 18.301158707126593,\n          \"fontFamily\": 1,\n          \"text\": \"10\",\n          \"rawText\": \"10\",\n          \"baseline\": 16.38219385674836,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"10\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 652,\n          \"versionNonce\": 1301918984,\n          \"isDeleted\": false,\n          \"id\": \"9ozHO1YO\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3575.55114159305,\n          \"y\": 3345.984629244566,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 9.845134255473003,\n          \"height\": 23.38219385674836,\n          \"seed\": 1787973128,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null,\n          \"fontSize\": 18.3011587071266,\n          \"fontFamily\": 1,\n          \"text\": \"11\",\n          \"rawText\": \"11\",\n          \"baseline\": 16.38219385674836,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"11\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 666,\n          \"versionNonce\": 969801592,\n          \"isDeleted\": false,\n          \"id\": \"mgAulGKK\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3612.714528802308,\n          \"y\": 3345.984629244566,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 18.049412801700498,\n          \"height\": 23.38219385674836,\n          \"seed\": 2030532216,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null,\n          \"fontSize\": 18.30115870712659,\n          \"fontFamily\": 1,\n          \"text\": \"12\",\n          \"rawText\": \"12\",\n          \"baseline\": 16.38219385674836,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"12\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 653,\n          \"versionNonce\": 296604680,\n          \"isDeleted\": false,\n          \"id\": \"MOyBgmES\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3654.36601455805,\n          \"y\": 3345.984629244566,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 17.228984947077738,\n          \"height\": 23.38219385674836,\n          \"seed\": 371936520,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null,\n          \"fontSize\": 18.301158707126614,\n          \"fontFamily\": 1,\n          \"text\": \"13\",\n          \"rawText\": \"13\",\n          \"baseline\": 16.38219385674836,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"13\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 662,\n          \"versionNonce\": 131027064,\n          \"isDeleted\": false,\n          \"id\": \"9FJ3WuZZ\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3696.4221360108163,\n          \"y\": 3345.984629244566,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 16.818771019766352,\n          \"height\": 23.38219385674836,\n          \"seed\": 784459640,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null,\n          \"fontSize\": 18.301158707126604,\n          \"fontFamily\": 1,\n          \"text\": \"14\",\n          \"rawText\": \"14\",\n          \"baseline\": 16.38219385674836,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"14\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 645,\n          \"versionNonce\": 468062984,\n          \"isDeleted\": false,\n          \"id\": \"EWRTsnQD\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3737.884299435124,\n          \"y\": 3345.984629244566,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 16.408557092454952,\n          \"height\": 23.38219385674836,\n          \"seed\": 72117256,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null,\n          \"fontSize\": 18.301158707126575,\n          \"fontFamily\": 1,\n          \"text\": \"15\",\n          \"rawText\": \"15\",\n          \"baseline\": 16.38219385674836,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"15\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 654,\n          \"versionNonce\": 192840056,\n          \"isDeleted\": false,\n          \"id\": \"gYbBMifg\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3778.967818196534,\n          \"y\": 3345.984629244566,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 16.818771019766352,\n          \"height\": 23.38219385674836,\n          \"seed\": 101070968,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null,\n          \"fontSize\": 18.301158707126604,\n          \"fontFamily\": 1,\n          \"text\": \"16\",\n          \"rawText\": \"16\",\n          \"baseline\": 16.38219385674836,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"16\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 654,\n          \"versionNonce\": 1388212744,\n          \"isDeleted\": false,\n          \"id\": \"8toQBlWE\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3821.1872709466647,\n          \"y\": 3345.984629244566,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 14.767701383209497,\n          \"height\": 23.38219385674836,\n          \"seed\": 1861331720,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null,\n          \"fontSize\": 18.30115870712658,\n          \"fontFamily\": 1,\n          \"text\": \"17\",\n          \"rawText\": \"17\",\n          \"baseline\": 16.38219385674836,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"17\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 660,\n          \"versionNonce\": 337613432,\n          \"isDeleted\": false,\n          \"id\": \"S2WYblhZ\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3859.568294999562,\n          \"y\": 3345.984629244566,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 18.869840656323245,\n          \"height\": 23.38219385674836,\n          \"seed\": 1922591096,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null,\n          \"fontSize\": 18.30115870712659,\n          \"fontFamily\": 1,\n          \"text\": \"18\",\n          \"rawText\": \"18\",\n          \"baseline\": 16.38219385674836,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"18\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 650,\n          \"versionNonce\": 1832055048,\n          \"isDeleted\": false,\n          \"id\": \"KjnsXWXc\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3902.166392412601,\n          \"y\": 3345.984629244566,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 15.998343165143591,\n          \"height\": 23.38219385674836,\n          \"seed\": 1888946696,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null,\n          \"fontSize\": 18.30115870712659,\n          \"fontFamily\": 1,\n          \"text\": \"19\",\n          \"rawText\": \"19\",\n          \"baseline\": 16.38219385674836,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"19\"\n        }\n      ],\n      \"id\": \"b1wRweyo2_4mi0ie-vudl\",\n      \"created\": 1646040002036,\n      \"name\": \"Array numbered - 20\"\n    },\n    {\n      \"status\": \"published\",\n      \"elements\": [\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1216,\n          \"versionNonce\": 1752597368,\n          \"isDeleted\": false,\n          \"id\": \"nUAc5_vVBDZI8QMghnZfg\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2590.594910188888,\n          \"y\": 3234.3206423208358,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 269.5133180378397,\n          \"height\": 43.86045913917358,\n          \"seed\": 1172555016,\n          \"groupIds\": [\n            \"J9WEJ8ruJhEqoSwFWlogF\"\n          ],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1108,\n          \"versionNonce\": 1656721416,\n          \"isDeleted\": false,\n          \"id\": \"agKIaTZUkqcfeC1qty-Qn\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2471.3448934790804,\n          \"y\": 3234.3206423208358,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 119.06126243059357,\n          \"height\": 43.86045913917358,\n          \"seed\": 1324150648,\n          \"groupIds\": [\n            \"J9WEJ8ruJhEqoSwFWlogF\"\n          ],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1300,\n          \"versionNonce\": 1455903864,\n          \"isDeleted\": false,\n          \"id\": \"1YaRos0x2IoV98jeXsFtZ\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2590.594910188888,\n          \"y\": 3365.8015053807258,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 269.5133180378397,\n          \"height\": 43.86045913917358,\n          \"seed\": 372630536,\n          \"groupIds\": [\n            \"JeHeRmVSZfByN6zsnf1DN\"\n          ],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1192,\n          \"versionNonce\": 1533038344,\n          \"isDeleted\": false,\n          \"id\": \"GwQRPILDv3XLmRu4gEK6u\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2471.3448934790804,\n          \"y\": 3365.8015053807258,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 119.06126243059357,\n          \"height\": 43.86045913917358,\n          \"seed\": 2073051256,\n          \"groupIds\": [\n            \"JeHeRmVSZfByN6zsnf1DN\"\n          ],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1227,\n          \"versionNonce\": 1154876792,\n          \"isDeleted\": false,\n          \"id\": \"ZczztX_NZW93-LjeoB70A\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2590.594910188888,\n          \"y\": 3190.4936879675306,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 269.5133180378397,\n          \"height\": 43.86045913917358,\n          \"seed\": 1961632520,\n          \"groupIds\": [\n            \"gkoV0qBs5P0eXblSKJofI\"\n          ],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1119,\n          \"versionNonce\": 529608200,\n          \"isDeleted\": false,\n          \"id\": \"cg_WE9YPE3hzr7SBRHgYN\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2471.3448934790804,\n          \"y\": 3190.4936879675306,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 119.06126243059357,\n          \"height\": 43.86045913917358,\n          \"seed\": 966881656,\n          \"groupIds\": [\n            \"gkoV0qBs5P0eXblSKJofI\"\n          ],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1235,\n          \"versionNonce\": 1072076408,\n          \"isDeleted\": false,\n          \"id\": \"3UfIG-K9cefRvfugBTwAF\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2590.594910188888,\n          \"y\": 3278.1475966741364,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 269.5133180378397,\n          \"height\": 43.86045913917358,\n          \"seed\": 1082294792,\n          \"groupIds\": [\n            \"4mepuUFzRa4yu-QA7NlNG\"\n          ],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1127,\n          \"versionNonce\": 139341064,\n          \"isDeleted\": false,\n          \"id\": \"3LBQZjJf0tyFLHPaF1Kpm\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2471.3448934790804,\n          \"y\": 3278.1475966741364,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 119.06126243059357,\n          \"height\": 43.86045913917358,\n          \"seed\": 1617199736,\n          \"groupIds\": [\n            \"4mepuUFzRa4yu-QA7NlNG\"\n          ],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1272,\n          \"versionNonce\": 213714808,\n          \"isDeleted\": false,\n          \"id\": \"e1K17iN1hLgo9myIiYonK\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2590.594910188888,\n          \"y\": 3321.9745510274306,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 269.5133180378397,\n          \"height\": 43.86045913917358,\n          \"seed\": 670368008,\n          \"groupIds\": [\n            \"5KOfLgiFbf6nRckMvvDFN\"\n          ],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1164,\n          \"versionNonce\": 1863535624,\n          \"isDeleted\": false,\n          \"id\": \"_QF6A77WY_wWhXa-fO75q\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2471.3448934790804,\n          \"y\": 3321.9745510274306,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 119.06126243059357,\n          \"height\": 43.86045913917358,\n          \"seed\": 1050506104,\n          \"groupIds\": [\n            \"5KOfLgiFbf6nRckMvvDFN\"\n          ],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 453,\n          \"versionNonce\": 933058680,\n          \"isDeleted\": false,\n          \"id\": \"uq6eAmWa\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2448.9003282508365,\n          \"y\": 3199.660783812815,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"#ced4da\",\n          \"width\": 13.998275697624901,\n          \"height\": 25.52626744861011,\n          \"seed\": 448765960,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null,\n          \"fontSize\": 20.28072622858504,\n          \"fontFamily\": 1,\n          \"text\": \"0\",\n          \"rawText\": \"0\",\n          \"baseline\": 17.52626744861011,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"0\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 480,\n          \"versionNonce\": 500992776,\n          \"isDeleted\": false,\n          \"id\": \"YvEg6mTg\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2453.0174681618964,\n          \"y\": 3243.4877381661086,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"#ced4da\",\n          \"width\": 5.352281884385991,\n          \"height\": 25.52626744861011,\n          \"seed\": 714097784,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null,\n          \"fontSize\": 20.280726228585042,\n          \"fontFamily\": 1,\n          \"text\": \"1\",\n          \"rawText\": \"1\",\n          \"baseline\": 17.52626744861011,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"1\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 500,\n          \"versionNonce\": 608930168,\n          \"isDeleted\": false,\n          \"id\": \"o055urPF\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2448.4886142597215,\n          \"y\": 3287.314692519409,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"#ced4da\",\n          \"width\": 14.409989688731526,\n          \"height\": 25.52626744861011,\n          \"seed\": 954097416,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null,\n          \"fontSize\": 20.280726228585053,\n          \"fontFamily\": 1,\n          \"text\": \"2\",\n          \"rawText\": \"2\",\n          \"baseline\": 17.52626744861011,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"2\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 495,\n          \"versionNonce\": 1059449352,\n          \"isDeleted\": false,\n          \"id\": \"EmxanU5w\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2448.6944712552804,\n          \"y\": 3331.141646872716,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"#ced4da\",\n          \"width\": 13.998275697624901,\n          \"height\": 25.52626744861011,\n          \"seed\": 302052728,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null,\n          \"fontSize\": 20.28072622858504,\n          \"fontFamily\": 1,\n          \"text\": \"3\",\n          \"rawText\": \"3\",\n          \"baseline\": 17.52626744861011,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"3\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 503,\n          \"versionNonce\": 504076920,\n          \"isDeleted\": false,\n          \"id\": \"u7Y5ClpF\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2449.106185246391,\n          \"y\": 3374.9686012260067,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"#ced4da\",\n          \"width\": 13.17484771541168,\n          \"height\": 25.52626744861011,\n          \"seed\": 1120747016,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null,\n          \"fontSize\": 20.28072622858505,\n          \"fontFamily\": 1,\n          \"text\": \"4\",\n          \"rawText\": \"4\",\n          \"baseline\": 17.52626744861011,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"4\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 463,\n          \"versionNonce\": 1307273480,\n          \"isDeleted\": false,\n          \"id\": \"5CkwBq21\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2514.2011080545585,\n          \"y\": 3161.6687316334787,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"#ced4da\",\n          \"width\": 33.34883327963576,\n          \"height\": 23.467697493077033,\n          \"seed\": 171148920,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null,\n          \"fontSize\": 18.476780229816047,\n          \"fontFamily\": 1,\n          \"text\": \"KEY\",\n          \"rawText\": \"KEY\",\n          \"baseline\": 16.467697493077033,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"KEY\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 523,\n          \"versionNonce\": 1738640248,\n          \"isDeleted\": false,\n          \"id\": \"YBrOJ5Pj\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2698.384302790325,\n          \"y\": 3161.6687316334787,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"#ced4da\",\n          \"width\": 53.5228188438599,\n          \"height\": 23.467697493077033,\n          \"seed\": 159923464,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953191,\n          \"link\": null,\n          \"fontSize\": 18.476780229816075,\n          \"fontFamily\": 1,\n          \"text\": \"DATA\",\n          \"rawText\": \"DATA\",\n          \"baseline\": 16.467697493077033,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"DATA\"\n        }\n      ],\n      \"id\": \"0fN1YgloN8QEBcG1nuLU0\",\n      \"created\": 1646039997075,\n      \"name\": \"Dataset/Hashing table - 5\"\n    },\n    {\n      \"status\": \"published\",\n      \"elements\": [\n        {\n          \"type\": \"rectangle\",\n          \"version\": 983,\n          \"versionNonce\": 1832204408,\n          \"isDeleted\": false,\n          \"id\": \"nyAT2yXZdrWdlxoUzr_dM\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2248.9807929091307,\n          \"y\": 3090.6819019233294,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.560403029812925,\n          \"height\": 44.005132619801934,\n          \"seed\": 1893856520,\n          \"groupIds\": [\n            \"RThV7p7iai2rgHfEFgBw-\"\n          ],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"pfFKA7harw-SjzgEVGiKQ\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039953190,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 987,\n          \"versionNonce\": 372419336,\n          \"isDeleted\": false,\n          \"id\": \"8H8DH8hQPbBm3DFNaemaT\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2129.3374306821747,\n          \"y\": 3090.681901923331,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 119.45398534279994,\n          \"height\": 44.005132619801934,\n          \"seed\": 2116665208,\n          \"groupIds\": [\n            \"RThV7p7iai2rgHfEFgBw-\"\n          ],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"b85mS7XuahBCXzFHCneKS\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"CqD28aiVuxwYtCK3A_jmu\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"pfFKA7harw-SjzgEVGiKQ\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039953190,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 984,\n          \"versionNonce\": 468150648,\n          \"isDeleted\": false,\n          \"id\": \"rhYkIA-ruUfWFwkZLSwNq\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2248.9807929091307,\n          \"y\": 2997.694252470919,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.560403029812925,\n          \"height\": 44.005132619801934,\n          \"seed\": 569250824,\n          \"groupIds\": [\n            \"8l_oMmlWKoYgfOk7jsJbL\"\n          ],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 979,\n          \"versionNonce\": 129501704,\n          \"isDeleted\": false,\n          \"id\": \"SZTyTvQ-zSsYQODZoBoqL\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2129.3374306821747,\n          \"y\": 2997.694252470919,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 119.45398534279994,\n          \"height\": 44.005132619801934,\n          \"seed\": 1253249144,\n          \"groupIds\": [\n            \"8l_oMmlWKoYgfOk7jsJbL\"\n          ],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null\n        },\n        {\n          \"type\": \"arrow\",\n          \"version\": 1233,\n          \"versionNonce\": 1999338104,\n          \"isDeleted\": false,\n          \"id\": \"CqD28aiVuxwYtCK3A_jmu\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2527.8213714616872,\n          \"y\": 3041.189553085272,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 182.00986208077242,\n          \"height\": 71.77126476376559,\n          \"seed\": 975065864,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null,\n          \"startBinding\": null,\n          \"endBinding\": {\n            \"elementId\": \"8H8DH8hQPbBm3DFNaemaT\",\n            \"focus\": -0.012559881057196248,\n            \"gap\": 1\n          },\n          \"lastCommittedPoint\": null,\n          \"startArrowhead\": null,\n          \"endArrowhead\": \"arrow\",\n          \"points\": [\n            [\n              -257.88147795349914,\n              0\n            ],\n            [\n              -257.3651379192276,\n              17.56105414432561\n            ],\n            [\n              -439.375,\n              19.08810233078872\n            ],\n            [\n              -438.8586599657286,\n              64.89954792468158\n            ],\n            [\n              -438.60048994859284,\n              71.77126476376559\n            ],\n            [\n              -399.3586473439441,\n              71.77126476376559\n            ]\n          ]\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1087,\n          \"versionNonce\": 2134477064,\n          \"isDeleted\": false,\n          \"id\": \"HWn8H7XjZ30m7zC91rcoU\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2250.107352983919,\n          \"y\": 3278.7079077367503,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.560403029812925,\n          \"height\": 44.005132619801934,\n          \"seed\": 1005207928,\n          \"groupIds\": [\n            \"9A8mjXNoR724NUfC24xyA\"\n          ],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"9MbmQgolhz1_3a9MwO--l\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039953190,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1092,\n          \"versionNonce\": 1371892600,\n          \"isDeleted\": false,\n          \"id\": \"x9wMn1lnlPB9e3Ec0iBhH\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2130.463990756944,\n          \"y\": 3278.7079077367503,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 119.45398534279994,\n          \"height\": 44.005132619801934,\n          \"seed\": 2146349576,\n          \"groupIds\": [\n            \"9A8mjXNoR724NUfC24xyA\"\n          ],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"b85mS7XuahBCXzFHCneKS\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"Gbo4e1lFKj3aFCtV8Mg0C\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039953190,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1153,\n          \"versionNonce\": 674441224,\n          \"isDeleted\": false,\n          \"id\": \"z9RY09Skcpgg8pM2ObPp3\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2250.107352983919,\n          \"y\": 3185.7202582843443,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.560403029812925,\n          \"height\": 44.005132619801934,\n          \"seed\": 1091785336,\n          \"groupIds\": [\n            \"pbr_W1gWGD3v1EGFLmf_j\"\n          ],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1151,\n          \"versionNonce\": 100220024,\n          \"isDeleted\": false,\n          \"id\": \"CqC_q1pAByM2nDVsSMcgf\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2130.463990756944,\n          \"y\": 3185.7202582843443,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 119.45398534279994,\n          \"height\": 44.005132619801934,\n          \"seed\": 173748488,\n          \"groupIds\": [\n            \"pbr_W1gWGD3v1EGFLmf_j\"\n          ],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"pfFKA7harw-SjzgEVGiKQ\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039953190,\n          \"link\": null\n        },\n        {\n          \"type\": \"arrow\",\n          \"version\": 1512,\n          \"versionNonce\": 1587603208,\n          \"isDeleted\": false,\n          \"id\": \"Gbo4e1lFKj3aFCtV8Mg0C\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2528.9479315364765,\n          \"y\": 3229.2155588986902,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 182.00986208077242,\n          \"height\": 71.77126476376559,\n          \"seed\": 1089618808,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null,\n          \"startBinding\": null,\n          \"endBinding\": {\n            \"elementId\": \"x9wMn1lnlPB9e3Ec0iBhH\",\n            \"focus\": -0.012559881057154911,\n            \"gap\": 1\n          },\n          \"lastCommittedPoint\": null,\n          \"startArrowhead\": null,\n          \"endArrowhead\": \"arrow\",\n          \"points\": [\n            [\n              -257.88147795349914,\n              0\n            ],\n            [\n              -257.3651379192276,\n              17.56105414432561\n            ],\n            [\n              -439.375,\n              19.08810233078872\n            ],\n            [\n              -438.8586599657286,\n              64.89954792468158\n            ],\n            [\n              -438.60048994859284,\n              71.77126476376559\n            ],\n            [\n              -399.3586473439441,\n              71.77126476376559\n            ]\n          ]\n        },\n        {\n          \"type\": \"arrow\",\n          \"version\": 1872,\n          \"versionNonce\": 92990840,\n          \"isDeleted\": false,\n          \"id\": \"pfFKA7harw-SjzgEVGiKQ\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2529.658625536013,\n          \"y\": 3136.2810668484867,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 182.00986208077242,\n          \"height\": 71.77126476376559,\n          \"seed\": 819974152,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null,\n          \"startBinding\": {\n            \"elementId\": \"nyAT2yXZdrWdlxoUzr_dM\",\n            \"focus\": -0.061713931189308555,\n            \"gap\": 1.5940323053555403\n          },\n          \"endBinding\": {\n            \"elementId\": \"CqC_q1pAByM2nDVsSMcgf\",\n            \"focus\": -0.014975844788556854,\n            \"gap\": 1\n          },\n          \"lastCommittedPoint\": null,\n          \"startArrowhead\": null,\n          \"endArrowhead\": \"arrow\",\n          \"points\": [\n            [\n              -257.88147795349914,\n              0\n            ],\n            [\n              -257.3651379192276,\n              17.56105414432561\n            ],\n            [\n              -439.375,\n              19.08810233078872\n            ],\n            [\n              -438.8586599657286,\n              64.89954792468158\n            ],\n            [\n              -438.60048994859284,\n              71.77126476376559\n            ],\n            [\n              -399.3586473439441,\n              71.77126476376559\n            ]\n          ]\n        },\n        {\n          \"type\": \"arrow\",\n          \"version\": 1601,\n          \"versionNonce\": 520013320,\n          \"isDeleted\": false,\n          \"id\": \"9MbmQgolhz1_3a9MwO--l\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2530.137860615449,\n          \"y\": 3324.3686407331365,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 182.00986208077242,\n          \"height\": 72.61453187772486,\n          \"seed\": 701174904,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null,\n          \"startBinding\": {\n            \"elementId\": \"HWn8H7XjZ30m7zC91rcoU\",\n            \"focus\": -0.03141891960385563,\n            \"gap\": 1.6556003765845162\n          },\n          \"endBinding\": {\n            \"elementId\": \"yg5w9zeLmFjOSjXO3_jX_\",\n            \"focus\": -0.06932381068497397,\n            \"gap\": 1.2841993932486275\n          },\n          \"lastCommittedPoint\": null,\n          \"startArrowhead\": null,\n          \"endArrowhead\": \"arrow\",\n          \"points\": [\n            [\n              -257.88147795349914,\n              0\n            ],\n            [\n              -257.3651379192276,\n              17.561054144325624\n            ],\n            [\n              -439.375,\n              19.08810233078872\n            ],\n            [\n              -438.8586599657286,\n              64.8995479246816\n            ],\n            [\n              -438.60048994859284,\n              71.77126476376556\n            ],\n            [\n              -399.3586473439441,\n              72.61453187772486\n            ]\n          ]\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1033,\n          \"versionNonce\": 1774091896,\n          \"isDeleted\": false,\n          \"id\": \"uNCY28F25bkxM2oqCQY4X\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2251.7067748917316,\n          \"y\": 3374.677397582637,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.560403029812925,\n          \"height\": 44.005132619801934,\n          \"seed\": 312569352,\n          \"groupIds\": [\n            \"gzLFRMGry-QLlEsLahwPO\"\n          ],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1029,\n          \"versionNonce\": 1984480520,\n          \"isDeleted\": false,\n          \"id\": \"yg5w9zeLmFjOSjXO3_jX_\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2132.0634126647537,\n          \"y\": 3374.677397582637,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 119.45398534279994,\n          \"height\": 44.005132619801934,\n          \"seed\": 1962563192,\n          \"groupIds\": [\n            \"gzLFRMGry-QLlEsLahwPO\"\n          ],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"9MbmQgolhz1_3a9MwO--l\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039953190,\n          \"link\": null\n        }\n      ],\n      \"id\": \"w38Kjw2TxA1G8RXIchD-c\",\n      \"created\": 1646039992628,\n      \"name\": \"Linked List vertical -  5\"\n    },\n    {\n      \"status\": \"published\",\n      \"elements\": [\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1014,\n          \"versionNonce\": 2088395640,\n          \"isDeleted\": false,\n          \"id\": \"akxlaacfHq4C8nlzZ_4nB\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1849.5029192143693,\n          \"y\": 3009.9656304918703,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 122.92399243671676,\n          \"height\": 45.28343339747173,\n          \"seed\": 777687304,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1106,\n          \"versionNonce\": 1768534024,\n          \"isDeleted\": false,\n          \"id\": \"JpkP5HEEENaRoCiKvfKtl\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1849.5029192143693,\n          \"y\": 3055.4010311781844,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 122.92399243671676,\n          \"height\": 45.28343339747173,\n          \"seed\": 1729684344,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1046,\n          \"versionNonce\": 2135897208,\n          \"isDeleted\": false,\n          \"id\": \"28hx5rQnEjDIp1eK3_CH5\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1849.5029192143693,\n          \"y\": 3101.214273034458,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 122.92399243671676,\n          \"height\": 45.28343339747173,\n          \"seed\": 1576218632,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1037,\n          \"versionNonce\": 1204186888,\n          \"isDeleted\": false,\n          \"id\": \"xtP96fsFSpwm0Ab8dn52h\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1849.5029192143693,\n          \"y\": 3147.688736938148,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 122.92399243671676,\n          \"height\": 45.28343339747173,\n          \"seed\": 303936632,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1038,\n          \"versionNonce\": 1365370232,\n          \"isDeleted\": false,\n          \"id\": \"fHcHq2o_KqwlL_koDaAEO\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1849.5029192143693,\n          \"y\": 3192.74629645452,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 122.92399243671676,\n          \"height\": 45.28343339747173,\n          \"seed\": 1864363784,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 467,\n          \"versionNonce\": 1513311752,\n          \"isDeleted\": false,\n          \"id\": \"oLiHm3Tg\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1821.4696920694319,\n          \"y\": 3020.98873121468,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"#ced4da\",\n          \"width\": 14.452424750535531,\n          \"height\": 26.354421603917736,\n          \"seed\": 106980728,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null,\n          \"fontSize\": 20.938698167987152,\n          \"fontFamily\": 1,\n          \"text\": \"0\",\n          \"rawText\": \"0\",\n          \"baseline\": 18.354421603917736,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"0\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 494,\n          \"versionNonce\": 267810424,\n          \"isDeleted\": false,\n          \"id\": \"pT43HqIn\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1825.7204052313382,\n          \"y\": 3066.237572823344,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"#ced4da\",\n          \"width\": 5.525927110498878,\n          \"height\": 26.354421603917736,\n          \"seed\": 1516031496,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null,\n          \"fontSize\": 20.938698167987138,\n          \"fontFamily\": 1,\n          \"text\": \"1\",\n          \"rawText\": \"1\",\n          \"baseline\": 18.354421603917736,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"1\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 514,\n          \"versionNonce\": 1772899592,\n          \"isDeleted\": false,\n          \"id\": \"zkOSCWSs\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1821.0446207532286,\n          \"y\": 3111.4864144320013,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"#ced4da\",\n          \"width\": 14.877496066727746,\n          \"height\": 26.354421603917736,\n          \"seed\": 556070520,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null,\n          \"fontSize\": 20.93869816798714,\n          \"fontFamily\": 1,\n          \"text\": \"2\",\n          \"rawText\": \"2\",\n          \"baseline\": 18.354421603917736,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"2\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 509,\n          \"versionNonce\": 265348984,\n          \"isDeleted\": false,\n          \"id\": \"GQT4Hr0l\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1821.257156411331,\n          \"y\": 3156.7352560406675,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"#ced4da\",\n          \"width\": 14.452424750535531,\n          \"height\": 26.354421603917736,\n          \"seed\": 681954568,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null,\n          \"fontSize\": 20.938698167987152,\n          \"fontFamily\": 1,\n          \"text\": \"3\",\n          \"rawText\": \"3\",\n          \"baseline\": 18.354421603917736,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"3\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 517,\n          \"versionNonce\": 1068329992,\n          \"isDeleted\": false,\n          \"id\": \"KW18gAOH\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1821.6822277275269,\n          \"y\": 3201.9840976493338,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"#ced4da\",\n          \"width\": 13.602282118151097,\n          \"height\": 26.354421603917736,\n          \"seed\": 1999595384,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null,\n          \"fontSize\": 20.938698167987162,\n          \"fontFamily\": 1,\n          \"text\": \"4\",\n          \"rawText\": \"4\",\n          \"baseline\": 18.354421603917736,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"4\"\n        }\n      ],\n      \"id\": \"dn3ejPxYMToAsqzRs23T7\",\n      \"created\": 1646039989260,\n      \"name\": \"Datatable - 5\"\n    },\n    {\n      \"status\": \"published\",\n      \"elements\": [\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1174,\n          \"versionNonce\": 538782840,\n          \"isDeleted\": false,\n          \"id\": \"Vbrt5MJJCZlrSdGWBhHLM\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2960.675928858055,\n          \"y\": 2809.168337115174,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.31353758476767,\n          \"height\": 45.86139273681292,\n          \"seed\": 440315256,\n          \"groupIds\": [\n            \"0aQZ1L6PvlSASlXBZEXQh\"\n          ],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1168,\n          \"versionNonce\": 1559492360,\n          \"isDeleted\": false,\n          \"id\": \"7SBU9L8nW0daBe0VwUWpQ\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2835.9856734996674,\n          \"y\": 2809.168337115174,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 124.49289002525232,\n          \"height\": 45.86139273681292,\n          \"seed\": 812058120,\n          \"groupIds\": [\n            \"0aQZ1L6PvlSASlXBZEXQh\"\n          ],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1146,\n          \"versionNonce\": 363912568,\n          \"isDeleted\": false,\n          \"id\": \"zajDow5L-wcYWmIIXDFF3\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1961.9238958023873,\n          \"y\": 2809.168337115174,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.31353758476767,\n          \"height\": 45.86139273681292,\n          \"seed\": 838483576,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1140,\n          \"versionNonce\": 7329288,\n          \"isDeleted\": false,\n          \"id\": \"vCBM4UxRpOaE4-2EA-OT7\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1837.2336404439982,\n          \"y\": 2809.168337115174,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 124.49289002525232,\n          \"height\": 45.86139273681292,\n          \"seed\": 816383240,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1185,\n          \"versionNonce\": 1604742776,\n          \"isDeleted\": false,\n          \"id\": \"KPtb-0r2yDDZcVJf9eKV1\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2211.611904066318,\n          \"y\": 2809.168337115174,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.31353758476767,\n          \"height\": 45.86139273681292,\n          \"seed\": 1310437240,\n          \"groupIds\": [\n            \"gIzFNbfGUsblobxYq4SRT\"\n          ],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"yBWUnYfKRHYoNNUm8OR8V\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039953190,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1180,\n          \"versionNonce\": 655873288,\n          \"isDeleted\": false,\n          \"id\": \"IyJoT0o1DCkIjEFS9UTd_\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2086.9216487079225,\n          \"y\": 2809.168337115174,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 124.49289002525232,\n          \"height\": 45.86139273681292,\n          \"seed\": 1985160200,\n          \"groupIds\": [\n            \"gIzFNbfGUsblobxYq4SRT\"\n          ],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"25XCfwXDsjhL16Z_mvhFx\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039953190,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1207,\n          \"versionNonce\": 1455546232,\n          \"isDeleted\": false,\n          \"id\": \"7F7za8B_Q4O4Gjon3J2X0\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2461.2999123302316,\n          \"y\": 2809.168337115174,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.31353758476767,\n          \"height\": 45.86139273681292,\n          \"seed\": 652673144,\n          \"groupIds\": [\n            \"H07BU60FJXHdULty-yGIj\"\n          ],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"YfxChW5rrAHGrCtcvZqZE\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039953190,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1201,\n          \"versionNonce\": 1449653256,\n          \"isDeleted\": false,\n          \"id\": \"5sK_uw0Wkw1dDqnWek9po\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2336.6096569718393,\n          \"y\": 2809.168337115174,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 124.49289002525232,\n          \"height\": 45.86139273681292,\n          \"seed\": 1600217864,\n          \"groupIds\": [\n            \"H07BU60FJXHdULty-yGIj\"\n          ],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"yBWUnYfKRHYoNNUm8OR8V\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039953190,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1187,\n          \"versionNonce\": 457650296,\n          \"isDeleted\": false,\n          \"id\": \"P8ViUOPQg7dRNLKONrebW\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2710.987920594157,\n          \"y\": 2809.168337115174,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.31353758476767,\n          \"height\": 45.86139273681292,\n          \"seed\": 1277178232,\n          \"groupIds\": [\n            \"DE_cNao9Ef6qqCg46jWqj\"\n          ],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"FrB66Mdzqn2W6DjSwdClS\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039953190,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1181,\n          \"versionNonce\": 73151240,\n          \"isDeleted\": false,\n          \"id\": \"J8AIVkq3dMN7iE4cZHT9F\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2586.2976652357315,\n          \"y\": 2809.168337115174,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 124.49289002525232,\n          \"height\": 45.86139273681292,\n          \"seed\": 709870088,\n          \"groupIds\": [\n            \"DE_cNao9Ef6qqCg46jWqj\"\n          ],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"YfxChW5rrAHGrCtcvZqZE\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039953190,\n          \"link\": null\n        },\n        {\n          \"type\": \"arrow\",\n          \"version\": 1031,\n          \"versionNonce\": 620388728,\n          \"isDeleted\": false,\n          \"id\": \"25XCfwXDsjhL16Z_mvhFx\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2005.2336168713537,\n          \"y\": 2831.5609127761295,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 79.64186470486935,\n          \"height\": 1.0762414149306654,\n          \"seed\": 889930360,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null,\n          \"startBinding\": null,\n          \"endBinding\": {\n            \"elementId\": \"IyJoT0o1DCkIjEFS9UTd_\",\n            \"focus\": -0.05918508360554267,\n            \"gap\": 2.0461671316991215\n          },\n          \"lastCommittedPoint\": null,\n          \"startArrowhead\": null,\n          \"endArrowhead\": \"arrow\",\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              79.64186470486935,\n              1.0762414149306654\n            ]\n          ]\n        },\n        {\n          \"type\": \"arrow\",\n          \"version\": 1553,\n          \"versionNonce\": 124817928,\n          \"isDeleted\": false,\n          \"id\": \"yBWUnYfKRHYoNNUm8OR8V\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2255.15224829562,\n          \"y\": 2831.5609127761295,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 79.64186470486935,\n          \"height\": 1.0762414149306654,\n          \"seed\": 1712996616,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null,\n          \"startBinding\": {\n            \"elementId\": \"KPtb-0r2yDDZcVJf9eKV1\",\n            \"focus\": -0.03590543593977741,\n            \"gap\": 1\n          },\n          \"endBinding\": {\n            \"elementId\": \"5sK_uw0Wkw1dDqnWek9po\",\n            \"focus\": -0.05905398201744015,\n            \"gap\": 1.8155439713498254\n          },\n          \"lastCommittedPoint\": null,\n          \"startArrowhead\": null,\n          \"endArrowhead\": \"arrow\",\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              79.64186470486935,\n              1.0762414149306654\n            ]\n          ]\n        },\n        {\n          \"type\": \"arrow\",\n          \"version\": 1565,\n          \"versionNonce\": 1394569848,\n          \"isDeleted\": false,\n          \"id\": \"YfxChW5rrAHGrCtcvZqZE\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2505.4552516537706,\n          \"y\": 2831.5609127761295,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 79.64186470486935,\n          \"height\": 1.0762414149306654,\n          \"seed\": 1349268344,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null,\n          \"startBinding\": {\n            \"elementId\": \"7F7za8B_Q4O4Gjon3J2X0\",\n            \"focus\": -0.036263297427550016,\n            \"gap\": 1\n          },\n          \"endBinding\": {\n            \"elementId\": \"J8AIVkq3dMN7iE4cZHT9F\",\n            \"focus\": -0.0587043777825036,\n            \"gap\": 1.2005488770912507\n          },\n          \"lastCommittedPoint\": null,\n          \"startArrowhead\": null,\n          \"endArrowhead\": \"arrow\",\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              79.64186470486935,\n              1.0762414149306654\n            ]\n          ]\n        },\n        {\n          \"type\": \"arrow\",\n          \"version\": 1069,\n          \"versionNonce\": 111218952,\n          \"isDeleted\": false,\n          \"id\": \"FrB66Mdzqn2W6DjSwdClS\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2756.373250106187,\n          \"y\": 2831.5609127761295,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 79.64186470486935,\n          \"height\": 1.0762414149306654,\n          \"seed\": 1648156680,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null,\n          \"startBinding\": {\n            \"elementId\": \"P8ViUOPQg7dRNLKONrebW\",\n            \"focus\": -0.03697902040310528,\n            \"gap\": 2.071791927261984\n          },\n          \"endBinding\": null,\n          \"lastCommittedPoint\": null,\n          \"startArrowhead\": null,\n          \"endArrowhead\": \"arrow\",\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              79.64186470486935,\n              1.0762414149306654\n            ]\n          ]\n        }\n      ],\n      \"id\": \"wQlX-t_MrVJf5qI9xBJyr\",\n      \"created\": 1646039984814,\n      \"name\": \"Linked List horizontal - 5\"\n    },\n    {\n      \"status\": \"published\",\n      \"elements\": [\n        {\n          \"type\": \"arrow\",\n          \"version\": 1292,\n          \"versionNonce\": 637954824,\n          \"isDeleted\": false,\n          \"id\": \"SjzJF8S_ECkJsSST_YM-E\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3605.933885333174,\n          \"y\": 2779.735570244413,\n          \"strokeColor\": \"#c92a2a\",\n          \"backgroundColor\": \"#ced4da\",\n          \"width\": 29.370266575529428,\n          \"height\": 22.938095238096025,\n          \"seed\": 654764664,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"boundElements\": [],\n          \"updated\": 1646039953192,\n          \"link\": null,\n          \"startBinding\": null,\n          \"endBinding\": null,\n          \"lastCommittedPoint\": null,\n          \"startArrowhead\": null,\n          \"endArrowhead\": \"triangle\",\n          \"points\": [\n            [\n              29.370266575529428,\n              0\n            ],\n            [\n              14.873888214342667,\n              -22.938095238096025\n            ],\n            [\n              0,\n              -0.27973286875727155\n            ]\n          ]\n        }\n      ],\n      \"id\": \"Oyi6Qi6kaRHwsBIJ8tyTX\",\n      \"created\": 1646039978497,\n      \"name\": \"Left rotation\"\n    },\n    {\n      \"status\": \"published\",\n      \"elements\": [\n        {\n          \"type\": \"arrow\",\n          \"version\": 848,\n          \"versionNonce\": 788081672,\n          \"isDeleted\": false,\n          \"id\": \"1t4EDLOpXfRWDOlimJ7lo\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3560.5830992771257,\n          \"y\": 2814.2776755075693,\n          \"strokeColor\": \"#c92a2a\",\n          \"backgroundColor\": \"#ced4da\",\n          \"width\": 29.84025974025954,\n          \"height\": 22.938095238096025,\n          \"seed\": 1587194376,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"boundElements\": [],\n          \"updated\": 1646039953192,\n          \"link\": null,\n          \"startBinding\": null,\n          \"endBinding\": null,\n          \"lastCommittedPoint\": null,\n          \"startArrowhead\": null,\n          \"endArrowhead\": \"triangle\",\n          \"points\": [\n            [\n              0,\n              -34.7999999999992\n            ],\n            [\n              14.728354421927591,\n              -57.73809523809523\n            ],\n            [\n              29.84025974025954,\n              -35.07973286875647\n            ]\n          ]\n        }\n      ],\n      \"id\": \"3KFP2ZmuJo5PPZjAZCVe3\",\n      \"created\": 1646039975337,\n      \"name\": \"Right rotation\"\n    },\n    {\n      \"status\": \"published\",\n      \"elements\": [\n        {\n          \"type\": \"rectangle\",\n          \"version\": 632,\n          \"versionNonce\": 1070212472,\n          \"isDeleted\": false,\n          \"id\": \"WbP1MioG7ixp3HynOIyA4\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 2,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3502.1197600959076,\n          \"y\": 2757.9095451306075,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"#ced4da\",\n          \"width\": 15.90492792687207,\n          \"height\": 28.931212876325,\n          \"seed\": 1534451832,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953192,\n          \"link\": null\n        }\n      ],\n      \"id\": \"T5qB3LvE-VJT9MykPJ1R2\",\n      \"created\": 1646039971568,\n      \"name\": \" NIL - Single black\"\n    },\n    {\n      \"status\": \"published\",\n      \"elements\": [\n        {\n          \"type\": \"rectangle\",\n          \"version\": 495,\n          \"versionNonce\": 359599624,\n          \"isDeleted\": false,\n          \"id\": \"vSX2xdYFWpe2CNoZybZ2Y\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 2,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3425.5122616533295,\n          \"y\": 2750.640490623954,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 30.40413533834595,\n          \"height\": 45.31937154206283,\n          \"seed\": 85845768,\n          \"groupIds\": [\n            \"Q44CHVG2t1ZptXKN9k4H_\"\n          ],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953192,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 595,\n          \"versionNonce\": 123123320,\n          \"isDeleted\": false,\n          \"id\": \"kzZ7_HIi42WZ4-efaluc7\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 2,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3432.7578738894035,\n          \"y\": 2758.6094169903254,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"#ced4da\",\n          \"width\": 16.83575992894464,\n          \"height\": 28.957507077784804,\n          \"seed\": 1365110136,\n          \"groupIds\": [\n            \"Q44CHVG2t1ZptXKN9k4H_\"\n          ],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953192,\n          \"link\": null\n        }\n      ],\n      \"id\": \"dLeEE12IkCURWid8hu9RK\",\n      \"created\": 1646039967574,\n      \"name\": \"NIL - Double black\"\n    },\n    {\n      \"status\": \"published\",\n      \"elements\": [\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1328,\n          \"versionNonce\": 824780664,\n          \"isDeleted\": false,\n          \"id\": \"yBSpRX093thSX-X2GGisg\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 0.5,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 50,\n          \"angle\": 0,\n          \"x\": 3326.7864339833254,\n          \"y\": 2747.4397735130356,\n          \"strokeColor\": \"#fa5252\",\n          \"backgroundColor\": \"#fa5252\",\n          \"width\": 44.990293602331825,\n          \"height\": 43.29570737852379,\n          \"seed\": 507093256,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953192,\n          \"link\": null\n        }\n      ],\n      \"id\": \"q7ixHE02fIR4ryOetG7aU\",\n      \"created\": 1646039964122,\n      \"name\": \"Red node filter\"\n    },\n    {\n      \"status\": \"published\",\n      \"elements\": [\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1481,\n          \"versionNonce\": 1198525704,\n          \"isDeleted\": false,\n          \"id\": \"b0VbGslIk-TSm8SAjbyii\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 0.5,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 50,\n          \"angle\": 0,\n          \"x\": 3239.3595333985304,\n          \"y\": 2745.5294421290196,\n          \"strokeColor\": \"#ced4da\",\n          \"backgroundColor\": \"#ced4da\",\n          \"width\": 45.48736962572373,\n          \"height\": 45.215785351233166,\n          \"seed\": 256756600,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039953192,\n          \"link\": null\n        }\n      ],\n      \"id\": \"IhfsoJ9U69RvFRZLWdA80\",\n      \"created\": 1646039961066,\n      \"name\": \"Black node filter\"\n    },\n    {\n      \"status\": \"published\",\n      \"elements\": [\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1361,\n          \"versionNonce\": 1739716104,\n          \"isDeleted\": false,\n          \"id\": \"NUtXhaa0mgPtL7OaMjj_O\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3408.5570935374644,\n          \"y\": 2289.2383749890896,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.63068501487636,\n          \"height\": 42.15167874318576,\n          \"seed\": 1148676984,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"fHEHmbVhldgzSF_BzhqSo\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"KLHqfIbeMLMHRmPDWJhk7\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"jOz9fnO1Ltt3kcdqECeuY\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039953189,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1332,\n          \"versionNonce\": 488001144,\n          \"isDeleted\": false,\n          \"id\": \"Wkt7LzYKJcN-Mj9-aLYxU\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3293.1749515634247,\n          \"y\": 2389.161419712068,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.63068501487636,\n          \"height\": 42.15167874318576,\n          \"seed\": 1906386952,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"fHEHmbVhldgzSF_BzhqSo\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"LAszpUZsXHt6cNn8hSo3W\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"pZ9LYUk2d-x82JkNDbm0L\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039953189,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1375,\n          \"versionNonce\": 555087112,\n          \"isDeleted\": false,\n          \"id\": \"NZXTqAiv0E3qS4zf66TyU\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3236.1736361752455,\n          \"y\": 2473.4905728971935,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.63068501487636,\n          \"height\": 42.15167874318576,\n          \"seed\": 1382759544,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"UIsw31XEXiFuOAy9rg3Gc\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"LAszpUZsXHt6cNn8hSo3W\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"co0KtFm_TS27HXOf73Uvo\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039953189,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1477,\n          \"versionNonce\": 456507256,\n          \"isDeleted\": false,\n          \"id\": \"KnNVB4-IM6wLcSH5cEyMs\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3352.5848500922193,\n          \"y\": 2473.4905728971935,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.63068501487636,\n          \"height\": 42.15167874318576,\n          \"seed\": 1246684936,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"7_O25gSieZZH_XIzZ1JPa\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"pZ9LYUk2d-x82JkNDbm0L\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"xdGGCIK-8WrtNxq-v1ykI\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039953189,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1434,\n          \"versionNonce\": 732042248,\n          \"isDeleted\": false,\n          \"id\": \"iXoLlAlesS4pmNNMqTYJl\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3525.1234887462015,\n          \"y\": 2389.161419712068,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.63068501487636,\n          \"height\": 42.15167874318576,\n          \"seed\": 1941761400,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"KLHqfIbeMLMHRmPDWJhk7\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"-48f1gV9YbBMzf9hvYrp1\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"-IHkJcB1-kJws0LEIxtAx\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039953189,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1394,\n          \"versionNonce\": 1715409016,\n          \"isDeleted\": false,\n          \"id\": \"vLUttSl2iWCzdtP_I-Du8\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3472.366804406407,\n          \"y\": 2473.793603200224,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.63068501487636,\n          \"height\": 42.15167874318576,\n          \"seed\": 1693238792,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"-IHkJcB1-kJws0LEIxtAx\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"wZikKk-TT2MY-7zIWVZAv\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"MxKNyHR6FDzoeU78QYa3y\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039953189,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1556,\n          \"versionNonce\": 1834111752,\n          \"isDeleted\": false,\n          \"id\": \"uccPMBRYlZ34AVleaDvrF\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3583.057849629685,\n          \"y\": 2473.4905728971935,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.63068501487636,\n          \"height\": 42.15167874318576,\n          \"seed\": 1102085752,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"6jN8UGQpAyvKONPrLhV6L\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"NPeI1-4v4QpPbbB0qyRh_\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039953189,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1434,\n          \"versionNonce\": 100024696,\n          \"isDeleted\": false,\n          \"id\": \"fphmbLcmtgPnYoEe1lBtB\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3205.490646342917,\n          \"y\": 2557.5291964501994,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.63068501487636,\n          \"height\": 42.15167874318576,\n          \"seed\": 1316406536,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"UIsw31XEXiFuOAy9rg3Gc\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039953189,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1624,\n          \"versionNonce\": 748859912,\n          \"isDeleted\": false,\n          \"id\": \"64GYoeMaM5StgquZv5yxl\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3264.0173308334442,\n          \"y\": 2557.5291964501994,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.63068501487636,\n          \"height\": 42.15167874318576,\n          \"seed\": 218754936,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"co0KtFm_TS27HXOf73Uvo\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039953189,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1462,\n          \"versionNonce\": 1772049016,\n          \"isDeleted\": false,\n          \"id\": \"EJkdaxhHsmbFVeegUPTqN\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3322.544015323976,\n          \"y\": 2557.5291964501994,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.63068501487636,\n          \"height\": 42.15167874318576,\n          \"seed\": 342418440,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"7_O25gSieZZH_XIzZ1JPa\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039953189,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1652,\n          \"versionNonce\": 9384200,\n          \"isDeleted\": false,\n          \"id\": \"SeGyffQ63FIt_vH94uJ4e\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3381.070699814507,\n          \"y\": 2557.5291964501994,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.63068501487636,\n          \"height\": 42.15167874318576,\n          \"seed\": 1846362232,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"xdGGCIK-8WrtNxq-v1ykI\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039953189,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1469,\n          \"versionNonce\": 2013152120,\n          \"isDeleted\": false,\n          \"id\": \"reH1KWm8Qaa8_p4320L61\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3439.5973843050506,\n          \"y\": 2557.5291964501994,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.63068501487636,\n          \"height\": 42.15167874318576,\n          \"seed\": 884941576,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"wZikKk-TT2MY-7zIWVZAv\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039953189,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1659,\n          \"versionNonce\": 1083428872,\n          \"isDeleted\": false,\n          \"id\": \"eVuLbFHWBxKNDXpmns88f\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3498.1240687955715,\n          \"y\": 2557.5291964501994,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.63068501487636,\n          \"height\": 42.15167874318576,\n          \"seed\": 1417572728,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"MxKNyHR6FDzoeU78QYa3y\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039953189,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1469,\n          \"versionNonce\": 525800568,\n          \"isDeleted\": false,\n          \"id\": \"8OCH_zL8VqkJVQVx-Ak7k\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3556.6507532860896,\n          \"y\": 2557.5291964501994,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.63068501487636,\n          \"height\": 42.15167874318576,\n          \"seed\": 234193416,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"NPeI1-4v4QpPbbB0qyRh_\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039953189,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1659,\n          \"versionNonce\": 1957465864,\n          \"isDeleted\": false,\n          \"id\": \"z4O9FABHZGQTYjUf7az_W\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3615.1774377766205,\n          \"y\": 2557.5291964501994,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.63068501487636,\n          \"height\": 42.15167874318576,\n          \"seed\": 396460664,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"6jN8UGQpAyvKONPrLhV6L\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039953189,\n          \"link\": null\n        },\n        {\n          \"type\": \"arrow\",\n          \"version\": 2037,\n          \"versionNonce\": 1701692792,\n          \"isDeleted\": false,\n          \"id\": \"fHEHmbVhldgzSF_BzhqSo\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3411.8493646258717,\n          \"y\": 2327.3472385167693,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 81.69104584130325,\n          \"height\": 66.13535375851077,\n          \"seed\": 1325924616,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"boundElements\": [],\n          \"updated\": 1646039953189,\n          \"link\": null,\n          \"startBinding\": {\n            \"elementId\": \"NUtXhaa0mgPtL7OaMjj_O\",\n            \"focus\": -0.07408446392680461,\n            \"gap\": 3.695144367181385\n          },\n          \"endBinding\": {\n            \"elementId\": \"Wkt7LzYKJcN-Mj9-aLYxU\",\n            \"focus\": -0.16274056650797356,\n            \"gap\": 1.200465180590495\n          },\n          \"lastCommittedPoint\": null,\n          \"startArrowhead\": null,\n          \"endArrowhead\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              -81.69104584130325,\n              66.13535375851077\n            ]\n          ]\n        },\n        {\n          \"type\": \"arrow\",\n          \"version\": 2003,\n          \"versionNonce\": 1163226632,\n          \"isDeleted\": false,\n          \"id\": \"KLHqfIbeMLMHRmPDWJhk7\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3446.6650148645094,\n          \"y\": 2326.4616007952127,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 81.8629572334037,\n          \"height\": 67.60496765455252,\n          \"seed\": 104493944,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"boundElements\": [],\n          \"updated\": 1646039953189,\n          \"link\": null,\n          \"startBinding\": {\n            \"elementId\": \"NUtXhaa0mgPtL7OaMjj_O\",\n            \"focus\": 0.09710812748361039,\n            \"gap\": 1.4985785304483343\n          },\n          \"endBinding\": {\n            \"elementId\": \"iXoLlAlesS4pmNNMqTYJl\",\n            \"focus\": 0.03485589508914755,\n            \"gap\": 3.018684035665771\n          },\n          \"lastCommittedPoint\": null,\n          \"startArrowhead\": null,\n          \"endArrowhead\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              81.8629572334037,\n              67.60496765455252\n            ]\n          ]\n        },\n        {\n          \"type\": \"arrow\",\n          \"version\": 1601,\n          \"versionNonce\": 2005292664,\n          \"isDeleted\": false,\n          \"id\": \"-IHkJcB1-kJws0LEIxtAx\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3532.1993126463003,\n          \"y\": 2429.593159427681,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 28.396400190659733,\n          \"height\": 43.99090937331266,\n          \"seed\": 1735565320,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"boundElements\": [],\n          \"updated\": 1646039953189,\n          \"link\": null,\n          \"startBinding\": {\n            \"elementId\": \"iXoLlAlesS4pmNNMqTYJl\",\n            \"focus\": 0.08732727941008936,\n            \"gap\": 2.989208304740565\n          },\n          \"endBinding\": {\n            \"elementId\": \"vLUttSl2iWCzdtP_I-Du8\",\n            \"focus\": -0.16021411728585414,\n            \"gap\": 2.1620132279728317\n          },\n          \"lastCommittedPoint\": null,\n          \"startArrowhead\": null,\n          \"endArrowhead\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              -28.396400190659733,\n              43.99090937331266\n            ]\n          ]\n        },\n        {\n          \"type\": \"arrow\",\n          \"version\": 1493,\n          \"versionNonce\": 1804233992,\n          \"isDeleted\": false,\n          \"id\": \"-48f1gV9YbBMzf9hvYrp1\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3561.287239952438,\n          \"y\": 2427.6280501018837,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 34.964647539032654,\n          \"height\": 48.43219223583787,\n          \"seed\": 1988969592,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"boundElements\": [],\n          \"updated\": 1646039953189,\n          \"link\": null,\n          \"startBinding\": {\n            \"elementId\": \"iXoLlAlesS4pmNNMqTYJl\",\n            \"focus\": -0.06743090091562563,\n            \"gap\": 1.1790573267398727\n          },\n          \"endBinding\": null,\n          \"lastCommittedPoint\": null,\n          \"startArrowhead\": null,\n          \"endArrowhead\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              34.964647539032654,\n              48.43219223583787\n            ]\n          ]\n        },\n        {\n          \"type\": \"arrow\",\n          \"version\": 1638,\n          \"versionNonce\": 979683192,\n          \"isDeleted\": false,\n          \"id\": \"wZikKk-TT2MY-7zIWVZAv\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3482.7110139243873,\n          \"y\": 2517.0350865515447,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 15.057098696199773,\n          \"height\": 39.80340374528578,\n          \"seed\": 1999724296,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"boundElements\": [],\n          \"updated\": 1646039953189,\n          \"link\": null,\n          \"startBinding\": {\n            \"elementId\": \"vLUttSl2iWCzdtP_I-Du8\",\n            \"focus\": 0.13287219040539028,\n            \"gap\": 3.7310133456484422\n          },\n          \"endBinding\": {\n            \"elementId\": \"reH1KWm8Qaa8_p4320L61\",\n            \"focus\": -0.08579859289253672,\n            \"gap\": 1.5140292820243424\n          },\n          \"lastCommittedPoint\": null,\n          \"startArrowhead\": null,\n          \"endArrowhead\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              -15.057098696199773,\n              39.80340374528578\n            ]\n          ]\n        },\n        {\n          \"type\": \"arrow\",\n          \"version\": 1604,\n          \"versionNonce\": 549948424,\n          \"isDeleted\": false,\n          \"id\": \"MxKNyHR6FDzoeU78QYa3y\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3503.3556059585367,\n          \"y\": 2516.1849859028252,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 11.471282758087,\n          \"height\": 40.90559599852713,\n          \"seed\": 1448998264,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"boundElements\": [],\n          \"updated\": 1646039953189,\n          \"link\": null,\n          \"startBinding\": {\n            \"elementId\": \"vLUttSl2iWCzdtP_I-Du8\",\n            \"focus\": -0.14139912389180007,\n            \"gap\": 2.018694559311033\n          },\n          \"endBinding\": {\n            \"elementId\": \"eVuLbFHWBxKNDXpmns88f\",\n            \"focus\": 0.0407419794144893,\n            \"gap\": 1\n          },\n          \"lastCommittedPoint\": null,\n          \"startArrowhead\": null,\n          \"endArrowhead\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              11.471282758087,\n              40.90559599852713\n            ]\n          ]\n        },\n        {\n          \"type\": \"arrow\",\n          \"version\": 1476,\n          \"versionNonce\": 1515001976,\n          \"isDeleted\": false,\n          \"id\": \"NPeI1-4v4QpPbbB0qyRh_\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3594.2012013176354,\n          \"y\": 2514.0694281126734,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 9.44992007676207,\n          \"height\": 43.60935038040972,\n          \"seed\": 1052786184,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"boundElements\": [],\n          \"updated\": 1646039953189,\n          \"link\": null,\n          \"startBinding\": {\n            \"elementId\": \"uccPMBRYlZ34AVleaDvrF\",\n            \"focus\": 0.28920095756704256,\n            \"gap\": 1\n          },\n          \"endBinding\": {\n            \"elementId\": \"8OCH_zL8VqkJVQVx-Ak7k\",\n            \"focus\": 0.07854239774854588,\n            \"gap\": 1\n          },\n          \"lastCommittedPoint\": null,\n          \"startArrowhead\": null,\n          \"endArrowhead\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              -9.44992007676207,\n              43.60935038040972\n            ]\n          ]\n        },\n        {\n          \"type\": \"arrow\",\n          \"version\": 1573,\n          \"versionNonce\": 252234504,\n          \"isDeleted\": false,\n          \"id\": \"6jN8UGQpAyvKONPrLhV6L\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3616.744601750358,\n          \"y\": 2513.8234160447146,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 15.137033907710029,\n          \"height\": 43.824207531824435,\n          \"seed\": 988841592,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"boundElements\": [],\n          \"updated\": 1646039953189,\n          \"link\": null,\n          \"startBinding\": {\n            \"elementId\": \"uccPMBRYlZ34AVleaDvrF\",\n            \"focus\": -0.2269762336414168,\n            \"gap\": 1.3496337449297222\n          },\n          \"endBinding\": {\n            \"elementId\": \"z4O9FABHZGQTYjUf7az_W\",\n            \"focus\": 0.09251365946363481,\n            \"gap\": 1\n          },\n          \"lastCommittedPoint\": null,\n          \"startArrowhead\": null,\n          \"endArrowhead\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              15.137033907710029,\n              43.824207531824435\n            ]\n          ]\n        },\n        {\n          \"type\": \"arrow\",\n          \"version\": 1538,\n          \"versionNonce\": 1526942072,\n          \"isDeleted\": false,\n          \"id\": \"xdGGCIK-8WrtNxq-v1ykI\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3384.4965684540043,\n          \"y\": 2514.708396439118,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 11.507454456357186,\n          \"height\": 42.72461949213502,\n          \"seed\": 253443336,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"boundElements\": [],\n          \"updated\": 1646039953189,\n          \"link\": null,\n          \"startBinding\": {\n            \"elementId\": \"KnNVB4-IM6wLcSH5cEyMs\",\n            \"focus\": -0.20722976494621598,\n            \"gap\": 1.312030069641505\n          },\n          \"endBinding\": {\n            \"elementId\": \"SeGyffQ63FIt_vH94uJ4e\",\n            \"focus\": -0.05232701202943244,\n            \"gap\": 1.1189639458197824\n          },\n          \"lastCommittedPoint\": null,\n          \"startArrowhead\": null,\n          \"endArrowhead\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              11.507454456357186,\n              42.72461949213502\n            ]\n          ]\n        },\n        {\n          \"type\": \"arrow\",\n          \"version\": 1596,\n          \"versionNonce\": 1086990856,\n          \"isDeleted\": false,\n          \"id\": \"7_O25gSieZZH_XIzZ1JPa\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3364.2749332437015,\n          \"y\": 2515.0081298486557,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 12.36041254062527,\n          \"height\": 43.32708567292471,\n          \"seed\": 1896413048,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"boundElements\": [],\n          \"updated\": 1646039953189,\n          \"link\": null,\n          \"startBinding\": {\n            \"elementId\": \"KnNVB4-IM6wLcSH5cEyMs\",\n            \"focus\": 0.1897417683727155,\n            \"gap\": 1.5958228602261002\n          },\n          \"endBinding\": {\n            \"elementId\": \"EJkdaxhHsmbFVeegUPTqN\",\n            \"focus\": 0.07833223376972792,\n            \"gap\": 1\n          },\n          \"lastCommittedPoint\": null,\n          \"startArrowhead\": null,\n          \"endArrowhead\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              -12.36041254062527,\n              43.32708567292471\n            ]\n          ]\n        },\n        {\n          \"type\": \"arrow\",\n          \"version\": 1680,\n          \"versionNonce\": 667638392,\n          \"isDeleted\": false,\n          \"id\": \"co0KtFm_TS27HXOf73Uvo\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3266.31751839026,\n          \"y\": 2516.2743341287637,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 13.491503495684524,\n          \"height\": 39.292147850777745,\n          \"seed\": 968776712,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"boundElements\": [],\n          \"updated\": 1646039953189,\n          \"link\": null,\n          \"startBinding\": {\n            \"elementId\": \"NZXTqAiv0E3qS4zf66TyU\",\n            \"focus\": -0.03806177837596871,\n            \"gap\": 2.083754007164007\n          },\n          \"endBinding\": {\n            \"elementId\": \"64GYoeMaM5StgquZv5yxl\",\n            \"focus\": 0.08209752176559285,\n            \"gap\": 2.691762058723185\n          },\n          \"lastCommittedPoint\": null,\n          \"startArrowhead\": null,\n          \"endArrowhead\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              13.491503495684524,\n              39.292147850777745\n            ]\n          ]\n        },\n        {\n          \"type\": \"arrow\",\n          \"version\": 1724,\n          \"versionNonce\": 285714696,\n          \"isDeleted\": false,\n          \"id\": \"UIsw31XEXiFuOAy9rg3Gc\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3247.108947988288,\n          \"y\": 2514.4389013965056,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 14.145109427996156,\n          \"height\": 43.33778047098872,\n          \"seed\": 216746104,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"boundElements\": [],\n          \"updated\": 1646039953189,\n          \"link\": null,\n          \"startBinding\": {\n            \"elementId\": \"NZXTqAiv0E3qS4zf66TyU\",\n            \"focus\": 0.19208560497553617,\n            \"gap\": 1.4156822409868717\n          },\n          \"endBinding\": {\n            \"elementId\": \"fphmbLcmtgPnYoEe1lBtB\",\n            \"focus\": -0.04985354367888758,\n            \"gap\": 1\n          },\n          \"lastCommittedPoint\": null,\n          \"startArrowhead\": null,\n          \"endArrowhead\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              -14.145109427996156,\n              43.33778047098872\n            ]\n          ]\n        },\n        {\n          \"type\": \"arrow\",\n          \"version\": 1824,\n          \"versionNonce\": 594103160,\n          \"isDeleted\": false,\n          \"id\": \"LAszpUZsXHt6cNn8hSo3W\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3297.710356509879,\n          \"y\": 2426.9362549622056,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 33.759542518130274,\n          \"height\": 45.81725102172595,\n          \"seed\": 10853128,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"boundElements\": [],\n          \"updated\": 1646039953189,\n          \"link\": null,\n          \"startBinding\": {\n            \"elementId\": \"Wkt7LzYKJcN-Mj9-aLYxU\",\n            \"focus\": 0.18580863441455017,\n            \"gap\": 2.5802044825058275\n          },\n          \"endBinding\": {\n            \"elementId\": \"NZXTqAiv0E3qS4zf66TyU\",\n            \"focus\": -0.3775682640825497,\n            \"gap\": 1.4879385117345585\n          },\n          \"lastCommittedPoint\": null,\n          \"startArrowhead\": null,\n          \"endArrowhead\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              -33.759542518130274,\n              45.81725102172595\n            ]\n          ]\n        },\n        {\n          \"type\": \"arrow\",\n          \"version\": 1670,\n          \"versionNonce\": 457000968,\n          \"isDeleted\": false,\n          \"id\": \"pZ9LYUk2d-x82JkNDbm0L\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3330.4029746440624,\n          \"y\": 2426.8660560216795,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 35.11455696534813,\n          \"height\": 45.30163017119912,\n          \"seed\": 2052815224,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"boundElements\": [],\n          \"updated\": 1646039953189,\n          \"link\": null,\n          \"startBinding\": {\n            \"elementId\": \"Wkt7LzYKJcN-Mj9-aLYxU\",\n            \"focus\": -0.0925816809078037,\n            \"gap\": 1.2642788896201296\n          },\n          \"endBinding\": {\n            \"elementId\": \"KnNVB4-IM6wLcSH5cEyMs\",\n            \"focus\": 0.3111163601731948,\n            \"gap\": 2.9231161682006856\n          },\n          \"lastCommittedPoint\": null,\n          \"startArrowhead\": null,\n          \"endArrowhead\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              35.11455696534813,\n              45.30163017119912\n            ]\n          ]\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1304,\n          \"versionNonce\": 941694072,\n          \"isDeleted\": false,\n          \"id\": \"MYoO6YIrWvjLznLliowwI\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3877.7984763851123,\n          \"y\": 2289.2383749890896,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.63068501487636,\n          \"height\": 42.15167874318576,\n          \"seed\": 1188480632,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"8JBQpE5BSF2CZszhUkgP_\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"XvdhjyXXSPQQ1-yr-ZAww\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"BlnRU8MPnZmw5B5gEkO2h\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039953189,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1295,\n          \"versionNonce\": 728172296,\n          \"isDeleted\": false,\n          \"id\": \"EJZo2Wb5GNm_T8KztF63L\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3763.6191355930605,\n          \"y\": 2389.161419712068,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.63068501487636,\n          \"height\": 42.15167874318576,\n          \"seed\": 1270414600,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"8JBQpE5BSF2CZszhUkgP_\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"x12ndZ_3YtrbCa6ihWohJ\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"v5x38J8e9cQRhuNPdwVmn\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039953189,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1323,\n          \"versionNonce\": 1740033400,\n          \"isDeleted\": false,\n          \"id\": \"71Udmo3B5JX9zhTDqbPS-\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3706.617820204885,\n          \"y\": 2473.4905728971935,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.63068501487636,\n          \"height\": 42.15167874318576,\n          \"seed\": 640104312,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"ZNZ4670ZpuceWB4thtxM9\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"x12ndZ_3YtrbCa6ihWohJ\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"ptqDTNow65G4l0tJ0jfgv\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039953189,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1440,\n          \"versionNonce\": 771810824,\n          \"isDeleted\": false,\n          \"id\": \"pSMl_PSUTka74o_vebEON\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3823.0290341218524,\n          \"y\": 2473.4905728971935,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.63068501487636,\n          \"height\": 42.15167874318576,\n          \"seed\": 480517128,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"71oDRsSNk2HkcqFKQncQ_\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"v5x38J8e9cQRhuNPdwVmn\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"ak6N4zvrh72FgVStDPdhn\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039953189,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1393,\n          \"versionNonce\": 1533959800,\n          \"isDeleted\": false,\n          \"id\": \"S9SZkf_ttWlQiuFef-G6u\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3995.5676727758437,\n          \"y\": 2389.161419712068,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.63068501487636,\n          \"height\": 42.15167874318576,\n          \"seed\": 71403640,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"XvdhjyXXSPQQ1-yr-ZAww\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"sNqlcGPDyCnHaxKg4f32h\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"2KhRGZ1pus_0WxRa-ARWm\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039953189,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1341,\n          \"versionNonce\": 537322760,\n          \"isDeleted\": false,\n          \"id\": \"cQQY2BEsDsNPP4hN5wJXq\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3938.2655338905943,\n          \"y\": 2473.4905728971935,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.63068501487636,\n          \"height\": 42.15167874318576,\n          \"seed\": 13851400,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"2KhRGZ1pus_0WxRa-ARWm\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"zcVPxH4Sdh9mPI59c4IRM\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"AMsScxYY31exm1luZGI8E\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039953189,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1520,\n          \"versionNonce\": 1946931064,\n          \"isDeleted\": false,\n          \"id\": \"_kACJ5frnuYD0kGvjGuxX\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 4053.502033659327,\n          \"y\": 2473.4905728971935,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.63068501487636,\n          \"height\": 42.15167874318576,\n          \"seed\": 753514872,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"He1ZASzLznC5adrNaPd6u\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"IOHFvegktsmfn_l_AILrQ\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"sNqlcGPDyCnHaxKg4f32h\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039953189,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1397,\n          \"versionNonce\": 2129986568,\n          \"isDeleted\": false,\n          \"id\": \"DgiN_ERbijbDyL2by_KuI\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3675.93483037255,\n          \"y\": 2557.5291964501994,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.63068501487636,\n          \"height\": 42.15167874318576,\n          \"seed\": 985840136,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"ZNZ4670ZpuceWB4thtxM9\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039953189,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1587,\n          \"versionNonce\": 1507008632,\n          \"isDeleted\": false,\n          \"id\": \"XEgG0bDO5VJTsvViCqz18\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3734.4615148630837,\n          \"y\": 2557.5291964501994,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.63068501487636,\n          \"height\": 42.15167874318576,\n          \"seed\": 1399048824,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"ptqDTNow65G4l0tJ0jfgv\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039953189,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1425,\n          \"versionNonce\": 952582920,\n          \"isDeleted\": false,\n          \"id\": \"lNdI9p3WUJcmzgWReOEX6\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3792.988199353612,\n          \"y\": 2557.5291964501994,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.63068501487636,\n          \"height\": 42.15167874318576,\n          \"seed\": 1567504648,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"71oDRsSNk2HkcqFKQncQ_\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039953189,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1615,\n          \"versionNonce\": 210260344,\n          \"isDeleted\": false,\n          \"id\": \"o7l4csB7dwsb0Np8zeDhk\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3851.51488384415,\n          \"y\": 2557.5291964501994,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.63068501487636,\n          \"height\": 42.15167874318576,\n          \"seed\": 578009976,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"ak6N4zvrh72FgVStDPdhn\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039953189,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1432,\n          \"versionNonce\": 469344776,\n          \"isDeleted\": false,\n          \"id\": \"jNIW6TT6PmswTDYHxMPCZ\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3910.0415683346837,\n          \"y\": 2557.5291964501994,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.63068501487636,\n          \"height\": 42.15167874318576,\n          \"seed\": 1011996680,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"zcVPxH4Sdh9mPI59c4IRM\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039953189,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1622,\n          \"versionNonce\": 1936679544,\n          \"isDeleted\": false,\n          \"id\": \"4s_YuRgqbjCSqjJC9F29A\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3968.5682528252064,\n          \"y\": 2557.5291964501994,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.63068501487636,\n          \"height\": 42.15167874318576,\n          \"seed\": 1281199224,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"AMsScxYY31exm1luZGI8E\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039953189,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1432,\n          \"versionNonce\": 1200103688,\n          \"isDeleted\": false,\n          \"id\": \"kWpK3LBhccJbmrH4G0ThU\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 4027.094937315732,\n          \"y\": 2557.5291964501994,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.63068501487636,\n          \"height\": 42.15167874318576,\n          \"seed\": 1533646600,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"IOHFvegktsmfn_l_AILrQ\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039953189,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1622,\n          \"versionNonce\": 1833718648,\n          \"isDeleted\": false,\n          \"id\": \"bqKG_lVff46YBEoEk0V7I\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 4085.621621806261,\n          \"y\": 2557.5291964501994,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.63068501487636,\n          \"height\": 42.15167874318576,\n          \"seed\": 451231096,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"He1ZASzLznC5adrNaPd6u\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039953189,\n          \"link\": null\n        },\n        {\n          \"type\": \"arrow\",\n          \"version\": 1873,\n          \"versionNonce\": 451854344,\n          \"isDeleted\": false,\n          \"id\": \"8JBQpE5BSF2CZszhUkgP_\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3882.0016647569014,\n          \"y\": 2324.2805935393167,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 82.204035136208,\n          \"height\": 68.55000885092176,\n          \"seed\": 1597077000,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null,\n          \"startBinding\": {\n            \"elementId\": \"MYoO6YIrWvjLznLliowwI\",\n            \"focus\": 0.02587565369124133,\n            \"gap\": 1\n          },\n          \"endBinding\": {\n            \"elementId\": \"EJZo2Wb5GNm_T8KztF63L\",\n            \"focus\": -0.1950062817944594,\n            \"gap\": 1.200626272881962\n          },\n          \"lastCommittedPoint\": null,\n          \"startArrowhead\": null,\n          \"endArrowhead\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              -82.204035136208,\n              68.55000885092176\n            ]\n          ]\n        },\n        {\n          \"type\": \"arrow\",\n          \"version\": 1806,\n          \"versionNonce\": 1617110136,\n          \"isDeleted\": false,\n          \"id\": \"XvdhjyXXSPQQ1-yr-ZAww\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3916.9788534051418,\n          \"y\": 2324.5673201912723,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 82.62467879157569,\n          \"height\": 70.35220955910427,\n          \"seed\": 2135871096,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null,\n          \"startBinding\": {\n            \"elementId\": \"MYoO6YIrWvjLznLliowwI\",\n            \"focus\": -0.018960252156314417,\n            \"gap\": 1\n          },\n          \"endBinding\": {\n            \"elementId\": \"S9SZkf_ttWlQiuFef-G6u\",\n            \"focus\": 0.006374565138049966,\n            \"gap\": 1.9759490273417804\n          },\n          \"lastCommittedPoint\": null,\n          \"startArrowhead\": null,\n          \"endArrowhead\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              82.62467879157569,\n              70.35220955910427\n            ]\n          ]\n        },\n        {\n          \"type\": \"arrow\",\n          \"version\": 1447,\n          \"versionNonce\": 640253704,\n          \"isDeleted\": false,\n          \"id\": \"2KhRGZ1pus_0WxRa-ARWm\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 4002.665704528986,\n          \"y\": 2429.2438394111614,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 31.004644787784855,\n          \"height\": 46.35164389942793,\n          \"seed\": 2091218184,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null,\n          \"startBinding\": {\n            \"elementId\": \"S9SZkf_ttWlQiuFef-G6u\",\n            \"focus\": 0.0771460238607892,\n            \"gap\": 2.693050685010814\n          },\n          \"endBinding\": {\n            \"elementId\": \"cQQY2BEsDsNPP4hN5wJXq\",\n            \"focus\": -0.042715025930470454,\n            \"gap\": 1\n          },\n          \"lastCommittedPoint\": null,\n          \"startArrowhead\": null,\n          \"endArrowhead\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              -31.004644787784855,\n              46.35164389942793\n            ]\n          ]\n        },\n        {\n          \"type\": \"arrow\",\n          \"version\": 1500,\n          \"versionNonce\": 1249367416,\n          \"isDeleted\": false,\n          \"id\": \"sNqlcGPDyCnHaxKg4f32h\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 4031.847512708896,\n          \"y\": 2427.537734211758,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 34.8485588122031,\n          \"height\": 47.61145669234979,\n          \"seed\": 576601976,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null,\n          \"startBinding\": {\n            \"elementId\": \"S9SZkf_ttWlQiuFef-G6u\",\n            \"focus\": -0.06743090091520454,\n            \"gap\": 1.1790563665131337\n          },\n          \"endBinding\": {\n            \"elementId\": \"_kACJ5frnuYD0kGvjGuxX\",\n            \"focus\": 0.20925109572650688,\n            \"gap\": 1\n          },\n          \"lastCommittedPoint\": null,\n          \"startArrowhead\": null,\n          \"endArrowhead\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              34.8485588122031,\n              47.61145669234979\n            ]\n          ]\n        },\n        {\n          \"type\": \"arrow\",\n          \"version\": 1499,\n          \"versionNonce\": 431250952,\n          \"isDeleted\": false,\n          \"id\": \"zcVPxH4Sdh9mPI59c4IRM\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3949.5754338829447,\n          \"y\": 2515.89959605588,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 12.581063901343441,\n          \"height\": 39.75897190732303,\n          \"seed\": 1765905416,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null,\n          \"startBinding\": {\n            \"elementId\": \"cQQY2BEsDsNPP4hN5wJXq\",\n            \"focus\": 0.1646027016916932,\n            \"gap\": 2.5645037706204477\n          },\n          \"endBinding\": {\n            \"elementId\": \"jNIW6TT6PmswTDYHxMPCZ\",\n            \"focus\": -0.09309007434721374,\n            \"gap\": 2.404881213551022\n          },\n          \"lastCommittedPoint\": null,\n          \"startArrowhead\": null,\n          \"endArrowhead\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              -12.581063901343441,\n              39.75897190732303\n            ]\n          ]\n        },\n        {\n          \"type\": \"arrow\",\n          \"version\": 1470,\n          \"versionNonce\": 1355703928,\n          \"isDeleted\": false,\n          \"id\": \"AMsScxYY31exm1luZGI8E\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3972.7431379860463,\n          \"y\": 2515.200360789486,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 11.707060466471376,\n          \"height\": 41.735611969735146,\n          \"seed\": 1951895672,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null,\n          \"startBinding\": {\n            \"elementId\": \"cQQY2BEsDsNPP4hN5wJXq\",\n            \"focus\": -0.30414423860413864,\n            \"gap\": 2.93752812481506\n          },\n          \"endBinding\": {\n            \"elementId\": \"4s_YuRgqbjCSqjJC9F29A\",\n            \"focus\": 0.0064104466534378604,\n            \"gap\": 1.3415393879098048\n          },\n          \"lastCommittedPoint\": null,\n          \"startArrowhead\": null,\n          \"endArrowhead\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              11.707060466471376,\n              41.735611969735146\n            ]\n          ]\n        },\n        {\n          \"type\": \"arrow\",\n          \"version\": 1367,\n          \"versionNonce\": 915102984,\n          \"isDeleted\": false,\n          \"id\": \"IOHFvegktsmfn_l_AILrQ\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 4064.645385347265,\n          \"y\": 2513.1583766790664,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 9.44992007676207,\n          \"height\": 43.60935038040972,\n          \"seed\": 1258410760,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null,\n          \"startBinding\": {\n            \"elementId\": \"_kACJ5frnuYD0kGvjGuxX\",\n            \"focus\": 0.29805853778873015,\n            \"gap\": 1\n          },\n          \"endBinding\": {\n            \"elementId\": \"kWpK3LBhccJbmrH4G0ThU\",\n            \"focus\": 0.06968481752687868,\n            \"gap\": 1.5938004665331036\n          },\n          \"lastCommittedPoint\": null,\n          \"startArrowhead\": null,\n          \"endArrowhead\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              -9.44992007676207,\n              43.60935038040972\n            ]\n          ]\n        },\n        {\n          \"type\": \"arrow\",\n          \"version\": 1464,\n          \"versionNonce\": 1344984952,\n          \"isDeleted\": false,\n          \"id\": \"He1ZASzLznC5adrNaPd6u\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 4087.1887857799957,\n          \"y\": 2512.9123646111093,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 15.137033907710029,\n          \"height\": 43.824207531824435,\n          \"seed\": 1023328632,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null,\n          \"startBinding\": {\n            \"elementId\": \"_kACJ5frnuYD0kGvjGuxX\",\n            \"focus\": -0.24065924538839212,\n            \"gap\": 1\n          },\n          \"endBinding\": {\n            \"elementId\": \"bqKG_lVff46YBEoEk0V7I\",\n            \"focus\": 0.10619667121067937,\n            \"gap\": 1.3453647259226038\n          },\n          \"lastCommittedPoint\": null,\n          \"startArrowhead\": null,\n          \"endArrowhead\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              15.137033907710029,\n              43.824207531824435\n            ]\n          ]\n        },\n        {\n          \"type\": \"arrow\",\n          \"version\": 1429,\n          \"versionNonce\": 1042971656,\n          \"isDeleted\": false,\n          \"id\": \"ak6N4zvrh72FgVStDPdhn\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3854.9407524836365,\n          \"y\": 2513.7973450055074,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 11.507454456357186,\n          \"height\": 42.72461949213502,\n          \"seed\": 677523976,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null,\n          \"startBinding\": {\n            \"elementId\": \"pSMl_PSUTka74o_vebEON\",\n            \"focus\": -0.21811544146585943,\n            \"gap\": 1\n          },\n          \"endBinding\": {\n            \"elementId\": \"o7l4csB7dwsb0Np8zeDhk\",\n            \"focus\": -0.04144133551023283,\n            \"gap\": 1.991970947414707\n          },\n          \"lastCommittedPoint\": null,\n          \"startArrowhead\": null,\n          \"endArrowhead\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              11.507454456357186,\n              42.72461949213502\n            ]\n          ]\n        },\n        {\n          \"type\": \"arrow\",\n          \"version\": 1487,\n          \"versionNonce\": 1825646712,\n          \"isDeleted\": false,\n          \"id\": \"71oDRsSNk2HkcqFKQncQ_\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3834.7191172733374,\n          \"y\": 2514.0970784150477,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 12.36041254062527,\n          \"height\": 43.32708567292471,\n          \"seed\": 731370104,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null,\n          \"startBinding\": {\n            \"elementId\": \"pSMl_PSUTka74o_vebEON\",\n            \"focus\": 0.20122742987235648,\n            \"gap\": 1\n          },\n          \"endBinding\": {\n            \"elementId\": \"lNdI9p3WUJcmzgWReOEX6\",\n            \"focus\": 0.0668465722699664,\n            \"gap\": 1.3321464310168558\n          },\n          \"lastCommittedPoint\": null,\n          \"startArrowhead\": null,\n          \"endArrowhead\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              -12.36041254062527,\n              43.32708567292471\n            ]\n          ]\n        },\n        {\n          \"type\": \"arrow\",\n          \"version\": 1541,\n          \"versionNonce\": 1653455624,\n          \"isDeleted\": false,\n          \"id\": \"ptqDTNow65G4l0tJ0jfgv\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3736.7617024198994,\n          \"y\": 2515.3632826951603,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 13.491503495684524,\n          \"height\": 39.292147850777745,\n          \"seed\": 1482600712,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null,\n          \"startBinding\": {\n            \"elementId\": \"71Udmo3B5JX9zhTDqbPS-\",\n            \"focus\": -0.05167202248603224,\n            \"gap\": 1.2286551412337836\n          },\n          \"endBinding\": {\n            \"elementId\": \"XEgG0bDO5VJTsvViCqz18\",\n            \"focus\": 0.09570776587565637,\n            \"gap\": 3.57736927506528\n          },\n          \"lastCommittedPoint\": null,\n          \"startArrowhead\": null,\n          \"endArrowhead\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              13.491503495684524,\n              39.292147850777745\n            ]\n          ]\n        },\n        {\n          \"type\": \"arrow\",\n          \"version\": 1585,\n          \"versionNonce\": 579164536,\n          \"isDeleted\": false,\n          \"id\": \"ZNZ4670ZpuceWB4thtxM9\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3717.5531320179193,\n          \"y\": 2513.5278499628957,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 14.145109427996156,\n          \"height\": 43.33778047098872,\n          \"seed\": 1726399352,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null,\n          \"startBinding\": {\n            \"elementId\": \"71Udmo3B5JX9zhTDqbPS-\",\n            \"focus\": 0.20508539607655216,\n            \"gap\": 1\n          },\n          \"endBinding\": {\n            \"elementId\": \"DgiN_ERbijbDyL2by_KuI\",\n            \"focus\": -0.06285333477962532,\n            \"gap\": 1.342889592166948\n          },\n          \"lastCommittedPoint\": null,\n          \"startArrowhead\": null,\n          \"endArrowhead\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              -14.145109427996156,\n              43.33778047098872\n            ]\n          ]\n        },\n        {\n          \"type\": \"arrow\",\n          \"version\": 1659,\n          \"versionNonce\": 909187592,\n          \"isDeleted\": false,\n          \"id\": \"x12ndZ_3YtrbCa6ihWohJ\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3769.941032914242,\n          \"y\": 2428.472202674624,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 31.820544696779507,\n          \"height\": 43.85646670799997,\n          \"seed\": 1920159752,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null,\n          \"startBinding\": {\n            \"elementId\": \"EJZo2Wb5GNm_T8KztF63L\",\n            \"focus\": 0.08493941726684322,\n            \"gap\": 2.5503119688971942\n          },\n          \"endBinding\": {\n            \"elementId\": \"71Udmo3B5JX9zhTDqbPS-\",\n            \"focus\": -0.2420137775330159,\n            \"gap\": 3.066582020052035\n          },\n          \"lastCommittedPoint\": null,\n          \"startArrowhead\": null,\n          \"endArrowhead\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              -31.820544696779507,\n              43.85646670799997\n            ]\n          ]\n        },\n        {\n          \"type\": \"arrow\",\n          \"version\": 1522,\n          \"versionNonce\": 1418422904,\n          \"isDeleted\": false,\n          \"id\": \"v5x38J8e9cQRhuNPdwVmn\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3799.921232747776,\n          \"y\": 2427.236426392047,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 32.70714955794119,\n          \"height\": 47.022763068802305,\n          \"seed\": 489657464,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"boundElements\": [],\n          \"updated\": 1646039953190,\n          \"link\": null,\n          \"startBinding\": {\n            \"elementId\": \"EJZo2Wb5GNm_T8KztF63L\",\n            \"focus\": -0.10131216237150363,\n            \"gap\": 1\n          },\n          \"endBinding\": {\n            \"elementId\": \"pSMl_PSUTka74o_vebEON\",\n            \"focus\": 0.07262779386485377,\n            \"gap\": 2.4324338158921783\n          },\n          \"lastCommittedPoint\": null,\n          \"startArrowhead\": null,\n          \"endArrowhead\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              32.70714955794119,\n              47.022763068802305\n            ]\n          ]\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1384,\n          \"versionNonce\": 470849800,\n          \"isDeleted\": false,\n          \"id\": \"-zBsZ_HXad0OvwNOutOyx\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3641.600652433676,\n          \"y\": 2186.294980368034,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.63068501487636,\n          \"height\": 42.15167874318576,\n          \"seed\": 1550434680,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"8JBQpE5BSF2CZszhUkgP_\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"XvdhjyXXSPQQ1-yr-ZAww\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"jOz9fnO1Ltt3kcdqECeuY\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"BlnRU8MPnZmw5B5gEkO2h\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039953190,\n          \"link\": null\n        },\n        {\n          \"id\": \"jOz9fnO1Ltt3kcdqECeuY\",\n          \"type\": \"arrow\",\n          \"x\": 3640.666710874545,\n          \"y\": 2213.9231874510015,\n          \"width\": 191.731408925594,\n          \"height\": 80.45556551877858,\n          \"angle\": 0,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"seed\": 1642060552,\n          \"version\": 484,\n          \"versionNonce\": 1571249016,\n          \"isDeleted\": false,\n          \"boundElements\": null,\n          \"updated\": 1646039953190,\n          \"link\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              -191.731408925594,\n              80.45556551877858\n            ]\n          ],\n          \"lastCommittedPoint\": null,\n          \"startBinding\": {\n            \"elementId\": \"-zBsZ_HXad0OvwNOutOyx\",\n            \"focus\": 0.1302908321591696,\n            \"gap\": 1.9178751919004995\n          },\n          \"endBinding\": {\n            \"elementId\": \"NUtXhaa0mgPtL7OaMjj_O\",\n            \"focus\": -0.3545114632469882,\n            \"gap\": 2.9709126070352525\n          },\n          \"startArrowhead\": null,\n          \"endArrowhead\": null\n        },\n        {\n          \"id\": \"BlnRU8MPnZmw5B5gEkO2h\",\n          \"type\": \"arrow\",\n          \"x\": 3685.2997351623617,\n          \"y\": 2213.4641934770343,\n          \"width\": 195.08561795942174,\n          \"height\": 83.78807448849984,\n          \"angle\": 0,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"seed\": 670815608,\n          \"version\": 475,\n          \"versionNonce\": 933771272,\n          \"isDeleted\": false,\n          \"boundElements\": null,\n          \"updated\": 1646039953190,\n          \"link\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              195.08561795942174,\n              83.78807448849984\n            ]\n          ],\n          \"lastCommittedPoint\": null,\n          \"startBinding\": {\n            \"elementId\": \"-zBsZ_HXad0OvwNOutOyx\",\n            \"focus\": -0.1433168767505061,\n            \"gap\": 1\n          },\n          \"endBinding\": {\n            \"elementId\": \"MYoO6YIrWvjLznLliowwI\",\n            \"focus\": 0.20825946663762201,\n            \"gap\": 1.6710844301115024\n          },\n          \"startArrowhead\": null,\n          \"endArrowhead\": null\n        }\n      ],\n      \"id\": \"DlhP_nl77nKjSRbqWr3Bm\",\n      \"created\": 1646039957236,\n      \"name\": \"Tree - 4\"\n    },\n    {\n      \"status\": \"published\",\n      \"elements\": [\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1196,\n          \"versionNonce\": 700513800,\n          \"isDeleted\": false,\n          \"id\": \"fOrHMN5KnYImP1Jgdda4F\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2850.3822278210328,\n          \"y\": 2339.9035245357254,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.63068501487636,\n          \"height\": 42.15167874318576,\n          \"seed\": 315171336,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"FplPAsLegDACfTr7SbDk5\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"_ETtK1PXc2IOStgfjVq0P\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039903688,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1203,\n          \"versionNonce\": 224118392,\n          \"isDeleted\": false,\n          \"id\": \"j6nB6gbZeOErYphO5xLiQ\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2736.986440775552,\n          \"y\": 2408.45842472192,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.63068501487636,\n          \"height\": 42.15167874318576,\n          \"seed\": 861397624,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"FplPAsLegDACfTr7SbDk5\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"18rJRLecCJbGdUmTpeyff\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"4gBluv86OccGOjD-IfzF5\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039903688,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1281,\n          \"versionNonce\": 1543765256,\n          \"isDeleted\": false,\n          \"id\": \"G-M9xQZIjsCcvWOQrNlAy\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2678.789370380765,\n          \"y\": 2477.8406403244016,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.63068501487636,\n          \"height\": 42.15167874318576,\n          \"seed\": 946315528,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"SAzDbtFLghWmvfaEVvjnG\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"18rJRLecCJbGdUmTpeyff\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"_Nt1TMuLXdWaJ20a315_O\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039903688,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1398,\n          \"versionNonce\": 1410086776,\n          \"isDeleted\": false,\n          \"id\": \"ZpPlX-T8fX0ORx3J-EyjY\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2795.200584297744,\n          \"y\": 2477.8406403244016,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.63068501487636,\n          \"height\": 42.15167874318576,\n          \"seed\": 472175480,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"_gf7vsrac_EZKQcoEDZq1\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"4gBluv86OccGOjD-IfzF5\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"XeQHOYvO_fyXfCqi_6h-7\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039903688,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1301,\n          \"versionNonce\": 1804540936,\n          \"isDeleted\": false,\n          \"id\": \"DxJ9x8UOZiU2q7U3K66Qm\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2968.934977958339,\n          \"y\": 2408.45842472192,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.63068501487636,\n          \"height\": 42.15167874318576,\n          \"seed\": 1138638856,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"_ETtK1PXc2IOStgfjVq0P\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"RjSR0BFbI8xiN2v-UY8Rn\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"pMmcR5IYqsrsR8YaidxRO\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039903688,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1299,\n          \"versionNonce\": 763791480,\n          \"isDeleted\": false,\n          \"id\": \"Kkmu938kgg4KZiYvHEU5k\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2910.4370840664715,\n          \"y\": 2477.8406403244016,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.63068501487636,\n          \"height\": 42.15167874318576,\n          \"seed\": 539731064,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"pMmcR5IYqsrsR8YaidxRO\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"Oyifo3uqupwZZzyKeiqMr\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"aI-QxMssf0tg7hCamRg0r\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039903688,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1477,\n          \"versionNonce\": 979262216,\n          \"isDeleted\": false,\n          \"id\": \"gfSKt5B_W32k1xOZ0-1Xu\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3025.673583835206,\n          \"y\": 2477.8406403244016,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.63068501487636,\n          \"height\": 42.15167874318576,\n          \"seed\": 86572808,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"1ma1fw25BS7H0a5rdMv4W\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"zhUVIELdhthC8tSudmes6\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039903688,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1355,\n          \"versionNonce\": 1703852408,\n          \"isDeleted\": false,\n          \"id\": \"dfpfIos61irV5sVzOiycB\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2648.1063805484364,\n          \"y\": 2561.8792638774075,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.63068501487636,\n          \"height\": 42.15167874318576,\n          \"seed\": 2100319608,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"SAzDbtFLghWmvfaEVvjnG\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039903688,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1545,\n          \"versionNonce\": 183351816,\n          \"isDeleted\": false,\n          \"id\": \"xAqNZQC9X-C4wgRqJHNBD\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2706.633065038962,\n          \"y\": 2561.8792638774075,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.63068501487636,\n          \"height\": 42.15167874318576,\n          \"seed\": 1824775688,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"_Nt1TMuLXdWaJ20a315_O\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039903688,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1383,\n          \"versionNonce\": 795396728,\n          \"isDeleted\": false,\n          \"id\": \"4UEm-RIqD6DsPwFz1HjvO\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2765.159749529488,\n          \"y\": 2561.8792638774075,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.63068501487636,\n          \"height\": 42.15167874318576,\n          \"seed\": 410445432,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"_gf7vsrac_EZKQcoEDZq1\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039903688,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1573,\n          \"versionNonce\": 1882798344,\n          \"isDeleted\": false,\n          \"id\": \"YW3ebF8dCT4JJsC2xCOdd\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2823.686434020029,\n          \"y\": 2561.8792638774075,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.63068501487636,\n          \"height\": 42.15167874318576,\n          \"seed\": 2074795272,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"XeQHOYvO_fyXfCqi_6h-7\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039903688,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1390,\n          \"versionNonce\": 903396216,\n          \"isDeleted\": false,\n          \"id\": \"APhh-KGqnQdfVFa0qvx_1\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2882.2131185105663,\n          \"y\": 2561.8792638774075,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.63068501487636,\n          \"height\": 42.15167874318576,\n          \"seed\": 247682936,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"Oyifo3uqupwZZzyKeiqMr\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039903689,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1580,\n          \"versionNonce\": 1035786248,\n          \"isDeleted\": false,\n          \"id\": \"1J7_8hfmtIu7AGTtkKEbz\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2940.7398030010945,\n          \"y\": 2561.8792638774075,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.63068501487636,\n          \"height\": 42.15167874318576,\n          \"seed\": 861535240,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"aI-QxMssf0tg7hCamRg0r\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039903689,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1390,\n          \"versionNonce\": 723684472,\n          \"isDeleted\": false,\n          \"id\": \"_kwHpcjHBYBhOKHDvh1dh\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2999.2664874916163,\n          \"y\": 2561.8792638774075,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.63068501487636,\n          \"height\": 42.15167874318576,\n          \"seed\": 1146726520,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"zhUVIELdhthC8tSudmes6\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039903689,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1580,\n          \"versionNonce\": 2004129544,\n          \"isDeleted\": false,\n          \"id\": \"0_qWBfgglbW8MkWMBqZK6\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 3057.7931719821427,\n          \"y\": 2561.8792638774075,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 43.63068501487636,\n          \"height\": 42.15167874318576,\n          \"seed\": 97336072,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"1ma1fw25BS7H0a5rdMv4W\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039903689,\n          \"link\": null\n        },\n        {\n          \"id\": \"FplPAsLegDACfTr7SbDk5\",\n          \"type\": \"arrow\",\n          \"x\": 2852.296307297266,\n          \"y\": 2371.5751870687113,\n          \"width\": 76.14586824448608,\n          \"height\": 43.319769206567784,\n          \"angle\": 0,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"seed\": 287403640,\n          \"version\": 1521,\n          \"versionNonce\": 1493843320,\n          \"isDeleted\": false,\n          \"boundElements\": null,\n          \"updated\": 1646039903689,\n          \"link\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              -76.14586824448608,\n              43.319769206567784\n            ]\n          ],\n          \"lastCommittedPoint\": null,\n          \"startBinding\": {\n            \"elementId\": \"fOrHMN5KnYImP1Jgdda4F\",\n            \"focus\": 0.029687209192477727,\n            \"gap\": 1\n          },\n          \"endBinding\": {\n            \"elementId\": \"j6nB6gbZeOErYphO5xLiQ\",\n            \"focus\": -0.19500628179428073,\n            \"gap\": 1.2007858709866923\n          },\n          \"startArrowhead\": null,\n          \"endArrowhead\": null\n        },\n        {\n          \"id\": \"_ETtK1PXc2IOStgfjVq0P\",\n          \"type\": \"arrow\",\n          \"x\": 2891.914098434919,\n          \"y\": 2371.8936434365805,\n          \"width\": 78.50908852267256,\n          \"height\": 45.661408297506355,\n          \"angle\": 0,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"seed\": 1838766600,\n          \"version\": 1455,\n          \"versionNonce\": 1104967176,\n          \"isDeleted\": false,\n          \"boundElements\": null,\n          \"updated\": 1646039903689,\n          \"link\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              78.50908852267256,\n              45.661408297506355\n            ]\n          ],\n          \"lastCommittedPoint\": null,\n          \"startBinding\": {\n            \"elementId\": \"fOrHMN5KnYImP1Jgdda4F\",\n            \"focus\": -0.02247876193187343,\n            \"gap\": 1\n          },\n          \"endBinding\": {\n            \"elementId\": \"DxJ9x8UOZiU2q7U3K66Qm\",\n            \"focus\": 0.006374565137878445,\n            \"gap\": 1.9762151918654176\n          },\n          \"startArrowhead\": null,\n          \"endArrowhead\": null\n        },\n        {\n          \"id\": \"pMmcR5IYqsrsR8YaidxRO\",\n          \"type\": \"arrow\",\n          \"x\": 2973.4117979644725,\n          \"y\": 2446.7450980448843,\n          \"width\": 28.208138747425267,\n          \"height\": 35.0634949465878,\n          \"angle\": 0,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"seed\": 1021226360,\n          \"version\": 1213,\n          \"versionNonce\": 819187320,\n          \"isDeleted\": false,\n          \"boundElements\": null,\n          \"updated\": 1646039903689,\n          \"link\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              -28.208138747425267,\n              35.0634949465878\n            ]\n          ],\n          \"lastCommittedPoint\": null,\n          \"startBinding\": {\n            \"elementId\": \"DxJ9x8UOZiU2q7U3K66Qm\",\n            \"focus\": 0.12640921310317504,\n            \"gap\": 2.9899298573061692\n          },\n          \"endBinding\": {\n            \"elementId\": \"Kkmu938kgg4KZiYvHEU5k\",\n            \"focus\": -0.029383302112538794,\n            \"gap\": 1\n          },\n          \"startArrowhead\": null,\n          \"endArrowhead\": null\n        },\n        {\n          \"id\": \"RjSR0BFbI8xiN2v-UY8Rn\",\n          \"type\": \"arrow\",\n          \"x\": 3007.067777134701,\n          \"y\": 2445.215006219178,\n          \"width\": 31.7998445622841,\n          \"height\": 34.73977782895246,\n          \"angle\": 0,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"seed\": 485082488,\n          \"version\": 1282,\n          \"versionNonce\": 1374713096,\n          \"isDeleted\": false,\n          \"boundElements\": null,\n          \"updated\": 1646039903689,\n          \"link\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              31.7998445622841,\n              34.73977782895246\n            ]\n          ],\n          \"lastCommittedPoint\": null,\n          \"startBinding\": {\n            \"elementId\": \"DxJ9x8UOZiU2q7U3K66Qm\",\n            \"focus\": -0.06743090091507659,\n            \"gap\": 1.1792141946122001\n          },\n          \"endBinding\": null,\n          \"startArrowhead\": null,\n          \"endArrowhead\": null\n        },\n        {\n          \"id\": \"Oyifo3uqupwZZzyKeiqMr\",\n          \"type\": \"arrow\",\n          \"x\": 2922.8471158111333,\n          \"y\": 2519.763160214395,\n          \"width\": 13.681195653648501,\n          \"height\": 40.70100089283096,\n          \"angle\": 0,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"seed\": 2054494728,\n          \"version\": 1370,\n          \"versionNonce\": 1531133816,\n          \"isDeleted\": false,\n          \"boundElements\": null,\n          \"updated\": 1646039903689,\n          \"link\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              -13.681195653648501,\n              40.70100089283096\n            ]\n          ],\n          \"lastCommittedPoint\": null,\n          \"startBinding\": {\n            \"elementId\": \"Kkmu938kgg4KZiYvHEU5k\",\n            \"focus\": 0.10454485943214174,\n            \"gap\": 1.6740233958445252\n          },\n          \"endBinding\": {\n            \"elementId\": \"APhh-KGqnQdfVFa0qvx_1\",\n            \"focus\": -0.10562161162611655,\n            \"gap\": 1.959295753811002\n          },\n          \"startArrowhead\": null,\n          \"endArrowhead\": null\n        },\n        {\n          \"id\": \"aI-QxMssf0tg7hCamRg0r\",\n          \"type\": \"arrow\",\n          \"x\": 2944.018772483398,\n          \"y\": 2519.1363887161133,\n          \"width\": 12.602976144995864,\n          \"height\": 42.60517718712663,\n          \"angle\": 0,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"seed\": 1358249080,\n          \"version\": 1349,\n          \"versionNonce\": 1563202568,\n          \"isDeleted\": false,\n          \"boundElements\": null,\n          \"updated\": 1646039903689,\n          \"link\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              12.602976144995864,\n              42.60517718712663\n            ]\n          ],\n          \"lastCommittedPoint\": null,\n          \"startBinding\": {\n            \"elementId\": \"Kkmu938kgg4KZiYvHEU5k\",\n            \"focus\": -0.2549781989218489,\n            \"gap\": 2.137635196918417\n          },\n          \"endBinding\": {\n            \"elementId\": \"1J7_8hfmtIu7AGTtkKEbz\",\n            \"focus\": 0.01506252359516849,\n            \"gap\": 1\n          },\n          \"startArrowhead\": null,\n          \"endArrowhead\": null\n        },\n        {\n          \"id\": \"zhUVIELdhthC8tSudmes6\",\n          \"type\": \"arrow\",\n          \"x\": 3036.8169355231566,\n          \"y\": 2517.963969823087,\n          \"width\": 9.44992007676207,\n          \"height\": 43.60935038040972,\n          \"angle\": 0,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"seed\": 1906805368,\n          \"version\": 1242,\n          \"versionNonce\": 1218220152,\n          \"isDeleted\": false,\n          \"boundElements\": null,\n          \"updated\": 1646039903689,\n          \"link\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              -9.44992007676207,\n              43.60935038040972\n            ]\n          ],\n          \"lastCommittedPoint\": null,\n          \"startBinding\": {\n            \"elementId\": \"gfSKt5B_W32k1xOZ0-1Xu\",\n            \"focus\": 0.29362974767750205,\n            \"gap\": 1\n          },\n          \"endBinding\": {\n            \"elementId\": \"_kwHpcjHBYBhOKHDvh1dh\",\n            \"focus\": 0.0741136076378415,\n            \"gap\": 1.1543109452637985\n          },\n          \"startArrowhead\": null,\n          \"endArrowhead\": null\n        },\n        {\n          \"id\": \"1ma1fw25BS7H0a5rdMv4W\",\n          \"type\": \"arrow\",\n          \"x\": 3059.36033595588,\n          \"y\": 2517.717957755126,\n          \"width\": 15.137033907710029,\n          \"height\": 43.824207531824435,\n          \"angle\": 0,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"seed\": 331387768,\n          \"version\": 1339,\n          \"versionNonce\": 160224008,\n          \"isDeleted\": false,\n          \"boundElements\": null,\n          \"updated\": 1646039903689,\n          \"link\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              15.137033907710029,\n              43.824207531824435\n            ]\n          ],\n          \"lastCommittedPoint\": null,\n          \"startBinding\": {\n            \"elementId\": \"gfSKt5B_W32k1xOZ0-1Xu\",\n            \"focus\": -0.2338177395149689,\n            \"gap\": 1\n          },\n          \"endBinding\": {\n            \"elementId\": \"0_qWBfgglbW8MkWMBqZK6\",\n            \"focus\": 0.09935516533714739,\n            \"gap\": 1\n          },\n          \"startArrowhead\": null,\n          \"endArrowhead\": null\n        },\n        {\n          \"id\": \"XeQHOYvO_fyXfCqi_6h-7\",\n          \"type\": \"arrow\",\n          \"x\": 2827.112302659518,\n          \"y\": 2518.6029381495223,\n          \"width\": 11.507454456357186,\n          \"height\": 42.72461949213502,\n          \"angle\": 0,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"seed\": 1941114376,\n          \"version\": 1304,\n          \"versionNonce\": 1084473720,\n          \"isDeleted\": false,\n          \"boundElements\": null,\n          \"updated\": 1646039903689,\n          \"link\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              11.507454456357186,\n              42.72461949213502\n            ]\n          ],\n          \"lastCommittedPoint\": null,\n          \"startBinding\": {\n            \"elementId\": \"ZpPlX-T8fX0ORx3J-EyjY\",\n            \"focus\": -0.2126726032055372,\n            \"gap\": 1\n          },\n          \"endBinding\": {\n            \"elementId\": \"YW3ebF8dCT4JJsC2xCOdd\",\n            \"focus\": -0.04688417376999017,\n            \"gap\": 1.555113048513828\n          },\n          \"startArrowhead\": null,\n          \"endArrowhead\": null\n        },\n        {\n          \"id\": \"_gf7vsrac_EZKQcoEDZq1\",\n          \"type\": \"arrow\",\n          \"x\": 2804.93414571009,\n          \"y\": 2518.250497646012,\n          \"width\": 14.534325584103954,\n          \"height\": 42.45752045553354,\n          \"angle\": 0,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"seed\": 1067942008,\n          \"version\": 1381,\n          \"versionNonce\": 1569534472,\n          \"isDeleted\": false,\n          \"boundElements\": null,\n          \"updated\": 1646039903689,\n          \"link\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              -14.534325584103954,\n              42.45752045553354\n            ]\n          ],\n          \"lastCommittedPoint\": null,\n          \"startBinding\": {\n            \"elementId\": \"ZpPlX-T8fX0ORx3J-EyjY\",\n            \"focus\": 0.2377653301918221,\n            \"gap\": 1.5219946443615484\n          },\n          \"endBinding\": {\n            \"elementId\": \"4UEm-RIqD6DsPwFz1HjvO\",\n            \"focus\": -0.18239778911032814,\n            \"gap\": 1.4169603306715395\n          },\n          \"startArrowhead\": null,\n          \"endArrowhead\": null\n        },\n        {\n          \"id\": \"_Nt1TMuLXdWaJ20a315_O\",\n          \"type\": \"arrow\",\n          \"x\": 2708.9332525957784,\n          \"y\": 2520.168875839172,\n          \"width\": 13.491503495684524,\n          \"height\": 39.292147850777745,\n          \"angle\": 0,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"seed\": 1072526856,\n          \"version\": 1416,\n          \"versionNonce\": 1922880120,\n          \"isDeleted\": false,\n          \"boundElements\": null,\n          \"updated\": 1646039903689,\n          \"link\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              13.491503495684524,\n              39.292147850777745\n            ]\n          ],\n          \"lastCommittedPoint\": null,\n          \"startBinding\": {\n            \"elementId\": \"G-M9xQZIjsCcvWOQrNlAy\",\n            \"focus\": -0.0448669004309337,\n            \"gap\": 1.655688846911847\n          },\n          \"endBinding\": {\n            \"elementId\": \"xAqNZQC9X-C4wgRqJHNBD\",\n            \"focus\": 0.08890264382063708,\n            \"gap\": 3.1343422999896653\n          },\n          \"startArrowhead\": null,\n          \"endArrowhead\": null\n        },\n        {\n          \"id\": \"SAzDbtFLghWmvfaEVvjnG\",\n          \"type\": \"arrow\",\n          \"x\": 2689.724682193804,\n          \"y\": 2518.3334431069106,\n          \"width\": 14.145109427996156,\n          \"height\": 43.33778047098872,\n          \"angle\": 0,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"seed\": 116367480,\n          \"version\": 1473,\n          \"versionNonce\": 808038664,\n          \"isDeleted\": false,\n          \"boundElements\": null,\n          \"updated\": 1646039903689,\n          \"link\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              -14.145109427996156,\n              43.33778047098872\n            ]\n          ],\n          \"lastCommittedPoint\": null,\n          \"startBinding\": {\n            \"elementId\": \"G-M9xQZIjsCcvWOQrNlAy\",\n            \"focus\": 0.19858550052599835,\n            \"gap\": 1.0113417636391944\n          },\n          \"endBinding\": {\n            \"elementId\": \"dfpfIos61irV5sVzOiycB\",\n            \"focus\": -0.05635343922934983,\n            \"gap\": 1\n          },\n          \"startArrowhead\": null,\n          \"endArrowhead\": null\n        },\n        {\n          \"id\": \"18rJRLecCJbGdUmTpeyff\",\n          \"type\": \"arrow\",\n          \"x\": 2741.1972125819466,\n          \"y\": 2444.582142600516,\n          \"width\": 28.91766986347011,\n          \"height\": 35.502859050588995,\n          \"angle\": 0,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"seed\": 1475088904,\n          \"version\": 1453,\n          \"versionNonce\": 88851320,\n          \"isDeleted\": false,\n          \"boundElements\": null,\n          \"updated\": 1646039903689,\n          \"link\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              -28.91766986347011,\n              35.502859050588995\n            ]\n          ],\n          \"lastCommittedPoint\": null,\n          \"startBinding\": {\n            \"elementId\": \"j6nB6gbZeOErYphO5xLiQ\",\n            \"focus\": 0.1926468635576403,\n            \"gap\": 1.6647629400967148\n          },\n          \"endBinding\": {\n            \"elementId\": \"G-M9xQZIjsCcvWOQrNlAy\",\n            \"focus\": -0.13197980874246712,\n            \"gap\": 1\n          },\n          \"startArrowhead\": null,\n          \"endArrowhead\": null\n        },\n        {\n          \"id\": \"4gBluv86OccGOjD-IfzF5\",\n          \"type\": \"arrow\",\n          \"x\": 2774.3706713125234,\n          \"y\": 2445.2167076017677,\n          \"width\": 29.271873255914215,\n          \"height\": 34.27692100064178,\n          \"angle\": 0,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"seed\": 1446377848,\n          \"version\": 1290,\n          \"versionNonce\": 417222664,\n          \"isDeleted\": false,\n          \"boundElements\": null,\n          \"updated\": 1646039903689,\n          \"link\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              29.271873255914215,\n              34.27692100064178\n            ]\n          ],\n          \"lastCommittedPoint\": null,\n          \"startBinding\": {\n            \"elementId\": \"j6nB6gbZeOErYphO5xLiQ\",\n            \"focus\": -0.07695323740114789,\n            \"gap\": 1\n          },\n          \"endBinding\": {\n            \"elementId\": \"ZpPlX-T8fX0ORx3J-EyjY\",\n            \"focus\": 0.11362081248537337,\n            \"gap\": 2.275199296563393\n          },\n          \"startArrowhead\": null,\n          \"endArrowhead\": null\n        }\n      ],\n      \"id\": \"FpoesYt2tOB5NHpzghTnr\",\n      \"created\": 1646039940898,\n      \"name\": \"Tree - 3\"\n    },\n    {\n      \"status\": \"published\",\n      \"elements\": [\n        {\n          \"type\": \"ellipse\",\n          \"version\": 883,\n          \"versionNonce\": 1879288840,\n          \"isDeleted\": false,\n          \"id\": \"c_WDCNKJExWi7_1F4fV8g\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 6.280842810089523,\n          \"x\": 2313.326657114861,\n          \"y\": 2418.536494327116,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 45.392584295502836,\n          \"height\": 43.853852624468885,\n          \"seed\": 1520167688,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"yFLbGQuNZDViFOOp3uN_c\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"ryuBksLbvJHvJQGRynH41\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039903691,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 922,\n          \"versionNonce\": 1147336824,\n          \"isDeleted\": false,\n          \"id\": \"ejz1p_tnITZkI6WNA32ZY\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 6.280842810089523,\n          \"x\": 2232.7214883557226,\n          \"y\": 2482.9376882630613,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 45.392584295502836,\n          \"height\": 43.853852624468885,\n          \"seed\": 498215288,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"KXx-afPHeSrx3jZPKdhFh\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"nJUzEwvOabIVX3yoHQtm4\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"yFLbGQuNZDViFOOp3uN_c\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039903691,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 859,\n          \"versionNonce\": 1640033032,\n          \"isDeleted\": false,\n          \"id\": \"b4qd4-szlAME0wTBpyJd-\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 6.280842810089523,\n          \"x\": 2189.4570315118,\n          \"y\": 2557.0710785987303,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 45.392584295502836,\n          \"height\": 43.853852624468885,\n          \"seed\": 1906195064,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"nJUzEwvOabIVX3yoHQtm4\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039903691,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 966,\n          \"versionNonce\": 1197287800,\n          \"isDeleted\": false,\n          \"id\": \"HhgR8kNQjh_xJs2frz7ct\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 6.280842810089523,\n          \"x\": 2273.632171729561,\n          \"y\": 2557.0710785987303,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 45.392584295502836,\n          \"height\": 43.853852624468885,\n          \"seed\": 710068488,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"KXx-afPHeSrx3jZPKdhFh\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039903691,\n          \"link\": null\n        },\n        {\n          \"id\": \"nJUzEwvOabIVX3yoHQtm4\",\n          \"type\": \"arrow\",\n          \"x\": 2241.806947269089,\n          \"y\": 2524.2217644505654,\n          \"width\": 19.191717711255478,\n          \"height\": 33.55842632154145,\n          \"angle\": 0,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"seed\": 1707409528,\n          \"version\": 577,\n          \"versionNonce\": 1199458824,\n          \"isDeleted\": false,\n          \"boundElements\": null,\n          \"updated\": 1646039903691,\n          \"link\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              -19.191717711255478,\n              33.55842632154145\n            ]\n          ],\n          \"lastCommittedPoint\": null,\n          \"startBinding\": {\n            \"elementId\": \"ejz1p_tnITZkI6WNA32ZY\",\n            \"focus\": 0.09937316145241286,\n            \"gap\": 1.4883993363770642\n          },\n          \"endBinding\": {\n            \"elementId\": \"b4qd4-szlAME0wTBpyJd-\",\n            \"focus\": -0.06199237160145522,\n            \"gap\": 1.4807167557815823\n          },\n          \"startArrowhead\": null,\n          \"endArrowhead\": null\n        },\n        {\n          \"id\": \"KXx-afPHeSrx3jZPKdhFh\",\n          \"type\": \"arrow\",\n          \"x\": 2269.1443967092764,\n          \"y\": 2523.551074336254,\n          \"width\": 19.740741935683673,\n          \"height\": 33.459902977989714,\n          \"angle\": 0,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"seed\": 163172360,\n          \"version\": 640,\n          \"versionNonce\": 770259576,\n          \"isDeleted\": false,\n          \"boundElements\": null,\n          \"updated\": 1646039903691,\n          \"link\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              19.740741935683673,\n              33.459902977989714\n            ]\n          ],\n          \"lastCommittedPoint\": null,\n          \"startBinding\": {\n            \"elementId\": \"ejz1p_tnITZkI6WNA32ZY\",\n            \"focus\": -0.08120510136103126,\n            \"gap\": 1\n          },\n          \"endBinding\": {\n            \"elementId\": \"HhgR8kNQjh_xJs2frz7ct\",\n            \"focus\": 0.21417989129795934,\n            \"gap\": 1.3195352142510508\n          },\n          \"startArrowhead\": null,\n          \"endArrowhead\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1017,\n          \"versionNonce\": 1815595272,\n          \"isDeleted\": false,\n          \"id\": \"dSSe1gYiB_21YiX_cl1nN\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 6.280842810089523,\n          \"x\": 2399.093666648096,\n          \"y\": 2482.9376882630613,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 45.392584295502836,\n          \"height\": 43.853852624468885,\n          \"seed\": 1840619784,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"UaLso3P7uxGU3hCs1-H0O\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"oIfFtCcUXTPXwGqVkErM2\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"ryuBksLbvJHvJQGRynH41\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039903691,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 973,\n          \"versionNonce\": 1791699832,\n          \"isDeleted\": false,\n          \"id\": \"vXUx--dATEmpXFq08afD5\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 6.280842810089523,\n          \"x\": 2357.0930262330353,\n          \"y\": 2557.0710785987303,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 45.392584295502836,\n          \"height\": 43.853852624468885,\n          \"seed\": 716624760,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"oIfFtCcUXTPXwGqVkErM2\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039903691,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1064,\n          \"versionNonce\": 1533634568,\n          \"isDeleted\": false,\n          \"id\": \"VSzNSimfr9Wba0JT79nWE\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 6.280842810089523,\n          \"x\": 2441.6253093079376,\n          \"y\": 2557.0710785987308,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 45.392584295502836,\n          \"height\": 43.853852624468885,\n          \"seed\": 527187976,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"UaLso3P7uxGU3hCs1-H0O\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039903691,\n          \"link\": null\n        },\n        {\n          \"type\": \"arrow\",\n          \"version\": 887,\n          \"versionNonce\": 2017918072,\n          \"isDeleted\": false,\n          \"id\": \"oIfFtCcUXTPXwGqVkErM2\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2408.178215106028,\n          \"y\": 2524.2211643956502,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 19.18979405623577,\n          \"height\": 33.55105086188223,\n          \"seed\": 209560696,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"boundElements\": [],\n          \"updated\": 1646039903691,\n          \"link\": null,\n          \"startBinding\": {\n            \"elementId\": \"dSSe1gYiB_21YiX_cl1nN\",\n            \"focus\": 0.0993731614521234,\n            \"gap\": 1.4883993363856796\n          },\n          \"endBinding\": {\n            \"elementId\": \"vXUx--dATEmpXFq08afD5\",\n            \"focus\": -0.05248994693162105,\n            \"gap\": 1.5953104706184114\n          },\n          \"lastCommittedPoint\": null,\n          \"startArrowhead\": null,\n          \"endArrowhead\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              -19.18979405623577,\n              33.55105086188223\n            ]\n          ]\n        },\n        {\n          \"type\": \"arrow\",\n          \"version\": 927,\n          \"versionNonce\": 1359947528,\n          \"isDeleted\": false,\n          \"id\": \"UaLso3P7uxGU3hCs1-H0O\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2435.4951630579526,\n          \"y\": 2523.56578258394,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 21.048797225323142,\n          \"height\": 33.63508954376721,\n          \"seed\": 1056374536,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"boundElements\": [],\n          \"updated\": 1646039903691,\n          \"link\": null,\n          \"startBinding\": {\n            \"elementId\": \"dSSe1gYiB_21YiX_cl1nN\",\n            \"focus\": -0.0812051013608162,\n            \"gap\": 1\n          },\n          \"endBinding\": {\n            \"elementId\": \"VSzNSimfr9Wba0JT79nWE\",\n            \"focus\": 0.22372714912060693,\n            \"gap\": 1.2419749439762384\n          },\n          \"lastCommittedPoint\": null,\n          \"startArrowhead\": null,\n          \"endArrowhead\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              21.048797225323142,\n              33.63508954376721\n            ]\n          ]\n        },\n        {\n          \"id\": \"yFLbGQuNZDViFOOp3uN_c\",\n          \"type\": \"arrow\",\n          \"x\": 2316.289155999776,\n          \"y\": 2453.371689677451,\n          \"width\": 43.630533704550544,\n          \"height\": 34.34948880919774,\n          \"angle\": 0,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"seed\": 1172109576,\n          \"version\": 597,\n          \"versionNonce\": 1746972024,\n          \"isDeleted\": false,\n          \"boundElements\": null,\n          \"updated\": 1646039903692,\n          \"link\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              -43.630533704550544,\n              34.34948880919774\n            ]\n          ],\n          \"lastCommittedPoint\": null,\n          \"startBinding\": {\n            \"elementId\": \"c_WDCNKJExWi7_1F4fV8g\",\n            \"focus\": 0.09500077712012651,\n            \"gap\": 1.1212390179347018\n          },\n          \"endBinding\": {\n            \"elementId\": \"ejz1p_tnITZkI6WNA32ZY\",\n            \"focus\": -0.12622490199848338,\n            \"gap\": 2.0069905411144546\n          },\n          \"startArrowhead\": null,\n          \"endArrowhead\": null\n        },\n        {\n          \"id\": \"ryuBksLbvJHvJQGRynH41\",\n          \"type\": \"arrow\",\n          \"x\": 2356.2247494190333,\n          \"y\": 2453.9197768756385,\n          \"width\": 45.43257497525201,\n          \"height\": 35.97194863634286,\n          \"angle\": 0,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"seed\": 641656952,\n          \"version\": 594,\n          \"versionNonce\": 698680840,\n          \"isDeleted\": false,\n          \"boundElements\": null,\n          \"updated\": 1646039903692,\n          \"link\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              45.43257497525201,\n              35.97194863634286\n            ]\n          ],\n          \"lastCommittedPoint\": null,\n          \"startBinding\": {\n            \"elementId\": \"c_WDCNKJExWi7_1F4fV8g\",\n            \"focus\": -0.08789464324438141,\n            \"gap\": 1.8229207094273683\n          },\n          \"endBinding\": {\n            \"elementId\": \"dSSe1gYiB_21YiX_cl1nN\",\n            \"focus\": -0.03412221702242508,\n            \"gap\": 2.6777031902690034\n          },\n          \"startArrowhead\": null,\n          \"endArrowhead\": null\n        }\n      ],\n      \"id\": \"GwIAGQXMNMuSgMF_ZEWfT\",\n      \"created\": 1646039935931,\n      \"name\": \"Tree - 2\"\n    },\n    {\n      \"status\": \"published\",\n      \"elements\": [\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1132,\n          \"versionNonce\": 901227896,\n          \"isDeleted\": false,\n          \"id\": \"QPLWWHWeyoYU4q806WNnU\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1957.1357734145968,\n          \"y\": 2486.040617760445,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 44.04095261655877,\n          \"height\": 42.54803896853989,\n          \"seed\": 411582584,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"t9TMwP3ZykczX2QOcDeaI\",\n              \"type\": \"arrow\"\n            },\n            {\n              \"id\": \"xyA9lowgElgeYwuyDmQSO\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039903691,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1146,\n          \"versionNonce\": 1595510280,\n          \"isDeleted\": false,\n          \"id\": \"75CWO1CQ6qapF-J7lbYmE\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1913.3279046462171,\n          \"y\": 2558.2819232199013,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 44.04095261655877,\n          \"height\": 42.54803896853989,\n          \"seed\": 1131684616,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"t9TMwP3ZykczX2QOcDeaI\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039903691,\n          \"link\": null\n        },\n        {\n          \"type\": \"ellipse\",\n          \"version\": 1301,\n          \"versionNonce\": 1670657656,\n          \"isDeleted\": false,\n          \"id\": \"WPm4zXey7d-fpbU7skUdw\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2000.2872430439284,\n          \"y\": 2558.7724893764594,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 44.04095261655877,\n          \"height\": 42.54803896853989,\n          \"seed\": 2006544760,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [\n            {\n              \"id\": \"xyA9lowgElgeYwuyDmQSO\",\n              \"type\": \"arrow\"\n            }\n          ],\n          \"updated\": 1646039903691,\n          \"link\": null\n        },\n        {\n          \"id\": \"t9TMwP3ZykczX2QOcDeaI\",\n          \"type\": \"arrow\",\n          \"x\": 1964.774417105586,\n          \"y\": 2524.6520031328882,\n          \"width\": 19.31990376523206,\n          \"height\": 34.15552187368442,\n          \"angle\": 0,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"seed\": 1359321096,\n          \"version\": 793,\n          \"versionNonce\": 2009763080,\n          \"isDeleted\": false,\n          \"boundElements\": null,\n          \"updated\": 1646039903691,\n          \"link\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              -19.31990376523206,\n              34.15552187368442\n            ]\n          ],\n          \"lastCommittedPoint\": null,\n          \"startBinding\": {\n            \"elementId\": \"QPLWWHWeyoYU4q806WNnU\",\n            \"focus\": 0.18231613216143647,\n            \"gap\": 1\n          },\n          \"endBinding\": {\n            \"elementId\": \"75CWO1CQ6qapF-J7lbYmE\",\n            \"focus\": -0.06496015580627695,\n            \"gap\": 1.666970050207027\n          },\n          \"startArrowhead\": null,\n          \"endArrowhead\": null\n        },\n        {\n          \"id\": \"xyA9lowgElgeYwuyDmQSO\",\n          \"type\": \"arrow\",\n          \"x\": 1992.22270690957,\n          \"y\": 2525.7023095614445,\n          \"width\": 18.41544545549464,\n          \"height\": 35.19410298167834,\n          \"angle\": 0,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"round\",\n          \"seed\": 575738232,\n          \"version\": 858,\n          \"versionNonce\": 828085256,\n          \"isDeleted\": false,\n          \"boundElements\": null,\n          \"updated\": 1646039925657,\n          \"link\": null,\n          \"points\": [\n            [\n              0,\n              0\n            ],\n            [\n              18.41544545549464,\n              35.19410298167834\n            ]\n          ],\n          \"lastCommittedPoint\": null,\n          \"startBinding\": {\n            \"elementId\": \"QPLWWHWeyoYU4q806WNnU\",\n            \"focus\": -0.13962108639308604,\n            \"gap\": 1.040986137442843\n          },\n          \"endBinding\": {\n            \"elementId\": \"WPm4zXey7d-fpbU7skUdw\",\n            \"focus\": -0.06683935053798129,\n            \"gap\": 1\n          },\n          \"startArrowhead\": null,\n          \"endArrowhead\": null\n        }\n      ],\n      \"id\": \"TtGLECM5mCG7TVtqtu_Js\",\n      \"created\": 1646039931673,\n      \"name\": \"Tree - 1\"\n    },\n    {\n      \"status\": \"published\",\n      \"elements\": [\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1083,\n          \"versionNonce\": 1913172488,\n          \"isDeleted\": false,\n          \"id\": \"3CkQiAyxrmvosZgBTts0z\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2246.5124682085916,\n          \"y\": 1634.1805861633895,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 2041514872,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1124,\n          \"versionNonce\": 362369656,\n          \"isDeleted\": false,\n          \"id\": \"qH8V1plPW5JKTHmsA3nh6\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2286.830310749151,\n          \"y\": 1634.1805861633895,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 87263240,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1138,\n          \"versionNonce\": 691351816,\n          \"isDeleted\": false,\n          \"id\": \"iudGQ2Xzs5-ylfqrXYU-c\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2327.2025033225736,\n          \"y\": 1634.1805861633895,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1068424312,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1178,\n          \"versionNonce\": 347620216,\n          \"isDeleted\": false,\n          \"id\": \"gjd6RqA3lgWZH1a_e4Pk8\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2367.520345863135,\n          \"y\": 1634.1805861633895,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 2090157832,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1131,\n          \"versionNonce\": 1685704712,\n          \"isDeleted\": false,\n          \"id\": \"EUgNOVT3gr6_DafukyyGN\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2408.2334613697794,\n          \"y\": 1634.1805861633895,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 931958136,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1121,\n          \"versionNonce\": 349246584,\n          \"isDeleted\": false,\n          \"id\": \"XhKauRDNIct-4QIaQwSU5\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2246.5124682085916,\n          \"y\": 1677.1150994050852,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1063724552,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1162,\n          \"versionNonce\": 735219464,\n          \"isDeleted\": false,\n          \"id\": \"au4B2sELRpeU1zW-MJe31\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2286.830310749151,\n          \"y\": 1677.1150994050852,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 713825912,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1175,\n          \"versionNonce\": 463979896,\n          \"isDeleted\": false,\n          \"id\": \"rv16aPckiWTxMwK3-n4Zm\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2327.2025033225736,\n          \"y\": 1677.1150994050852,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 715465992,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1216,\n          \"versionNonce\": 666594824,\n          \"isDeleted\": false,\n          \"id\": \"DB2LGifrk-jxiO9NotVWj\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2367.520345863135,\n          \"y\": 1677.1150994050852,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 426872696,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1169,\n          \"versionNonce\": 1451251320,\n          \"isDeleted\": false,\n          \"id\": \"RwxdHla47G6o5udTl6Pp6\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2408.2334613697794,\n          \"y\": 1677.1150994050852,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 466306056,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1162,\n          \"versionNonce\": 288386312,\n          \"isDeleted\": false,\n          \"id\": \"1Tx_O54w9OFGmWpo4VeKw\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2246.5124682085916,\n          \"y\": 1720.0496126467772,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1283514488,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1203,\n          \"versionNonce\": 706660216,\n          \"isDeleted\": false,\n          \"id\": \"VKttFmtDS-JygSenTINDI\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2286.830310749151,\n          \"y\": 1720.0496126467772,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1624605448,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1216,\n          \"versionNonce\": 565021704,\n          \"isDeleted\": false,\n          \"id\": \"godZC2F0dm3QAvkQK3GGo\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2327.2025033225736,\n          \"y\": 1720.0496126467772,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1669206392,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1257,\n          \"versionNonce\": 1120344184,\n          \"isDeleted\": false,\n          \"id\": \"bl1-RcohTFtnHILhLE1kt\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2367.520345863135,\n          \"y\": 1720.0496126467772,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 675275272,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1210,\n          \"versionNonce\": 53398280,\n          \"isDeleted\": false,\n          \"id\": \"PiUSj8nyNoozmVlrL-hVR\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2408.2334613697794,\n          \"y\": 1720.0496126467772,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1705845368,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1143,\n          \"versionNonce\": 607996280,\n          \"isDeleted\": false,\n          \"id\": \"X4EXVzouCbJTLD6Vajxn2\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2246.5124682085916,\n          \"y\": 1763.1922932253967,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1896243464,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1184,\n          \"versionNonce\": 1076898312,\n          \"isDeleted\": false,\n          \"id\": \"T7MqDniGyi86QoR7wQ3iO\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2286.830310749151,\n          \"y\": 1763.1922932253967,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1372722040,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1197,\n          \"versionNonce\": 969235064,\n          \"isDeleted\": false,\n          \"id\": \"yDCBmobnhexW_-SLyxzvf\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2327.2025033225736,\n          \"y\": 1763.1922932253967,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 2057633800,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1237,\n          \"versionNonce\": 867019016,\n          \"isDeleted\": false,\n          \"id\": \"lyb_4Q7DMvfGOniU008_m\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2367.520345863135,\n          \"y\": 1763.1922932253967,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 774956152,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1190,\n          \"versionNonce\": 1713589112,\n          \"isDeleted\": false,\n          \"id\": \"ug6xkzI1G3PJaYL4zeYdM\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2408.2334613697794,\n          \"y\": 1763.1922932253967,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 890748680,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1143,\n          \"versionNonce\": 2032355336,\n          \"isDeleted\": false,\n          \"id\": \"7xf2OgYtnYmKJAoe3dwEv\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2246.5124682085916,\n          \"y\": 1806.1268064670905,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 411932024,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1184,\n          \"versionNonce\": 328932472,\n          \"isDeleted\": false,\n          \"id\": \"Su-7gZywOMl4Xuiny7v1r\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2286.830310749151,\n          \"y\": 1806.1268064670905,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 819633672,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1197,\n          \"versionNonce\": 1552746248,\n          \"isDeleted\": false,\n          \"id\": \"wIg9Nz0GKY_Mm8twlFd22\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2327.2025033225736,\n          \"y\": 1806.1268064670905,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1445734008,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1237,\n          \"versionNonce\": 1139854712,\n          \"isDeleted\": false,\n          \"id\": \"k5TVRbiThU-bWsTWDZwli\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2367.520345863135,\n          \"y\": 1806.1268064670905,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 250191112,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1190,\n          \"versionNonce\": 1248257544,\n          \"isDeleted\": false,\n          \"id\": \"jfEnLm_TP0h0oQBN4tjNW\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2408.2334613697794,\n          \"y\": 1806.1268064670905,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1674614648,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 727,\n          \"versionNonce\": 543710840,\n          \"isDeleted\": false,\n          \"id\": \"HnMTdV16\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2260.513970159357,\n          \"y\": 1605.392002005646,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 12.422385831263085,\n          \"height\": 22.841161044580506,\n          \"seed\": 1891679240,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null,\n          \"fontSize\": 17.87769427851443,\n          \"fontFamily\": 1,\n          \"text\": \"0\",\n          \"rawText\": \"0\",\n          \"baseline\": 15.841161044580506,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"0\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 750,\n          \"versionNonce\": 1068295432,\n          \"isDeleted\": false,\n          \"id\": \"YUJLipRG\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2304.9467647450574,\n          \"y\": 1605.2841193677593,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 4.808665483069583,\n          \"height\": 22.841161044580506,\n          \"seed\": 96397432,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null,\n          \"fontSize\": 17.87769427851444,\n          \"fontFamily\": 1,\n          \"text\": \"1\",\n          \"rawText\": \"1\",\n          \"baseline\": 15.841161044580506,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"1\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 746,\n          \"versionNonce\": 163958648,\n          \"isDeleted\": false,\n          \"id\": \"kdE2AQNp\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2341.435182354505,\n          \"y\": 1605.2841193677593,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 12.823107954852215,\n          \"height\": 22.841161044580506,\n          \"seed\": 1750858504,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null,\n          \"fontSize\": 17.87769427851444,\n          \"fontFamily\": 1,\n          \"text\": \"2\",\n          \"rawText\": \"2\",\n          \"baseline\": 15.841161044580506,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"2\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 742,\n          \"versionNonce\": 970654728,\n          \"isDeleted\": false,\n          \"id\": \"CO8jg5AH\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2381.9379665600254,\n          \"y\": 1605.2841193677593,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 12.021663707673953,\n          \"height\": 22.841161044580506,\n          \"seed\": 1471879544,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null,\n          \"fontSize\": 17.877694278514404,\n          \"fontFamily\": 1,\n          \"text\": \"3\",\n          \"rawText\": \"3\",\n          \"baseline\": 15.841161044580506,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"3\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 755,\n          \"versionNonce\": 676143224,\n          \"isDeleted\": false,\n          \"id\": \"1C1OTsiy\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2423.0209653965794,\n          \"y\": 1605.2841193677593,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 11.620941584084818,\n          \"height\": 22.841161044580506,\n          \"seed\": 1748457992,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null,\n          \"fontSize\": 17.877694278514426,\n          \"fontFamily\": 1,\n          \"text\": \"4\",\n          \"rawText\": \"4\",\n          \"baseline\": 15.841161044580506,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"4\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 665,\n          \"versionNonce\": 653083400,\n          \"isDeleted\": false,\n          \"id\": \"Mwk20vrR\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2225.557970559732,\n          \"y\": 1644.0478178254116,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"#ced4da\",\n          \"width\": 13.624552202030493,\n          \"height\": 24.84477166252617,\n          \"seed\": 1560881784,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null,\n          \"fontSize\": 19.73927497679794,\n          \"fontFamily\": 1,\n          \"text\": \"0\",\n          \"rawText\": \"0\",\n          \"baseline\": 17.84477166252617,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"0\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 692,\n          \"versionNonce\": 2076332408,\n          \"isDeleted\": false,\n          \"id\": \"IRGFRYa3\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2229.765552857416,\n          \"y\": 1686.7046878814772,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"#ced4da\",\n          \"width\": 5.209387606658713,\n          \"height\": 24.84477166252617,\n          \"seed\": 860805384,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null,\n          \"fontSize\": 19.73927497679792,\n          \"fontFamily\": 1,\n          \"text\": \"1\",\n          \"rawText\": \"1\",\n          \"baseline\": 17.84477166252617,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"1\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 712,\n          \"versionNonce\": 1432330760,\n          \"isDeleted\": false,\n          \"id\": \"Fqr7vwOh\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2225.3576094979326,\n          \"y\": 1729.3615579375419,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"#ced4da\",\n          \"width\": 14.02527432561962,\n          \"height\": 24.84477166252617,\n          \"seed\": 275585912,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null,\n          \"fontSize\": 19.739274976797937,\n          \"fontFamily\": 1,\n          \"text\": \"2\",\n          \"rawText\": \"2\",\n          \"baseline\": 17.84477166252617,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"2\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 708,\n          \"versionNonce\": 1802068600,\n          \"isDeleted\": false,\n          \"id\": \"tgHJoJMI\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2225.557970559732,\n          \"y\": 1772.018427993608,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"#ced4da\",\n          \"width\": 13.624552202030493,\n          \"height\": 24.84477166252617,\n          \"seed\": 1293842440,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null,\n          \"fontSize\": 19.73927497679794,\n          \"fontFamily\": 1,\n          \"text\": \"3\",\n          \"rawText\": \"3\",\n          \"baseline\": 17.84477166252617,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"3\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 716,\n          \"versionNonce\": 1680744712,\n          \"isDeleted\": false,\n          \"id\": \"PZk5UJlf\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2225.9586926833163,\n          \"y\": 1814.6752980496667,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"#ced4da\",\n          \"width\": 12.823107954852215,\n          \"height\": 24.84477166252617,\n          \"seed\": 1948970104,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null,\n          \"fontSize\": 19.739274976797947,\n          \"fontFamily\": 1,\n          \"text\": \"4\",\n          \"rawText\": \"4\",\n          \"baseline\": 17.84477166252617,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"4\"\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1166,\n          \"versionNonce\": 1443255160,\n          \"isDeleted\": false,\n          \"id\": \"PmWb516VghXvbCc-DfXSv\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2246.2468479563286,\n          \"y\": 1848.1582697059805,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1772238600,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1207,\n          \"versionNonce\": 852803592,\n          \"isDeleted\": false,\n          \"id\": \"EpL5foXmcAUuxfPpy3p9P\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2286.5646904968926,\n          \"y\": 1848.1582697059805,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 570858872,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1220,\n          \"versionNonce\": 568140920,\n          \"isDeleted\": false,\n          \"id\": \"ivlLWlaoXjlI_KjbzpBnL\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2326.9368830703143,\n          \"y\": 1848.1582697059805,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1565922824,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1260,\n          \"versionNonce\": 1364164360,\n          \"isDeleted\": false,\n          \"id\": \"M5JJN1Q-u9ZJUDN55owvx\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2367.254725610879,\n          \"y\": 1848.1582697059805,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1531195000,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1213,\n          \"versionNonce\": 1286722936,\n          \"isDeleted\": false,\n          \"id\": \"jajjXjveVTdIkRcgM6C9J\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2407.967841117528,\n          \"y\": 1848.1582697059805,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 221648136,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1222,\n          \"versionNonce\": 1880776200,\n          \"isDeleted\": false,\n          \"id\": \"5-7tbwKBK3AQYYJQb8cfR\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2246.113273915141,\n          \"y\": 1891.4362590536045,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 413638520,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1263,\n          \"versionNonce\": 2076731000,\n          \"isDeleted\": false,\n          \"id\": \"7GtWxknolSQea50kB3W2L\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2286.4311164557093,\n          \"y\": 1891.4362590536045,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1589523464,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1276,\n          \"versionNonce\": 1345412360,\n          \"isDeleted\": false,\n          \"id\": \"_n1wk7q1dz3txYScFi3R-\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2326.8033090291183,\n          \"y\": 1891.4362590536045,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 443871352,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1316,\n          \"versionNonce\": 199546744,\n          \"isDeleted\": false,\n          \"id\": \"zrcUYUrhmhQc9CoUv1LjG\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2367.1211515696787,\n          \"y\": 1891.4362590536045,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 669676296,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1269,\n          \"versionNonce\": 856718344,\n          \"isDeleted\": false,\n          \"id\": \"aGMzUG0kvkhbT5e3bfkMp\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2407.834267076337,\n          \"y\": 1891.4362590536045,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 2020614520,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1248,\n          \"versionNonce\": 558573688,\n          \"isDeleted\": false,\n          \"id\": \"OVVpEJ8dUNZ5vqC0OvyIy\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2245.9351751935274,\n          \"y\": 1933.5900002211663,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 523686408,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1289,\n          \"versionNonce\": 1253292808,\n          \"isDeleted\": false,\n          \"id\": \"x35nnAl0tPHlaA4ktQIKb\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2286.2530177341005,\n          \"y\": 1933.5900002211663,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 836579960,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1302,\n          \"versionNonce\": 935287160,\n          \"isDeleted\": false,\n          \"id\": \"f59eWqiHRTd9VKe8i2_zr\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2326.625210307523,\n          \"y\": 1933.5900002211663,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1268732168,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1342,\n          \"versionNonce\": 697768456,\n          \"isDeleted\": false,\n          \"id\": \"E3iYks_lsIeapQ36YQXic\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2366.943052848088,\n          \"y\": 1933.5900002211663,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1031807864,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1295,\n          \"versionNonce\": 847604344,\n          \"isDeleted\": false,\n          \"id\": \"bDRZsMxw2eAOSPcVVbsbm\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2407.656168354736,\n          \"y\": 1933.5900002211663,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1956638728,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1258,\n          \"versionNonce\": 850827528,\n          \"isDeleted\": false,\n          \"id\": \"Oxb5MqXU3nGZKjRGiM-gU\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2245.9351751935274,\n          \"y\": 1976.667628506996,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 429716600,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1299,\n          \"versionNonce\": 1818319736,\n          \"isDeleted\": false,\n          \"id\": \"p9bRLuOyYGMrOsSOBay9J\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2286.2530177341005,\n          \"y\": 1976.667628506996,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 305442568,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1312,\n          \"versionNonce\": 160315400,\n          \"isDeleted\": false,\n          \"id\": \"B0gjLCnCMmMQz1vEVlKbv\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2326.625210307523,\n          \"y\": 1976.667628506996,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1542956408,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1352,\n          \"versionNonce\": 1201089656,\n          \"isDeleted\": false,\n          \"id\": \"oL6oWw8lySfSGJ-Lo3i80\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2366.943052848088,\n          \"y\": 1976.667628506996,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1020890632,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1305,\n          \"versionNonce\": 35256072,\n          \"isDeleted\": false,\n          \"id\": \"w_LEQ_5MJv28P615Tvb2f\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2407.656168354736,\n          \"y\": 1976.667628506996,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1104426616,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1269,\n          \"versionNonce\": 1038802296,\n          \"isDeleted\": false,\n          \"id\": \"6NOoYBKqUxmQw6kWzc2VD\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2245.9351751935274,\n          \"y\": 2019.2443541383423,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 495619336,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1310,\n          \"versionNonce\": 282449416,\n          \"isDeleted\": false,\n          \"id\": \"f35Uu01zI9FViVwkI2sFB\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2286.2530177341005,\n          \"y\": 2019.2443541383423,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1073129336,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1323,\n          \"versionNonce\": 1889562232,\n          \"isDeleted\": false,\n          \"id\": \"1es9I5uJ18E4vw4tivH46\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2326.625210307523,\n          \"y\": 2019.2443541383423,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1573104648,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1363,\n          \"versionNonce\": 985519368,\n          \"isDeleted\": false,\n          \"id\": \"HbP7AOsAuQ8TwVj8rvl6E\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2366.943052848088,\n          \"y\": 2019.2443541383423,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 312670328,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1316,\n          \"versionNonce\": 947642232,\n          \"isDeleted\": false,\n          \"id\": \"TB_rS5HfIWVK87LYR9lnD\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2407.656168354736,\n          \"y\": 2019.2443541383423,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 394324744,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1263,\n          \"versionNonce\": 88994824,\n          \"isDeleted\": false,\n          \"id\": \"FVt8aTAPS2bXcWhrMQpMj\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2448.8704503424633,\n          \"y\": 1633.8370948567565,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1302145400,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1301,\n          \"versionNonce\": 901853304,\n          \"isDeleted\": false,\n          \"id\": \"Eu5MGBuw0q3w8lHvZ-RPV\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2448.8704503424633,\n          \"y\": 1676.7716080984467,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1161710088,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1342,\n          \"versionNonce\": 1719808776,\n          \"isDeleted\": false,\n          \"id\": \"CpdZf3Vzi--_mLtUXBSPb\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2448.8704503424633,\n          \"y\": 1719.70612134014,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1814641272,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1322,\n          \"versionNonce\": 1614045560,\n          \"isDeleted\": false,\n          \"id\": \"KJ5F-5qGM_taaUcuhvlFa\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2448.8704503424633,\n          \"y\": 1762.8488019187646,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 838322440,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1322,\n          \"versionNonce\": 886477320,\n          \"isDeleted\": false,\n          \"id\": \"kH57QqEw4m-GiDpm2ffIt\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2448.8704503424633,\n          \"y\": 1805.7833151604543,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1628121976,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 826,\n          \"versionNonce\": 387543672,\n          \"isDeleted\": false,\n          \"id\": \"rWH8gCUh\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2463.657954369255,\n          \"y\": 1604.940628061124,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 11.620941584084818,\n          \"height\": 22.841161044580506,\n          \"seed\": 1764321288,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null,\n          \"fontSize\": 17.877694278514426,\n          \"fontFamily\": 1,\n          \"text\": \"5\",\n          \"rawText\": \"5\",\n          \"baseline\": 15.841161044580506,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"5\"\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1345,\n          \"versionNonce\": 390533384,\n          \"isDeleted\": false,\n          \"id\": \"eJ73Ayap8xx85h4O1I7R8\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2448.604830090204,\n          \"y\": 1847.8147783993466,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 646380664,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1401,\n          \"versionNonce\": 825516920,\n          \"isDeleted\": false,\n          \"id\": \"bl3VK9CEprpskWt0ogc_t\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2448.4712560490043,\n          \"y\": 1891.0927677469715,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 651110152,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1427,\n          \"versionNonce\": 1968156680,\n          \"isDeleted\": false,\n          \"id\": \"G04dZu8OojzK8D-exY7ct\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2448.2931573274163,\n          \"y\": 1933.2465089145323,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1314958712,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1437,\n          \"versionNonce\": 214512760,\n          \"isDeleted\": false,\n          \"id\": \"_JxHbv_StlawVx1i0YT08\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2448.2931573274163,\n          \"y\": 1976.3241372003629,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1197803016,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1448,\n          \"versionNonce\": 1726770952,\n          \"isDeleted\": false,\n          \"id\": \"z8K7y18CbgnzoKsl7JF2E\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2448.2931573274163,\n          \"y\": 2018.900862831706,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 299646584,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1300,\n          \"versionNonce\": 530310520,\n          \"isDeleted\": false,\n          \"id\": \"ODdWU70eLDMW1WC5S-j6f\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2489.3069555409966,\n          \"y\": 1633.8370948567565,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 937886984,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1338,\n          \"versionNonce\": 614026760,\n          \"isDeleted\": false,\n          \"id\": \"mVcIAwDlOIzlWQleuT00H\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2489.3069555409966,\n          \"y\": 1676.7716080984467,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1639821176,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1379,\n          \"versionNonce\": 116422264,\n          \"isDeleted\": false,\n          \"id\": \"BPSTM-2I1XIQGnNpafc7p\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2489.3069555409966,\n          \"y\": 1719.70612134014,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1708205064,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1359,\n          \"versionNonce\": 2001882376,\n          \"isDeleted\": false,\n          \"id\": \"f3TQ76ZD7FljpIPfarWo_\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2489.3069555409966,\n          \"y\": 1762.8488019187646,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1984495736,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1359,\n          \"versionNonce\": 394979192,\n          \"isDeleted\": false,\n          \"id\": \"R6SL3eTjeWs0T_PPTmZmU\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2489.3069555409966,\n          \"y\": 1805.7833151604543,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 790586120,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 863,\n          \"versionNonce\": 680750088,\n          \"isDeleted\": false,\n          \"id\": \"z2SqpC3F\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2504.0944595677984,\n          \"y\": 1604.940628061124,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 12.021663707673953,\n          \"height\": 22.841161044580506,\n          \"seed\": 1598173560,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null,\n          \"fontSize\": 17.877694278514404,\n          \"fontFamily\": 1,\n          \"text\": \"6\",\n          \"rawText\": \"6\",\n          \"baseline\": 15.841161044580506,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"6\"\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1382,\n          \"versionNonce\": 1840199800,\n          \"isDeleted\": false,\n          \"id\": \"EofXt6AmfWbB2cwgDznG9\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2489.04133528874,\n          \"y\": 1847.814778399346,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1380827656,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1438,\n          \"versionNonce\": 1918413576,\n          \"isDeleted\": false,\n          \"id\": \"eFHSBmawDR3n1Yv_amDP_\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2488.9077612475494,\n          \"y\": 1891.0927677469715,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 334316152,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1464,\n          \"versionNonce\": 2099341688,\n          \"isDeleted\": false,\n          \"id\": \"DBmTPEAQxSEKiZpYd-RD8\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2488.7296625259496,\n          \"y\": 1933.2465089145314,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1582842120,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1474,\n          \"versionNonce\": 1864239624,\n          \"isDeleted\": false,\n          \"id\": \"51qWHLr_LbjzFH05W0-Kg\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2488.7296625259496,\n          \"y\": 1976.324137200361,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 51262328,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1485,\n          \"versionNonce\": 556104312,\n          \"isDeleted\": false,\n          \"id\": \"7bnDKVKoa-WLMnp71ZeK2\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2488.7296625259496,\n          \"y\": 2018.900862831706,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 582672392,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1349,\n          \"versionNonce\": 165644552,\n          \"isDeleted\": false,\n          \"id\": \"ZhWHYC7MDzHBbun7T8a_V\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2529.2242994463495,\n          \"y\": 1633.8177363000593,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 585696376,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1387,\n          \"versionNonce\": 746548088,\n          \"isDeleted\": false,\n          \"id\": \"uSLMBybPcbPfdCF78Ecod\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2529.2242994463495,\n          \"y\": 1676.7522495417531,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 527539976,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1428,\n          \"versionNonce\": 1847142408,\n          \"isDeleted\": false,\n          \"id\": \"jS6fKBAaUY2o6W7XZ-njH\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2529.2242994463495,\n          \"y\": 1719.6867627834479,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 21083512,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1408,\n          \"versionNonce\": 2037595256,\n          \"isDeleted\": false,\n          \"id\": \"wZYJSQ130qfAkRAYB2WSC\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2529.2242994463495,\n          \"y\": 1762.8294433620697,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1962442248,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1408,\n          \"versionNonce\": 2009523976,\n          \"isDeleted\": false,\n          \"id\": \"g7Q2iWxRfNiV2T2XBzgo1\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2529.2242994463495,\n          \"y\": 1805.7639566037585,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1398556280,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 912,\n          \"versionNonce\": 2042948984,\n          \"isDeleted\": false,\n          \"id\": \"C3twUvO2\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2544.0118034731504,\n          \"y\": 1604.9212695044273,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 10.018053089728301,\n          \"height\": 22.841161044580506,\n          \"seed\": 1414233352,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null,\n          \"fontSize\": 17.87769427851442,\n          \"fontFamily\": 1,\n          \"text\": \"7\",\n          \"rawText\": \"7\",\n          \"baseline\": 15.841161044580506,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"7\"\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1431,\n          \"versionNonce\": 593806856,\n          \"isDeleted\": false,\n          \"id\": \"LvwQ9lY9VTaIWqAHkoYM1\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2528.958679194092,\n          \"y\": 1847.795419842649,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 100448120,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1487,\n          \"versionNonce\": 1186496120,\n          \"isDeleted\": false,\n          \"id\": \"i81lbBYfI5ZBoCa49t9_y\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2528.825105152904,\n          \"y\": 1891.0734091902757,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1860606984,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1513,\n          \"versionNonce\": 2112800008,\n          \"isDeleted\": false,\n          \"id\": \"wgCUBUYPEenIUJISPQ4i7\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2528.647006431306,\n          \"y\": 1933.227150357836,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1298598008,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1523,\n          \"versionNonce\": 823259000,\n          \"isDeleted\": false,\n          \"id\": \"864FxHXxKUHksWjY7C2Wt\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2528.647006431306,\n          \"y\": 1976.304778643667,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1724242696,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1534,\n          \"versionNonce\": 350282760,\n          \"isDeleted\": false,\n          \"id\": \"LafDRWSo6VqWxOG5pJ6GI\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2528.647006431306,\n          \"y\": 2018.8815042750134,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 895433080,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1373,\n          \"versionNonce\": 1360347256,\n          \"isDeleted\": false,\n          \"id\": \"qSeA_8EjDF636MtRgJG0y\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2570.2455905190345,\n          \"y\": 1633.8177363000593,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1046821384,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1411,\n          \"versionNonce\": 1714889480,\n          \"isDeleted\": false,\n          \"id\": \"vtkoLniO3-QW8420wkIHB\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2570.2455905190345,\n          \"y\": 1676.7522495417531,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 824789624,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1452,\n          \"versionNonce\": 377909624,\n          \"isDeleted\": false,\n          \"id\": \"jTNZXxrjhhGvJlQMYkKWl\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2570.2455905190345,\n          \"y\": 1719.6867627834479,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1220589832,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1432,\n          \"versionNonce\": 1349353992,\n          \"isDeleted\": false,\n          \"id\": \"T7WAfQot4-uCwElW_Fwya\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2570.2455905190345,\n          \"y\": 1762.8294433620697,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 730413944,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1432,\n          \"versionNonce\": 1487503992,\n          \"isDeleted\": false,\n          \"id\": \"yZsUmmKJXPrZkgIbE9URu\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2570.2455905190345,\n          \"y\": 1805.7639566037585,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 424957960,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 936,\n          \"versionNonce\": 41943304,\n          \"isDeleted\": false,\n          \"id\": \"izdvcRds\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2585.03309454583,\n          \"y\": 1604.9212695044273,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 14.02527432561962,\n          \"height\": 22.841161044580506,\n          \"seed\": 381881464,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null,\n          \"fontSize\": 17.877694278514422,\n          \"fontFamily\": 1,\n          \"text\": \"8\",\n          \"rawText\": \"8\",\n          \"baseline\": 15.841161044580506,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"8\"\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1455,\n          \"versionNonce\": 1715630968,\n          \"isDeleted\": false,\n          \"id\": \"aEK81GJ1l-htL312uxhX2\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2569.9799702667697,\n          \"y\": 1847.795419842649,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1947997960,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1511,\n          \"versionNonce\": 1810538504,\n          \"isDeleted\": false,\n          \"id\": \"2aYkHdq1FmHlYKNy1dwrC\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2569.8463962255782,\n          \"y\": 1891.0734091902757,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 2090515832,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1537,\n          \"versionNonce\": 362103928,\n          \"isDeleted\": false,\n          \"id\": \"do21TKybk3xAVHtXz-FyV\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2569.668297503984,\n          \"y\": 1933.227150357836,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1033106952,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1547,\n          \"versionNonce\": 749297416,\n          \"isDeleted\": false,\n          \"id\": \"orgHf1udQNU5doCc4Eudy\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2569.668297503984,\n          \"y\": 1976.304778643667,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 240406136,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1558,\n          \"versionNonce\": 1415968120,\n          \"isDeleted\": false,\n          \"id\": \"W5YjRw5zBhtYPm8Mjg2C2\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2569.668297503984,\n          \"y\": 2018.8815042750134,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1790440712,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1530,\n          \"versionNonce\": 87571976,\n          \"isDeleted\": false,\n          \"id\": \"2Nipuc3ndon_0vgMLPjnS\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2611.502365267964,\n          \"y\": 1633.4926498305801,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 884195192,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1568,\n          \"versionNonce\": 939034232,\n          \"isDeleted\": false,\n          \"id\": \"hmYqxHwfeVz4HiUY4U9yY\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2611.502365267964,\n          \"y\": 1676.4271630722735,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1896092680,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1609,\n          \"versionNonce\": 1184054536,\n          \"isDeleted\": false,\n          \"id\": \"cI9uhdgZ4yrWuH3tawdfb\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2611.502365267964,\n          \"y\": 1719.3616763139646,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 536678520,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1589,\n          \"versionNonce\": 219215736,\n          \"isDeleted\": false,\n          \"id\": \"0q7zYc5zGYYR_yzAtO5d5\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2611.502365267964,\n          \"y\": 1762.504356892586,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 913593096,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1589,\n          \"versionNonce\": 1110858760,\n          \"isDeleted\": false,\n          \"id\": \"wMDC722ktgyG5UYw0Frwg\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2611.502365267964,\n          \"y\": 1805.438870134279,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1475625336,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 1042,\n          \"versionNonce\": 1743997048,\n          \"isDeleted\": false,\n          \"id\": \"JnpbjL7G\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2626.2898692947647,\n          \"y\": 1604.596183034949,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 11.220219460495688,\n          \"height\": 22.841161044580506,\n          \"seed\": 25473544,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null,\n          \"fontSize\": 17.877694278514436,\n          \"fontFamily\": 1,\n          \"text\": \"9\",\n          \"rawText\": \"9\",\n          \"baseline\": 15.841161044580506,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"9\"\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1612,\n          \"versionNonce\": 975018760,\n          \"isDeleted\": false,\n          \"id\": \"Ke1anyUraKQzZBn2MG9Im\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2611.2367450157153,\n          \"y\": 1847.4703333731688,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1272795768,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1668,\n          \"versionNonce\": 878934392,\n          \"isDeleted\": false,\n          \"id\": \"D6-lhBLqQe9bDEWZbvEep\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2611.1031709745166,\n          \"y\": 1890.7483227207974,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1764831496,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1694,\n          \"versionNonce\": 1355086344,\n          \"isDeleted\": false,\n          \"id\": \"voT5AvdkByMnvujdntVsK\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2610.9250722529205,\n          \"y\": 1932.9020638883514,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1652310904,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1704,\n          \"versionNonce\": 1168476792,\n          \"isDeleted\": false,\n          \"id\": \"3-0Jl9gPqjfRfupigabQt\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2610.9250722529205,\n          \"y\": 1975.979692174191,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 1156960264,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1715,\n          \"versionNonce\": 2032695560,\n          \"isDeleted\": false,\n          \"id\": \"wHan4oyiIz8dGxYA-0iKD\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2610.9250722529205,\n          \"y\": 2018.5564178055315,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.317842540569636,\n          \"height\": 42.68948033707373,\n          \"seed\": 169153656,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 709,\n          \"versionNonce\": 1719499640,\n          \"isDeleted\": false,\n          \"id\": \"XfSBdaop\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2226.1590537451157,\n          \"y\": 1859.153163288447,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"#ced4da\",\n          \"width\": 12.422385831263085,\n          \"height\": 24.84477166252617,\n          \"seed\": 483299080,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null,\n          \"fontSize\": 19.739274976797923,\n          \"fontFamily\": 1,\n          \"text\": \"5\",\n          \"rawText\": \"5\",\n          \"baseline\": 17.84477166252617,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"5\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 736,\n          \"versionNonce\": 1724127240,\n          \"isDeleted\": false,\n          \"id\": \"Z7OnrQOl\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2225.758331621527,\n          \"y\": 1901.8100333445018,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"#ced4da\",\n          \"width\": 13.223830078441347,\n          \"height\": 24.84477166252617,\n          \"seed\": 1215022456,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null,\n          \"fontSize\": 19.739274976797923,\n          \"fontFamily\": 1,\n          \"text\": \"6\",\n          \"rawText\": \"6\",\n          \"baseline\": 17.84477166252617,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"6\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 756,\n          \"versionNonce\": 1764707448,\n          \"isDeleted\": false,\n          \"id\": \"UliS7UbZ\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2226.7601369304994,\n          \"y\": 1944.4669034005674,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"#ced4da\",\n          \"width\": 11.220219460495688,\n          \"height\": 24.84477166252617,\n          \"seed\": 423063048,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null,\n          \"fontSize\": 19.739274976797937,\n          \"fontFamily\": 1,\n          \"text\": \"7\",\n          \"rawText\": \"7\",\n          \"baseline\": 17.84477166252617,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"7\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 752,\n          \"versionNonce\": 2106840840,\n          \"isDeleted\": false,\n          \"id\": \"byMKUNgG\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2224.556165250754,\n          \"y\": 1987.1237734566298,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"#ced4da\",\n          \"width\": 15.628162819976136,\n          \"height\": 24.84477166252617,\n          \"seed\": 1254381176,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null,\n          \"fontSize\": 19.739274976797926,\n          \"fontFamily\": 1,\n          \"text\": \"8\",\n          \"rawText\": \"8\",\n          \"baseline\": 17.84477166252617,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"8\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 755,\n          \"versionNonce\": 931069304,\n          \"isDeleted\": false,\n          \"id\": \"AVAvm8pH\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2226.1590537451157,\n          \"y\": 2029.7806435126918,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"#ced4da\",\n          \"width\": 12.422385831263085,\n          \"height\": 24.84477166252617,\n          \"seed\": 1932291336,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729976,\n          \"link\": null,\n          \"fontSize\": 19.739274976797923,\n          \"fontFamily\": 1,\n          \"text\": \"9\",\n          \"rawText\": \"9\",\n          \"baseline\": 17.84477166252617,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"9\"\n        }\n      ],\n      \"id\": \"v64rHLhwhoMh6YxxcvFRW\",\n      \"created\": 1646039889686,\n      \"name\": \"Matrix - 10x10\"\n    },\n    {\n      \"status\": \"published\",\n      \"elements\": [\n        {\n          \"type\": \"rectangle\",\n          \"version\": 922,\n          \"versionNonce\": 923074680,\n          \"isDeleted\": false,\n          \"id\": \"4BxZ72y7k-_sldmY2ENUn\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1987.5969283962818,\n          \"y\": 1848.3326371578464,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.47356851683356,\n          \"height\": 42.85436666488263,\n          \"seed\": 260934776,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 963,\n          \"versionNonce\": 1747149576,\n          \"isDeleted\": false,\n          \"id\": \"En7vJ1EA0LnlZRNJ-yOVx\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2028.0704969131252,\n          \"y\": 1848.3326371578464,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.47356851683356,\n          \"height\": 42.85436666488263,\n          \"seed\": 590976776,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 976,\n          \"versionNonce\": 679358840,\n          \"isDeleted\": false,\n          \"id\": \"uK1msBphcl_ruchK-3aR4\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2068.5986253875335,\n          \"y\": 1848.3326371578464,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.47356851683356,\n          \"height\": 42.85436666488263,\n          \"seed\": 2014657912,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1016,\n          \"versionNonce\": 1255260680,\n          \"isDeleted\": false,\n          \"id\": \"fCSwdeJfGjxZdL2w-NTPZ\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2109.0721939043515,\n          \"y\": 1848.3326371578464,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.47356851683356,\n          \"height\": 42.85436666488263,\n          \"seed\": 755070472,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 969,\n          \"versionNonce\": 1437155960,\n          \"isDeleted\": false,\n          \"id\": \"Nds6A2Ze8OK3j3RA5OxdJ\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2149.942562112532,\n          \"y\": 1848.3326371578464,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.47356851683356,\n          \"height\": 42.85436666488263,\n          \"seed\": 914280056,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 960,\n          \"versionNonce\": 643580168,\n          \"isDeleted\": false,\n          \"id\": \"LZAYLnKuztyvZaoboSvtr\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1987.5969283962818,\n          \"y\": 1891.4329831566688,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.47356851683356,\n          \"height\": 42.85436666488263,\n          \"seed\": 276133128,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1001,\n          \"versionNonce\": 759837560,\n          \"isDeleted\": false,\n          \"id\": \"E9298vRqRzDvfmrJxtpan\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2028.0704969131252,\n          \"y\": 1891.4329831566688,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.47356851683356,\n          \"height\": 42.85436666488263,\n          \"seed\": 1938702200,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1014,\n          \"versionNonce\": 1245634568,\n          \"isDeleted\": false,\n          \"id\": \"eF71GVbCpLCi-rLH7vvL9\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2068.5986253875335,\n          \"y\": 1891.4329831566688,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.47356851683356,\n          \"height\": 42.85436666488263,\n          \"seed\": 51483656,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1054,\n          \"versionNonce\": 631571576,\n          \"isDeleted\": false,\n          \"id\": \"jjfgCcCIStzcixWgjKe_d\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2109.0721939043515,\n          \"y\": 1891.4329831566688,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.47356851683356,\n          \"height\": 42.85436666488263,\n          \"seed\": 528978040,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1007,\n          \"versionNonce\": 913678088,\n          \"isDeleted\": false,\n          \"id\": \"Qk3IbNnFCbWFInZy1dyG5\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2149.942562112532,\n          \"y\": 1891.4329831566688,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.47356851683356,\n          \"height\": 42.85436666488263,\n          \"seed\": 718394120,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1001,\n          \"versionNonce\": 1283306872,\n          \"isDeleted\": false,\n          \"id\": \"vmcA2rouR1cOcPJocYbyX\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1987.5969283962818,\n          \"y\": 1934.5333291554884,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.47356851683356,\n          \"height\": 42.85436666488263,\n          \"seed\": 36618616,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1042,\n          \"versionNonce\": 192708104,\n          \"isDeleted\": false,\n          \"id\": \"oFpV4u734WKTR0D79Xdpt\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2028.0704969131252,\n          \"y\": 1934.5333291554884,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.47356851683356,\n          \"height\": 42.85436666488263,\n          \"seed\": 238170632,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1055,\n          \"versionNonce\": 1461208696,\n          \"isDeleted\": false,\n          \"id\": \"k9JSaapFNzdLM72n75DjL\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2068.5986253875335,\n          \"y\": 1934.5333291554884,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.47356851683356,\n          \"height\": 42.85436666488263,\n          \"seed\": 1254609528,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1095,\n          \"versionNonce\": 2052029704,\n          \"isDeleted\": false,\n          \"id\": \"e0r_3vUvNpddW_29Q-qpD\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2109.0721939043515,\n          \"y\": 1934.5333291554884,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.47356851683356,\n          \"height\": 42.85436666488263,\n          \"seed\": 70168840,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1048,\n          \"versionNonce\": 842577784,\n          \"isDeleted\": false,\n          \"id\": \"4JvgQOVr5CenS--qbJEDc\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2149.942562112532,\n          \"y\": 1934.5333291554884,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.47356851683356,\n          \"height\": 42.85436666488263,\n          \"seed\": 538362744,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 981,\n          \"versionNonce\": 879401992,\n          \"isDeleted\": false,\n          \"id\": \"L5c9NIjxnLMqmArS9Iqet\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1987.5969283962818,\n          \"y\": 1977.8426465288503,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.47356851683356,\n          \"height\": 42.85436666488263,\n          \"seed\": 608391176,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1022,\n          \"versionNonce\": 304285816,\n          \"isDeleted\": false,\n          \"id\": \"enkzslMetThgQULAIcLx9\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2028.0704969131252,\n          \"y\": 1977.8426465288503,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.47356851683356,\n          \"height\": 42.85436666488263,\n          \"seed\": 811570296,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1035,\n          \"versionNonce\": 1539955464,\n          \"isDeleted\": false,\n          \"id\": \"rzxtukR2X1DOjwoo8nf32\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2068.5986253875335,\n          \"y\": 1977.8426465288503,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.47356851683356,\n          \"height\": 42.85436666488263,\n          \"seed\": 913051400,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1075,\n          \"versionNonce\": 43727224,\n          \"isDeleted\": false,\n          \"id\": \"m3lao-UKqK4TKJRKqv1JT\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2109.0721939043515,\n          \"y\": 1977.8426465288503,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.47356851683356,\n          \"height\": 42.85436666488263,\n          \"seed\": 1097221496,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1028,\n          \"versionNonce\": 1927887368,\n          \"isDeleted\": false,\n          \"id\": \"kwNk1mfPbHqb_86-N1e_k\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2149.942562112532,\n          \"y\": 1977.8426465288503,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.47356851683356,\n          \"height\": 42.85436666488263,\n          \"seed\": 589622792,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 977,\n          \"versionNonce\": 1994738296,\n          \"isDeleted\": false,\n          \"id\": \"wrELFvMES46jPT59PGVR_\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1987.5969283962818,\n          \"y\": 2020.9429925276704,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.47356851683356,\n          \"height\": 42.85436666488263,\n          \"seed\": 1081005688,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1018,\n          \"versionNonce\": 1287960840,\n          \"isDeleted\": false,\n          \"id\": \"MxwlkcTai-hwPgCfwnG7t\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2028.0704969131252,\n          \"y\": 2020.9429925276704,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.47356851683356,\n          \"height\": 42.85436666488263,\n          \"seed\": 1667886344,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1031,\n          \"versionNonce\": 1506098040,\n          \"isDeleted\": false,\n          \"id\": \"s9UNRVnzb5tv0yBpcSobd\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2068.5986253875335,\n          \"y\": 2020.9429925276704,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.47356851683356,\n          \"height\": 42.85436666488263,\n          \"seed\": 1379747704,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1071,\n          \"versionNonce\": 2094553096,\n          \"isDeleted\": false,\n          \"id\": \"pQuywh7HKbOA22SMJ83pZ\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2109.0721939043515,\n          \"y\": 2020.9429925276704,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.47356851683356,\n          \"height\": 42.85436666488263,\n          \"seed\": 1891044360,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1024,\n          \"versionNonce\": 494865528,\n          \"isDeleted\": false,\n          \"id\": \"pYGkz6jD7yUyUM_fkrWoY\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2149.942562112532,\n          \"y\": 2020.9429925276704,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.47356851683356,\n          \"height\": 42.85436666488263,\n          \"seed\": 1662359672,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 566,\n          \"versionNonce\": 1193285384,\n          \"isDeleted\": false,\n          \"id\": \"ORCTe5oz\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2001.6525105612477,\n          \"y\": 1819.4328583009171,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 12.470366775658972,\n          \"height\": 22.92938407137294,\n          \"seed\": 889735944,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null,\n          \"fontSize\": 17.946746123043788,\n          \"fontFamily\": 1,\n          \"text\": \"0\",\n          \"rawText\": \"0\",\n          \"baseline\": 15.92938407137294,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"0\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 589,\n          \"versionNonce\": 1272364408,\n          \"isDeleted\": false,\n          \"id\": \"JzgBDTXf\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2046.256924952936,\n          \"y\": 1819.3245589708588,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 4.82723875186799,\n          \"height\": 22.92938407137294,\n          \"seed\": 918276472,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null,\n          \"fontSize\": 17.946746123043788,\n          \"fontFamily\": 1,\n          \"text\": \"1\",\n          \"rawText\": \"1\",\n          \"baseline\": 15.92938407137294,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"1\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 585,\n          \"versionNonce\": 270005768,\n          \"isDeleted\": false,\n          \"id\": \"UT52SJtp\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2082.8862775454527,\n          \"y\": 1819.3245589708588,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 12.87263667164797,\n          \"height\": 22.92938407137294,\n          \"seed\": 2061085192,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null,\n          \"fontSize\": 17.94674612304382,\n          \"fontFamily\": 1,\n          \"text\": \"2\",\n          \"rawText\": \"2\",\n          \"baseline\": 15.92938407137294,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"2\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 580,\n          \"versionNonce\": 370167416,\n          \"isDeleted\": false,\n          \"id\": \"JiDETaLf\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2123.545502056644,\n          \"y\": 1819.3245589708588,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 12.06809687966997,\n          \"height\": 22.92938407137294,\n          \"seed\": 2020858488,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null,\n          \"fontSize\": 17.94674612304378,\n          \"fontFamily\": 1,\n          \"text\": \"3\",\n          \"rawText\": \"3\",\n          \"baseline\": 15.92938407137294,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"3\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 593,\n          \"versionNonce\": 1287386376,\n          \"isDeleted\": false,\n          \"id\": \"CDOmbrDR\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 2164.787182253581,\n          \"y\": 1819.3245589708588,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 11.665826983680965,\n          \"height\": 22.92938407137294,\n          \"seed\": 1562847496,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null,\n          \"fontSize\": 17.946746123043766,\n          \"fontFamily\": 1,\n          \"text\": \"4\",\n          \"rawText\": \"4\",\n          \"baseline\": 15.92938407137294,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"4\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 499,\n          \"versionNonce\": 1693433720,\n          \"isDeleted\": false,\n          \"id\": \"1bSTOtep\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1964.1479571946752,\n          \"y\": 1858.2379805884268,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"#ced4da\",\n          \"width\": 13.677176463625964,\n          \"height\": 24.940733551317944,\n          \"seed\": 1258408824,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null,\n          \"fontSize\": 19.81551709871731,\n          \"fontFamily\": 1,\n          \"text\": \"0\",\n          \"rawText\": \"0\",\n          \"baseline\": 17.940733551317944,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"0\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 526,\n          \"versionNonce\": 1921520648,\n          \"isDeleted\": false,\n          \"id\": \"q6uV3QTf\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1968.1706561545557,\n          \"y\": 1901.0596110164563,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"#ced4da\",\n          \"width\": 5.229508647856985,\n          \"height\": 24.940733551317944,\n          \"seed\": 929875976,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null,\n          \"fontSize\": 19.815517098717315,\n          \"fontFamily\": 1,\n          \"text\": \"1\",\n          \"rawText\": \"1\",\n          \"baseline\": 17.940733551317944,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"1\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 546,\n          \"versionNonce\": 1756958840,\n          \"isDeleted\": false,\n          \"id\": \"nDe1rO8L\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1963.7456872986786,\n          \"y\": 1943.8812414444858,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"#ced4da\",\n          \"width\": 14.079446359614957,\n          \"height\": 24.940733551317944,\n          \"seed\": 1487510648,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null,\n          \"fontSize\": 19.815517098717315,\n          \"fontFamily\": 1,\n          \"text\": \"2\",\n          \"rawText\": \"2\",\n          \"baseline\": 17.940733551317944,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"2\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 541,\n          \"versionNonce\": 1735938824,\n          \"isDeleted\": false,\n          \"id\": \"BzdisHHu\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1963.9468222466776,\n          \"y\": 1986.7028718725117,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"#ced4da\",\n          \"width\": 13.677176463625964,\n          \"height\": 24.940733551317944,\n          \"seed\": 363235080,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null,\n          \"fontSize\": 19.81551709871731,\n          \"fontFamily\": 1,\n          \"text\": \"3\",\n          \"rawText\": \"3\",\n          \"baseline\": 17.940733551317944,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"3\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 549,\n          \"versionNonce\": 691028344,\n          \"isDeleted\": false,\n          \"id\": \"Y6yNJTCg\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1964.3490921426533,\n          \"y\": 2029.524502300544,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"#ced4da\",\n          \"width\": 12.87263667164797,\n          \"height\": 24.940733551317944,\n          \"seed\": 1664044408,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729975,\n          \"link\": null,\n          \"fontSize\": 19.815517098717326,\n          \"fontFamily\": 1,\n          \"text\": \"4\",\n          \"rawText\": \"4\",\n          \"baseline\": 17.940733551317944,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"4\"\n        }\n      ],\n      \"id\": \"sBkTdoe-l6vBmHom_n-Qw\",\n      \"created\": 1646039883893,\n      \"name\": \"Matrix - 5x5\"\n    },\n    {\n      \"status\": \"published\",\n      \"elements\": [\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1173,\n          \"versionNonce\": 341374072,\n          \"isDeleted\": false,\n          \"id\": \"pPbCKSqDNYhD1sGFjlY4q\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1765.7175374978422,\n          \"y\": 1892.2579571542253,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.57505169693623,\n          \"height\": 42.9618194438147,\n          \"seed\": 251272712,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1214,\n          \"versionNonce\": 825798408,\n          \"isDeleted\": false,\n          \"id\": \"KA6yJYM7QzYl0Vp1pTulF\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1806.292589194769,\n          \"y\": 1892.2579571542253,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.57505169693623,\n          \"height\": 42.9618194438147,\n          \"seed\": 197437048,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1227,\n          \"versionNonce\": 523478392,\n          \"isDeleted\": false,\n          \"id\": \"e8npY4WvQcHzN2IgPHYOE\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1846.9223376525779,\n          \"y\": 1892.2579571542253,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.57505169693623,\n          \"height\": 42.9618194438147,\n          \"seed\": 2098797832,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1267,\n          \"versionNonce\": 1532857864,\n          \"isDeleted\": false,\n          \"id\": \"4V-jk3NeqR2rjcXEh4QBF\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1887.4973893495094,\n          \"y\": 1892.2579571542253,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.57505169693623,\n          \"height\": 42.9618194438147,\n          \"seed\": 1381570424,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1211,\n          \"versionNonce\": 1032861304,\n          \"isDeleted\": false,\n          \"id\": \"NU1NpjVOX0_SnYjQIiyxw\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1765.7175374978422,\n          \"y\": 1935.4663726990677,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.57505169693623,\n          \"height\": 42.9618194438147,\n          \"seed\": 1828731912,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1252,\n          \"versionNonce\": 1267633416,\n          \"isDeleted\": false,\n          \"id\": \"i9JdSr-oEJEbF-d2FvuDF\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1806.292589194769,\n          \"y\": 1935.4663726990677,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.57505169693623,\n          \"height\": 42.9618194438147,\n          \"seed\": 255289464,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1265,\n          \"versionNonce\": 1681041272,\n          \"isDeleted\": false,\n          \"id\": \"h_RmSoGUEUUgAp-YcNIEL\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1846.9223376525779,\n          \"y\": 1935.4663726990677,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.57505169693623,\n          \"height\": 42.9618194438147,\n          \"seed\": 816544520,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1305,\n          \"versionNonce\": 726117384,\n          \"isDeleted\": false,\n          \"id\": \"5TeEWplihzoEOq9Es01GN\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1887.4973893495094,\n          \"y\": 1935.4663726990677,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.57505169693623,\n          \"height\": 42.9618194438147,\n          \"seed\": 505649528,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1252,\n          \"versionNonce\": 1331624056,\n          \"isDeleted\": false,\n          \"id\": \"MvoVHxbngAFCRXa73cLMA\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1765.7175374978422,\n          \"y\": 1978.6747882439124,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.57505169693623,\n          \"height\": 42.9618194438147,\n          \"seed\": 2056706568,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1293,\n          \"versionNonce\": 344255240,\n          \"isDeleted\": false,\n          \"id\": \"PiINDqz4FEsZ29fQC-8TN\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1806.292589194769,\n          \"y\": 1978.6747882439124,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.57505169693623,\n          \"height\": 42.9618194438147,\n          \"seed\": 1113696888,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1306,\n          \"versionNonce\": 316221816,\n          \"isDeleted\": false,\n          \"id\": \"EZMiIYZvUqBFzBcF4gY6L\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1846.9223376525779,\n          \"y\": 1978.6747882439124,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.57505169693623,\n          \"height\": 42.9618194438147,\n          \"seed\": 1304320264,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1346,\n          \"versionNonce\": 29510152,\n          \"isDeleted\": false,\n          \"id\": \"rd1dCOCrmO13y_a9_h_ib\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1887.4973893495094,\n          \"y\": 1978.6747882439124,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.57505169693623,\n          \"height\": 42.9618194438147,\n          \"seed\": 917871480,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1223,\n          \"versionNonce\": 702888568,\n          \"isDeleted\": false,\n          \"id\": \"YJrwTCa7Jm7NBqYaMcbSD\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1765.7175374978422,\n          \"y\": 2022.0926991368478,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.57505169693623,\n          \"height\": 42.9618194438147,\n          \"seed\": 1839069192,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1264,\n          \"versionNonce\": 1039911176,\n          \"isDeleted\": false,\n          \"id\": \"fBZpQjvzyK26-c0V1TUwj\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1806.292589194769,\n          \"y\": 2022.0926991368478,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.57505169693623,\n          \"height\": 42.9618194438147,\n          \"seed\": 1029926008,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1277,\n          \"versionNonce\": 122104696,\n          \"isDeleted\": false,\n          \"id\": \"sixb-9Z44fo-kygslOSGv\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1846.9223376525779,\n          \"y\": 2022.0926991368478,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.57505169693623,\n          \"height\": 42.9618194438147,\n          \"seed\": 1311880968,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1317,\n          \"versionNonce\": 1420650504,\n          \"isDeleted\": false,\n          \"id\": \"Lfeojw9eXFsPuVX0vvHHd\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1887.4973893495094,\n          \"y\": 2022.0926991368478,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 40.57505169693623,\n          \"height\": 42.9618194438147,\n          \"seed\": 808394104,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 825,\n          \"versionNonce\": 625147000,\n          \"isDeleted\": false,\n          \"id\": \"cAs11N6L\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1779.8083625442198,\n          \"y\": 1863.2857151671544,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 12.501634897641164,\n          \"height\": 22.986877069856373,\n          \"seed\": 66426376,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null,\n          \"fontSize\": 17.99174568537061,\n          \"fontFamily\": 1,\n          \"text\": \"0\",\n          \"rawText\": \"0\",\n          \"baseline\": 15.986877069856373,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"0\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 848,\n          \"versionNonce\": 30615304,\n          \"isDeleted\": false,\n          \"id\": \"JwfBLVkX\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1824.5246177739039,\n          \"y\": 1863.1771442880147,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 4.83934254102239,\n          \"height\": 22.986877069856373,\n          \"seed\": 274509432,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null,\n          \"fontSize\": 17.991745685370574,\n          \"fontFamily\": 1,\n          \"text\": \"1\",\n          \"rawText\": \"1\",\n          \"baseline\": 15.986877069856373,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"1\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 844,\n          \"versionNonce\": 362589560,\n          \"isDeleted\": false,\n          \"id\": \"kO0CwBxi\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1861.2458145828227,\n          \"y\": 1863.1771442880147,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 12.904913442726347,\n          \"height\": 22.986877069856373,\n          \"seed\": 870683912,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null,\n          \"fontSize\": 17.991745685370592,\n          \"fontFamily\": 1,\n          \"text\": \"2\",\n          \"rawText\": \"2\",\n          \"baseline\": 15.986877069856373,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"2\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 839,\n          \"versionNonce\": 568919560,\n          \"isDeleted\": false,\n          \"id\": \"3uMQTFNJ\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1902.0069877868477,\n          \"y\": 1863.1771442880147,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 12.098356352555989,\n          \"height\": 22.986877069856373,\n          \"seed\": 380641144,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null,\n          \"fontSize\": 17.991745685370603,\n          \"fontFamily\": 1,\n          \"text\": \"3\",\n          \"rawText\": \"3\",\n          \"baseline\": 15.986877069856373,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"3\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 755,\n          \"versionNonce\": 295190136,\n          \"isDeleted\": false,\n          \"id\": \"7Amafzc7\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1742.2097704881078,\n          \"y\": 1902.1881371828142,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"#ced4da\",\n          \"width\": 13.711470532896785,\n          \"height\": 25.00326979528233,\n          \"seed\": 58569736,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null,\n          \"fontSize\": 19.865202406048674,\n          \"fontFamily\": 1,\n          \"text\": \"0\",\n          \"rawText\": \"0\",\n          \"baseline\": 18.00326979528233,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"0\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 782,\n          \"versionNonce\": 569050376,\n          \"isDeleted\": false,\n          \"id\": \"g1xYvwse\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1746.2425559389587,\n          \"y\": 1945.1171383071367,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"#ced4da\",\n          \"width\": 5.242621086107588,\n          \"height\": 25.00326979528233,\n          \"seed\": 1131245688,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null,\n          \"fontSize\": 19.865202406048645,\n          \"fontFamily\": 1,\n          \"text\": \"1\",\n          \"rawText\": \"1\",\n          \"baseline\": 18.00326979528233,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"1\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 802,\n          \"versionNonce\": 167358328,\n          \"isDeleted\": false,\n          \"id\": \"3aHEHf6h\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1741.8064919430237,\n          \"y\": 1988.0461394314568,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"#ced4da\",\n          \"width\": 14.11474907798197,\n          \"height\": 25.00326979528233,\n          \"seed\": 146404104,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null,\n          \"fontSize\": 19.865202406048653,\n          \"fontFamily\": 1,\n          \"text\": \"2\",\n          \"rawText\": \"2\",\n          \"baseline\": 18.00326979528233,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"2\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 786,\n          \"versionNonce\": 1867850760,\n          \"isDeleted\": false,\n          \"id\": \"POfR6SwJ\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1742.0081312155583,\n          \"y\": 2030.9751405557722,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"#ced4da\",\n          \"width\": 13.711470532896785,\n          \"height\": 25.00326979528233,\n          \"seed\": 1851302264,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null,\n          \"fontSize\": 19.865202406048674,\n          \"fontFamily\": 1,\n          \"text\": \"3\",\n          \"rawText\": \"3\",\n          \"baseline\": 18.00326979528233,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"3\"\n        }\n      ],\n      \"id\": \"JYOqs3Pw7owzXD30LNjvF\",\n      \"created\": 1646039877057,\n      \"name\": \"Matrix - 4x4\"\n    },\n    {\n      \"status\": \"published\",\n      \"elements\": [\n        {\n          \"type\": \"rectangle\",\n          \"version\": 957,\n          \"versionNonce\": 1285961480,\n          \"isDeleted\": false,\n          \"id\": \"WSvFWphIbxCnR1fWU-G6F\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1583.527298420678,\n          \"y\": 1933.7248888371244,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.56343436484627,\n          \"height\": 44.008342268660705,\n          \"seed\": 1044876920,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729973,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 998,\n          \"versionNonce\": 1631755640,\n          \"isDeleted\": false,\n          \"id\": \"3KwPf5KjELhT-hoWa4HnA\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1625.0907327855257,\n          \"y\": 1933.7248888371244,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.56343436484627,\n          \"height\": 44.008342268660705,\n          \"seed\": 1452848392,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729973,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1011,\n          \"versionNonce\": 1071257096,\n          \"isDeleted\": false,\n          \"id\": \"oGbaEvL4S2dCh69r_EsQX\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1666.7101962898369,\n          \"y\": 1933.7248888371244,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.56343436484627,\n          \"height\": 44.008342268660705,\n          \"seed\": 71237496,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729973,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 995,\n          \"versionNonce\": 1392520824,\n          \"isDeleted\": false,\n          \"id\": \"i7P8S-vocgofS1ivFipPp\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1583.527298420678,\n          \"y\": 1977.9858341323063,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.56343436484627,\n          \"height\": 44.008342268660705,\n          \"seed\": 583848968,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729973,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1036,\n          \"versionNonce\": 2134512904,\n          \"isDeleted\": false,\n          \"id\": \"UsxVnxeiv3b4HZyMgx7M5\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1625.0907327855257,\n          \"y\": 1977.9858341323063,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.56343436484627,\n          \"height\": 44.008342268660705,\n          \"seed\": 1545621624,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1049,\n          \"versionNonce\": 954441592,\n          \"isDeleted\": false,\n          \"id\": \"m5U4QYrgx8JVNZAD629UL\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1666.7101962898369,\n          \"y\": 1977.9858341323063,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.56343436484627,\n          \"height\": 44.008342268660705,\n          \"seed\": 824513288,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1035,\n          \"versionNonce\": 1883386888,\n          \"isDeleted\": false,\n          \"id\": \"rVlMpZY1HenJ7gt45bWL6\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1583.527298420678,\n          \"y\": 2022.2467794274849,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.56343436484627,\n          \"height\": 44.008342268660705,\n          \"seed\": 766476664,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1076,\n          \"versionNonce\": 1395716216,\n          \"isDeleted\": false,\n          \"id\": \"71YuKE5wDRKFBNb0rHEE7\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1625.0907327855257,\n          \"y\": 2022.2467794274849,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.56343436484627,\n          \"height\": 44.008342268660705,\n          \"seed\": 1746760200,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null\n        },\n        {\n          \"type\": \"rectangle\",\n          \"version\": 1089,\n          \"versionNonce\": 1760457480,\n          \"isDeleted\": false,\n          \"id\": \"J7vp1eZbXvKs2DIx6AUSy\",\n          \"fillStyle\": \"hachure\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 1,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1666.7101962898369,\n          \"y\": 2022.2467794274849,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 41.56343436484627,\n          \"height\": 44.008342268660705,\n          \"seed\": 1211142776,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 602,\n          \"versionNonce\": 967582072,\n          \"isDeleted\": false,\n          \"id\": \"igBcNrzr\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1597.9613670778494,\n          \"y\": 1904.0469013085713,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 12.806166838737905,\n          \"height\": 23.54682289703425,\n          \"seed\": 2125590792,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null,\n          \"fontSize\": 18.430013262543078,\n          \"fontFamily\": 1,\n          \"text\": \"0\",\n          \"rawText\": \"0\",\n          \"baseline\": 16.54682289703425,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"0\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 625,\n          \"versionNonce\": 532337160,\n          \"isDeleted\": false,\n          \"id\": \"mzWqe7eD\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1643.7668820815782,\n          \"y\": 1903.935685711299,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 4.957225873059834,\n          \"height\": 23.54682289703425,\n          \"seed\": 1919386488,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null,\n          \"fontSize\": 18.430013262543085,\n          \"fontFamily\": 1,\n          \"text\": \"1\",\n          \"rawText\": \"1\",\n          \"baseline\": 16.54682289703425,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"1\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 620,\n          \"versionNonce\": 1805202040,\n          \"isDeleted\": false,\n          \"id\": \"Me3SPadD\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 2,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1681.382584084022,\n          \"y\": 1903.935685711299,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"transparent\",\n          \"width\": 13.219268994826253,\n          \"height\": 23.54682289703425,\n          \"seed\": 1818136584,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null,\n          \"fontSize\": 18.430013262543117,\n          \"fontFamily\": 1,\n          \"text\": \"2\",\n          \"rawText\": \"2\",\n          \"baseline\": 16.54682289703425,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"2\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 535,\n          \"versionNonce\": 463687944,\n          \"isDeleted\": false,\n          \"id\": \"Bc7xdUkl\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1559.4468970333824,\n          \"y\": 1943.896961788066,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"#ced4da\",\n          \"width\": 14.045473307002863,\n          \"height\": 25.61233367747581,\n          \"seed\": 2056803448,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null,\n          \"fontSize\": 20.34910620731346,\n          \"fontFamily\": 1,\n          \"text\": \"0\",\n          \"rawText\": \"0\",\n          \"baseline\": 17.61233367747581,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"0\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 562,\n          \"versionNonce\": 1606165368,\n          \"isDeleted\": false,\n          \"id\": \"wDeseu57\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1563.57791859426,\n          \"y\": 1987.8716863036686,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"#ced4da\",\n          \"width\": 5.370328029148153,\n          \"height\": 25.61233367747581,\n          \"seed\": 1495224072,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null,\n          \"fontSize\": 20.34910620731346,\n          \"fontFamily\": 1,\n          \"text\": \"1\",\n          \"rawText\": \"1\",\n          \"baseline\": 17.61233367747581,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"1\"\n        },\n        {\n          \"type\": \"text\",\n          \"version\": 581,\n          \"versionNonce\": 606334984,\n          \"isDeleted\": false,\n          \"id\": \"0wZQhHJo\",\n          \"fillStyle\": \"solid\",\n          \"strokeWidth\": 4,\n          \"strokeStyle\": \"solid\",\n          \"roughness\": 0,\n          \"opacity\": 100,\n          \"angle\": 0,\n          \"x\": 1559.0337948772908,\n          \"y\": 2031.8464108192748,\n          \"strokeColor\": \"#000000\",\n          \"backgroundColor\": \"#ced4da\",\n          \"width\": 14.458575463091183,\n          \"height\": 25.61233367747581,\n          \"seed\": 1183253880,\n          \"groupIds\": [],\n          \"strokeSharpness\": \"sharp\",\n          \"boundElements\": [],\n          \"updated\": 1646039729974,\n          \"link\": null,\n          \"fontSize\": 20.34910620731345,\n          \"fontFamily\": 1,\n          \"text\": \"2\",\n          \"rawText\": \"2\",\n          \"baseline\": 17.61233367747581,\n          \"textAlign\": \"left\",\n          \"verticalAlign\": \"top\",\n          \"containerId\": null,\n          \"originalText\": \"2\"\n        }\n      ],\n      \"id\": \"xMO213v-uw9aRGtXTdHFv\",\n      \"created\": 1646039872343,\n      \"name\": \"Matrix - 3x3\"\n    }\n  ]\n}\n"
  },
  {
    "path": "src/store/document.ts",
    "content": "import { create } from \"zustand\";\nimport { ExportData, Slide } from \"../types\";\nimport { ExcalidrawElement } from \"@excalidraw/excalidraw/types/element/types\";\nimport { BinaryFiles } from \"@excalidraw/excalidraw/types/types\";\nimport { createJSONStorage, persist, StateStorage } from \"zustand/middleware\";\nimport { get as idbGet, set as idbSet, del as idbDel } from \"idb-keyval\";\n\ninterface DocumentSize {\n  width: number;\n  height: number;\n}\ninterface DocumentState {\n  _initialized: boolean;\n  _isSidebarCollapsed: boolean;\n  _isSlideListFocused: boolean;\n  _isHandDrawnPreviewOpen: boolean;\n\n  filename?: string;\n  backgroundColor: string;\n  files: BinaryFiles;\n  slides: Slide[];\n  currentSlideIndex: number;\n  documentSize: DocumentSize;\n  setFilename: (filename: string) => void;\n  setInitialized: () => void;\n  addSlide: () => void;\n  addSlideAfterIndex: (index: number) => void;\n  updateSlide: (index: number, elements: ExcalidrawElement[]) => void;\n  setCurrentSlide: (index: number) => void;\n  deleteSlide: (index: number) => void;\n  reorderSlides: (fromIndex: number, toIndex: number) => void;\n  reorderConsecutiveSlides: (\n    startIndex: number,\n    endIndex: number,\n    targetIndex: number\n  ) => void;\n  setIsSlideListFocused: (isFocused: boolean) => void;\n  setDocumentSize: (size: DocumentSize) => void;\n  setFiles: (files: BinaryFiles) => void;\n  setBackgroundColor: (color: string) => void;\n  resetStore: (data: ExportData[\"document\"]) => void;\n  toggleSidebar: () => void;\n  getSidebarCollapsed: () => boolean;\n  setHandDrawnPreviewOpen: (isOpen: boolean) => void;\n}\n\nexport const DEFAULT_FRAME_WIDTH = 1080;\nexport const DEFAULT_FRAME_HEIGHT = 1080;\nconst DEFAULT_BACKGROUND_COLOR = \"#ffffff\";\n\nexport const createDefaultFrame = (\n  { width, height }: DocumentSize = {\n    width: DEFAULT_FRAME_WIDTH,\n    height: DEFAULT_FRAME_HEIGHT,\n  }\n): ExcalidrawElement => {\n  return {\n    id: \"frame\",\n    type: \"rectangle\",\n    x: 0,\n    y: 0,\n    width,\n    height,\n    angle: 0,\n    strokeColor: \"#228be6\",\n    backgroundColor: \"transparent\",\n    fillStyle: \"solid\",\n    strokeWidth: 1,\n    strokeStyle: \"dashed\",\n    roughness: 0,\n    opacity: 100,\n    groupIds: [],\n    frameId: null,\n    roundness: null,\n    seed: 500058849,\n    version: 1,\n    versionNonce: 1663891759,\n    isDeleted: false,\n    boundElements: null,\n    updated: Date.now(),\n    link: null,\n    locked: true,\n  };\n};\n\nconst generateFrameId = () => {\n  return Date.now().toString();\n};\n\n// Custom storage object\nconst storage: StateStorage = {\n  getItem: async (name: string): Promise<string | null> => {\n    return (await idbGet(name)) || null;\n  },\n  setItem: async (name: string, value: string): Promise<void> => {\n    await idbSet(name, value);\n  },\n  removeItem: async (name: string): Promise<void> => {\n    await idbDel(name);\n  },\n};\n\nexport const useDocumentStore = create<DocumentState>()(\n  persist(\n    (set, get) => ({\n      _initialized: false,\n      _isSidebarCollapsed: false,\n      _isSlideListFocused: false,\n      _isHandDrawnPreviewOpen: false,\n      backgroundColor: DEFAULT_BACKGROUND_COLOR,\n      slides: [\n        {\n          id: generateFrameId(),\n          elements: [createDefaultFrame()],\n        },\n      ],\n      files: {},\n      currentSlideIndex: 0,\n      documentSize: {\n        width: DEFAULT_FRAME_WIDTH,\n        height: DEFAULT_FRAME_HEIGHT,\n      },\n      setInitialized: () => set({ _initialized: true }),\n      setFilename: (filename) => set({ filename }),\n      addSlide: () =>\n        set((state) => ({\n          slides: [\n            ...state.slides,\n            {\n              id: generateFrameId(),\n              elements: [createDefaultFrame(state.documentSize)],\n            },\n          ],\n          currentSlideIndex: state.slides.length,\n        })),\n      addSlideAfterIndex: (index: number) =>\n        set((state) => ({\n          slides: [\n            ...state.slides.slice(0, index + 1),\n            {\n              id: generateFrameId(),\n              elements: [createDefaultFrame(state.documentSize)],\n            },\n            ...state.slides.slice(index + 1),\n          ],\n          currentSlideIndex: index + 1,\n        })),\n      updateSlide: (index, elements) =>\n        set((state) => {\n          return {\n            slides: state.slides.map((slide, i) =>\n              i === index ? { ...slide, elements } : slide\n            ),\n          };\n        }),\n      setCurrentSlide: (index) => set({ currentSlideIndex: index }),\n      deleteSlide: (index) =>\n        set((state) => {\n          if (state.slides.length <= 1) {\n            return state;\n          }\n          return {\n            slides: state.slides.filter((_, i) => i !== index),\n            currentSlideIndex: Math.max(\n              0,\n              state.currentSlideIndex -\n                (index <= state.currentSlideIndex ? 1 : 0)\n            ),\n          };\n        }),\n      reorderSlides: (fromIndex, toIndex) =>\n        set((state) => {\n          const newSlides = [...state.slides];\n          const [movedSlide] = newSlides.splice(fromIndex, 1);\n          newSlides.splice(toIndex, 0, movedSlide);\n\n          return {\n            slides: newSlides,\n            currentSlideIndex:\n              state.currentSlideIndex === fromIndex\n                ? toIndex\n                : state.currentSlideIndex,\n          };\n        }),\n      setIsSlideListFocused: (isFocused) =>\n        set({ _isSlideListFocused: isFocused }),\n      reorderConsecutiveSlides: (startIndex, endIndex, targetIndex) =>\n        set((state) => {\n          // Swap if start is greater than end\n          if (startIndex > endIndex) {\n            [startIndex, endIndex] = [endIndex, startIndex];\n          }\n\n          // Calculate range size\n          const count = endIndex - startIndex + 1;\n\n          // Create a copy of the slides\n          const newSlides = [...state.slides];\n\n          // Extract the consecutive slides to be moved\n          const movedSlides = newSlides.slice(startIndex, endIndex + 1);\n\n          // Remove the slides from their original positions\n          newSlides.splice(startIndex, count);\n\n          // Adjust target index if it was after the removed range\n          let adjustedTargetIndex = targetIndex;\n          if (targetIndex > endIndex) {\n            adjustedTargetIndex -= count;\n          } else if (targetIndex > startIndex) {\n            // If target is within the range, place at the start of where the range was\n            adjustedTargetIndex = startIndex;\n          }\n\n          // Insert the moved slides at the adjusted target index\n          newSlides.splice(adjustedTargetIndex, 0, ...movedSlides);\n\n          // Calculate the new current slide index\n          let newCurrentIndex = state.currentSlideIndex;\n\n          if (\n            state.currentSlideIndex >= startIndex &&\n            state.currentSlideIndex <= endIndex\n          ) {\n            // If current slide is in the moved range, adjust it\n            const offsetWithinRange = state.currentSlideIndex - startIndex;\n            newCurrentIndex = adjustedTargetIndex + offsetWithinRange;\n          } else if (\n            state.currentSlideIndex > endIndex &&\n            state.currentSlideIndex < adjustedTargetIndex + count\n          ) {\n            // If current slide is after the original range but before the new position\n            newCurrentIndex -= count;\n          } else if (\n            state.currentSlideIndex >= adjustedTargetIndex &&\n            state.currentSlideIndex < startIndex\n          ) {\n            // If current slide is after the new position but before the original range\n            newCurrentIndex += count;\n          }\n\n          return {\n            slides: newSlides,\n            currentSlideIndex: newCurrentIndex,\n          };\n        }),\n      setDocumentSize: (size) => set({ documentSize: size }),\n      setFiles: (files) => set({ files }),\n      setBackgroundColor: (color) => set({ backgroundColor: color }),\n      resetStore: (data) =>\n        set({\n          backgroundColor: data.backgroundColor,\n          slides: data.slides,\n          files: data.files,\n          documentSize: data.documentSize,\n          currentSlideIndex: 0,\n        }),\n      toggleSidebar: () =>\n        set((state) => ({ _isSidebarCollapsed: !state._isSidebarCollapsed })),\n      setHandDrawnPreviewOpen: (isOpen: boolean) =>\n        set(() => ({ _isHandDrawnPreviewOpen: isOpen })),\n      getSidebarCollapsed: () => get()._isSidebarCollapsed,\n    }),\n    {\n      name: \"document-store\",\n      storage: createJSONStorage(() => storage, {}),\n      onRehydrateStorage: (state) => () => state.setInitialized(),\n    }\n  )\n);\n"
  },
  {
    "path": "src/store/library.ts",
    "content": "import { create } from \"zustand\";\nimport { persist, createJSONStorage } from \"zustand/middleware\";\nimport { LibraryItems } from \"@excalidraw/excalidraw/types/types\";\n\nimport algorithmDefaultLibrary from \"./default-library/algorithms-and-data-structures-arrays-matrices-trees.json\";\n\n// handle excalidraw library items\ninterface LibraryState {\n  libraryItems: LibraryItems;\n  setItems: (items: LibraryItems) => void;\n}\n\nexport const useLibraryStore = create<LibraryState>()(\n  persist(\n    (set) => ({\n      libraryItems:\n        algorithmDefaultLibrary.libraryItems as unknown as LibraryItems,\n      setItems: (items: LibraryItems) =>\n        set({\n          libraryItems: items,\n        }),\n    }),\n    {\n      name: \"excalidraw-library-store\",\n      storage: createJSONStorage(() => localStorage, {}),\n    }\n  )\n);\n"
  },
  {
    "path": "src/store/modal.ts",
    "content": "import { create } from \"zustand\";\n\nexport type ModalType = \"custom-fonts-modal\";\n\ninterface ModalState {\n  openCustomFontsModal: boolean;\n  props: object;\n  openModal: (type: ModalType, props?: object) => void;\n  closeModal: (type: ModalType) => void;\n}\n\nexport const useModalStore = create<ModalState>()((set) => ({\n  openCustomFontsModal: false,\n  props: {},\n  openModal: (type: ModalType, props = {}) =>\n    set((state) => {\n      if (type === \"custom-fonts-modal\") {\n        return { openCustomFontsModal: true, props };\n      }\n      return state;\n    }),\n\n  closeModal: (type: ModalType) =>\n    set((state) => {\n      if (type === \"custom-fonts-modal\") {\n        return { openCustomFontsModal: false, props: {} };\n      }\n      return state;\n    }),\n}));\n"
  },
  {
    "path": "src/types/ffmpeg.d.ts",
    "content": "declare module \"ffmpeg.js\" {\n  interface FFmpegMemoryFileSystem {\n    name: string;\n    data: Uint8Array;\n  }\n\n  interface FFmpegResult {\n    MEMFS: FFmpegMemoryFileSystem[];\n    exitCode: number;\n    stderr: string;\n    stdout: string;\n  }\n\n  interface FFmpegOptions {\n    MEMFS?: FFmpegMemoryFileSystem[];\n    arguments?: string[];\n    stdin?: (() => void) | null;\n    onExit?: (code: number, output: string) => void;\n    print?: (message: string) => void;\n    printErr?: (message: string) => void;\n  }\n\n  export default function ffmpeg(options: FFmpegOptions): FFmpegResult;\n}\n\n// Add declaration for ffmpeg-mp4 variant\ndeclare module \"ffmpeg.js/ffmpeg-mp4\" {\n  import { FFmpegOptions, FFmpegResult } from \"ffmpeg.js\";\n  export default function ffmpeg(options: FFmpegOptions): FFmpegResult;\n}\n"
  },
  {
    "path": "src/types.ts",
    "content": "import { ExcalidrawElement } from \"@excalidraw/excalidraw/types/element/types\";\nimport { BinaryFiles } from \"@excalidraw/excalidraw/types/types\";\n\nexport interface Slide {\n  id: string;\n  elements: ExcalidrawElement[];\n}\n\nexport type Writeable<T> = { -readonly [P in keyof T]: T[P] };\n\nexport type CustomFontFace = {\n  subset: string;\n  fontFamily: string;\n  fontStyle: string;\n  fontWeight: number;\n  fontDisplay: string;\n  src: string;\n  unicodeRange: string;\n};\n\nexport type ExportData = {\n  name: string;\n  document: {\n    backgroundColor: string;\n    slides: Slide[];\n    files: BinaryFiles;\n    documentSize: { width: number; height: number };\n  };\n  fonts: {\n    customFonts: { [fontFamily: string]: CustomFontFace[] };\n  };\n};\n"
  },
  {
    "path": "src/utils/excalidraw.ts",
    "content": "export const getImageDimensions = (\n  base64: string\n): Promise<{ width: number; height: number }> => {\n  return new Promise((resolve) => {\n    const img = new Image();\n    img.src = base64;\n    img.onload = () => {\n      resolve({\n        width: img.width,\n        height: img.height,\n      });\n    };\n  });\n};\n"
  },
  {
    "path": "src/utils/export.ts",
    "content": "import GIF from \"gif.js\";\nimport { exportToBlob, exportToSvg } from \"@excalidraw/excalidraw\";\nimport { useDocumentStore } from \"../store/document\";\nimport { useFontsStore } from \"../store/custom-fonts\";\nimport {\n  ExcalidrawElement,\n  FileId,\n} from \"@excalidraw/excalidraw/types/element/types\";\nimport { CustomFontFace, ExportData } from \"../types\";\nimport { copy } from \"./general\";\nimport { getExcalidrawFontId } from \"./fonts\";\nimport { animateSvg } from \"excalidraw-animate\";\n\nexport const exportToHandDrawnSVG = async (): Promise<SVGSVGElement[]> => {\n  const state = useDocumentStore.getState();\n  const { slides, backgroundColor, documentSize, files } = state;\n\n  const animatedSvgList = await Promise.all(\n    slides.map(async (slide) => {\n      const elements = copy(slide.elements);\n      const frame = elements.find((el: ExcalidrawElement) => el.id === \"frame\");\n      if (frame) {\n        frame.strokeColor = \"transparent\";\n      }\n\n      const svg = await exportToSvg({\n        elements,\n        appState: {\n          exportWithDarkMode: false,\n          exportBackground: true,\n          viewBackgroundColor: backgroundColor,\n          width: documentSize.width,\n          height: documentSize.height,\n        },\n        files: files,\n      });\n\n      // The animateSvg function expects a specific format of elements\n      // Using 'any' type here due to version/type mismatches between excalidraw and excalidraw-animate\n      // eslint-disable-next-line @typescript-eslint/no-explicit-any\n      const { finishedMs } = animateSvg(svg, elements as any);\n      return { svg, finishedMs };\n    })\n  );\n\n  return animatedSvgList.map(({ svg }) => svg.cloneNode(true) as SVGSVGElement);\n};\n\nexport const exportToImageUrls = async (\n  data: ExportData[\"document\"],\n  scale: number = 1\n): Promise<string[]> => {\n  const { slides, backgroundColor, documentSize, files } = data;\n\n  const urls: string[] = [];\n\n  for (let i = 0; i < slides.length; i++) {\n    const slide = slides[i];\n    const elements = copy(slide.elements);\n    const frame = elements.find((el: ExcalidrawElement) => el.id === \"frame\");\n    if (frame) {\n      frame.strokeColor = \"transparent\";\n    }\n\n    const blob = await exportToBlob({\n      elements,\n      appState: {\n        exportWithDarkMode: false,\n        exportBackground: true,\n        viewBackgroundColor: backgroundColor,\n        width: documentSize.width,\n        height: documentSize.height,\n      },\n      files,\n      getDimensions: () => ({\n        width: documentSize.width * scale,\n        height: documentSize.height * scale,\n        scale,\n      }),\n      quality: 1,\n    });\n\n    const url = URL.createObjectURL(blob);\n    urls.push(url);\n  }\n\n  return urls;\n};\n\ninterface ExportGifOptions {\n  fileName: string;\n  frameDelay: number;\n  onProgress?: (progress: number) => void;\n  scale?: number;\n}\nexport const exportToGif = async ({\n  fileName,\n  frameDelay,\n  onProgress,\n  scale,\n}: ExportGifOptions): Promise<string | void> => {\n  if (!scale) scale = 1;\n\n  const state = useDocumentStore.getState();\n  const { slides, backgroundColor, documentSize } = state;\n\n  const gif = new GIF({\n    workers: 2,\n    quality: 10,\n    width: documentSize.width,\n    height: documentSize.height,\n    workerScript: \"/gif.worker.js\",\n  });\n\n  try {\n    const imageUrls = await exportToImageUrls(\n      {\n        slides,\n        backgroundColor,\n        documentSize,\n        files: state.files,\n      },\n      scale\n    );\n\n    // Convert URLs to Images and add to GIF\n    for (let i = 0; i < imageUrls.length; i++) {\n      const image = new Image();\n      await new Promise((resolve, reject) => {\n        image.onload = resolve;\n        image.onerror = reject;\n        image.src = imageUrls[i];\n      });\n\n      gif.addFrame(image, { delay: frameDelay });\n\n      if (onProgress) {\n        onProgress(((i + 1) / imageUrls.length) * 100);\n      }\n    }\n\n    imageUrls.forEach(URL.revokeObjectURL);\n\n    // render and return promise\n    return new Promise((resolve) => {\n      gif.on(\"finished\", (blob: Blob) => {\n        const url = URL.createObjectURL(blob);\n\n        // If fileName is 'preview', just return the URL\n        if (fileName === \"preview\") {\n          resolve(url);\n          return;\n        }\n\n        // Otherwise download the file\n        const link = document.createElement(\"a\");\n        link.href = url;\n        link.download = fileName.endsWith(\".gif\")\n          ? fileName\n          : `${fileName}.gif`;\n        document.body.appendChild(link);\n        link.click();\n        document.body.removeChild(link);\n        URL.revokeObjectURL(url);\n        resolve();\n      });\n\n      gif.render();\n    });\n  } catch (error) {\n    console.error(\"Error exporting to GIF:\", error);\n    throw error;\n  }\n};\n\ninterface GistFile {\n  filename: string;\n  raw_url: string;\n  content: string;\n}\n\ninterface GistResponse {\n  files: Record<string, GistFile>;\n}\n\nexport interface GistFileData {\n  filename: string;\n  content: ExportData;\n}\n\n// Function to check if content is valid inscribed data\nconst isValidInscribedData = (data: unknown): boolean => {\n  return Boolean(\n    data &&\n      typeof data === \"object\" &&\n      \"document\" in data &&\n      data.document &&\n      typeof data.document === \"object\" &&\n      \"slides\" in data.document\n  );\n};\n\n// Function to fetch data from raw Gist URL\nexport const fetchDataFromRawGist = async (\n  url: string\n): Promise<ExportData> => {\n  if (!url.startsWith(\"https://gist.githubusercontent.com/\")) {\n    throw new Error(\"Please enter a valid raw GitHub Gist URL\");\n  }\n\n  try {\n    const response = await fetch(url, {\n      headers: {\n        Accept: \"application/json\",\n      },\n    });\n\n    if (!response.ok) {\n      throw new Error(\n        \"Failed to fetch Gist. Please check the URL and try again.\"\n      );\n    }\n\n    const data = await response.json();\n    if (!isValidInscribedData(data)) {\n      throw new Error(\"The file does not contain valid Inscribed data\");\n    }\n\n    return data;\n  } catch (error) {\n    if (error instanceof Error) {\n      throw error;\n    }\n    throw new Error(\"Failed to fetch or parse the Gist data\");\n  }\n};\n\n// Extract gist ID from URL\nconst extractGistId = (url: string): string => {\n  // Match either a gist URL or a direct link to a file in a gist\n  const match = url.match(/gist\\.github\\.com\\/[^/]+\\/([a-zA-Z0-9]+)/);\n  if (!match || !match[1]) {\n    throw new Error(\"Please enter a valid GitHub Gist URL\");\n  }\n  return match[1];\n};\n\n// Extract targeted filename from URL query parameter if present\nconst extractTargetedFilename = (url: string): string | null => {\n  try {\n    const urlObj = new URL(url);\n    const filenameParam = urlObj.searchParams.get(\"filename\");\n    if (filenameParam) {\n      return filenameParam;\n    }\n\n    // Fallback to fragment identifier for backward compatibility\n    const fileMatch = url.match(/#file-([a-zA-Z0-9_-]+)/);\n    return fileMatch ? fileMatch[1].replace(/-/g, \".\") : null;\n  } catch {\n    // If URL parsing fails, try fragment as fallback\n    const fileMatch = url.match(/#file-([a-zA-Z0-9_-]+)/);\n    return fileMatch ? fileMatch[1].replace(/-/g, \".\") : null;\n  }\n};\n\nexport const fetchDataFromGist = async (\n  url: string\n): Promise<ExportData | GistFileData[]> => {\n  if (!url.startsWith(\"https://gist.github.com/\")) {\n    throw new Error(\"Please enter a valid GitHub Gist URL\");\n  }\n\n  // Extract gist ID and targeted filename\n  const gistId = extractGistId(url);\n  const targetedFilename = extractTargetedFilename(url);\n\n  // Use GitHub API to fetch the gist and all its files\n  const apiUrl = `https://api.github.com/gists/${gistId}`;\n\n  const response = await fetch(apiUrl, {\n    headers: {\n      Accept: \"application/json\",\n    },\n  });\n\n  if (!response.ok) {\n    throw new Error(\n      \"Failed to fetch Gist. Please check the URL and try again.\"\n    );\n  }\n\n  const gistResponse: GistResponse = await response.json();\n\n  // If specific file is targeted in the URL\n  if (targetedFilename) {\n    // Find the targeted file\n    const fileEntry = Object.entries(gistResponse.files).find(\n      ([key]) => key.toLowerCase() === targetedFilename.toLowerCase()\n    );\n\n    if (!fileEntry) {\n      throw new Error(`File \"${targetedFilename}\" not found in this Gist`);\n    }\n\n    const [filename, fileData] = fileEntry;\n\n    try {\n      const content = JSON.parse(fileData.content);\n      if (isValidInscribedData(content)) {\n        return content;\n      } else {\n        throw new Error(\n          `File \"${filename}\" does not contain valid Inscribed data`\n        );\n      }\n    } catch {\n      throw new Error(`Error parsing JSON from file \"${filename}\"`);\n    }\n  }\n\n  // Check for multiple valid files\n  const validFiles: GistFileData[] = [];\n\n  for (const [filename, fileData] of Object.entries(gistResponse.files)) {\n    try {\n      const content = JSON.parse(fileData.content);\n      if (isValidInscribedData(content)) {\n        validFiles.push({\n          filename,\n          content,\n        });\n      }\n    } catch {\n      // Skip invalid files\n      continue;\n    }\n  }\n\n  if (validFiles.length === 0) {\n    throw new Error(\"No valid Inscribed data files found in this Gist\");\n  }\n\n  if (validFiles.length === 1) {\n    // If only one valid file, return it directly\n    return validFiles[0].content;\n  }\n\n  // Return all valid files to let user choose\n  return validFiles;\n};\n\n// download a file with the .ins extension\nexport const downloadInsFile = (data: ExportData, fileName: string) => {\n  const jsonData = JSON.stringify(data, null, 2);\n  const blob = new Blob([jsonData], { type: \"application/json\" });\n  const url = URL.createObjectURL(blob);\n  const link = document.createElement(\"a\");\n\n  const fullFileName = fileName.endsWith(\".ins\") ? fileName : `${fileName}.ins`;\n\n  link.href = url;\n  link.download = fullFileName;\n  document.body.appendChild(link);\n  link.click();\n\n  document.body.removeChild(link);\n  URL.revokeObjectURL(url);\n};\n\nexport const generateEmbedCode = (\n  type: \"presentation\" | \"slider-template\",\n  gistUrl: string\n): string => {\n  // Extract any filename parameter if present\n  let urlToUse = gistUrl;\n  let filenameParam = \"\";\n\n  try {\n    if (gistUrl.includes(\"filename=\")) {\n      // We'll properly format the URL to separate the base URL and parameters\n      const baseGistUrl = gistUrl.split(\"?\")[0]; // Get the base URL without params\n      const params = new URLSearchParams(gistUrl.split(\"?\")[1] || \"\");\n      const filename = params.get(\"filename\");\n\n      if (filename) {\n        urlToUse = baseGistUrl;\n        filenameParam = `&filename=${encodeURIComponent(filename)}`;\n      }\n    }\n  } catch (e) {\n    console.error(\"Error parsing gist URL:\", e);\n    // Continue with the original URL if there's an error\n  }\n\n  return `<iframe\n  style=\"border: 1px solid #ccc; border-radius: 0.5rem;\"\n  src=\"${window.location.origin}/embed?type=${type}&gist_url=${urlToUse}${filenameParam}\"\n  width=\"100%\"\n  height=\"500\"\n  frameborder=\"0\"\n  allowfullscreen\n></iframe>`;\n};\n\ntype ImportData = {\n  document: ExportData[\"document\"];\n  fonts: ExportData[\"fonts\"];\n};\nexport const handleImport = async (file: File) => {\n  const documentStore = useDocumentStore.getState();\n  const fontsStore = useFontsStore.getState();\n\n  const fileContent = await file.text();\n  const importData: ImportData = JSON.parse(fileContent);\n\n  // reset the store with import data\n  documentStore.resetStore(importData.document);\n\n  // set filename\n  documentStore.setFilename(file.name.replace(\".ins\", \"\"));\n\n  // add fonts if not already present\n  if (importData.fonts?.customFonts) {\n    Object.keys(importData.fonts.customFonts).forEach((fontFamily) => {\n      if (!fontsStore.customFonts[fontFamily]) {\n        fontsStore.addFonts(importData.fonts.customFonts[fontFamily]);\n      }\n    });\n  }\n};\n\nexport const generateExportData = (fileName: string) => {\n  const documentStore = useDocumentStore.getState();\n  const fontsStore = useFontsStore.getState();\n\n  // prune unused files\n  const usedFileIds = documentStore.slides\n    .map((slide) => slide.elements)\n    .flat()\n    .filter((e) => e.type === \"image\")\n    .map((e) => e.fileId);\n  const unusedFileIds = Object.keys(documentStore.files).filter(\n    (fileId) => !usedFileIds.includes(fileId as FileId)\n  );\n  const files = { ...documentStore.files };\n  unusedFileIds.forEach((fileId) => {\n    delete files[fileId as FileId];\n  });\n\n  // prune unused fonts\n  const elements = documentStore.slides.map((slide) => slide.elements).flat();\n  const usedFontIds = elements\n    .filter((e) => e.type === \"text\")\n    .map((e) => e.fontFamily);\n\n  const customFonts: { [key: string]: CustomFontFace[] } = {};\n  Object.keys(fontsStore.customFonts).forEach((fontFamily) => {\n    if (usedFontIds.includes(getExcalidrawFontId(fontFamily))) {\n      customFonts[fontFamily] = fontsStore.customFonts[fontFamily];\n    }\n  });\n\n  // set the filename to store\n  documentStore.setFilename(fileName);\n\n  return {\n    name: fileName,\n    document: {\n      backgroundColor: documentStore.backgroundColor,\n      slides: documentStore.slides,\n      files,\n      documentSize: documentStore.documentSize,\n    },\n    fonts: {\n      customFonts,\n    },\n  };\n};\n\ninterface ExportPdfOptions {\n  fileName: string;\n  onProgress?: (progress: number) => void;\n  scale?: number;\n}\n\nexport const exportToPdf = async ({\n  fileName,\n  onProgress,\n  scale,\n}: ExportPdfOptions): Promise<void> => {\n  if (!scale) scale = 1;\n  const state = useDocumentStore.getState();\n  const { slides, backgroundColor, documentSize } = state;\n\n  try {\n    // Dynamically import jspdf to reduce bundle size\n    const { jsPDF } = await import(\"jspdf\");\n    const pdf = new jsPDF({\n      orientation:\n        documentSize.width > documentSize.height ? \"landscape\" : \"portrait\",\n      unit: \"px\",\n      format: [documentSize.width, documentSize.height],\n    });\n\n    // Export each slide as an image and add to PDF\n    const imageUrls = await exportToImageUrls(\n      {\n        slides,\n        backgroundColor,\n        documentSize,\n        files: state.files,\n      },\n      scale\n    );\n\n    for (let i = 0; i < imageUrls.length; i++) {\n      // Add a new page for each slide after the first one\n      if (i > 0) {\n        pdf.addPage([documentSize.width, documentSize.height]);\n      }\n\n      // Add the image to the PDF\n      pdf.addImage(\n        imageUrls[i],\n        \"PNG\",\n        0,\n        0,\n        documentSize.width,\n        documentSize.height\n      );\n\n      if (onProgress) {\n        onProgress(((i + 1) / imageUrls.length) * 100);\n      }\n    }\n\n    // Clean up image URLs\n    imageUrls.forEach(URL.revokeObjectURL);\n\n    // Save the PDF\n    const fullFileName = fileName.endsWith(\".pdf\")\n      ? fileName\n      : `${fileName}.pdf`;\n    pdf.save(fullFileName);\n  } catch (error) {\n    console.error(\"Error exporting to PDF:\", error);\n    throw error;\n  }\n};\n\ninterface ExportVideoOptions {\n  fileName: string;\n  frameDelay: number;\n  loopToReachDuration?: boolean;\n  durationInSeconds?: number;\n  onProgress?: (progress: number) => void;\n  scale?: number;\n}\n\nexport const exportToVideo = async ({\n  fileName,\n  frameDelay,\n  loopToReachDuration = false,\n  durationInSeconds = 0,\n  onProgress,\n  scale,\n}: ExportVideoOptions): Promise<string | void> => {\n  if (!scale) scale = 1;\n  const state = useDocumentStore.getState();\n  const { slides, backgroundColor, documentSize } = state;\n\n  try {\n    // Get all slide images\n    const imageUrls = await exportToImageUrls(\n      {\n        slides,\n        backgroundColor,\n        documentSize,\n        files: state.files,\n      },\n      scale\n    );\n\n    if (onProgress) {\n      onProgress(10); // Image export complete\n    }\n\n    // Create a canvas element\n    const canvas = document.createElement(\"canvas\");\n    canvas.width = documentSize.width * scale;\n    canvas.height = documentSize.height * scale;\n    const ctx = canvas.getContext(\"2d\");\n\n    if (!ctx) {\n      throw new Error(\"Failed to get canvas context\");\n    }\n\n    // Set up recorder with canvas stream\n    const stream = canvas.captureStream(30); // 30 FPS\n    const mimeType = \"video/webm;codecs=vp9\";\n\n    // Check if this codec is supported\n    if (!MediaRecorder.isTypeSupported(mimeType)) {\n      throw new Error(\n        \"WebM with VP9 codec is not supported in this browser. Try using a different browser.\"\n      );\n    }\n\n    const recorder = new MediaRecorder(stream, {\n      mimeType,\n      videoBitsPerSecond: 5000000, // 5 Mbps\n    });\n\n    const chunks: Blob[] = [];\n    recorder.ondataavailable = (e) => chunks.push(e.data);\n\n    // Function to draw a frame and wait the specified delay\n    const drawFrame = (index: number): Promise<void> => {\n      return new Promise((resolve) => {\n        const img = new Image();\n        img.onload = () => {\n          // Clear the canvas and draw the image\n          ctx.clearRect(0, 0, canvas.width, canvas.height);\n          ctx.drawImage(img, 0, 0, canvas.width, canvas.height);\n\n          // We need to wait for the frame delay before resolving\n          // This ensures proper timing in the video\n          setTimeout(resolve, frameDelay);\n        };\n        img.src = imageUrls[index];\n      });\n    };\n\n    // Start recording\n    recorder.start();\n    console.log(\"Started recording\");\n\n    let iterations = 1;\n\n    // Calculate iterations needed if looping to reach duration\n    if (loopToReachDuration && durationInSeconds > 0) {\n      const singleLoopDurationMs = imageUrls.length * frameDelay;\n      const targetDurationMs = durationInSeconds * 1000;\n      iterations = Math.max(\n        1,\n        Math.ceil(targetDurationMs / singleLoopDurationMs)\n      );\n      console.log(`Looping ${iterations} times to reach ${durationInSeconds}s`);\n    }\n\n    // Draw all frames with proper timing\n    for (let loop = 0; loop < iterations; loop++) {\n      for (let i = 0; i < imageUrls.length; i++) {\n        await drawFrame(i);\n\n        if (onProgress) {\n          const overallProgress =\n            (loop * imageUrls.length + i) / (iterations * imageUrls.length);\n          onProgress(10 + overallProgress * 80);\n        }\n\n        console.log(\n          `Frame ${i + 1}/${imageUrls.length}, Loop ${loop + 1}/${iterations}`\n        );\n      }\n    }\n\n    console.log(\"Finished drawing frames, stopping recorder\");\n\n    // Stop recording and create video\n    return new Promise((resolve, reject) => {\n      recorder.onstop = () => {\n        try {\n          if (onProgress) onProgress(95);\n          console.log(\"Recorder stopped, creating blob\");\n\n          // Create a blob from the recorded chunks\n          const blob = new Blob(chunks, { type: \"video/webm\" });\n          console.log(`Created blob of size ${blob.size} bytes`);\n\n          const videoUrl = URL.createObjectURL(blob);\n          if (onProgress) onProgress(100);\n\n          // If fileName is 'preview', return the URL\n          if (fileName === \"preview\") {\n            resolve(videoUrl);\n            return;\n          }\n\n          // Otherwise download the file\n          const link = document.createElement(\"a\");\n          link.href = videoUrl;\n          link.download = fileName.endsWith(\".webm\")\n            ? fileName\n            : `${fileName}.webm`;\n          document.body.appendChild(link);\n\n          console.log(`Downloading video as ${link.download}`);\n          link.click();\n          document.body.removeChild(link);\n\n          // Clean up\n          imageUrls.forEach(URL.revokeObjectURL);\n\n          // Only revoke the URL if not a preview\n          if (fileName !== \"preview\") {\n            URL.revokeObjectURL(videoUrl);\n          }\n\n          resolve();\n        } catch (error) {\n          console.error(\"Error in recorder.onstop:\", error);\n          reject(error);\n        }\n      };\n\n      // Add a short delay before stopping to ensure all frames are processed\n      setTimeout(() => {\n        console.log(\"Stopping recorder after delay\");\n        recorder.stop();\n      }, 500);\n    });\n  } catch (error) {\n    console.error(\"Error exporting to video:\", error);\n    throw error;\n  }\n};\n\n// Function to display SVG animation preview\nexport const displayHandDrawnPreview = (svgElements: SVGSVGElement[]) => {\n  const state = useDocumentStore.getState();\n  const { backgroundColor, setHandDrawnPreviewOpen } = state;\n\n  setHandDrawnPreviewOpen(true);\n\n  // Variables to track current state\n  let currentFrameIndex = 0;\n  let animationTimer: number | null = null;\n\n  // Create container for SVG display - make it fullscreen\n  const svgContainer = document.createElement(\"div\");\n  svgContainer.id = \"hand-drawn-preview-container\";\n  svgContainer.style = `position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 9999999; background: ${backgroundColor}; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 20px;`;\n\n  // Create a wrapper for the SVG to help with centering\n  const svgWrapper = document.createElement(\"div\");\n  svgWrapper.style = `flex-grow: 1; display: flex; align-items: center; justify-content: center; width: 100%; transform: translateY(calc(-2.5vh + 0.5rem));`;\n  svgContainer.appendChild(svgWrapper);\n\n  // Create controls container\n  const controlsContainer = document.createElement(\"div\");\n  controlsContainer.style = `display: flex; gap: 10px; padding: 7px; background: #f8f9fa; border: 1px solid #ccc; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,0.1);`;\n\n  // Add Previous Frame button\n  const prevButton = document.createElement(\"button\");\n  prevButton.style = `padding: 3px 7px; background: #5f6368; color: white; border: none; border-radius: 4px; cursor: pointer; font-size: 16px;`;\n  prevButton.innerText = \"Previous Frame\";\n  prevButton.onclick = () => {\n    if (currentFrameIndex > 0) {\n      displayFrame(currentFrameIndex - 1);\n    }\n  };\n  controlsContainer.appendChild(prevButton);\n\n  // Add Next Frame button\n  const nextButton = document.createElement(\"button\");\n  nextButton.style = `padding: 3px 7px; background: #5f6368; color: white; border: none; border-radius: 4px; cursor: pointer; font-size: 16px;`;\n  nextButton.innerText = `Next Frame`;\n  nextButton.onclick = () => {\n    if (currentFrameIndex < svgElements.length - 1) {\n      displayFrame(currentFrameIndex + 1);\n    }\n  };\n  controlsContainer.appendChild(nextButton);\n\n  // Add Replay Current button\n  const replayCurrentButton = document.createElement(\"button\");\n  replayCurrentButton.style = `padding: 3px 7px; background: #34a853; color: white; border: none; border-radius: 4px; cursor: pointer; font-size: 16px;`;\n  replayCurrentButton.innerText = `Replay Current (Frame: ${\n    currentFrameIndex + 1\n  }/${svgElements.length})`;\n  replayCurrentButton.onclick = () => {\n    displayFrame(currentFrameIndex); // Replay current frame\n  };\n  controlsContainer.appendChild(replayCurrentButton);\n\n  // Add close button\n  const closeButton = document.createElement(\"button\");\n  closeButton.innerText = \"Exit Preview\";\n  closeButton.style = `padding: 3px 7px; background: #ea4335; color: white; border: none; border-radius: 4px; cursor: pointer; font-size: 16px;`;\n  closeButton.onclick = () => {\n    // Clear any timer before removing\n    if (animationTimer !== null) {\n      window.clearTimeout(animationTimer);\n    }\n    setHandDrawnPreviewOpen(false);\n    document.body.removeChild(svgContainer);\n  };\n  controlsContainer.appendChild(closeButton);\n\n  // Add controls to the container\n  svgContainer.appendChild(controlsContainer);\n\n  // Add container to the body\n  document.body.appendChild(svgContainer);\n\n  // Start displaying frames\n  displayFrame(0);\n\n  // Function to display a specific SVG frame\n  function displayFrame(frameIndex: number) {\n    if (animationTimer !== null) {\n      window.clearTimeout(animationTimer);\n      animationTimer = null;\n    }\n\n    currentFrameIndex = frameIndex;\n    replayCurrentButton.innerText = `Replay Current (Frame: ${\n      currentFrameIndex + 1\n    }/${svgElements.length})`;\n\n    // Clear the wrapper\n    svgWrapper.innerHTML = \"\";\n\n    // Clone the SVG for this frame\n    const svgClone = svgElements[frameIndex].cloneNode(true) as SVGSVGElement;\n    svgClone.id = \"hand-drawn-preview-svg\";\n\n    // Style the SVG element - larger size for recording\n    svgClone.style.display = \"block\";\n    svgClone.style.maxWidth = \"100%\";\n    svgClone.style.maxHeight = \"90vh\";\n\n    // Add the SVG to wrapper\n    svgWrapper.appendChild(svgClone);\n  }\n};\n"
  },
  {
    "path": "src/utils/fonts.ts",
    "content": "import { FONT_FAMILY } from \"@excalidraw/excalidraw\";\nimport { CustomFontFace } from \"../types\";\nimport { useFontsStore } from \"../store/custom-fonts\";\n\nexport const getExcalidrawFontId = (fontFamily: string): number => {\n  let hash = 0;\n  for (let i = 0; i < fontFamily.length; i++) {\n    const char = fontFamily.charCodeAt(i);\n    hash = (hash << 5) - hash + char;\n    hash = hash & hash;\n  }\n  return Math.abs(hash);\n};\n\nexport const registerExcalidrawFonts = async (fontFaces: CustomFontFace[]) => {\n  // register fonts to browser\n  await Promise.all(\n    fontFaces.map(async (fontFace) => {\n      const ff = new FontFace(fontFace.fontFamily, fontFace.src, {\n        style: fontFace.fontStyle,\n        weight: fontFace.fontWeight.toString(),\n        unicodeRange: fontFace.unicodeRange,\n      });\n      await ff.load();\n      document.fonts.add(ff);\n    })\n  );\n\n  // register fonts to Excalidraw\n  const fontFamilies = [\n    ...new Set(fontFaces.map((fontFace) => fontFace.fontFamily)),\n  ];\n  fontFamilies.forEach((fontFamily) => {\n    (FONT_FAMILY as { [k: string]: number })[fontFamily] =\n      getExcalidrawFontId(fontFamily);\n  });\n};\n\nexport const loadExcalidrawFonts = async (excalidrawFontIds: number[]) => {\n  const { customFonts } = useFontsStore.getState();\n\n  const fonts: CustomFontFace[] = [];\n  Object.entries(customFonts).forEach(([fontFamily, fontFaces]) => {\n    if (!excalidrawFontIds.includes(getExcalidrawFontId(fontFamily))) return;\n\n    console.info(\"registering font\", fontFamily);\n    fonts.push(...fontFaces);\n  });\n\n  await registerExcalidrawFonts(fonts);\n  return true;\n};\n\nexport const parseFontFaces = (content: string): CustomFontFace[] => {\n  const fontFaces: Array<CustomFontFace> = [];\n\n  // Match each @font-face block including its comment\n  const fontFaceRegex = /\\/\\*\\s*([^*]*)\\s*\\*\\/\\s*@font-face\\s*{([^}]*)}/g;\n  let match;\n\n  while ((match = fontFaceRegex.exec(content)) !== null) {\n    const subset = match[1].trim();\n    const properties = match[2].trim();\n\n    // Parse individual properties\n    const fontFamily = properties.match(/font-family:\\s*'([^']+)'/)?.[1] || \"\";\n    const fontStyle = properties.match(/font-style:\\s*([^;]+)/)?.[1] || \"\";\n    const fontWeight = parseInt(\n      properties.match(/font-weight:\\s*([^;]+)/)?.[1] || \"0\"\n    );\n    const fontDisplay = properties.match(/font-display:\\s*([^;]+)/)?.[1] || \"\";\n    const src = properties.match(/src:\\s*([^;]+)/)?.[1] || \"\";\n    const unicodeRange =\n      properties.match(/unicode-range:\\s*([^;]+)/)?.[1] || \"\";\n\n    fontFaces.push({\n      subset,\n      fontFamily,\n      fontStyle,\n      fontWeight,\n      fontDisplay,\n      src,\n      unicodeRange,\n    });\n  }\n\n  return fontFaces;\n};\n"
  },
  {
    "path": "src/utils/general.ts",
    "content": "export const copy = (obj: object) => {\n  return JSON.parse(JSON.stringify(obj));\n};\n"
  },
  {
    "path": "src/vite-env.d.ts",
    "content": "/// <reference types=\"vite/client\" />\n"
  },
  {
    "path": "tailwind.config.js",
    "content": "/** @type {import('tailwindcss').Config} */\nexport default {\n  content: ['./index.html', './src/**/*.{js,ts,jsx,tsx}'],\n  theme: {\n    extend: {},\n  },\n  plugins: [],\n};\n"
  },
  {
    "path": "tsconfig.app.json",
    "content": "{\n  \"compilerOptions\": {\n    \"target\": \"ES2020\",\n    \"useDefineForClassFields\": true,\n    \"lib\": [\"ES2020\", \"DOM\", \"DOM.Iterable\"],\n    \"module\": \"ESNext\",\n    \"skipLibCheck\": true,\n\n    /* Bundler mode */\n    \"moduleResolution\": \"bundler\",\n    \"allowImportingTsExtensions\": true,\n    \"isolatedModules\": true,\n    \"moduleDetection\": \"force\",\n    \"noEmit\": true,\n    \"jsx\": \"react-jsx\",\n\n    /* Linting */\n    \"strict\": true,\n    \"noUnusedLocals\": true,\n    \"noUnusedParameters\": true,\n    \"noFallthroughCasesInSwitch\": true\n  },\n  \"include\": [\"src\", \"public/gif.worker.js\"]\n}\n"
  },
  {
    "path": "tsconfig.json",
    "content": "{\n  \"files\": [],\n  \"references\": [\n    { \"path\": \"./tsconfig.app.json\" },\n    { \"path\": \"./tsconfig.node.json\" }\n  ],\n  \"compilerOptions\": {\n    \"types\": [\"@types/wicg-file-system-access\"]\n  }\n}\n"
  },
  {
    "path": "tsconfig.node.json",
    "content": "{\n  \"compilerOptions\": {\n    \"target\": \"ES2022\",\n    \"lib\": [\"ES2023\"],\n    \"module\": \"ESNext\",\n    \"skipLibCheck\": true,\n\n    /* Bundler mode */\n    \"moduleResolution\": \"bundler\",\n    \"allowImportingTsExtensions\": true,\n    \"isolatedModules\": true,\n    \"moduleDetection\": \"force\",\n    \"noEmit\": true,\n\n    /* Linting */\n    \"strict\": true,\n    \"noUnusedLocals\": true,\n    \"noUnusedParameters\": true,\n    \"noFallthroughCasesInSwitch\": true\n  },\n  \"include\": [\"vite.config.ts\"]\n}\n"
  },
  {
    "path": "vite.config.ts",
    "content": "import { defineConfig } from \"vite\";\nimport react from \"@vitejs/plugin-react\";\n\n// https://vitejs.dev/config/\nexport default defineConfig({\n  plugins: [react()],\n  optimizeDeps: {\n    exclude: [\"lucide-react\"],\n  },\n  define: {\n    // Required for Excalidraw\n    \"process.env\": {\n      NODE_ENV: JSON.stringify(process.env.NODE_ENV || \"development\"),\n    },\n    APP_VERSION: JSON.stringify(process.env.npm_package_version),\n  },\n});\n"
  }
]