diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..999c6d9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,56 @@ +# Local node_modules +node_modules/ +.npm/ + +# Build outputs +dist/ +.output/ +.vercel/ +.netlify/ +.worker/ +public/build/ + +# Astro dev/build outputs +.astro/ +server.log +server_new.pid + +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +# OS/Editor +.DS_Store +.AppleDouble +.LSOverride +Icon +._* +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# IDEs +.idea/ +.vscode/ + +# Environment variables +.env +.env.* +!.env.example + +# Temporary files +tmp/ +temp/ + +*scrape* + +venv/ diff --git a/MPS Lab Astro Pipeline Design.md b/MPS Lab Astro Pipeline Design.md new file mode 100644 index 0000000..73ecdba --- /dev/null +++ b/MPS Lab Astro Pipeline Design.md @@ -0,0 +1,156 @@ +# **MPS Lab Website Overhaul: System Architecture & Implementation Guide** + +## **1\. System Overview** + +This document serves as the implementation blueprint for the MPS Lab website overhaul. The system is designed as a highly performant, fully static website that utilizes the Island **Architecture**. + +**Core Tech Stack:** + +* **Framework:** Astro (Static Site Generation mode) +* **UI Libraries:** React (for complex interactive components only), Tailwind CSS (styling), SCSS/Sass (Theme management), Lucide React (icons). +* **Data Parsing:** bibtex-parse-js (Publications), fuse.js (Client-side search). +* **Hosting:** GitHub Pages via GitHub Actions. +* **Development Environment:** Docker & Docker Compose (Isolated runtime). + +## **2\. UI Design Concepts** + +Below is the targeted visual design for the new MPS Lab website. The design emphasizes a clean, highly readable "Modern Academic" layout with subtle ASU branding (Maroon and Gold accents), ample whitespace, and an accessible grid system for research areas. + +![][image1] + +* **Visual Identity:** Heavy Navy Blue and Green headers (derived from the lab logo) balanced against clean white backgrounds, with ASU Maroon serving as the primary call-to-action color. +* **Component Library:** Tailwind CSS is used to enforce consistent padding, rounded corners, and mobile-first responsive grids across all devices, mapping directly to SCSS-managed theme variables. + +### **Reference Websites (Style Inspiration)** + +To guide the visual development and component styling, the following websites should be used as benchmarks for the aesthetic direction: + +**Modern Academic Focus (Clean, Accessible, Institutional):** + +* [**Stanford AI Lab (SAIL)**](https://ai.stanford.edu/)**:** Excellent use of whitespace, clear typography, and a highly functional layout that feels both academic and modern. +* [**MIT CSAIL**](https://www.csail.mit.edu/)**:** Great example of managing large amounts of news, research groups, and publications without feeling cluttered. +* [**Berkeley AI Research (BAIR)**](https://bair.berkeley.edu/)**:** Minimalist approach that prioritizes content (papers and blog posts) over heavy graphics. + +## **3\. Requirement Fulfillment Mapping** + +* **Req 1: No Backend Needed:** Astro compiles the entire application into pure HTML/CSS/JS during the build step. The site is hosted on GitHub Pages, requiring zero active server management. +* **Req 2: Markdown-Driven Updates:** Lab members, news, and project updates are managed via Astro **Content Collections**. Adding a new Ph.D. student with a pop-up card simply requires dropping a student-name.md file with YAML frontmatter into the src/content/members/ directory. No HTML editing is required. +* **Req 3: Single-File Publication Updates:** Publications are stored in a single src/data/publications.bib file. At build time, Astro parses this file into JSON and passes it to an interactive React Search component. + +## **4\. Agent Implementation Blueprint** + +*Instructions for the Agentic System:* Execute the implementation in the following sequential phases. + +### **Phase 1: Containerized Development Environment Setup** + +**Objective:** Isolate the build tools and runtime environment using Docker *first* to ensure consistency and provide the npm runtime required for the subsequent scaffolding phases. + +1. **Create docker-compose.yml:** In the empty root directory, create a Docker Compose file that maps the local source code into a Node.js container. +2. **Isolate Dependencies:** Use an anonymous volume for node\_modules to prevent host OS conflicts with the container's compiled modules. +3. **Implementation Configuration:** + version: '3.8' + services: + astro: + image: node:20-alpine + working\_dir: /app + volumes: + \- .:/app + \- /app/node\_modules \# Isolates container node\_modules from the host + ports: + \- "4321:4321" \# Astro's default dev port + command: sh \-c "npm install && npm run dev \-- \--host 0.0.0.0" + +### **Phase 2: Initialization & Configuration** + +**Objective:** Scaffold the project and install dependencies using the containerized Node environment established in Phase 1\. + +1. **Initialize Astro:** Run the scaffolding command through the container into the current directory (.): + docker-compose run \--rm astro npm create astro@latest . \-- \--template minimal +2. **Install integrations:** docker-compose run \--rm astro npx astro add react tailwind +3. **Install specific libraries:** docker-compose run \--rm astro npm install lucide-react fuse.js bibtex-parse-js sass +4. **Configure:** Update astro.config.mjs to ensure output: 'static' and that React/Tailwind integrations are active. +5. **Execution:** Once configured, developers/agents will strictly use docker-compose up to start the live-reloading dev server. No source code resides inside the image itself; it is fully mounted from the host. + +### **Phase 3: Directory Structure Setup** + +**Objective:** Establish the routing and data layer skeleton. + +/ +├── public/ \# Static assets (logos, CVs, PDFs) +├── src/ +│ ├── components/ \# Reusable UI parts +│ │ ├── astro/ \# Static UI (Nav, Footer, Static Cards) +│ │ └── react/ \# Interactive UI (Search, ThemeToggle, Modals) +│ ├── content/ \# Markdown Collections +│ │ ├── config.ts \# Zod Schemas for Type Safety +│ │ ├── news/ \# .md files for updates +│ │ └── members/ \# .md files for students/faculty +│ ├── data/ +│ │ └── publications.bib \# The single source of truth for papers +│ ├── layouts/ +│ │ └── Layout.astro \# Global HTML wrapper (Dark mode logic here) +│ ├── pages/ \# Route mapping (index.astro, publications.astro) +│ └── styles/ \# SCSS Theme configuration +│ ├── main.scss \# Main stylesheet importing themes and tailwind +│ ├── \_theme-light.scss \# Light/Academic theme color variables +│ └── \_theme-dark.scss \# Dark/Alternate theme color variables +├── docker-compose.yml \# Containerized dev environment configuration + +### **Phase 4: The Content Collection Layer (Markdown)** + +**Objective:** Enable non-developers to update the site without touching HTML. + +1. **Define Schemas (src/content/config.ts):** \* Create a schema for members requiring name, role (Faculty, Ph.D., Alumni), photoUrl, joinDate, and bio. + * Create a schema for news requiring title, date, and type. +2. **Implementation:** Build an Astro component (MemberGrid.astro) that uses getCollection('members') to loop through the markdown files and render the UI cards. Use a React component (\) if the "pop-up card" requires complex state (like a click-to-expand overlay). + +### **Phase 5: The Publication Pipeline (Single-File)** + +**Objective:** Implement the searchable, filterable publication list. + +1. **Build-Time Parsing:** In src/pages/publications.astro, use Node's fs module to read src/data/publications.bib. +2. Pass the string to bibtex-parse-js to convert it into a structured JavaScript array. +3. **The Interactive Island:** Pass that parsed JSON array as a prop to a React component: \. +4. **Search Logic:** Inside PublicationSearch.jsx, initialize fuse.js on the papers array. Bind an \ to a React state to filter the rendered list in real-time. Render tags (e.g., Year, Topic) that modify a filter state. + +### **Phase 6: UI, SCSS Theme Management, and Responsiveness** + +**Objective:** Apply the MPS Lab styling requirements using dedicated SCSS files connected to Tailwind. + +1. **SCSS Theme Setup:** \* In src/styles/\_theme-light.scss, define the light mode CSS variables (e.g., \--color-primary: \#8C1D40; \--color-bg: \#ffffff;). + * In src/styles/\_theme-dark.scss, define the exact same variables with dark mode values (e.g., \--color-primary: \#FFC627; \--color-bg: \#0f172a;). + * In src/styles/main.scss, import Tailwind directives (@tailwind base; etc.) and import both theme files, nesting the dark theme variables under a .dark class. + * Import main.scss globally inside src/layouts/Layout.astro. +2. **Tailwind Configuration:** In tailwind.config.mjs, map Tailwind's color palette to your SCSS CSS variables (e.g., theme: { extend: { colors: { primary: 'var(--color-primary)' } } }). This ensures bg-primary automatically respects the active SCSS theme file. +3. **Responsiveness:** Ensure all grids use mobile-first breakpoints (e.g., grid-cols-1 md:grid-cols-2 lg:grid-cols-4). Hide desktop navs and show hamburger menus on screens smaller than md. +4. **Dark Mode Engine:** \* Ensure darkMode: 'class' is set in tailwind.config.mjs. + * Create a React component \ that toggles the dark class on the \ element and saves the user's preference to localStorage. + * Add a tiny inline \ in the \ of Layout.astro to read localStorage before the page paints to prevent theme flickering. + +ThemeToggle client:only="react" /\> that toggles the dark class on the \ element and saves the user's preference to localStorage. + +Add a tiny inline \ in the \ of Layout.astro to read localStorage before the page paints to prevent theme flickering. + +### **Phase 7: Google Forms & External Integrations** + +**Objective:** Integrate lead capture/contact forms seamlessly. + +1. Create src/pages/contact.astro. +2. Extract the \ embed code from the desired Google Form. +3. Wrap the iframe in a responsive Tailwind container (aspect-video w-full max-w-2xl mx-auto) to ensure it scales correctly on mobile devices without breaking the layout. + +### **Phase 8: Deployment Configuration** + +**Objective:** Automate GitHub Pages hosting. + +1. Create .github/workflows/deploy.yml. +2. Use the official Astro GitHub Pages action (actions/configure-pages, actions/upload-pages-artifact, actions/deploy-pages). +3. Ensure site and base (if deploying to a subpath) are configured in astro.config.mjs. + +## **5\. Security & Maintenance Notes** + +* **Zero-JS by Default:** Only components explicitly marked with client:load, client:visible, or client:only (like the Search bar or Theme Toggle) will ship JavaScript to the user. Everything else is pure, lightning-fast HTML. +* **Data Integrity:** The Zod schemas in src/content/config.ts will intentionally fail the GitHub Actions build if a lab member accidentally forgets to add a required field (like a Date or Title) to their Markdown file, preventing broken UI from reaching production. +* **Docker Portability:** Because the entire runtime is containerized, any lab member (regardless of OS) can build and test the site locally using docker-compose up without dealing with npm version conflicts or missing global dependencies. + +[image1]: \ No newline at end of file diff --git a/README.md b/README.md index bfc25cf..9f049cd 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,265 @@ -Making Programming Simple Lab: -https://labs.engineering.asu.edu/mps-lab/ +# MPS Lab @ ASU — Website -MPS Lab Publications: https://labs.engineering.asu.edu/mps-lab/publications/ +The official website for the **Make Programming Simple (MPS) Lab** at Arizona State University. Built with [Astro](https://astro.build/), [React](https://react.dev/), and [Tailwind CSS](https://tailwindcss.com/). + +**Live Website:** [https://mpslab-asu.github.io](https://mpslab-asu.github.io) + +--- + +## Tech Stack + +| Layer | Technology | +|-------|-----------| +| Framework | Astro 5 (static output) | +| UI Components | Astro (`.astro`) + React Islands | +| Styling | Tailwind CSS + SCSS (light/dark themes) | +| Icons | Lucide React | +| Search | Fuse.js (fuzzy search for publications) | +| Publications | BibTeX → `bibtex-parse-js` | +| Markdown | `marked` (for FAQ) + Custom `rehype-figure-caption` plugin | + +--- + +## Project Structure + +``` +src/ +├── components/ +│ ├── astro/ # Navbar, Footer, MemberGrid +│ └── react/ # PublicationSearch, GalleryGrid, ImageLightbox, ThemeToggle +├── content/ # Astro Content Collections +│ ├── members/ # Lab member profiles +│ ├── news/ # News & announcements +│ ├── research/ # Research area pages +│ ├── resources/ # Reading lists per research area +│ ├── faq/ # Categorized FAQs (Markdown files) +│ └── gallery/ # Lab event galleries +├── data/ +│ ├── publications.bib # BibTeX publication database +│ ├── software.json # Scraped software projects +│ └── sponsors.json # Scraped sponsor data +├── layouts/ +│ └── Layout.astro # Base HTML layout +├── pages/ +│ ├── index.astro # Home page (includes Sponsors) +│ ├── people.astro # People directory (tabbed by role) +│ ├── publications.astro # Searchable publications & Software tabs +│ ├── gallery/index.astro # Lab Gallery archive +│ ├── gallery/[...slug].astro # Event-specific photo grids (React Lightbox) +│ ├── faq.astro # Categorized accordion FAQ +│ ├── contact.astro # Contact page +│ ├── members/[...slug].astro # Individual member profiles +│ ├── research/index.astro # Research overview +│ ├── research/[...slug].astro # Individual research pages +│ ├── teaching.astro # Teaching homepage (list of courses) +│ └── teaching/ # Individual course pages (e.g. mla.astro) +└── plugins/ + └── rehype-figure-caption.mjs # Image caption plugin +public/ +├── images/ # Member photos, research, gallery assets, sponsor logos +├── assets/ # PDFs, manuals, and syllabi for teaching/software +└── docs/ # Resumes, documents +``` + +--- + +## Prerequisites + +- **Node.js** v20+ (or Docker) + +--- + +## Local Development + +### Node.js + +```bash +npm install +npm run dev +``` + +Open [http://localhost:4321](http://localhost:4321). + +### Docker + +```bash +docker compose up +``` + +Open [http://localhost:4321](http://localhost:4321). Stop with `docker compose down`. + +--- + +## Build & Deploy + +```bash +npm run build # Type-check + static build → dist/ +npm run preview # Preview the built site locally +``` + +The site deploys as a static site to **GitHub Pages**. + +--- + +## Content Management + +### Members (`src/content/members/`) + +Each `.md` file represents a lab member. + +```yaml +--- +name: "Jane Doe" +role: "Ph.D." # Faculty | Ph.D. | Masters | Undergraduate | Postdoc | Alumni | Visiting Student | Visiting Faculty +joinDate: "2023" +image: "/images/members/jane-doe.jpg" +email: "jdoe@asu.edu" # optional +website: "https://..." # optional +github: "https://github.com/..." # optional +linkedin: "https://..." # optional +resume: "/docs/resumes/..." # optional +researchInterests: ["Topic A", "Topic B"] # optional +isAlumni: false # optional +currentPosition: "..." # optional (for alumni) +--- + +Bio text goes here (markdown supported). +``` + +### News and Awards (`src/content/news/`) + +#### Manual Addition +Create a new `.md` file in `src/content/news/`. + +```yaml +--- +date: "2024" # Can be a full date (YYYY-MM-DD) or just the year +type: "Publication" # Award | Publication | Event | Announcement | General +description: "A concise description of the news. Supports **Markdown**." +--- +``` + +#### Automated Scraping +Run the scraper to fetch updates from the legacy site: +```bash +python scrape_news.py +``` + +### Research Areas (`src/content/research/`) + +```yaml +--- +title: "Research Area Name" +status: "Active" # Active | Extended +description: "One-line summary." +image: "/images/research/hero.jpg" # optional banner +icon: "Cpu" # Lucide icon name +order: 1 # display order +--- + +Markdown content. Supports images with captions: + +![Alt Text](/images/research/figure.png) +This text becomes a styled caption under the image (no blank line above). +``` + +### Resources / Reading Lists (`src/content/resources/`) + +```yaml +--- +researchArea: "Intelligent Transportation Systems" # must match research title exactly +resources: + - title: "Paper Title" + type: "Paper" # Paper | Book | Video | Tutorial | Tool | Publication + url: "https://..." + authors: "Authors" + description: "..." +--- +``` + +### FAQ (`src/content/faq/`) + +FAQs are managed via markdown files in the `faq` collection. + +```yaml +--- +category: "General" # Group name +icon: "💡" # Category emoji +order: 1 # Display order +items: + - question: "How do I X?" + answer: "Full answer supporting **markdown**." + externalLink: "" # Optional direct link + - question: "Link to service" + answer: "" + externalLink: "https://..." +--- +``` + +### Lab Gallery (`src/content/gallery/`) + +Showcases photos from lab events. + +```yaml +--- +title: "Lab Social 2024" +description: "Brief summary of the event." +date: 2024-03-20 +coverImage: "/images/gallery/lab-social-2024/social_1.png" +images: + - "/images/gallery/lab-social-2024/social_1.png" + - "/images/gallery/lab-social-2024/social_2.png" +location: "Tempe, AZ" +--- + +Optional detailed description of the event. +``` + +### Teaching Courses (`src/pages/teaching/`) + +Teaching courses are maintained as distinct Astro pages rather than a content collection, to allow completely custom layouts and styling per course syllabus. + +To add a new course: +1. Create a new `.astro` file inside `src/pages/teaching/` (e.g. `cse101.astro`). +2. Use the standard layout component: ` ... `. +3. Add the course link to the master list inside `src/pages/teaching.astro`. +4. Any course documents (e.g., syllabi PDF files) should be uploaded to `public/assets/teaching/` and linked via `/assets/teaching/filename.pdf`. + +### Publications (`src/data/publications.bib`) + +Managed in a BibTeX file. Key fields: +- `research` — Comma-separated tags matching research titles. +- `category` — Conference, Article, Patent, etc. +- `website` / `code` — Optional deep links. +- `url` — Paper/Slides links. Format: `http://link.com/p.pdf, pdf http://link.com/s.ppt, slides`. + +#### Software Tab +Powered by `src/data/software.json`: +```json +{ + "name": "Project Name", + "url": "https://github.com/...", + "description": "...", + "researchGroup": "AI Compilers", + "image": "/images/software/logo.png" +} +``` + +### Sponsors (`src/data/sponsors.json`) + +Displayed on the homepage. Scraped using `scrape_sponsors.py`. +```json +{ + "name": "Agency Name", + "logo": "/images/sponsors/logo.png", + "url": "https://..." +} +``` + +--- + +## Theming & UI + +- **Light/Dark Mode**: Persisted theme switch via `ThemeToggle`. +- **Interactive Gallery**: Immersive lightbox experience powered by `ImageLightbox.tsx` (React). +- **Markdown Rendering**: Answers in FAQ use `marked`. Research pages use Astro dynamic rendering. diff --git a/astro.config.mjs b/astro.config.mjs new file mode 100644 index 0000000..c0b060b --- /dev/null +++ b/astro.config.mjs @@ -0,0 +1,27 @@ +import react from '@astrojs/react'; +import tailwind from '@astrojs/tailwind'; +import { defineConfig } from 'astro/config'; +import rehypeFigureCaption from './src/plugins/rehype-figure-caption.mjs'; + +export default defineConfig({ + output: 'static', + site: 'https://MPSLab-ASU.github.io', + markdown: { + rehypePlugins: [rehypeFigureCaption], + }, + integrations: [ + react(), + tailwind({ + applyBaseStyles: false, + }), + ], + vite: { + css: { + preprocessorOptions: { + scss: { + api: 'modern-compiler', + }, + }, + }, + }, +}); diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..d81a4f1 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,10 @@ +services: + astro: + image: node:20-alpine + working_dir: /app + volumes: + - .:/app + - /app/node_modules + ports: + - "4321:4321" + command: sh -c "npm install && npm run dev -- --host 0.0.0.0" diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..e6ccde2 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,15352 @@ +{ + "name": "mpslab-asu", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "mpslab-asu", + "version": "1.0.0", + "dependencies": { + "@astrojs/check": "^0.9.6", + "@astrojs/react": "^4.4.2", + "@astrojs/tailwind": "^6.0.2", + "@types/react": "^19.2.14", + "@types/react-dom": "^19.2.3", + "astro": "^5.17.3", + "bibtex-parse-js": "^0.0.24", + "fuse.js": "^7.1.0", + "lucide-react": "^0.575.0", + "marked": "^17.0.3", + "react": "^19.2.4", + "react-dom": "^19.2.4", + "sass": "^1.97.3", + "typescript": "^5.9.3", + "unist-util-visit": "^5.1.0" + }, + "devDependencies": { + "@types/node": "^25.3.0", + "cheerio": "^1.2.0" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@astrojs/check": { + "version": "0.9.6", + "resolved": "https://registry.npmjs.org/@astrojs/check/-/check-0.9.6.tgz", + "integrity": "sha512-jlaEu5SxvSgmfGIFfNgcn5/f+29H61NJzEMfAZ82Xopr4XBchXB1GVlcJsE+elUlsYSbXlptZLX+JMG3b/wZEA==", + "license": "MIT", + "dependencies": { + "@astrojs/language-server": "^2.16.1", + "chokidar": "^4.0.1", + "kleur": "^4.1.5", + "yargs": "^17.7.2" + }, + "bin": { + "astro-check": "bin/astro-check.js" + }, + "peerDependencies": { + "typescript": "^5.0.0" + } + }, + "node_modules/@astrojs/compiler": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-2.13.1.tgz", + "integrity": "sha512-f3FN83d2G/v32ipNClRKgYv30onQlMZX1vCeZMjPsMMPl1mDpmbl0+N5BYo4S/ofzqJyS5hvwacEo0CCVDn/Qg==", + "license": "MIT" + }, + "node_modules/@astrojs/internal-helpers": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.7.5.tgz", + "integrity": "sha512-vreGnYSSKhAjFJCWAwe/CNhONvoc5lokxtRoZims+0wa3KbHBdPHSSthJsKxPd8d/aic6lWKpRTYGY/hsgK6EA==", + "license": "MIT" + }, + "node_modules/@astrojs/language-server": { + "version": "2.16.3", + "resolved": "https://registry.npmjs.org/@astrojs/language-server/-/language-server-2.16.3.tgz", + "integrity": "sha512-yO5K7RYCMXUfeDlnU6UnmtnoXzpuQc0yhlaCNZ67k1C/MiwwwvMZz+LGa+H35c49w5QBfvtr4w4Zcf5PcH8uYA==", + "license": "MIT", + "dependencies": { + "@astrojs/compiler": "^2.13.0", + "@astrojs/yaml2ts": "^0.2.2", + "@jridgewell/sourcemap-codec": "^1.5.5", + "@volar/kit": "~2.4.27", + "@volar/language-core": "~2.4.27", + "@volar/language-server": "~2.4.27", + "@volar/language-service": "~2.4.27", + "muggle-string": "^0.4.1", + "tinyglobby": "^0.2.15", + "volar-service-css": "0.0.68", + "volar-service-emmet": "0.0.68", + "volar-service-html": "0.0.68", + "volar-service-prettier": "0.0.68", + "volar-service-typescript": "0.0.68", + "volar-service-typescript-twoslash-queries": "0.0.68", + "volar-service-yaml": "0.0.68", + "vscode-html-languageservice": "^5.6.1", + "vscode-uri": "^3.1.0" + }, + "bin": { + "astro-ls": "bin/nodeServer.js" + }, + "peerDependencies": { + "prettier": "^3.0.0", + "prettier-plugin-astro": ">=0.11.0" + }, + "peerDependenciesMeta": { + "prettier": { + "optional": true + }, + "prettier-plugin-astro": { + "optional": true + } + } + }, + "node_modules/@astrojs/markdown-remark": { + "version": "6.3.10", + "resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-6.3.10.tgz", + "integrity": "sha512-kk4HeYR6AcnzC4QV8iSlOfh+N8TZ3MEStxPyenyCtemqn8IpEATBFMTJcfrNW32dgpt6MY3oCkMM/Tv3/I4G3A==", + "license": "MIT", + "dependencies": { + "@astrojs/internal-helpers": "0.7.5", + "@astrojs/prism": "3.3.0", + "github-slugger": "^2.0.0", + "hast-util-from-html": "^2.0.3", + "hast-util-to-text": "^4.0.2", + "import-meta-resolve": "^4.2.0", + "js-yaml": "^4.1.1", + "mdast-util-definitions": "^6.0.0", + "rehype-raw": "^7.0.0", + "rehype-stringify": "^10.0.1", + "remark-gfm": "^4.0.1", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.1.2", + "remark-smartypants": "^3.0.2", + "shiki": "^3.19.0", + "smol-toml": "^1.5.2", + "unified": "^11.0.5", + "unist-util-remove-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "unist-util-visit-parents": "^6.0.2", + "vfile": "^6.0.3" + } + }, + "node_modules/@astrojs/prism": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@astrojs/prism/-/prism-3.3.0.tgz", + "integrity": "sha512-q8VwfU/fDZNoDOf+r7jUnMC2//H2l0TuQ6FkGJL8vD8nw/q5KiL3DS1KKBI3QhI9UQhpJ5dc7AtqfbXWuOgLCQ==", + "license": "MIT", + "dependencies": { + "prismjs": "^1.30.0" + }, + "engines": { + "node": "18.20.8 || ^20.3.0 || >=22.0.0" + } + }, + "node_modules/@astrojs/react": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@astrojs/react/-/react-4.4.2.tgz", + "integrity": "sha512-1tl95bpGfuaDMDn8O3x/5Dxii1HPvzjvpL2YTuqOOrQehs60I2DKiDgh1jrKc7G8lv+LQT5H15V6QONQ+9waeQ==", + "license": "MIT", + "dependencies": { + "@vitejs/plugin-react": "^4.7.0", + "ultrahtml": "^1.6.0", + "vite": "^6.4.1" + }, + "engines": { + "node": "18.20.8 || ^20.3.0 || >=22.0.0" + }, + "peerDependencies": { + "@types/react": "^17.0.50 || ^18.0.21 || ^19.0.0", + "@types/react-dom": "^17.0.17 || ^18.0.6 || ^19.0.0", + "react": "^17.0.2 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.2 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/@astrojs/tailwind": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@astrojs/tailwind/-/tailwind-6.0.2.tgz", + "integrity": "sha512-j3mhLNeugZq6A8dMNXVarUa8K6X9AW+QHU9u3lKNrPLMHhOQ0S7VeWhHwEeJFpEK1BTKEUY1U78VQv2gN6hNGg==", + "license": "MIT", + "dependencies": { + "autoprefixer": "^10.4.21", + "postcss": "^8.5.3", + "postcss-load-config": "^4.0.2" + }, + "peerDependencies": { + "astro": "^3.0.0 || ^4.0.0 || ^5.0.0", + "tailwindcss": "^3.0.24" + } + }, + "node_modules/@astrojs/telemetry": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-3.3.0.tgz", + "integrity": "sha512-UFBgfeldP06qu6khs/yY+q1cDAaArM2/7AEIqQ9Cuvf7B1hNLq0xDrZkct+QoIGyjq56y8IaE2I3CTvG99mlhQ==", + "license": "MIT", + "dependencies": { + "ci-info": "^4.2.0", + "debug": "^4.4.0", + "dlv": "^1.1.3", + "dset": "^3.1.4", + "is-docker": "^3.0.0", + "is-wsl": "^3.1.0", + "which-pm-runs": "^1.1.0" + }, + "engines": { + "node": "18.20.8 || ^20.3.0 || >=22.0.0" + } + }, + "node_modules/@astrojs/yaml2ts": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@astrojs/yaml2ts/-/yaml2ts-0.2.2.tgz", + "integrity": "sha512-GOfvSr5Nqy2z5XiwqTouBBpy5FyI6DEe+/g/Mk5am9SjILN1S5fOEvYK0GuWHg98yS/dobP4m8qyqw/URW35fQ==", + "license": "MIT", + "dependencies": { + "yaml": "^2.5.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", + "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", + "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helpers": "^7.28.6", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.29.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", + "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", + "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.28.6", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", + "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", + "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz", + "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz", + "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", + "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz", + "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz", + "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", + "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", + "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@capsizecss/unpack": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@capsizecss/unpack/-/unpack-4.0.0.tgz", + "integrity": "sha512-VERIM64vtTP1C4mxQ5thVT9fK0apjPFobqybMtA1UdUujWka24ERHbRHFGmpbbhp73MhV+KSsHQH9C6uOTdEQA==", + "license": "MIT", + "dependencies": { + "fontkitten": "^1.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@emmetio/abbreviation": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@emmetio/abbreviation/-/abbreviation-2.3.3.tgz", + "integrity": "sha512-mgv58UrU3rh4YgbE/TzgLQwJ3pFsHHhCLqY20aJq+9comytTXUDNGG/SMtSeMJdkpxgXSXunBGLD8Boka3JyVA==", + "license": "MIT", + "dependencies": { + "@emmetio/scanner": "^1.0.4" + } + }, + "node_modules/@emmetio/css-abbreviation": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@emmetio/css-abbreviation/-/css-abbreviation-2.1.8.tgz", + "integrity": "sha512-s9yjhJ6saOO/uk1V74eifykk2CBYi01STTK3WlXWGOepyKa23ymJ053+DNQjpFcy1ingpaO7AxCcwLvHFY9tuw==", + "license": "MIT", + "dependencies": { + "@emmetio/scanner": "^1.0.4" + } + }, + "node_modules/@emmetio/css-parser": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@emmetio/css-parser/-/css-parser-0.4.1.tgz", + "integrity": "sha512-2bC6m0MV/voF4CTZiAbG5MWKbq5EBmDPKu9Sb7s7nVcEzNQlrZP6mFFFlIaISM8X6514H9shWMme1fCm8cWAfQ==", + "license": "MIT", + "dependencies": { + "@emmetio/stream-reader": "^2.2.0", + "@emmetio/stream-reader-utils": "^0.1.0" + } + }, + "node_modules/@emmetio/html-matcher": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@emmetio/html-matcher/-/html-matcher-1.3.0.tgz", + "integrity": "sha512-NTbsvppE5eVyBMuyGfVu2CRrLvo7J4YHb6t9sBFLyY03WYhXET37qA4zOYUjBWFCRHO7pS1B9khERtY0f5JXPQ==", + "license": "ISC", + "dependencies": { + "@emmetio/scanner": "^1.0.0" + } + }, + "node_modules/@emmetio/scanner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@emmetio/scanner/-/scanner-1.0.4.tgz", + "integrity": "sha512-IqRuJtQff7YHHBk4G8YZ45uB9BaAGcwQeVzgj/zj8/UdOhtQpEIupUhSk8dys6spFIWVZVeK20CzGEnqR5SbqA==", + "license": "MIT" + }, + "node_modules/@emmetio/stream-reader": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@emmetio/stream-reader/-/stream-reader-2.2.0.tgz", + "integrity": "sha512-fXVXEyFA5Yv3M3n8sUGT7+fvecGrZP4k6FnWWMSZVQf69kAq0LLpaBQLGcPR30m3zMmKYhECP4k/ZkzvhEW5kw==", + "license": "MIT" + }, + "node_modules/@emmetio/stream-reader-utils": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@emmetio/stream-reader-utils/-/stream-reader-utils-0.1.0.tgz", + "integrity": "sha512-ZsZ2I9Vzso3Ho/pjZFsmmZ++FWeEd/txqybHTm4OgaZzdS8V9V/YYWQwg5TC38Z7uLWUV1vavpLLbjJtKubR1A==", + "license": "MIT" + }, + "node_modules/@emnapi/runtime": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.8.1.tgz", + "integrity": "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.3.tgz", + "integrity": "sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.3.tgz", + "integrity": "sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.3.tgz", + "integrity": "sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.3.tgz", + "integrity": "sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.3.tgz", + "integrity": "sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.3.tgz", + "integrity": "sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.3.tgz", + "integrity": "sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.3.tgz", + "integrity": "sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.3.tgz", + "integrity": "sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.3.tgz", + "integrity": "sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.3.tgz", + "integrity": "sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.3.tgz", + "integrity": "sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.3.tgz", + "integrity": "sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.3.tgz", + "integrity": "sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.3.tgz", + "integrity": "sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.3.tgz", + "integrity": "sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.3.tgz", + "integrity": "sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.3.tgz", + "integrity": "sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.3.tgz", + "integrity": "sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.3.tgz", + "integrity": "sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.3.tgz", + "integrity": "sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.3.tgz", + "integrity": "sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.3.tgz", + "integrity": "sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.3.tgz", + "integrity": "sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.3.tgz", + "integrity": "sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.3.tgz", + "integrity": "sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@img/colour": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.0.0.tgz", + "integrity": "sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz", + "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-darwin-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz", + "integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz", + "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz", + "integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz", + "integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==", + "cpu": [ + "arm" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz", + "integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-ppc64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz", + "integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==", + "cpu": [ + "ppc64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-riscv64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz", + "integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==", + "cpu": [ + "riscv64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz", + "integrity": "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==", + "cpu": [ + "s390x" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz", + "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz", + "integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz", + "integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-arm": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz", + "integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==", + "cpu": [ + "arm" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz", + "integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-ppc64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz", + "integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==", + "cpu": [ + "ppc64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-ppc64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-riscv64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz", + "integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==", + "cpu": [ + "riscv64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-riscv64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-s390x": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz", + "integrity": "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==", + "cpu": [ + "s390x" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz", + "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz", + "integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz", + "integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-wasm32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz", + "integrity": "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==", + "cpu": [ + "wasm32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", + "optional": true, + "dependencies": { + "@emnapi/runtime": "^1.7.0" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz", + "integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-ia32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz", + "integrity": "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==", + "cpu": [ + "ia32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz", + "integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "license": "MIT", + "peer": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@oslojs/encoding": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@oslojs/encoding/-/encoding-1.1.0.tgz", + "integrity": "sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==", + "license": "MIT" + }, + "node_modules/@parcel/watcher": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.6.tgz", + "integrity": "sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^2.0.3", + "is-glob": "^4.0.3", + "node-addon-api": "^7.0.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.6", + "@parcel/watcher-darwin-arm64": "2.5.6", + "@parcel/watcher-darwin-x64": "2.5.6", + "@parcel/watcher-freebsd-x64": "2.5.6", + "@parcel/watcher-linux-arm-glibc": "2.5.6", + "@parcel/watcher-linux-arm-musl": "2.5.6", + "@parcel/watcher-linux-arm64-glibc": "2.5.6", + "@parcel/watcher-linux-arm64-musl": "2.5.6", + "@parcel/watcher-linux-x64-glibc": "2.5.6", + "@parcel/watcher-linux-x64-musl": "2.5.6", + "@parcel/watcher-win32-arm64": "2.5.6", + "@parcel/watcher-win32-ia32": "2.5.6", + "@parcel/watcher-win32-x64": "2.5.6" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.6.tgz", + "integrity": "sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.6.tgz", + "integrity": "sha512-Z2ZdrnwyXvvvdtRHLmM4knydIdU9adO3D4n/0cVipF3rRiwP+3/sfzpAwA/qKFL6i1ModaabkU7IbpeMBgiVEA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.6.tgz", + "integrity": "sha512-HgvOf3W9dhithcwOWX9uDZyn1lW9R+7tPZ4sug+NGrGIo4Rk1hAXLEbcH1TQSqxts0NYXXlOWqVpvS1SFS4fRg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.6.tgz", + "integrity": "sha512-vJVi8yd/qzJxEKHkeemh7w3YAn6RJCtYlE4HPMoVnCpIXEzSrxErBW5SJBgKLbXU3WdIpkjBTeUNtyBVn8TRng==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.6.tgz", + "integrity": "sha512-9JiYfB6h6BgV50CCfasfLf/uvOcJskMSwcdH1PHH9rvS1IrNy8zad6IUVPVUfmXr+u+Km9IxcfMLzgdOudz9EQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.6.tgz", + "integrity": "sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.6.tgz", + "integrity": "sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.6.tgz", + "integrity": "sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.6.tgz", + "integrity": "sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.6.tgz", + "integrity": "sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.6.tgz", + "integrity": "sha512-3ukyebjc6eGlw9yRt678DxVF7rjXatWiHvTXqphZLvo7aC5NdEgFufVwjFfY51ijYEWpXbqF5jtrK275z52D4Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.6.tgz", + "integrity": "sha512-k35yLp1ZMwwee3Ez/pxBi5cf4AoBKYXj00CZ80jUz5h8prpiaQsiRPKQMxoLstNuqe2vR4RNPEAEcjEFzhEz/g==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.6.tgz", + "integrity": "sha512-hbQlYcCq5dlAX9Qx+kFb0FHue6vbjlf0FrNzSKdYK2APUf7tGfGxQCk2ihEREmbR6ZMc0MVAD5RIX/41gpUzTw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-beta.27", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz", + "integrity": "sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==", + "license": "MIT" + }, + "node_modules/@rollup/pluginutils": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.3.0.tgz", + "integrity": "sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.58.0.tgz", + "integrity": "sha512-mr0tmS/4FoVk1cnaeN244A/wjvGDNItZKR8hRhnmCzygyRXYtKF5jVDSIILR1U97CTzAYmbgIj/Dukg62ggG5w==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.58.0.tgz", + "integrity": "sha512-+s++dbp+/RTte62mQD9wLSbiMTV+xr/PeRJEc/sFZFSBRlHPNPVaf5FXlzAL77Mr8FtSfQqCN+I598M8U41ccQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.58.0.tgz", + "integrity": "sha512-MFWBwTcYs0jZbINQBXHfSrpSQJq3IUOakcKPzfeSznONop14Pxuqa0Kg19GD0rNBMPQI2tFtu3UzapZpH0Uc1Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.58.0.tgz", + "integrity": "sha512-yiKJY7pj9c9JwzuKYLFaDZw5gma3fI9bkPEIyofvVfsPqjCWPglSHdpdwXpKGvDeYDms3Qal8qGMEHZ1M/4Udg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.58.0.tgz", + "integrity": "sha512-x97kCoBh5MOevpn/CNK9W1x8BEzO238541BGWBc315uOlN0AD/ifZ1msg+ZQB05Ux+VF6EcYqpiagfLJ8U3LvQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.58.0.tgz", + "integrity": "sha512-Aa8jPoZ6IQAG2eIrcXPpjRcMjROMFxCt1UYPZZtCxRV68WkuSigYtQ/7Zwrcr2IvtNJo7T2JfDXyMLxq5L4Jlg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.58.0.tgz", + "integrity": "sha512-Ob8YgT5kD/lSIYW2Rcngs5kNB/44Q2RzBSPz9brf2WEtcGR7/f/E9HeHn1wYaAwKBni+bdXEwgHvUd0x12lQSA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.58.0.tgz", + "integrity": "sha512-K+RI5oP1ceqoadvNt1FecL17Qtw/n9BgRSzxif3rTL2QlIu88ccvY+Y9nnHe/cmT5zbH9+bpiJuG1mGHRVwF4Q==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.58.0.tgz", + "integrity": "sha512-T+17JAsCKUjmbopcKepJjHWHXSjeW7O5PL7lEFaeQmiVyw4kkc5/lyYKzrv6ElWRX/MrEWfPiJWqbTvfIvjM1Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.58.0.tgz", + "integrity": "sha512-cCePktb9+6R9itIJdeCFF9txPU7pQeEHB5AbHu/MKsfH/k70ZtOeq1k4YAtBv9Z7mmKI5/wOLYjQ+B9QdxR6LA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.58.0.tgz", + "integrity": "sha512-iekUaLkfliAsDl4/xSdoCJ1gnnIXvoNz85C8U8+ZxknM5pBStfZjeXgB8lXobDQvvPRCN8FPmmuTtH+z95HTmg==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.58.0.tgz", + "integrity": "sha512-68ofRgJNl/jYJbxFjCKE7IwhbfxOl1muPN4KbIqAIe32lm22KmU7E8OPvyy68HTNkI2iV/c8y2kSPSm2mW/Q9Q==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.58.0.tgz", + "integrity": "sha512-dpz8vT0i+JqUKuSNPCP5SYyIV2Lh0sNL1+FhM7eLC457d5B9/BC3kDPp5BBftMmTNsBarcPcoz5UGSsnCiw4XQ==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.58.0.tgz", + "integrity": "sha512-4gdkkf9UJ7tafnweBCR/mk4jf3Jfl0cKX9Np80t5i78kjIH0ZdezUv/JDI2VtruE5lunfACqftJ8dIMGN4oHew==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.58.0.tgz", + "integrity": "sha512-YFS4vPnOkDTD/JriUeeZurFYoJhPf9GQQEF/v4lltp3mVcBmnsAdjEWhr2cjUCZzZNzxCG0HZOvJU44UGHSdzw==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.58.0.tgz", + "integrity": "sha512-x2xgZlFne+QVNKV8b4wwaCS8pwq3y14zedZ5DqLzjdRITvreBk//4Knbcvm7+lWmms9V9qFp60MtUd0/t/PXPw==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.58.0.tgz", + "integrity": "sha512-jIhrujyn4UnWF8S+DHSkAkDEO3hLX0cjzxJZPLF80xFyzyUIYgSMRcYQ3+uqEoyDD2beGq7Dj7edi8OnJcS/hg==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.58.0.tgz", + "integrity": "sha512-+410Srdoh78MKSJxTQ+hZ/Mx+ajd6RjjPwBPNd0R3J9FtL6ZA0GqiiyNjCO9In0IzZkCNrpGymSfn+kgyPQocg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.58.0.tgz", + "integrity": "sha512-ZjMyby5SICi227y1MTR3VYBpFTdZs823Rs/hpakufleBoufoOIB6jtm9FEoxn/cgO7l6PM2rCEl5Kre5vX0QrQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.58.0.tgz", + "integrity": "sha512-ds4iwfYkSQ0k1nb8LTcyXw//ToHOnNTJtceySpL3fa7tc/AsE+UpUFphW126A6fKBGJD5dhRvg8zw1rvoGFxmw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.58.0.tgz", + "integrity": "sha512-fd/zpJniln4ICdPkjWFhZYeY/bpnaN9pGa6ko+5WD38I0tTqk9lXMgXZg09MNdhpARngmxiCg0B0XUamNw/5BQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.58.0.tgz", + "integrity": "sha512-YpG8dUOip7DCz3nr/JUfPbIUo+2d/dy++5bFzgi4ugOGBIox+qMbbqt/JoORwvI/C9Kn2tz6+Bieoqd5+B1CjA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.58.0.tgz", + "integrity": "sha512-b9DI8jpFQVh4hIXFr0/+N/TzLdpBIoPzjt0Rt4xJbW3mzguV3mduR9cNgiuFcuL/TeORejJhCWiAXe3E/6PxWA==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.58.0.tgz", + "integrity": "sha512-CSrVpmoRJFN06LL9xhkitkwUcTZtIotYAF5p6XOR2zW0Zz5mzb3IPpcoPhB02frzMHFNo1reQ9xSF5fFm3hUsQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.58.0.tgz", + "integrity": "sha512-QFsBgQNTnh5K0t/sBsjJLq24YVqEIVkGpfN2VHsnN90soZyhaiA9UUHufcctVNL4ypJY0wrwad0wslx2KJQ1/w==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@shikijs/core": { + "version": "3.22.0", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-3.22.0.tgz", + "integrity": "sha512-iAlTtSDDbJiRpvgL5ugKEATDtHdUVkqgHDm/gbD2ZS9c88mx7G1zSYjjOxp5Qa0eaW0MAQosFRmJSk354PRoQA==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.22.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4", + "hast-util-to-html": "^9.0.5" + } + }, + "node_modules/@shikijs/engine-javascript": { + "version": "3.22.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-3.22.0.tgz", + "integrity": "sha512-jdKhfgW9CRtj3Tor0L7+yPwdG3CgP7W+ZEqSsojrMzCjD1e0IxIbwUMDDpYlVBlC08TACg4puwFGkZfLS+56Tw==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.22.0", + "@shikijs/vscode-textmate": "^10.0.2", + "oniguruma-to-es": "^4.3.4" + } + }, + "node_modules/@shikijs/engine-oniguruma": { + "version": "3.22.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.22.0.tgz", + "integrity": "sha512-DyXsOG0vGtNtl7ygvabHd7Mt5EY8gCNqR9Y7Lpbbd/PbJvgWrqaKzH1JW6H6qFkuUa8aCxoiYVv8/YfFljiQxA==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.22.0", + "@shikijs/vscode-textmate": "^10.0.2" + } + }, + "node_modules/@shikijs/langs": { + "version": "3.22.0", + "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-3.22.0.tgz", + "integrity": "sha512-x/42TfhWmp6H00T6uwVrdTJGKgNdFbrEdhaDwSR5fd5zhQ1Q46bHq9EO61SCEWJR0HY7z2HNDMaBZp8JRmKiIA==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.22.0" + } + }, + "node_modules/@shikijs/themes": { + "version": "3.22.0", + "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-3.22.0.tgz", + "integrity": "sha512-o+tlOKqsr6FE4+mYJG08tfCFDS+3CG20HbldXeVoyP+cYSUxDhrFf3GPjE60U55iOkkjbpY2uC3It/eeja35/g==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.22.0" + } + }, + "node_modules/@shikijs/types": { + "version": "3.22.0", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.22.0.tgz", + "integrity": "sha512-491iAekgKDBFE67z70Ok5a8KBMsQ2IJwOWw3us/7ffQkIBCyOQfm/aNwVMBUriP02QshIfgHCBSIYAl3u2eWjg==", + "license": "MIT", + "dependencies": { + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + } + }, + "node_modules/@shikijs/vscode-textmate": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz", + "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==", + "license": "MIT" + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", + "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.2" + } + }, + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "license": "MIT" + }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", + "license": "MIT" + }, + "node_modules/@types/nlcst": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/nlcst/-/nlcst-2.0.3.tgz", + "integrity": "sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/node": { + "version": "25.3.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.3.0.tgz", + "integrity": "sha512-4K3bqJpXpqfg2XKGK9bpDTc6xO/xoUP/RBWS7AtRMug6zZFaRekiLzjVtAoZMquxoAbzBvy5nxQ7veS5eYzf8A==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "undici-types": "~7.18.0" + } + }, + "node_modules/@types/react": { + "version": "19.2.14", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.14.tgz", + "integrity": "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==", + "license": "MIT", + "dependencies": { + "csstype": "^3.2.2" + } + }, + "node_modules/@types/react-dom": { + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", + "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", + "license": "MIT", + "peerDependencies": { + "@types/react": "^19.2.0" + } + }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "license": "ISC" + }, + "node_modules/@vitejs/plugin-react": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz", + "integrity": "sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.28.0", + "@babel/plugin-transform-react-jsx-self": "^7.27.1", + "@babel/plugin-transform-react-jsx-source": "^7.27.1", + "@rolldown/pluginutils": "1.0.0-beta.27", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.17.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" + } + }, + "node_modules/@volar/kit": { + "version": "2.4.28", + "resolved": "https://registry.npmjs.org/@volar/kit/-/kit-2.4.28.tgz", + "integrity": "sha512-cKX4vK9dtZvDRaAzeoUdaAJEew6IdxHNCRrdp5Kvcl6zZOqb6jTOfk3kXkIkG3T7oTFXguEMt5+9ptyqYR84Pg==", + "license": "MIT", + "dependencies": { + "@volar/language-service": "2.4.28", + "@volar/typescript": "2.4.28", + "typesafe-path": "^0.2.2", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "typescript": "*" + } + }, + "node_modules/@volar/language-core": { + "version": "2.4.28", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.28.tgz", + "integrity": "sha512-w4qhIJ8ZSitgLAkVay6AbcnC7gP3glYM3fYwKV3srj8m494E3xtrCv6E+bWviiK/8hs6e6t1ij1s2Endql7vzQ==", + "license": "MIT", + "dependencies": { + "@volar/source-map": "2.4.28" + } + }, + "node_modules/@volar/language-server": { + "version": "2.4.28", + "resolved": "https://registry.npmjs.org/@volar/language-server/-/language-server-2.4.28.tgz", + "integrity": "sha512-NqcLnE5gERKuS4PUFwlhMxf6vqYo7hXtbMFbViXcbVkbZ905AIVWhnSo0ZNBC2V127H1/2zP7RvVOVnyITFfBw==", + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.28", + "@volar/language-service": "2.4.28", + "@volar/typescript": "2.4.28", + "path-browserify": "^1.0.1", + "request-light": "^0.7.0", + "vscode-languageserver": "^9.0.1", + "vscode-languageserver-protocol": "^3.17.5", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/@volar/language-service": { + "version": "2.4.28", + "resolved": "https://registry.npmjs.org/@volar/language-service/-/language-service-2.4.28.tgz", + "integrity": "sha512-Rh/wYCZJrI5vCwMk9xyw/Z+MsWxlJY1rmMZPsxUoJKfzIRjS/NF1NmnuEcrMbEVGja00aVpCsInJfixQTMdvLw==", + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.28", + "vscode-languageserver-protocol": "^3.17.5", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/@volar/source-map": { + "version": "2.4.28", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.28.tgz", + "integrity": "sha512-yX2BDBqJkRXfKw8my8VarTyjv48QwxdJtvRgUpNE5erCsgEUdI2DsLbpa+rOQVAJYshY99szEcRDmyHbF10ggQ==", + "license": "MIT" + }, + "node_modules/@volar/typescript": { + "version": "2.4.28", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.28.tgz", + "integrity": "sha512-Ja6yvWrbis2QtN4ClAKreeUZPVYMARDYZl9LMEv1iQ1QdepB6wn0jTRxA9MftYmYa4DQ4k/DaSZpFPUfxl8giw==", + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.28", + "path-browserify": "^1.0.1", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/@vscode/emmet-helper": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/@vscode/emmet-helper/-/emmet-helper-2.11.0.tgz", + "integrity": "sha512-QLxjQR3imPZPQltfbWRnHU6JecWTF1QSWhx3GAKQpslx7y3Dp6sIIXhKjiUJ/BR9FX8PVthjr9PD6pNwOJfAzw==", + "license": "MIT", + "dependencies": { + "emmet": "^2.4.3", + "jsonc-parser": "^2.3.0", + "vscode-languageserver-textdocument": "^1.0.1", + "vscode-languageserver-types": "^3.15.1", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/@vscode/l10n": { + "version": "0.0.18", + "resolved": "https://registry.npmjs.org/@vscode/l10n/-/l10n-0.0.18.tgz", + "integrity": "sha512-KYSIHVmslkaCDyw013pphY+d7x1qV8IZupYfeIfzNA+nsaWHbn5uPuQRvdRFsa9zFzGeudPuoGoZ1Op4jrJXIQ==", + "license": "MIT" + }, + "node_modules/acorn": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-es7-plugin": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/acorn-es7-plugin/-/acorn-es7-plugin-1.1.7.tgz", + "integrity": "sha512-7D+8kscFMf6F2t+8ZRYmv82CncDZETsaZ4dEl5lh3qQez7FVABk2Vz616SAbnIq1PbNsLVaZjl2oSkk5BWAKng==", + "license": "MIT" + }, + "node_modules/ajv": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-draft-04": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz", + "integrity": "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==", + "license": "MIT", + "peerDependencies": { + "ajv": "^8.5.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "license": "ISC", + "dependencies": { + "string-width": "^4.1.0" + } + }, + "node_modules/ansi-align/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-align/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/ansi-align/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-align/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "license": "MIT", + "peer": true + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "license": "MIT", + "peer": true + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" + }, + "node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha512-dtXTVMkh6VkEEA7OhXnN1Ecb8aAGFdZ1LFxtOCoqj4qkyOJMt7+qs6Ahdy6p/NQCPYsRSXXivhSB/J5E9jmYKA==", + "license": "MIT", + "dependencies": { + "arr-flatten": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-exclude": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/arr-exclude/-/arr-exclude-1.0.0.tgz", + "integrity": "sha512-TiXbMMkPQNfoHcVi6jeU6IejGAFlcn0hYgVVe7tCiqL/ZtxbNkhDSMarUQjg/PAe9NQNvRd6YCVNutzo3Fxdug==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-differ": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", + "integrity": "sha512-LeZY+DZDRnvP7eMuQ6LHfCzUGxAAIViUBliK24P3hWXL6y4SortgR6Nim6xrkfSLlmH0+k+9NYNwVC2s53ZrYQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-iterate": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/array-iterate/-/array-iterate-2.0.1.tgz", + "integrity": "sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "license": "MIT", + "dependencies": { + "array-uniq": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha512-G2n5bG5fSUCpnsXz4+8FUkYsGPkNfLn9YvS66U5qbTIXI2Ynnlo4Bi42bWv+omKUCqz+ejzfClwne0alJWJPhg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/astro": { + "version": "5.17.3", + "resolved": "https://registry.npmjs.org/astro/-/astro-5.17.3.tgz", + "integrity": "sha512-69dcfPe8LsHzklwj+hl+vunWUbpMB6pmg35mACjetxbJeUNNys90JaBM8ZiwsPK689SAj/4Zqb1ayaANls9/MA==", + "license": "MIT", + "dependencies": { + "@astrojs/compiler": "^2.13.0", + "@astrojs/internal-helpers": "0.7.5", + "@astrojs/markdown-remark": "6.3.10", + "@astrojs/telemetry": "3.3.0", + "@capsizecss/unpack": "^4.0.0", + "@oslojs/encoding": "^1.1.0", + "@rollup/pluginutils": "^5.3.0", + "acorn": "^8.15.0", + "aria-query": "^5.3.2", + "axobject-query": "^4.1.0", + "boxen": "8.0.1", + "ci-info": "^4.3.1", + "clsx": "^2.1.1", + "common-ancestor-path": "^1.0.1", + "cookie": "^1.1.1", + "cssesc": "^3.0.0", + "debug": "^4.4.3", + "deterministic-object-hash": "^2.0.2", + "devalue": "^5.6.2", + "diff": "^8.0.3", + "dlv": "^1.1.3", + "dset": "^3.1.4", + "es-module-lexer": "^1.7.0", + "esbuild": "^0.27.3", + "estree-walker": "^3.0.3", + "flattie": "^1.1.1", + "fontace": "~0.4.0", + "github-slugger": "^2.0.0", + "html-escaper": "3.0.3", + "http-cache-semantics": "^4.2.0", + "import-meta-resolve": "^4.2.0", + "js-yaml": "^4.1.1", + "magic-string": "^0.30.21", + "magicast": "^0.5.1", + "mrmime": "^2.0.1", + "neotraverse": "^0.6.18", + "p-limit": "^6.2.0", + "p-queue": "^8.1.1", + "package-manager-detector": "^1.6.0", + "piccolore": "^0.1.3", + "picomatch": "^4.0.3", + "prompts": "^2.4.2", + "rehype": "^13.0.2", + "semver": "^7.7.3", + "shiki": "^3.21.0", + "smol-toml": "^1.6.0", + "svgo": "^4.0.0", + "tinyexec": "^1.0.2", + "tinyglobby": "^0.2.15", + "tsconfck": "^3.1.6", + "ultrahtml": "^1.6.0", + "unifont": "~0.7.3", + "unist-util-visit": "^5.0.0", + "unstorage": "^1.17.4", + "vfile": "^6.0.3", + "vite": "^6.4.1", + "vitefu": "^1.1.1", + "xxhash-wasm": "^1.1.0", + "yargs-parser": "^21.1.1", + "yocto-spinner": "^0.2.3", + "zod": "^3.25.76", + "zod-to-json-schema": "^3.25.1", + "zod-to-ts": "^1.2.0" + }, + "bin": { + "astro": "astro.js" + }, + "engines": { + "node": "18.20.8 || ^20.3.0 || >=22.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/astrodotbuild" + }, + "optionalDependencies": { + "sharp": "^0.34.0" + } + }, + "node_modules/astro/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/async-each": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz", + "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "optional": true + }, + "node_modules/async-function": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", + "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "license": "(MIT OR Apache-2.0)", + "optional": true, + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.24", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.24.tgz", + "integrity": "sha512-uHZg7N9ULTVbutaIsDRoUkoS8/h3bdsmVJYZ5l3wv8Cp/6UIIoRDm90hZ+BwxUj/hGBEzLxdHNSKuFpn8WOyZw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "browserslist": "^4.28.1", + "caniuse-lite": "^1.0.30001766", + "fraction.js": "^5.3.4", + "picocolors": "^1.1.1", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/ava": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/ava/-/ava-0.15.2.tgz", + "integrity": "sha512-aGjJz5OtTle5hS+SkofHfVjdjizDB/AHO270EiPiTTl2+BOnY/ykSgaMrt/KH/KkVQrd42Aqpi6+McSh4ZLKPw==", + "license": "MIT", + "dependencies": { + "arr-diff": "^2.0.0", + "arr-flatten": "^1.0.1", + "array-union": "^1.0.1", + "array-uniq": "^1.0.2", + "arrify": "^1.0.0", + "ava-init": "^0.1.0", + "babel-code-frame": "^6.7.5", + "babel-core": "^6.3.21", + "babel-plugin-ava-throws-helper": "0.0.4", + "babel-plugin-detective": "^1.0.2", + "babel-plugin-espower": "^2.1.0", + "babel-plugin-transform-runtime": "^6.3.13", + "babel-preset-es2015": "^6.3.13", + "babel-preset-stage-2": "^6.3.13", + "babel-runtime": "^6.3.19", + "bluebird": "^3.0.0", + "caching-transform": "^1.0.0", + "chalk": "^1.0.0", + "clean-yaml-object": "^0.1.0", + "cli-cursor": "^1.0.2", + "cli-spinners": "^0.1.2", + "cli-truncate": "^0.2.0", + "co-with-promise": "^4.6.0", + "common-path-prefix": "^1.0.0", + "convert-source-map": "^1.2.0", + "core-assert": "^0.2.0", + "currently-unhandled": "^0.4.1", + "debug": "^2.2.0", + "empower-core": "^0.5.0", + "figures": "^1.4.0", + "find-cache-dir": "^0.1.1", + "fn-name": "^2.0.0", + "globby": "^4.0.0", + "has-flag": "^2.0.0", + "ignore-by-default": "^1.0.0", + "is-ci": "^1.0.7", + "is-generator-fn": "^1.0.0", + "is-obj": "^1.0.0", + "is-observable": "^0.2.0", + "is-promise": "^2.1.0", + "last-line-stream": "^1.0.0", + "lodash.debounce": "^4.0.3", + "loud-rejection": "^1.2.0", + "matcher": "^0.1.1", + "max-timeout": "^1.0.0", + "md5-hex": "^1.2.0", + "meow": "^3.7.0", + "ms": "^0.7.1", + "multimatch": "^2.1.0", + "not-so-shallow": "^0.1.3", + "object-assign": "^4.0.1", + "observable-to-promise": "^0.4.0", + "option-chain": "^0.1.0", + "package-hash": "^1.1.0", + "pkg-conf": "^1.0.1", + "plur": "^2.0.0", + "power-assert-formatter": "^1.3.0", + "power-assert-renderers": "^0.1.0", + "pretty-ms": "^2.0.0", + "repeating": "^2.0.0", + "require-precompiled": "^0.1.0", + "resolve-cwd": "^1.0.0", + "set-immediate-shim": "^1.0.1", + "slash": "^1.0.0", + "source-map-support": "^0.4.0", + "stack-utils": "^0.4.0", + "strip-ansi": "^3.0.1", + "strip-bom": "^2.0.0", + "time-require": "^0.1.2", + "unique-temp-dir": "^1.0.0", + "update-notifier": "^0.7.0" + }, + "bin": { + "ava": "cli.js" + }, + "engines": { + "node": ">=0.10.0" + }, + "optionalDependencies": { + "chokidar": "^1.4.2" + } + }, + "node_modules/ava-init": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ava-init/-/ava-init-0.1.6.tgz", + "integrity": "sha512-Y6CAxipHCYSRwFf2hJ/WLrUulI7UJZvLg2q727Ls6JpbDgT1vFVKDa5KPB8eDP2EFkLoxTQvfPt8oQwChcrd2Q==", + "license": "MIT", + "dependencies": { + "arr-exclude": "^1.0.0", + "cross-spawn": "^4.0.0", + "pinkie-promise": "^2.0.0", + "read-pkg-up": "^1.0.1", + "the-argv": "^1.0.0", + "write-pkg": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ava/node_modules/anymatch": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", + "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", + "license": "ISC", + "optional": true, + "dependencies": { + "micromatch": "^2.1.5", + "normalize-path": "^2.0.0" + } + }, + "node_modules/ava/node_modules/braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha512-xU7bpz2ytJl1bH9cgIurjpg/n8Gohy9GTw81heDYLJQ4RU60dlyJsa+atVF2pI0yMMvKxI9HkKwjePCj5XI1hw==", + "license": "MIT", + "optional": true, + "dependencies": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ava/node_modules/chokidar": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", + "integrity": "sha512-mk8fAWcRUOxY7btlLtitj3A45jOwSAxH4tOFOoEGbVsl6cL6pPMWUy7dwZ/canfj3QEdP6FHSnf/l1c6/WkzVg==", + "license": "MIT", + "optional": true, + "dependencies": { + "anymatch": "^1.3.0", + "async-each": "^1.0.0", + "glob-parent": "^2.0.0", + "inherits": "^2.0.1", + "is-binary-path": "^1.0.0", + "is-glob": "^2.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.0.0" + }, + "optionalDependencies": { + "fsevents": "^1.0.0" + } + }, + "node_modules/ava/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "license": "MIT" + }, + "node_modules/ava/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/ava/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/ava/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ava/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "license": "MIT", + "optional": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ava/node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "deprecated": "Upgrade to fsevents v2 to mitigate potential security issues", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/ava/node_modules/glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha512-JDYOvfxio/t42HKdxkAYaCiBN7oYiuxykOxKxdaUW5Qn0zaYN3gRQWolrwdnf0shM9/EP0ebuuTmyoXNr1cC5w==", + "license": "ISC", + "optional": true, + "dependencies": { + "is-glob": "^2.0.0" + } + }, + "node_modules/ava/node_modules/is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ava/node_modules/is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==", + "license": "MIT", + "optional": true, + "dependencies": { + "is-extglob": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ava/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "license": "MIT", + "optional": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ava/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ava/node_modules/micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha512-LnU2XFEk9xxSJ6rfgAry/ty5qwUTyHYOBU0g4R6tIw5ljwgGIBmiKhRWLw5NpMOnrgUNcDJ4WMp8rl3sYVHLNA==", + "license": "MIT", + "optional": true, + "dependencies": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ava/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "license": "MIT", + "optional": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ava/node_modules/readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/ava/node_modules/readdirp/node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ava/node_modules/readdirp/node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ava/node_modules/readdirp/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "license": "MIT", + "optional": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ava/node_modules/readdirp/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "license": "MIT", + "optional": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ava/node_modules/readdirp/node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "license": "MIT", + "optional": true, + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ava/node_modules/readdirp/node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "license": "MIT", + "optional": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ava/node_modules/readdirp/node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "license": "MIT", + "optional": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ava/node_modules/readdirp/node_modules/expand-brackets/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "license": "MIT", + "optional": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ava/node_modules/readdirp/node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "license": "MIT", + "optional": true, + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ava/node_modules/readdirp/node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "license": "MIT", + "optional": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ava/node_modules/readdirp/node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "license": "MIT", + "optional": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ava/node_modules/readdirp/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ava/node_modules/readdirp/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "license": "MIT", + "optional": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ava/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "license": "MIT", + "optional": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g==", + "license": "MIT", + "dependencies": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + } + }, + "node_modules/babel-code-frame/node_modules/js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg==", + "license": "MIT" + }, + "node_modules/babel-core": { + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", + "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", + "license": "MIT", + "dependencies": { + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" + } + }, + "node_modules/babel-core/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "license": "MIT" + }, + "node_modules/babel-core/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/babel-core/node_modules/json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==", + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/babel-core/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/babel-generator": { + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "license": "MIT", + "dependencies": { + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" + } + }, + "node_modules/babel-generator/node_modules/jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha512-Mke0DA0QjUWuJlhsE0ZPPhYiJkRap642SmI/4ztCFaUs6V2AiH1sfecc+57NgaryfAA2VR3v6O+CSjC1jZJKOA==", + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/babel-helper-bindify-decorators": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz", + "integrity": "sha512-TYX2QQATKA6Wssp6j7jqlw4QLmABDN1olRdEHndYvBXdaXM5dcx6j5rN0+nd+aVL+Th40fAEYvvw/Xxd/LETuQ==", + "license": "MIT", + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-helper-builder-binary-assignment-operator-visitor": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", + "integrity": "sha512-gCtfYORSG1fUMX4kKraymq607FWgMWg+j42IFPc18kFQEsmtaibP4UrqsXt8FlEJle25HUd4tsoDR7H2wDhe9Q==", + "license": "MIT", + "dependencies": { + "babel-helper-explode-assignable-expression": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-helper-call-delegate": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", + "integrity": "sha512-RL8n2NiEj+kKztlrVJM9JT1cXzzAdvWFh76xh/H1I4nKwunzE4INBXn8ieCZ+wh4zWszZk7NBS1s/8HR5jDkzQ==", + "license": "MIT", + "dependencies": { + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-helper-define-map": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", + "integrity": "sha512-bHkmjcC9lM1kmZcVpA5t2om2nzT/xiZpo6TJq7UlZ3wqKfzia4veeXbIhKvJXAMzhhEBd3cR1IElL5AenWEUpA==", + "license": "MIT", + "dependencies": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "node_modules/babel-helper-explode-assignable-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", + "integrity": "sha512-qe5csbhbvq6ccry9G7tkXbzNtcDiH4r51rrPUbwwoTzZ18AqxWYRZT6AOmxrpxKnQBW0pYlBI/8vh73Z//78nQ==", + "license": "MIT", + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-helper-explode-class": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz", + "integrity": "sha512-SFbWewr0/0U4AiRzsHqwsbOQeLXVa9T1ELdqEa2efcQB5KopTnunAqoj07TuHlN2lfTQNPGO/rJR4FMln5fVcA==", + "license": "MIT", + "dependencies": { + "babel-helper-bindify-decorators": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-helper-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "integrity": "sha512-Oo6+e2iX+o9eVvJ9Y5eKL5iryeRdsIkwRYheCuhYdVHsdEQysbc2z2QkqCLIYnNxkT5Ss3ggrHdXiDI7Dhrn4Q==", + "license": "MIT", + "dependencies": { + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-helper-get-function-arity": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", + "integrity": "sha512-WfgKFX6swFB1jS2vo+DwivRN4NB8XUdM3ij0Y1gnC21y1tdBoe6xjVnd7NSI6alv+gZXCtJqvrTeMW3fR/c0ng==", + "license": "MIT", + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-helper-hoist-variables": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", + "integrity": "sha512-zAYl3tqerLItvG5cKYw7f1SpvIxS9zi7ohyGHaI9cgDUjAT6YcY9jIEH5CstetP5wHIVSceXwNS7Z5BpJg+rOw==", + "license": "MIT", + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-helper-optimise-call-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", + "integrity": "sha512-Op9IhEaxhbRT8MDXx2iNuMgciu2V8lDvYCNQbDGjdBNCjaMvyLf4wl4A3b8IgndCyQF8TwfgsQ8T3VD8aX1/pA==", + "license": "MIT", + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-helper-regex": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", + "integrity": "sha512-VlPiWmqmGJp0x0oK27Out1D+71nVVCTSdlbhIVoaBAj2lUgrNjBCRR9+llO4lTSb2O4r7PJg+RobRkhBrf6ofg==", + "license": "MIT", + "dependencies": { + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "node_modules/babel-helper-remap-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", + "integrity": "sha512-RYqaPD0mQyQIFRu7Ho5wE2yvA/5jxqCIj/Lv4BXNq23mHYu/vxikOy2JueLiBxQknwapwrJeNCesvY0ZcfnlHg==", + "license": "MIT", + "dependencies": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-helper-replace-supers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", + "integrity": "sha512-sLI+u7sXJh6+ToqDr57Bv973kCepItDhMou0xCP2YPVmR1jkHSCY+p1no8xErbV1Siz5QE8qKT1WIwybSWlqjw==", + "license": "MIT", + "dependencies": { + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha512-n7pFrqQm44TCYvrCDb0MqabAF+JUBq+ijBvNMUxpkLjJaAu32faIexewMumrH5KLLJ1HDyT0PTEqRyAe/GwwuQ==", + "license": "MIT", + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "node_modules/babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha512-Bl3ZiA+LjqaMtNYopA9TYE9HP1tQ+E5dLxE0XrAzcIJeK2UqF0/EaqXwBn9esd4UmTfEab+P+UYQ1GnioFIb/w==", + "license": "MIT", + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-ava-throws-helper": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/babel-plugin-ava-throws-helper/-/babel-plugin-ava-throws-helper-0.0.4.tgz", + "integrity": "sha512-PkRTz2+iI6Yrp98Gr0r3JlKcN1QIatLyxurYKPFRs9ExqCCt5LxWG019/Otp+KAaDoj4+vNpazCHu2Oc2ozXJA==", + "license": "MIT", + "dependencies": { + "babel-template": "^6.7.0", + "babel-types": "^6.7.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-plugin-check-es2015-constants": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", + "integrity": "sha512-B1M5KBP29248dViEo1owyY32lk1ZSH2DaNNrXLGt8lyjjHm7pBqAdQ7VKUPR6EEDO323+OvT3MQXbCin8ooWdA==", + "license": "MIT", + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-detective": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/babel-plugin-detective/-/babel-plugin-detective-1.0.2.tgz", + "integrity": "sha512-g3MMQ1iyyTCliKF3DYOWOFMNGwt9PZ2ffAvwx/EgtVTWkFmFXxwIY7FMMvkcjhoQeBYlv5FyHCgUkMnAKUjENw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-plugin-espower": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/babel-plugin-espower/-/babel-plugin-espower-2.4.0.tgz", + "integrity": "sha512-/+SRpy7pKgTI28oEHfn1wkuM5QFAdRq8WNsOOih1dVrdV6A/WbNbRZyl0eX5eyDgtb0lOE27PeDFuCX2j8OxVg==", + "license": "MIT", + "dependencies": { + "babel-generator": "^6.1.0", + "babylon": "^6.1.0", + "call-matcher": "^1.0.0", + "core-js": "^2.0.0", + "espower-location-detector": "^1.0.0", + "espurify": "^1.6.0", + "estraverse": "^4.1.1" + } + }, + "node_modules/babel-plugin-syntax-async-functions": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", + "integrity": "sha512-4Zp4unmHgw30A1eWI5EpACji2qMocisdXhAftfhXoSV9j0Tvj6nRFE3tOmRY912E0FMRm/L5xWE7MGVT2FoLnw==", + "license": "MIT" + }, + "node_modules/babel-plugin-syntax-async-generators": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz", + "integrity": "sha512-EbciFN5Jb9iqU9bqaLmmFLx2G8pAUsvpWJ6OzOWBNrSY9qTohXj+7YfZx6Ug1Qqh7tCb1EA7Jvn9bMC1HBiucg==", + "license": "MIT" + }, + "node_modules/babel-plugin-syntax-class-properties": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", + "integrity": "sha512-chI3Rt9T1AbrQD1s+vxw3KcwC9yHtF621/MacuItITfZX344uhQoANjpoSJZleAmW2tjlolqB/f+h7jIqXa7pA==", + "license": "MIT" + }, + "node_modules/babel-plugin-syntax-decorators": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz", + "integrity": "sha512-AWj19x2aDm8qFQ5O2JcD6pwJDW1YdcnO+1b81t7gxrGjz5VHiUqeYWAR4h7zueWMalRelrQDXprv2FrY1dbpbw==", + "license": "MIT" + }, + "node_modules/babel-plugin-syntax-dynamic-import": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", + "integrity": "sha512-MioUE+LfjCEz65Wf7Z/Rm4XCP5k2c+TbMd2Z2JKc7U9uwjBhAfNPE48KC4GTGKhppMeYVepwDBNO/nGY6NYHBA==", + "license": "MIT" + }, + "node_modules/babel-plugin-syntax-exponentiation-operator": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", + "integrity": "sha512-Z/flU+T9ta0aIEKl1tGEmN/pZiI1uXmCiGFRegKacQfEJzp7iNsKloZmyJlQr+75FCJtiFfGIK03SiCvCt9cPQ==", + "license": "MIT" + }, + "node_modules/babel-plugin-syntax-object-rest-spread": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "integrity": "sha512-C4Aq+GaAj83pRQ0EFgTvw5YO6T3Qz2KGrNRwIj9mSoNHVvdZY4KO2uA6HNtNXCw993iSZnckY1aLW8nOi8i4+w==", + "license": "MIT" + }, + "node_modules/babel-plugin-syntax-trailing-function-commas": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", + "integrity": "sha512-Gx9CH3Q/3GKbhs07Bszw5fPTlU+ygrOGfAhEt7W2JICwufpC4SuO0mG0+4NykPBSYPMJhqvVlDBU17qB1D+hMQ==", + "license": "MIT" + }, + "node_modules/babel-plugin-transform-async-generator-functions": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz", + "integrity": "sha512-uT7eovUxtXe8Q2ufcjRuJIOL0hg6VAUJhiWJBLxH/evYAw+aqoJLcYTR8hqx13iOx/FfbCMHgBmXWZjukbkyPg==", + "license": "MIT", + "dependencies": { + "babel-helper-remap-async-to-generator": "^6.24.1", + "babel-plugin-syntax-async-generators": "^6.5.0", + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", + "integrity": "sha512-7BgYJujNCg0Ti3x0c/DL3tStvnKS6ktIYOmo9wginv/dfZOrbSZ+qG4IRRHMBOzZ5Awb1skTiAsQXg/+IWkZYw==", + "license": "MIT", + "dependencies": { + "babel-helper-remap-async-to-generator": "^6.24.1", + "babel-plugin-syntax-async-functions": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-class-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", + "integrity": "sha512-n4jtBA3OYBdvG5PRMKsMXJXHfLYw/ZOmtxCLOOwz6Ro5XlrColkStLnz1AS1L2yfPA9BKJ1ZNlmVCLjAL9DSIg==", + "license": "MIT", + "dependencies": { + "babel-helper-function-name": "^6.24.1", + "babel-plugin-syntax-class-properties": "^6.8.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-decorators": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz", + "integrity": "sha512-skQ2CImwDkCHu0mkWvCOlBCpBIHW4/49IZWVwV4A/EnWjL9bB6UBvLyMNe3Td5XDStSZNhe69j4bfEW8dvUbew==", + "license": "MIT", + "dependencies": { + "babel-helper-explode-class": "^6.24.1", + "babel-plugin-syntax-decorators": "^6.13.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-arrow-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", + "integrity": "sha512-PCqwwzODXW7JMrzu+yZIaYbPQSKjDTAsNNlK2l5Gg9g4rz2VzLnZsStvp/3c46GfXpwkyufb3NCyG9+50FF1Vg==", + "license": "MIT", + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-es2015-block-scoped-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", + "integrity": "sha512-2+ujAT2UMBzYFm7tidUsYh+ZoIutxJ3pN9IYrF1/H6dCKtECfhmB8UkHVpyxDwkj0CYbQG35ykoz925TUnBc3A==", + "license": "MIT", + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-es2015-block-scoping": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", + "integrity": "sha512-YiN6sFAQ5lML8JjCmr7uerS5Yc/EMbgg9G8ZNmk2E3nYX4ckHR01wrkeeMijEf5WHNK5TW0Sl0Uu3pv3EdOJWw==", + "license": "MIT", + "dependencies": { + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "node_modules/babel-plugin-transform-es2015-classes": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", + "integrity": "sha512-5Dy7ZbRinGrNtmWpquZKZ3EGY8sDgIVB4CU8Om8q8tnMLrD/m94cKglVcHps0BCTdZ0TJeeAWOq2TK9MIY6cag==", + "license": "MIT", + "dependencies": { + "babel-helper-define-map": "^6.24.1", + "babel-helper-function-name": "^6.24.1", + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-helper-replace-supers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-computed-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", + "integrity": "sha512-C/uAv4ktFP/Hmh01gMTvYvICrKze0XVX9f2PdIXuriCSvUmV9j+u+BB9f5fJK3+878yMK6dkdcq+Ymr9mrcLzw==", + "license": "MIT", + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-destructuring": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", + "integrity": "sha512-aNv/GDAW0j/f4Uy1OEPZn1mqD+Nfy9viFGBfQ5bZyT35YqOiqx7/tXdyfZkJ1sC21NyEsBdfDY6PYmLHF4r5iA==", + "license": "MIT", + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-es2015-duplicate-keys": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", + "integrity": "sha512-ossocTuPOssfxO2h+Z3/Ea1Vo1wWx31Uqy9vIiJusOP4TbF7tPs9U0sJ9pX9OJPf4lXRGj5+6Gkl/HHKiAP5ug==", + "license": "MIT", + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-for-of": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", + "integrity": "sha512-DLuRwoygCoXx+YfxHLkVx5/NpeSbVwfoTeBykpJK7JhYWlL/O8hgAK/reforUnZDlxasOrVPPJVI/guE3dCwkw==", + "license": "MIT", + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-es2015-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", + "integrity": "sha512-iFp5KIcorf11iBqu/y/a7DK3MN5di3pNCzto61FqCNnUX4qeBwcV1SLqe10oXNnCaxBUImX3SckX2/o1nsrTcg==", + "license": "MIT", + "dependencies": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", + "integrity": "sha512-tjFl0cwMPpDYyoqYA9li1/7mGFit39XiNX5DKC/uCNjBctMxyL1/PT/l4rSlbvBG1pOKI88STRdUsWXB3/Q9hQ==", + "license": "MIT", + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-es2015-modules-amd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", + "integrity": "sha512-LnIIdGWIKdw7zwckqx+eGjcS8/cl8D74A3BpJbGjKTFFNJSMrjN4bIh22HY1AlkUbeLG6X6OZj56BDvWD+OeFA==", + "license": "MIT", + "dependencies": { + "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.26.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", + "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", + "license": "MIT", + "dependencies": { + "babel-plugin-transform-strict-mode": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-types": "^6.26.0" + } + }, + "node_modules/babel-plugin-transform-es2015-modules-systemjs": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", + "integrity": "sha512-ONFIPsq8y4bls5PPsAWYXH/21Hqv64TBxdje0FvU3MhIV6QM2j5YS7KvAzg/nTIVLot2D2fmFQrFWCbgHlFEjg==", + "license": "MIT", + "dependencies": { + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-modules-umd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", + "integrity": "sha512-LpVbiT9CLsuAIp3IG0tfbVo81QIhn6pE8xBJ7XSeCtFlMltuar5VuBV6y6Q45tpui9QWcy5i0vLQfCfrnF7Kiw==", + "license": "MIT", + "dependencies": { + "babel-plugin-transform-es2015-modules-amd": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-object-super": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", + "integrity": "sha512-8G5hpZMecb53vpD3mjs64NhI1au24TAmokQ4B+TBFBjN9cVoGoOvotdrMMRmHvVZUEvqGUPWL514woru1ChZMA==", + "license": "MIT", + "dependencies": { + "babel-helper-replace-supers": "^6.24.1", + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-es2015-parameters": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", + "integrity": "sha512-8HxlW+BB5HqniD+nLkQ4xSAVq3bR/pcYW9IigY+2y0dI+Y7INFeTbfAQr+63T3E4UDsZGjyb+l9txUnABWxlOQ==", + "license": "MIT", + "dependencies": { + "babel-helper-call-delegate": "^6.24.1", + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-shorthand-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", + "integrity": "sha512-mDdocSfUVm1/7Jw/FIRNw9vPrBQNePy6wZJlR8HAUBLybNp1w/6lr6zZ2pjMShee65t/ybR5pT8ulkLzD1xwiw==", + "license": "MIT", + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-spread": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", + "integrity": "sha512-3Ghhi26r4l3d0Js933E5+IhHwk0A1yiutj9gwvzmFbVV0sPMYk2lekhOufHBswX7NCoSeF4Xrl3sCIuSIa+zOg==", + "license": "MIT", + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-es2015-sticky-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", + "integrity": "sha512-CYP359ADryTo3pCsH0oxRo/0yn6UsEZLqYohHmvLQdfS9xkf+MbCzE3/Kolw9OYIY4ZMilH25z/5CbQbwDD+lQ==", + "license": "MIT", + "dependencies": { + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-plugin-transform-es2015-template-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", + "integrity": "sha512-x8b9W0ngnKzDMHimVtTfn5ryimars1ByTqsfBDwAqLibmuuQY6pgBQi5z1ErIsUOWBdw1bW9FSz5RZUojM4apg==", + "license": "MIT", + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-es2015-typeof-symbol": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", + "integrity": "sha512-fz6J2Sf4gYN6gWgRZaoFXmq93X+Li/8vf+fb0sGDVtdeWvxC9y5/bTD7bvfWMEq6zetGEHpWjtzRGSugt5kNqw==", + "license": "MIT", + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-es2015-unicode-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", + "integrity": "sha512-v61Dbbihf5XxnYjtBN04B/JBvsScY37R1cZT5r9permN1cp+b70DY3Ib3fIkgn1DI9U3tGgBJZVD8p/mE/4JbQ==", + "license": "MIT", + "dependencies": { + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "regexpu-core": "^2.0.0" + } + }, + "node_modules/babel-plugin-transform-exponentiation-operator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", + "integrity": "sha512-LzXDmbMkklvNhprr20//RStKVcT8Cu+SQtX18eMHLhjHf2yFzwtQ0S2f0jQ+89rokoNdmwoSqYzAhq86FxlLSQ==", + "license": "MIT", + "dependencies": { + "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", + "babel-plugin-syntax-exponentiation-operator": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-object-rest-spread": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", + "integrity": "sha512-ocgA9VJvyxwt+qJB0ncxV8kb/CjfTcECUY4tQ5VT7nP6Aohzobm8CDFaQ5FHdvZQzLmf0sgDxB8iRXZXxwZcyA==", + "license": "MIT", + "dependencies": { + "babel-plugin-syntax-object-rest-spread": "^6.8.0", + "babel-runtime": "^6.26.0" + } + }, + "node_modules/babel-plugin-transform-regenerator": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", + "integrity": "sha512-LS+dBkUGlNR15/5WHKe/8Neawx663qttS6AGqoOUhICc9d1KciBvtrQSuc0PI+CxQ2Q/S1aKuJ+u64GtLdcEZg==", + "license": "MIT", + "dependencies": { + "regenerator-transform": "^0.10.0" + } + }, + "node_modules/babel-plugin-transform-runtime": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz", + "integrity": "sha512-cpGMVC1vt/772y3jx1gwSaTitQVZuFDlllgreMsZ+rTYC6jlYXRyf5FQOgSnckOiA5QmzbXTyBY2A5AmZXF1fA==", + "license": "MIT", + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-transform-strict-mode": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", + "integrity": "sha512-j3KtSpjyLSJxNoCDrhwiJad8kw0gJ9REGj8/CqL0HeRyLnvUNYV9zcqluL6QJSXh3nfsLEmSLvwRfGzrgR96Pw==", + "license": "MIT", + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-preset-es2015": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz", + "integrity": "sha512-XfwUqG1Ry6R43m4Wfob+vHbIVBIqTg/TJY4Snku1iIzeH7mUnwHA8Vagmv+ZQbPwhS8HgsdQvy28Py3k5zpoFQ==", + "deprecated": "🙌 Thanks for using Babel: we recommend using babel-preset-env now: please read https://babeljs.io/env to update!", + "license": "MIT", + "dependencies": { + "babel-plugin-check-es2015-constants": "^6.22.0", + "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoping": "^6.24.1", + "babel-plugin-transform-es2015-classes": "^6.24.1", + "babel-plugin-transform-es2015-computed-properties": "^6.24.1", + "babel-plugin-transform-es2015-destructuring": "^6.22.0", + "babel-plugin-transform-es2015-duplicate-keys": "^6.24.1", + "babel-plugin-transform-es2015-for-of": "^6.22.0", + "babel-plugin-transform-es2015-function-name": "^6.24.1", + "babel-plugin-transform-es2015-literals": "^6.22.0", + "babel-plugin-transform-es2015-modules-amd": "^6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", + "babel-plugin-transform-es2015-modules-systemjs": "^6.24.1", + "babel-plugin-transform-es2015-modules-umd": "^6.24.1", + "babel-plugin-transform-es2015-object-super": "^6.24.1", + "babel-plugin-transform-es2015-parameters": "^6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "^6.24.1", + "babel-plugin-transform-es2015-spread": "^6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "^6.24.1", + "babel-plugin-transform-es2015-template-literals": "^6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "^6.22.0", + "babel-plugin-transform-es2015-unicode-regex": "^6.24.1", + "babel-plugin-transform-regenerator": "^6.24.1" + } + }, + "node_modules/babel-preset-stage-2": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz", + "integrity": "sha512-9F+nquz+37PrlTSBdpeQBKnQfAMNBnryXw+m4qBh35FNbJPfzZz+sjN2G5Uf1CRedU9PH7fJkTbYijxmkLX8Og==", + "license": "MIT", + "dependencies": { + "babel-plugin-syntax-dynamic-import": "^6.18.0", + "babel-plugin-transform-class-properties": "^6.24.1", + "babel-plugin-transform-decorators": "^6.24.1", + "babel-preset-stage-3": "^6.24.1" + } + }, + "node_modules/babel-preset-stage-3": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz", + "integrity": "sha512-eCbEOF8uN0KypFXJmZXn2sTk7bPV9uM5xov7G/7BM08TbQEObsVs0cEWfy6NQySlfk7JBi/t+XJP1JkruYfthA==", + "license": "MIT", + "dependencies": { + "babel-plugin-syntax-trailing-function-commas": "^6.22.0", + "babel-plugin-transform-async-generator-functions": "^6.24.1", + "babel-plugin-transform-async-to-generator": "^6.24.1", + "babel-plugin-transform-exponentiation-operator": "^6.24.1", + "babel-plugin-transform-object-rest-spread": "^6.22.0" + } + }, + "node_modules/babel-register": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", + "integrity": "sha512-veliHlHX06wjaeY8xNITbveXSiI+ASFnOqvne/LaIJIqOWi2Ogmj91KOugEz/hoh/fwMhXNBJPCv8Xaz5CyM4A==", + "license": "MIT", + "dependencies": { + "babel-core": "^6.26.0", + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.15" + } + }, + "node_modules/babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "license": "MIT", + "dependencies": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "node_modules/babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha512-PCOcLFW7/eazGUKIoqH97sO9A2UYMahsn/yRQ7uOk37iutwjq7ODtcTNF+iFDSHNfkctqsLRjLP7URnOx0T1fg==", + "license": "MIT", + "dependencies": { + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" + } + }, + "node_modules/babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha512-iSxeXx7apsjCHe9c7n8VtRXGzI2Bk1rBSOJgCCjfyXb6v1aCqE1KSEpq/8SXuVN8Ka/Rh1WDTF0MDzkvTA4MIA==", + "license": "MIT", + "dependencies": { + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" + } + }, + "node_modules/babel-traverse/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/babel-traverse/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha512-zhe3V/26rCWsEZK8kZN+HaQj5yQ1CilTObixFzKW1UWjqG7618Twz6YEsCnjfg5gBcJh02DrpCkS9h98ZqDY+g==", + "license": "MIT", + "dependencies": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + } + }, + "node_modules/babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "license": "MIT", + "bin": { + "babylon": "bin/babylon.js" + } + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" + }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "license": "MIT", + "optional": true, + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base-64": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/base-64/-/base-64-1.0.0.tgz", + "integrity": "sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==", + "license": "MIT" + }, + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "license": "MIT", + "optional": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/baseline-browser-mapping": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.0.tgz", + "integrity": "sha512-lIyg0szRfYbiy67j9KN8IyeD7q7hcmqnJ1ddWmNt19ItGpNN64mnllmxUNFIOdOm6by97jlL6wfpTTJrmnjWAA==", + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/bibtex-parse-js": { + "version": "0.0.24", + "resolved": "https://registry.npmjs.org/bibtex-parse-js/-/bibtex-parse-js-0.0.24.tgz", + "integrity": "sha512-mbH57T1NDeSt+jkOpqeG7zyfj+1yQydnDbNmuYFRyggMFEPOEHHMZ0z/Ss6K1P+Z8R/DukqUwh0erw7vvJN9hg==", + "license": "MIT", + "dependencies": { + "ava": "^0.15.2", + "xml2js": "*" + } + }, + "node_modules/binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "license": "MIT" + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "license": "ISC" + }, + "node_modules/boxen": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-8.0.1.tgz", + "integrity": "sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==", + "license": "MIT", + "dependencies": { + "ansi-align": "^3.0.1", + "camelcase": "^8.0.0", + "chalk": "^5.3.0", + "cli-boxes": "^3.0.0", + "string-width": "^7.2.0", + "type-fest": "^4.21.0", + "widest-line": "^5.0.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/chalk": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "license": "MIT", + "peer": true, + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buf-compare": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buf-compare/-/buf-compare-1.0.1.tgz", + "integrity": "sha512-Bvx4xH00qweepGc43xFvMs5BKASXTbHaHm6+kDYIK9p/4iFwjATQkmPKHQSgJZzKbAymhztRbXUf1Nqhzl73/Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/buffer-equals": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/buffer-equals/-/buffer-equals-1.0.4.tgz", + "integrity": "sha512-99MsCq0j5+RhubVEtKQgKaD6EM+UP3xJgIvQqwJ3SOLDUekzxMX1ylXBng+Wa2sh7mGT0W6RUly8ojjr1Tt6nA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cache-base/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/caching-transform": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-1.0.1.tgz", + "integrity": "sha512-TYu6IoS+HzPivTKBDbGbkdNE7V3GP9ETNuO1L901jhtIdmMmE4S5SXxXvIMPt4+poeqSGY47NQz1GFh3toDHqw==", + "license": "MIT", + "dependencies": { + "md5-hex": "^1.2.0", + "mkdirp": "^0.5.1", + "write-file-atomic": "^1.1.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-matcher": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/call-matcher/-/call-matcher-1.1.0.tgz", + "integrity": "sha512-IoQLeNwwf9KTNbtSA7aEBb1yfDbdnzwjCetjkC8io5oGeOmK2CBNdg0xr+tadRYKO0p7uQyZzvon0kXlZbvGrw==", + "license": "MIT", + "dependencies": { + "core-js": "^2.0.0", + "deep-equal": "^1.0.0", + "espurify": "^1.6.0", + "estraverse": "^4.0.0" + } + }, + "node_modules/call-signature": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/call-signature/-/call-signature-0.0.2.tgz", + "integrity": "sha512-qvYvkAVcoae0obt8OsZn0VEBHeEpvYIZDy1gGYtZDJG0fHawew+Mi0dBjieFz8F8dzQ2Kr19+nsDm+T5XFVs+Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/camelcase": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-8.0.0.tgz", + "integrity": "sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==", + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha512-bA/Z/DERHKqoEOrp+qeGKw1QlvEQkGZSc0XaY6VnTxZr+Kv1G5zFwttpjv8qxZ/sBPT4nthwZaAcsAZTJlSKXQ==", + "license": "MIT", + "dependencies": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/camelcase-keys/node_modules/camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha512-DLIsRzJVBQu72meAKPkWQOLcujdXT32hwdfnkI1frSiSRMK1MofjKHf+MEx0SB6fjEFXL8fBDv1dKymBlOp4Qw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001770", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001770.tgz", + "integrity": "sha512-x/2CLQ1jHENRbHg5PSId2sXq1CIO1CISvwWAj027ltMVG2UNgW+w9oH2+HzgEIRFembL8bUlXtfbBHR1fCg2xw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/capture-stack-trace": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.2.tgz", + "integrity": "sha512-X/WM2UQs6VMHUtjUDnZTRI+i1crWteJySFzr9UpGoQa4WQffXVTTXuekjl7TjZRlcF2XfjgITT0HxZ9RnxeT0w==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/cheerio": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.2.0.tgz", + "integrity": "sha512-WDrybc/gKFpTYQutKIK6UvfcuxijIZfMfXaYm8NMsPQxSYvf+13fXUJ4rztGGbJcBQ/GF55gvrZ0Bc0bj/mqvg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cheerio-select": "^2.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.2.2", + "encoding-sniffer": "^0.2.1", + "htmlparser2": "^10.1.0", + "parse5": "^7.3.0", + "parse5-htmlparser2-tree-adapter": "^7.1.0", + "parse5-parser-stream": "^7.1.2", + "undici": "^7.19.0", + "whatwg-mimetype": "^4.0.0" + }, + "engines": { + "node": ">=20.18.1" + }, + "funding": { + "url": "https://github.com/cheeriojs/cheerio?sponsor=1" + } + }, + "node_modules/cheerio-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", + "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-select": "^5.1.0", + "css-what": "^6.1.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/ci-info": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.4.0.tgz", + "integrity": "sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "license": "MIT", + "optional": true, + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "license": "MIT", + "optional": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "license": "MIT", + "optional": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/class-utils/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/clean-yaml-object": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/clean-yaml-object/-/clean-yaml-object-0.1.0.tgz", + "integrity": "sha512-3yONmlN9CSAkzNwnRCiJQ7Q2xK5mWuEfL3PuTZcAUzhObbXsfsnMptJzXwz93nc5zn9V9TwCVMmV7w4xsm43dw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-cursor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", + "integrity": "sha512-25tABq090YNKkF6JH7lcwO0zFJTRke4Jcq9iX2nr/Sz0Cjjv4gckmwlW6Ty/aoyFd6z3ysR2hMGC2GFugmBo6A==", + "license": "MIT", + "dependencies": { + "restore-cursor": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cli-spinners": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-0.1.2.tgz", + "integrity": "sha512-t22oC6e068eEBQ86SO3arUtd1ojcA3/lz3Fp2g/oL/lmDlFz/2yD8JHiebeCGYmoAovYpwKq4T64Uq5j+28Q9w==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cli-truncate": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz", + "integrity": "sha512-f4r4yJnbT++qUPI9NR4XLDLq41gQ+uqnPItWG0F5ZkehuNiTTa3EY0S4AqTSUOeJ7/zU41oWPQSNkW5BqPL9bg==", + "license": "MIT", + "dependencies": { + "slice-ansi": "0.0.4", + "string-width": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cli-truncate/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "license": "MIT", + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cli-truncate/node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", + "license": "MIT", + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/co-with-promise": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co-with-promise/-/co-with-promise-4.6.0.tgz", + "integrity": "sha512-WVBNmNJDqfiLcCt25n4ruZxESZdcCOT686aZ+D3p+PnJqdRysi+qVfH051dNOmI/hQJUUwFMDj3aCAMGLo8tQA==", + "license": "MIT", + "dependencies": { + "pinkie-promise": "^1.0.0" + }, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.10.0" + } + }, + "node_modules/co-with-promise/node_modules/pinkie": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-1.0.0.tgz", + "integrity": "sha512-VFVaU1ysKakao68ktZm76PIdOhvEfoNNRaGkyLln9Os7r0/MCxqHjHyBM7dT3pgTiBybqiPtpqKfpENwdBp50Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/co-with-promise/node_modules/pinkie-promise": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-1.0.0.tgz", + "integrity": "sha512-5mvtVNse2Ml9zpFKkWBpGsTPwm3DKhs+c95prO/F6E7d6DN0FPqxs6LONpLNpyD7Iheb7QN4BbUoKJgo+DnkQA==", + "license": "MIT", + "dependencies": { + "pinkie": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "license": "MIT", + "optional": true, + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/common-ancestor-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz", + "integrity": "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==", + "license": "ISC" + }, + "node_modules/common-path-prefix": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-1.0.0.tgz", + "integrity": "sha512-StWMCZw9nTO+RnxMCcapnQQqeZpaDvCD9+0Rrl8ZphFKWcJPyUGiEl64WoAkA+WJIxwKYzxldhYHU+EW1fQ2mQ==", + "license": "ISC" + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "license": "MIT" + }, + "node_modules/component-emitter": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", + "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", + "license": "MIT", + "optional": true, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "license": "MIT" + }, + "node_modules/configstore": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-2.1.0.tgz", + "integrity": "sha512-BOCxwwxF5WPspp1OBq9j0JLyL5JgJOTssz9PdOHr8VWjFijaC3PpjU48vFEX3uxx8sTusnVQckLbNzBq6fmkGw==", + "license": "BSD-2-Clause", + "dependencies": { + "dot-prop": "^3.0.0", + "graceful-fs": "^4.1.2", + "mkdirp": "^0.5.0", + "object-assign": "^4.0.1", + "os-tmpdir": "^1.0.0", + "osenv": "^0.1.0", + "uuid": "^2.0.1", + "write-file-atomic": "^1.1.2", + "xdg-basedir": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "license": "MIT" + }, + "node_modules/cookie": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz", + "integrity": "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/cookie-es": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-1.2.2.tgz", + "integrity": "sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==", + "license": "MIT" + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/core-assert": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/core-assert/-/core-assert-0.2.1.tgz", + "integrity": "sha512-IG97qShIP+nrJCXMCgkNZgH7jZQ4n8RpPyPeXX++T6avR/KhLhgLiHKoEn5Rc1KjfycSfA9DMa6m+4C4eguHhw==", + "license": "MIT", + "dependencies": { + "buf-compare": "^1.0.0", + "is-error": "^2.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", + "hasInstallScript": true, + "license": "MIT" + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "license": "MIT" + }, + "node_modules/create-error-class": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", + "integrity": "sha512-gYTKKexFO3kh200H1Nit76sRwRtOY32vQd3jpAQKpLtZqyNsSQNfI4N7o3eP2wUjV35pTWKRYqFUDBvUha/Pkw==", + "license": "MIT", + "dependencies": { + "capture-stack-trace": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cross-spawn": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", + "integrity": "sha512-yAXz/pA1tD8Gtg2S98Ekf/sewp3Lcp3YoFKJ4Hkp5h5yLWnKVTDU0kwjKJ8NDCYcfTLfyGkzTikst+jWypT1iA==", + "license": "MIT", + "dependencies": { + "lru-cache": "^4.0.1", + "which": "^1.2.9" + } + }, + "node_modules/cross-spawn/node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "license": "ISC", + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/cross-spawn/node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "license": "ISC" + }, + "node_modules/crossws": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.3.5.tgz", + "integrity": "sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==", + "license": "MIT", + "dependencies": { + "uncrypto": "^0.1.3" + } + }, + "node_modules/css-select": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz", + "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-tree": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz", + "integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.12.2", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css-what": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", + "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "license": "MIT", + "dependencies": { + "css-tree": "~2.2.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "license": "CC0-1.0" + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "license": "MIT" + }, + "node_modules/currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha512-/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng==", + "license": "MIT", + "dependencies": { + "array-find-index": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/data-view-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", + "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", + "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/inspect-js" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", + "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/date-time": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/date-time/-/date-time-0.1.1.tgz", + "integrity": "sha512-p4psdkgdNA6x0600SKbfWiOomNb33ADBMRHf49GMhYVgJsPefZlMSLXXVWWUpbqSxB3DL5/cxKa6a8i3XPK5Xg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/debug/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decode-named-character-reference": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.3.0.tgz", + "integrity": "sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==", + "license": "MIT", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/deep-equal": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.2.tgz", + "integrity": "sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg==", + "license": "MIT", + "dependencies": { + "is-arguments": "^1.1.1", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.5.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/defu": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", + "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==", + "license": "MIT" + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/destr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.5.tgz", + "integrity": "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==", + "license": "MIT" + }, + "node_modules/detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha512-BDKtmHlOzwI7iRuEkhzsnPoi5ypEhWAJB5RvHWe1kMr06js3uK5B3734i3ui5Yd+wOJV1cpE4JnivPD283GU/A==", + "license": "MIT", + "dependencies": { + "repeating": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "license": "Apache-2.0", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/deterministic-object-hash": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/deterministic-object-hash/-/deterministic-object-hash-2.0.2.tgz", + "integrity": "sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ==", + "license": "MIT", + "dependencies": { + "base-64": "^1.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/devalue": { + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.6.3.tgz", + "integrity": "sha512-nc7XjUU/2Lb+SvEFVGcWLiKkzfw8+qHI7zn8WYXKkLMgfGSHbgCEaR6bJpev8Cm6Rmrb19Gfd/tZvGqx9is3wg==", + "license": "MIT" + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "license": "Apache-2.0", + "peer": true + }, + "node_modules/diff": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.3.tgz", + "integrity": "sha512-qejHi7bcSD4hQAZE0tNAawRK1ZtafHDmMTMkrrIGgSLl7hTnQHmKCeB45xAcbfTqK2zowkM3j3bHt/4b/ARbYQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/diff-match-patch": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.5.tgz", + "integrity": "sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw==", + "license": "Apache-2.0" + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "license": "MIT" + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/dom-serializer/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-3.0.0.tgz", + "integrity": "sha512-k4ELWeEU3uCcwub7+dWydqQBRjAjkV9L33HjVRG5Xo2QybI6ja/v+4W73SRi8ubCqJz0l9XsTP1NbewfyqaSlw==", + "license": "MIT", + "dependencies": { + "is-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/dset": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.4.tgz", + "integrity": "sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", + "license": "BSD-3-Clause", + "dependencies": { + "readable-stream": "^2.0.2" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.302", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.302.tgz", + "integrity": "sha512-sM6HAN2LyK82IyPBpznDRqlTQAtuSaO+ShzFiWTvoMJLHyZ+Y39r8VMfHzwbU8MVBzQ4Wdn85+wlZl2TLGIlwg==", + "license": "ISC" + }, + "node_modules/emmet": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/emmet/-/emmet-2.4.11.tgz", + "integrity": "sha512-23QPJB3moh/U9sT4rQzGgeyyGIrcM+GH5uVYg2C6wZIxAIJq7Ng3QLT79tl8FUwDXhyq9SusfknOrofAKqvgyQ==", + "license": "MIT", + "workspaces": [ + "./packages/scanner", + "./packages/abbreviation", + "./packages/css-abbreviation", + "./" + ], + "dependencies": { + "@emmetio/abbreviation": "^2.3.3", + "@emmetio/css-abbreviation": "^2.1.8" + } + }, + "node_modules/emoji-regex": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz", + "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==", + "license": "MIT" + }, + "node_modules/empower-core": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/empower-core/-/empower-core-0.5.0.tgz", + "integrity": "sha512-ScNSpg7t4Lr22DCm10+0EUASasXKXWqb424IQqycXSkww9CSn3AiC9Rfbz76K3qZ/+cFNctdRuJyV61dMhex1A==", + "license": "MIT", + "dependencies": { + "call-signature": "0.0.2", + "core-js": "^1.2.6", + "xtend": "^4.0.0" + } + }, + "node_modules/empower-core/node_modules/core-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha512-ZiPp9pZlgxpWRu0M+YWbm6+aQ84XEfH1JRXvfOc/fILWI0VKhLC2LX13X1NYq4fULzLMq7Hfh43CSo2/aIaUPA==", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", + "license": "MIT" + }, + "node_modules/encoding-sniffer": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/encoding-sniffer/-/encoding-sniffer-0.2.1.tgz", + "integrity": "sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw==", + "dev": true, + "license": "MIT", + "dependencies": { + "iconv-lite": "^0.6.3", + "whatwg-encoding": "^3.1.1" + }, + "funding": { + "url": "https://github.com/fb55/encoding-sniffer?sponsor=1" + } + }, + "node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-ex": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", + "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.24.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.1.tgz", + "integrity": "sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw==", + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.2", + "arraybuffer.prototype.slice": "^1.0.4", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "data-view-buffer": "^1.0.2", + "data-view-byte-length": "^1.0.2", + "data-view-byte-offset": "^1.0.1", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-set-tostringtag": "^2.1.0", + "es-to-primitive": "^1.3.0", + "function.prototype.name": "^1.1.8", + "get-intrinsic": "^1.3.0", + "get-proto": "^1.0.1", + "get-symbol-description": "^1.1.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "internal-slot": "^1.1.0", + "is-array-buffer": "^3.0.5", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.2", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.2.1", + "is-set": "^2.0.3", + "is-shared-array-buffer": "^1.0.4", + "is-string": "^1.1.1", + "is-typed-array": "^1.1.15", + "is-weakref": "^1.1.1", + "math-intrinsics": "^1.1.0", + "object-inspect": "^1.13.4", + "object-keys": "^1.1.1", + "object.assign": "^4.1.7", + "own-keys": "^1.0.1", + "regexp.prototype.flags": "^1.5.4", + "safe-array-concat": "^1.1.3", + "safe-push-apply": "^1.0.0", + "safe-regex-test": "^1.1.0", + "set-proto": "^1.0.0", + "stop-iteration-iterator": "^1.1.0", + "string.prototype.trim": "^1.2.10", + "string.prototype.trimend": "^1.0.9", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.3", + "typed-array-byte-length": "^1.0.3", + "typed-array-byte-offset": "^1.0.4", + "typed-array-length": "^1.0.7", + "unbox-primitive": "^1.1.0", + "which-typed-array": "^1.1.19" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", + "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", + "license": "MIT" + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", + "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/esbuild": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.3.tgz", + "integrity": "sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.27.3", + "@esbuild/android-arm": "0.27.3", + "@esbuild/android-arm64": "0.27.3", + "@esbuild/android-x64": "0.27.3", + "@esbuild/darwin-arm64": "0.27.3", + "@esbuild/darwin-x64": "0.27.3", + "@esbuild/freebsd-arm64": "0.27.3", + "@esbuild/freebsd-x64": "0.27.3", + "@esbuild/linux-arm": "0.27.3", + "@esbuild/linux-arm64": "0.27.3", + "@esbuild/linux-ia32": "0.27.3", + "@esbuild/linux-loong64": "0.27.3", + "@esbuild/linux-mips64el": "0.27.3", + "@esbuild/linux-ppc64": "0.27.3", + "@esbuild/linux-riscv64": "0.27.3", + "@esbuild/linux-s390x": "0.27.3", + "@esbuild/linux-x64": "0.27.3", + "@esbuild/netbsd-arm64": "0.27.3", + "@esbuild/netbsd-x64": "0.27.3", + "@esbuild/openbsd-arm64": "0.27.3", + "@esbuild/openbsd-x64": "0.27.3", + "@esbuild/openharmony-arm64": "0.27.3", + "@esbuild/sunos-x64": "0.27.3", + "@esbuild/win32-arm64": "0.27.3", + "@esbuild/win32-ia32": "0.27.3", + "@esbuild/win32-x64": "0.27.3" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/espower-location-detector": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/espower-location-detector/-/espower-location-detector-1.0.0.tgz", + "integrity": "sha512-Y/3H6ytYwqC3YcOc0gOU22Lp3eI5GAFGOymTdzFyfaiglKgtsw2dePOgXY3yrV+QcLPMPiVYwBU9RKaDoh2bbQ==", + "license": "MIT", + "dependencies": { + "is-url": "^1.2.1", + "path-is-absolute": "^1.0.0", + "source-map": "^0.5.0", + "xtend": "^4.0.0" + } + }, + "node_modules/espurify": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/espurify/-/espurify-1.8.1.tgz", + "integrity": "sha512-ZDko6eY/o+D/gHCWyHTU85mKDgYcS4FJj7S+YD6WIInm7GQ6AnOjmcL4+buFV/JOztVLELi/7MmuGU5NHta0Mg==", + "license": "MIT", + "dependencies": { + "core-js": "^2.0.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eventemitter3": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.4.tgz", + "integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==", + "license": "MIT" + }, + "node_modules/exit-hook": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", + "integrity": "sha512-MsG3prOVw1WtLXAZbM3KiYtooKR1LvxHh3VHsVtIy0uiUu8usxgB/94DP2HxtD/661lLdB6yzQ09lGJSQr6nkg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha512-hxx03P2dJxss6ceIeri9cmYOT4SRs3Zk3afZwWpOsRqLqprhTR8u++SlC+sFGsQr7WGFPdMF7Gjc1njDLDK6UA==", + "license": "MIT", + "optional": true, + "dependencies": { + "is-posix-bracket": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha512-AFASGfIlnIbkKPQwX1yHaDjFvh/1gyKJODme52V6IORh69uEYgZp0o9C+qsIGNVEiuuhQU0CSSl++Rlegg1qvA==", + "license": "MIT", + "optional": true, + "dependencies": { + "fill-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-range/node_modules/fill-range": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", + "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", + "license": "MIT", + "optional": true, + "dependencies": { + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^3.0.0", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-range/node_modules/is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha512-QUzH43Gfb9+5yckcrSA0VBDwEtDUchrk4F6tfJZQuNzDJbEDB9cZNzSfXGQ1jqmdDY/kl41lUOWM9syA8z8jlg==", + "license": "MIT", + "optional": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT" + }, + "node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "license": "MIT", + "optional": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extend-shallow/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "license": "MIT", + "optional": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha512-1FOj1LOwn42TMrruOHGt18HemVnbwAmAak7krWk+wa93KXxGbK+2jpezm+ytJYDaBX0/SPLZFHKM7m+tKobWGg==", + "license": "MIT", + "optional": true, + "dependencies": { + "is-extglob": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", + "peer": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", + "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/fastq": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", + "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", + "license": "ISC", + "peer": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/figures": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha512-UxKlfCRuCBxSXU4C6t9scbDyWZ4VlaFFdojKtzJuSkuOBQ5CNFum+zZXFwHjo+CxBC1t6zlYPgHIgFjL8ggoEQ==", + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "license": "MIT", + "optional": true + }, + "node_modules/filename-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha512-BTCqyBaWBTsauvnHiE8i562+EdJj+oUpkqWp2R1iCoR8f6oo8STRu3of7WJJ0TqWtxN50a5YFpzYK4Jj9esYfQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "license": "MIT", + "peer": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/filled-array": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/filled-array/-/filled-array-1.1.0.tgz", + "integrity": "sha512-4XwZ1k4rgoF3Yap59MyXFmiUh2zu9fht32NYPSRYwLv4o8BWHxi60I1VH5kHje14qGMoS3qyfHQUsN16ROOugQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/find-cache-dir": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", + "integrity": "sha512-Z9XSBoNE7xQiV6MSgPuCfyMokH2K7JdpRkOYE1+mu3d4BFJtx3GW+f6Bo4q8IX6rlf5MYbLBKW0pjl2cWdkm2A==", + "license": "MIT", + "dependencies": { + "commondir": "^1.0.1", + "mkdirp": "^0.5.1", + "pkg-dir": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", + "license": "MIT", + "dependencies": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/flattie": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flattie/-/flattie-1.1.1.tgz", + "integrity": "sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/fn-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fn-name/-/fn-name-2.0.1.tgz", + "integrity": "sha512-oIDB1rXf3BUnn00bh2jVM0byuqr94rBh6g7ZfdKcbmp1we2GQtPzKdloyvBXHs+q3fvxB8EqX5ecFba3RwCSjA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fontace": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/fontace/-/fontace-0.4.1.tgz", + "integrity": "sha512-lDMvbAzSnHmbYMTEld5qdtvNH2/pWpICOqpean9IgC7vUbUJc3k+k5Dokp85CegamqQpFbXf0rAVkbzpyTA8aw==", + "license": "MIT", + "dependencies": { + "fontkitten": "^1.0.2" + } + }, + "node_modules/fontkitten": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/fontkitten/-/fontkitten-1.0.2.tgz", + "integrity": "sha512-piJxbLnkD9Xcyi7dWJRnqszEURixe7CrF/efBfbffe2DPyabmuIuqraruY8cXTs19QoM8VJzx47BDRVNXETM7Q==", + "license": "MIT", + "dependencies": { + "tiny-inflate": "^1.0.3" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/for-each": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha512-SKmowqGTJoPzLO1T0BBJpkfp3EMacCMOuH40hOUbrbzElVktk4DioXVM99QkLCyKoiuOmyjgcWMpVz2xjE7LZw==", + "license": "MIT", + "optional": true, + "dependencies": { + "for-in": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fraction.js": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-5.3.4.tgz", + "integrity": "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==", + "license": "MIT", + "engines": { + "node": "*" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "license": "MIT", + "optional": true, + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", + "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "functions-have-names": "^1.2.3", + "hasown": "^2.0.2", + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/fuse.js": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-7.1.0.tgz", + "integrity": "sha512-trLf4SzuuUxfusZADLINj+dE8clK1frKdmqiJNb1Es75fmI5oY6X2mxLVUciLLjxqw/xr72Dhy+lER6dGd02FQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=10" + } + }, + "node_modules/generator-function": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz", + "integrity": "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-east-asian-width": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.5.0.tgz", + "integrity": "sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-symbol-description": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", + "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/github-slugger": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", + "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==", + "license": "ISC" + }, + "node_modules/glob": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", + "integrity": "sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "license": "ISC", + "dependencies": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha512-ab1S1g1EbO7YzauaJLkgLp7DZVAqj9M/dvKlTt8DkXA2tiOIcSMrlVI2J1RZyB5iJVccEscjGn+kpOG9788MHA==", + "license": "MIT", + "optional": true, + "dependencies": { + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob-base/node_modules/glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha512-JDYOvfxio/t42HKdxkAYaCiBN7oYiuxykOxKxdaUW5Qn0zaYN3gRQWolrwdnf0shM9/EP0ebuuTmyoXNr1cC5w==", + "license": "ISC", + "optional": true, + "dependencies": { + "is-glob": "^2.0.0" + } + }, + "node_modules/glob-base/node_modules/is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob-base/node_modules/is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==", + "license": "MIT", + "optional": true, + "dependencies": { + "is-extglob": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "license": "ISC", + "peer": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "license": "MIT", + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-4.1.0.tgz", + "integrity": "sha512-JPDtMSr0bt25W64q792rvlrSwIaZwqUAhqdYKSr57Wh/xBcQ5JDWLM85ndn+Q1WdBQXLb9YGCl0QN/T0HpqU0A==", + "license": "MIT", + "dependencies": { + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "glob": "^6.0.1", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/got": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-5.6.0.tgz", + "integrity": "sha512-MnypzkaW8dldA8AbJFjMs7y14+ykd2V8JCLKSvX1Gmzx1alH3Y+3LArywHDoAF2wS3pnZp4gacoYtvqBeF6drQ==", + "license": "MIT", + "dependencies": { + "create-error-class": "^3.0.1", + "duplexer2": "^0.1.4", + "is-plain-obj": "^1.0.0", + "is-redirect": "^1.0.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "lowercase-keys": "^1.0.0", + "node-status-codes": "^1.0.0", + "object-assign": "^4.0.1", + "parse-json": "^2.1.0", + "pinkie-promise": "^2.0.0", + "read-all-stream": "^3.0.0", + "readable-stream": "^2.0.5", + "timed-out": "^2.0.0", + "unzip-response": "^1.0.0", + "url-parse-lax": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/got/node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, + "node_modules/h3": { + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/h3/-/h3-1.15.5.tgz", + "integrity": "sha512-xEyq3rSl+dhGX2Lm0+eFQIAzlDN6Fs0EcC4f7BNUmzaRX/PTzeuM+Tr2lHB8FoXggsQIeXLj8EDVgs5ywxyxmg==", + "license": "MIT", + "dependencies": { + "cookie-es": "^1.2.2", + "crossws": "^0.3.5", + "defu": "^6.1.4", + "destr": "^2.0.5", + "iron-webcrypto": "^1.2.1", + "node-mock-http": "^1.0.4", + "radix3": "^1.1.2", + "ufo": "^1.6.3", + "uncrypto": "^0.1.3" + } + }, + "node_modules/has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-bigints": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", + "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-color": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz", + "integrity": "sha512-kaNz5OTAYYmt646Hkqw50/qyxP2vFnTVu5AQ1Zmk22Kk5+4Qx6BpO8+u7IKsML5fOsFk0ZT0AcCJNYwcvaLBvw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha512-P+1n3MnwjR/Epg9BBo1KT8qbye2g2Ou4sFumihwt6I4tsUX7jnLcX4BTOSKg/B1ZrIYMN9FcEnG4x5a7NB8Eng==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "license": "MIT", + "optional": true, + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-value/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "license": "MIT", + "optional": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "license": "MIT", + "optional": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hast-util-from-html": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.3.tgz", + "integrity": "sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "devlop": "^1.1.0", + "hast-util-from-parse5": "^8.0.0", + "parse5": "^7.0.0", + "vfile": "^6.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-parse5": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.3.tgz", + "integrity": "sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "hastscript": "^9.0.0", + "property-information": "^7.0.0", + "vfile": "^6.0.0", + "vfile-location": "^5.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-is-element": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", + "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.1.0.tgz", + "integrity": "sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-from-parse5": "^8.0.0", + "hast-util-to-parse5": "^8.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "parse5": "^7.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-html": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz", + "integrity": "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-whitespace": "^3.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "stringify-entities": "^4.0.0", + "zwitch": "^2.0.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-parse5": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.1.tgz", + "integrity": "sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-text": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz", + "integrity": "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "unist-util-find-after": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-9.0.1.tgz", + "integrity": "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^4.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "integrity": "sha512-ycURW7oUxE2sNiPVw1HVEFsW+ecOpJ5zaj7eC0RlwhibhRBod20muUN8qu/gzx956YrLolVvs1MTXwKgC2rVEg==", + "license": "MIT", + "dependencies": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "license": "ISC" + }, + "node_modules/html-escaper": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-3.0.3.tgz", + "integrity": "sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==", + "license": "MIT" + }, + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/htmlparser2": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.1.0.tgz", + "integrity": "sha512-VTZkM9GWRAtEpveh7MSF6SjjrpNVNNVJfFup7xTY3UpFtm67foy9HDVXneLtFVt4pMz5kZtgNcvCniNFb1hlEQ==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.2.2", + "entities": "^7.0.1" + } + }, + "node_modules/htmlparser2/node_modules/entities": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.1.tgz", + "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", + "license": "BSD-2-Clause" + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ignore-by-default": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", + "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==", + "license": "ISC" + }, + "node_modules/immutable": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.4.tgz", + "integrity": "sha512-p6u1bG3YSnINT5RQmx/yRZBpenIl30kVxkTLDyHLIMk0gict704Q9n+thfDI7lTRm9vXdDYutVzXhzcThxTnXA==", + "license": "MIT" + }, + "node_modules/import-meta-resolve": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.2.0.tgz", + "integrity": "sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha512-aqwDFWSgSgfRaEwao5lg5KEcVd/2a+D1rvoG7NdilmYz0NwRk6StWpWdz/Hpk34MKPpx7s8XxUqimfcQK6gGlg==", + "license": "MIT", + "dependencies": { + "repeating": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "license": "ISC" + }, + "node_modules/internal-slot": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/iron-webcrypto": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-1.2.1.tgz", + "integrity": "sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/brc-dd" + } + }, + "node_modules/irregular-plurals": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-1.4.0.tgz", + "integrity": "sha512-kniTIJmaZYiwa17eTtWIfm0K342seyugl6vuC8DiiyiRAJWAVlLkqGCI0Im0neo0TkXw+pRcKaBPRdcKHnQJ6Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-accessor-descriptor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz", + "integrity": "sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==", + "license": "MIT", + "optional": true, + "dependencies": { + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-arguments": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.2.0.tgz", + "integrity": "sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "license": "MIT" + }, + "node_modules/is-async-function": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", + "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", + "license": "MIT", + "dependencies": { + "async-function": "^1.0.0", + "call-bound": "^1.0.3", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", + "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", + "license": "MIT", + "optional": true, + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-boolean-object": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", + "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "license": "MIT", + "optional": true + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "license": "MIT", + "dependencies": { + "ci-info": "^1.5.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-ci/node_modules/ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", + "license": "MIT" + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-descriptor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz", + "integrity": "sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==", + "license": "MIT", + "optional": true, + "dependencies": { + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-data-view": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-descriptor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz", + "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==", + "license": "MIT", + "optional": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-dotfile": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha512-9YclgOGtN/f8zx0Pr4FQYMdibBiTaH3sn52vjYip4ZSf6C4/6RfTEZ+MR4GvKhCxdPh21Bg42/WL55f6KSnKpg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha512-0EygVC5qPvIyb+gSz7zdD5/AAoS6Qrx1e//6N4yv4oNm30kqvdmG66oZFWVlQHUWe5OjP08FuTw2IdT0EOTcYA==", + "license": "MIT", + "optional": true, + "dependencies": { + "is-primitive": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-error": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-error/-/is-error-2.2.2.tgz", + "integrity": "sha512-IOQqts/aHWbiisY5DuPJQ0gcbvaLFCa7fBa9xoLfxBZvQ+ZI/Zh9xoI7Gk+G64N0FdK4AbibytHht2tWgpJWLg==", + "license": "MIT" + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", + "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-fn": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-1.0.0.tgz", + "integrity": "sha512-95jJZX6O/gdekidH2usRBr9WdRw4LU56CttPstXFxvG0r3QUE9eaIdz2p2Y7zrm6jxz7SjByAo1AtzwGlRvfOg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-generator-function": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz", + "integrity": "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.4", + "generator-function": "^2.0.0", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-npm": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", + "integrity": "sha512-9r39FIr3d+KD9SbX0sfMsHzb5PP3uimOiwr3YupUaUFG4W0l1U57Rx3utpttV7qz5U3jmrO5auUa04LU9pyHsg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", + "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-observable": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-0.2.0.tgz", + "integrity": "sha512-4JymFIKLU+QyN0J+Q1YMWGXGF/FbL/RPkr5R9UlTdvWmSYRQPeoub00WZ4EiWOEVxWz/djoPxNFF+iuBSJzYCw==", + "license": "MIT", + "dependencies": { + "symbol-observable": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "license": "MIT", + "optional": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-object/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha512-Yu68oeXJ7LeWNmZ3Zov/xg/oDBnBK2RNxwYY1ilNJX+tKKZqgPK+qOn/Gs9jEu66KDY9Netf5XLKNGzas/vPfQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha512-N3w1tFaRfk3UrPfqeRyD+GYDASU3W5VinKhlORy8EWVf/sIdDL9GAcew85XmktCfH+ngG7SRXEVDoO18WMdB/Q==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", + "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", + "license": "MIT" + }, + "node_modules/is-redirect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", + "integrity": "sha512-cr/SlUEe5zOGmzvj9bUyC4LVvkNVAXu4GytXLNMr1pny+a65MpQ9IJzFHD5vi7FyJgb4qt27+eS3TuQnqB+RQw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-retry-allowed": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", + "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", + "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-string": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", + "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-url": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", + "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", + "license": "MIT" + }, + "node_modules/is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", + "license": "MIT" + }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", + "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-wsl": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.1.tgz", + "integrity": "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==", + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "license": "MIT", + "optional": true, + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jiti": { + "version": "1.21.7", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", + "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", + "license": "MIT", + "peer": true, + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonc-parser": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.3.1.tgz", + "integrity": "sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==", + "license": "MIT" + }, + "node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/last-line-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/last-line-stream/-/last-line-stream-1.0.0.tgz", + "integrity": "sha512-A9su/wrZOLGwo27plXO4hCBttJx9JvALtnmq4UFe9KCAFHuk1rZFuVv+4AXlBAnb/ex7IKf81Tfo32hXDhQuxg==", + "license": "MIT", + "dependencies": { + "through2": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/latest-version": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-2.0.0.tgz", + "integrity": "sha512-8925wFYLfWBciewimt0VmDyYw0GFCRcbFSTrZGt4JgQ7lh5jb/kodMlUt0uMaxXdRKVi+7F3ib30N7fTv83ikw==", + "license": "MIT", + "dependencies": { + "package-json": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lilconfig": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "license": "MIT", + "peer": true + }, + "node_modules/load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lodash": { + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "license": "MIT" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "license": "MIT" + }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha512-RPNliZOFkqFumDhvYqOaNY4Uz9oJM2K9tC6JWsJJsNdhuONW4LQHRBpb0qf4pJApVffI5N39SwzWZJuEhfd7eQ==", + "license": "MIT", + "dependencies": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/lucide-react": { + "version": "0.575.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.575.0.tgz", + "integrity": "sha512-VuXgKZrk0uiDlWjGGXmKV6MSk9Yy4l10qgVvzGn2AWBx1Ylt0iBexKOAoA6I7JO3m+M9oeovJd3yYENfkUbOeg==", + "license": "ISC", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/magicast": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.5.2.tgz", + "integrity": "sha512-E3ZJh4J3S9KfwdjZhe2afj6R9lGIN5Pher1pF39UGrXRqq/VDaGVIGN13BjHd2u8B61hArAGOnso7nBOouW3TQ==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", + "source-map-js": "^1.2.1" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", + "license": "MIT", + "optional": true, + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/markdown-table": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz", + "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/marked": { + "version": "17.0.3", + "resolved": "https://registry.npmjs.org/marked/-/marked-17.0.3.tgz", + "integrity": "sha512-jt1v2ObpyOKR8p4XaUJVk3YWRJ5n+i4+rjQopxvV32rSndTJXvIzuUdWWIy/1pFQMkQmvTXawzDNqOH/CUmx6A==", + "license": "MIT", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 20" + } + }, + "node_modules/matcher": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/matcher/-/matcher-0.1.2.tgz", + "integrity": "sha512-e+Sqhn8HEY9cAUCBacJHDqFneV1kc1r9m1uH6QMTCb8vWjaHlBkzDmJ6YLgruFquiWmhxFIJUQqj+xWoiqh/Ew==", + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/math-random": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", + "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==", + "license": "MIT", + "optional": true + }, + "node_modules/max-timeout": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/max-timeout/-/max-timeout-1.0.0.tgz", + "integrity": "sha512-sXo5y3ioLf/ha4MTOOMfSqZx2ymTsBMku9uwKLldT2/hcIK8bOhUvYuv/Wvc0huUwfOEvg97+6jvSAhQJ8cXTw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/md5-hex": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-1.3.0.tgz", + "integrity": "sha512-lJEPhRxivsaliY4C6REebtP1Lo8yoQsq2bLVP8mJ6Vvzwu3fXQShzHcWnAqdDm1Y42jhZFg0XRpnrKfZ5mYP6w==", + "license": "MIT", + "dependencies": { + "md5-o-matic": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/md5-o-matic": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/md5-o-matic/-/md5-o-matic-0.1.1.tgz", + "integrity": "sha512-QBJSFpsedXUl/Lgs4ySdB2XCzUEcJ3ujpbagdZCkRaYIaC0kFnID8jhc84KEiVv6dNFtIrmW7bqow0lDxgJi6A==" + }, + "node_modules/mdast-util-definitions": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-6.0.0.tgz", + "integrity": "sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz", + "integrity": "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", + "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz", + "integrity": "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==", + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-gfm-autolink-literal": "^2.0.0", + "mdast-util-gfm-footnote": "^2.0.0", + "mdast-util-gfm-strikethrough": "^2.0.0", + "mdast-util-gfm-table": "^2.0.0", + "mdast-util-gfm-task-list-item": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz", + "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-find-and-replace": "^3.0.0", + "micromark-util-character": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", + "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", + "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz", + "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", + "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdn-data": { + "version": "2.12.2", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz", + "integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==", + "license": "CC0-1.0" + }, + "node_modules/meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha512-TNdwZs0skRlpPpCUK25StC4VH+tP5GgeY1HQOOGP+lQ2xtdkN2VtT/5tiX9k3IWpkBPV9b3LsAWXn4GGi/PrSA==", + "license": "MIT", + "dependencies": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromark": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz", + "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz", + "integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", + "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", + "license": "MIT", + "dependencies": { + "micromark-extension-gfm-autolink-literal": "^2.0.0", + "micromark-extension-gfm-footnote": "^2.0.0", + "micromark-extension-gfm-strikethrough": "^2.0.0", + "micromark-extension-gfm-table": "^2.0.0", + "micromark-extension-gfm-tagfilter": "^2.0.0", + "micromark-extension-gfm-task-list-item": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz", + "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==", + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-strikethrough": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz", + "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-table": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz", + "integrity": "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-tagfilter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", + "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz", + "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-factory-destination": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", + "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", + "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", + "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", + "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", + "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", + "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", + "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", + "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", + "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", + "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", + "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", + "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz", + "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-types": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz", + "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "license": "MIT", + "peer": true, + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "license": "MIT", + "optional": true, + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-deep/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "license": "MIT", + "optional": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "license": "MIT", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.3.tgz", + "integrity": "sha512-lrKNzMWqQZgwJahtrtrM+9NgOoDUveDrVmm5aGXrf3BdtL0mq7X6IVzoZaw+TfNti29eHd1/8GI+h45K5cQ6/w==", + "license": "MIT" + }, + "node_modules/muggle-string": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.4.1.tgz", + "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==", + "license": "MIT" + }, + "node_modules/multimatch": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz", + "integrity": "sha512-0mzK8ymiWdehTBiJh0vClAzGyQbdtyWqzSVx//EK4N/D+599RFlGfTAsKw2zMSABtDG9C6Ul2+t8f2Lbdjf5mA==", + "license": "MIT", + "dependencies": { + "array-differ": "^1.0.0", + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "minimatch": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "license": "MIT", + "peer": true, + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nan": { + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.25.0.tgz", + "integrity": "sha512-0M90Ag7Xn5KMLLZ7zliPWP3rT90P6PN+IzVFS0VqmnPktBk3700xUVv8Ikm9EUaUE5SDWdp/BIxdENzVznpm1g==", + "license": "MIT", + "optional": true + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "license": "MIT", + "optional": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/neotraverse": { + "version": "0.6.18", + "resolved": "https://registry.npmjs.org/neotraverse/-/neotraverse-0.6.18.tgz", + "integrity": "sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/nlcst-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/nlcst-to-string/-/nlcst-to-string-4.0.0.tgz", + "integrity": "sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "license": "MIT", + "optional": true + }, + "node_modules/node-fetch-native": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.7.tgz", + "integrity": "sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==", + "license": "MIT" + }, + "node_modules/node-mock-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/node-mock-http/-/node-mock-http-1.0.4.tgz", + "integrity": "sha512-8DY+kFsDkNXy1sJglUfuODx1/opAGJGyrTuFqEoN90oRc2Vk0ZbD4K2qmKXBBEhZQzdKHIVfEJpDU8Ak2NJEvQ==", + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", + "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", + "license": "MIT" + }, + "node_modules/node-status-codes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-status-codes/-/node-status-codes-1.0.0.tgz", + "integrity": "sha512-1cBMgRxdMWE8KeWCqk2RIOrvUb0XCwYfEsY5/y2NlXyq4Y/RumnOZvTj4Nbr77+Vb2C+kyBoRTdkNOS8L3d/aQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/not-so-shallow": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/not-so-shallow/-/not-so-shallow-0.1.4.tgz", + "integrity": "sha512-6nZYQfDwqHx5JubWErMWlZjc/hqJeXdTevgZJ7/F61zHxCrAnVLUtkban/4m5/422ES1G42JMJuTTUv2eVPIxg==", + "deprecated": "This package is no longer in development", + "license": "MIT", + "dependencies": { + "buffer-equals": "^1.0.3" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "license": "MIT", + "optional": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "license": "MIT", + "optional": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-is": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz", + "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "license": "MIT", + "optional": true, + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-visit/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.assign": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha512-UiAM5mhmIuKLsOvrL+B0U2d1hXHF3bFYWIuH1LMpuV2EJEHG1Ntz06PgLEHjm6VFd87NpH8rastvPoyv6UW2fA==", + "license": "MIT", + "optional": true, + "dependencies": { + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.pick/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/observable-to-promise": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/observable-to-promise/-/observable-to-promise-0.4.0.tgz", + "integrity": "sha512-/e9WRNDQoetZciJeB6Wc6r8nF1cwLtATbwG1oQjpL3v8nHmfhIGKRqy7VBq8GgXsQ7pLoslcbj6yMhJTxmx8/g==", + "license": "MIT", + "dependencies": { + "is-observable": "^0.2.0", + "symbol-observable": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ofetch": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.5.1.tgz", + "integrity": "sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA==", + "license": "MIT", + "dependencies": { + "destr": "^2.0.5", + "node-fetch-native": "^1.6.7", + "ufo": "^1.6.1" + } + }, + "node_modules/ohash": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", + "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", + "license": "MIT" + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "integrity": "sha512-GZ+g4jayMqzCRMgB2sol7GiCLjKfS1PINkjmx8spcKce1LiVqcbQreXwqs2YAFXC6R03VIG28ZS31t8M866v6A==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/oniguruma-parser": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/oniguruma-parser/-/oniguruma-parser-0.12.1.tgz", + "integrity": "sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w==", + "license": "MIT" + }, + "node_modules/oniguruma-to-es": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-4.3.4.tgz", + "integrity": "sha512-3VhUGN3w2eYxnTzHn+ikMI+fp/96KoRSVK9/kMTcFqj1NRDh2IhQCKvYxDnWePKRXY/AqH+Fuiyb7VHSzBjHfA==", + "license": "MIT", + "dependencies": { + "oniguruma-parser": "^0.12.1", + "regex": "^6.0.1", + "regex-recursion": "^6.0.2" + } + }, + "node_modules/option-chain": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/option-chain/-/option-chain-0.1.1.tgz", + "integrity": "sha512-UsON6bnN9BuNmFV7odYf9XSKmUoaRfq/5ru5zCPK5vIzo23dtyhoWnHUBQ3cra8/W8+D33hkn/9OgKcWi2F+yg==", + "license": "MIT", + "dependencies": { + "object-assign": "^4.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "deprecated": "This package is no longer supported.", + "license": "ISC", + "dependencies": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "node_modules/own-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", + "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.6", + "object-keys": "^1.1.1", + "safe-push-apply": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/p-limit": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-6.2.0.tgz", + "integrity": "sha512-kuUqqHNUqoIWp/c467RI4X6mmyuojY5jGutNU0wVTmEOOfcuwLqyMVoAi9MKi2Ak+5i9+nhmrK4ufZE8069kHA==", + "license": "MIT", + "dependencies": { + "yocto-queue": "^1.1.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-queue": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-8.1.1.tgz", + "integrity": "sha512-aNZ+VfjobsWryoiPnEApGGmf5WmNsCo9xu8dfaYamG5qaLP7ClhLN6NgsFe6SwJ2UbLEBK5dv9x8Mn5+RVhMWQ==", + "license": "MIT", + "dependencies": { + "eventemitter3": "^5.0.1", + "p-timeout": "^6.1.2" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-timeout": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.4.tgz", + "integrity": "sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==", + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-1.2.0.tgz", + "integrity": "sha512-W5ILqaI3G6bXDuYb7TrQ95TFHfFdjiunpp61PAXj7z32TgJ5NIBaoqZVI6AXUQy/qcqPoFnz0hAZY9KyKd4xNA==", + "license": "ISC", + "dependencies": { + "md5-hex": "^1.3.0" + } + }, + "node_modules/package-json": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-2.4.0.tgz", + "integrity": "sha512-PRg65iXMTt/uK8Rfh5zvzkUbfAPitF17YaCY+IbHsYgksiLvtzWWTUildHth3mVaZ7871OJ7gtP4LBRBlmAdXg==", + "license": "MIT", + "dependencies": { + "got": "^5.0.0", + "registry-auth-token": "^3.0.1", + "registry-url": "^3.0.3", + "semver": "^5.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/package-json/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/package-manager-detector": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-1.6.0.tgz", + "integrity": "sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==", + "license": "MIT" + }, + "node_modules/parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha512-FC5TeK0AwXzq3tUBFtH74naWkPQCEWs4K+xMxWZBlKDWu0bVHXGZa+KKqxKidd7xwhdZ19ZNuF2uO1M/r196HA==", + "license": "MIT", + "optional": true, + "dependencies": { + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parse-glob/node_modules/is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parse-glob/node_modules/is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==", + "license": "MIT", + "optional": true, + "dependencies": { + "is-extglob": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", + "license": "MIT", + "dependencies": { + "error-ex": "^1.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parse-latin": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse-latin/-/parse-latin-7.0.0.tgz", + "integrity": "sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "@types/unist": "^3.0.0", + "nlcst-to-string": "^4.0.0", + "unist-util-modify-children": "^4.0.0", + "unist-util-visit-children": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-ms": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-1.0.1.tgz", + "integrity": "sha512-LpH1Cf5EYuVjkBvCDBYvkUPh+iv2bk3FHflxHkpCYT0/FZ1d3N3uJaLiHr4yGuMcFUhv6eAivitTvWZI4B/chg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parse5": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz", + "integrity": "sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "domhandler": "^5.0.3", + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-parser-stream": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5-parser-stream/-/parse5-parser-stream-7.1.2.tgz", + "integrity": "sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==", + "dev": true, + "license": "MIT", + "dependencies": { + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "license": "MIT" + }, + "node_modules/path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", + "license": "MIT", + "dependencies": { + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "license": "MIT" + }, + "node_modules/path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/piccolore": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/piccolore/-/piccolore-0.1.3.tgz", + "integrity": "sha512-o8bTeDWjE086iwKrROaDf31K0qC/BENdm15/uH9usSC/uZjJOKb2YGiVHfLY4GhwsERiPI1jmwI2XrA7ACOxVw==", + "license": "ISC" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "license": "MIT", + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", + "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-conf": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-1.1.3.tgz", + "integrity": "sha512-9hHgE5+Xai/ChrnahNP8Ke0VNF/s41IZIB/d24eMHEaRamdPg+wwlRm2lTb5wMvE8eTIKrYZsrxfuOwt3dpsIQ==", + "license": "MIT", + "dependencies": { + "find-up": "^1.0.0", + "load-json-file": "^1.1.0", + "object-assign": "^4.0.1", + "symbol": "^0.2.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pkg-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", + "integrity": "sha512-c6pv3OE78mcZ92ckebVDqg0aWSoKhOTbwCV6qbCWMk546mAL9pZln0+QsN/yQ7fkucd4+yJPLrCBXNt8Ruk+Eg==", + "license": "MIT", + "dependencies": { + "find-up": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/plur": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/plur/-/plur-2.1.2.tgz", + "integrity": "sha512-WhcHk576xg9y/iv6RWOuroZgsqvCbJN+XGvAypCJwLAYs2iWDp5LUmvaCdV6JR2O0SMBf8l6p7A94AyLCFVMlQ==", + "license": "MIT", + "dependencies": { + "irregular-plurals": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/possible-typed-array-names": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "license": "MIT", + "peer": true, + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.1.0.tgz", + "integrity": "sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-nested": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "postcss-selector-parser": "^6.1.1" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "license": "MIT", + "peer": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "license": "MIT" + }, + "node_modules/power-assert-context-formatter": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/power-assert-context-formatter/-/power-assert-context-formatter-1.2.0.tgz", + "integrity": "sha512-HLNEW8Bin+BFCpk/zbyKwkEu9W8/zThIStxGo7weYcFkKgMuGCHUJhvJeBGXDZf0Qm2xis4pbnnciGZiX0EpSg==", + "license": "MIT", + "dependencies": { + "core-js": "^2.0.0", + "power-assert-context-traversal": "^1.2.0" + } + }, + "node_modules/power-assert-context-reducer-ast": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/power-assert-context-reducer-ast/-/power-assert-context-reducer-ast-1.2.0.tgz", + "integrity": "sha512-EgOxmZ/Lb7tw4EwSKX7ZnfC0P/qRZFEG28dx/690qvhmOJ6hgThYFm5TUWANDLK5NiNKlPBi5WekVGd2+5wPrw==", + "license": "MIT", + "dependencies": { + "acorn": "^5.0.0", + "acorn-es7-plugin": "^1.0.12", + "core-js": "^2.0.0", + "espurify": "^1.6.0", + "estraverse": "^4.2.0" + } + }, + "node_modules/power-assert-context-reducer-ast/node_modules/acorn": { + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/power-assert-context-traversal": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/power-assert-context-traversal/-/power-assert-context-traversal-1.2.0.tgz", + "integrity": "sha512-NFoHU6g2umNajiP2l4qb0BRWD773Aw9uWdWYH9EQsVwIZnog5bd2YYLFCVvaxWpwNzWeEfZIon2xtyc63026pQ==", + "license": "MIT", + "dependencies": { + "core-js": "^2.0.0", + "estraverse": "^4.1.0" + } + }, + "node_modules/power-assert-formatter": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/power-assert-formatter/-/power-assert-formatter-1.4.1.tgz", + "integrity": "sha512-c2QzTk1a6BUumuzjffFUrsMlx2gqLEoeEMrx6gVaHzQ/zTBTibQGblaQslbv72eq9RJNFQXRryjTHoffIEz+ww==", + "license": "MIT", + "dependencies": { + "core-js": "^2.0.0", + "power-assert-context-formatter": "^1.0.7", + "power-assert-context-reducer-ast": "^1.0.7", + "power-assert-renderer-assertion": "^1.0.7", + "power-assert-renderer-comparison": "^1.0.7", + "power-assert-renderer-diagram": "^1.0.7", + "power-assert-renderer-file": "^1.0.7" + } + }, + "node_modules/power-assert-renderer-assertion": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/power-assert-renderer-assertion/-/power-assert-renderer-assertion-1.2.0.tgz", + "integrity": "sha512-3F7Q1ZLmV2ZCQv7aV7NJLNK9G7QsostrhOU7U0RhEQS/0vhEqrRg2jEJl1jtUL4ZyL2dXUlaaqrmPv5r9kRvIg==", + "license": "MIT", + "dependencies": { + "power-assert-renderer-base": "^1.1.1", + "power-assert-util-string-width": "^1.2.0" + } + }, + "node_modules/power-assert-renderer-base": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/power-assert-renderer-base/-/power-assert-renderer-base-1.1.1.tgz", + "integrity": "sha512-aGCUi0NuNd/fVS6KKMLTjRP58cdlHlQKgXV4WKl3YlUhnN0d9QBEYOyvmiumdjk+5GuZmozvEmBIcTAcxEZqnw==", + "license": "MIT" + }, + "node_modules/power-assert-renderer-comparison": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/power-assert-renderer-comparison/-/power-assert-renderer-comparison-1.2.0.tgz", + "integrity": "sha512-7c3RKPDBKK4E3JqdPtYRE9cM8AyX4LC4yfTvvTYyx8zSqmT5kJnXwzR0yWQLOavACllZfwrAGQzFiXPc5sWa+g==", + "license": "MIT", + "dependencies": { + "core-js": "^2.0.0", + "diff-match-patch": "^1.0.0", + "power-assert-renderer-base": "^1.1.1", + "stringifier": "^1.3.0", + "type-name": "^2.0.1" + } + }, + "node_modules/power-assert-renderer-diagram": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/power-assert-renderer-diagram/-/power-assert-renderer-diagram-1.2.0.tgz", + "integrity": "sha512-JZ6PC+DJPQqfU6dwSmpcoD7gNnb/5U77bU5KgNwPPa+i1Pxiz6UuDeM3EUBlhZ1HvH9tMjI60anqVyi5l2oNdg==", + "license": "MIT", + "dependencies": { + "core-js": "^2.0.0", + "power-assert-renderer-base": "^1.1.1", + "power-assert-util-string-width": "^1.2.0", + "stringifier": "^1.3.0" + } + }, + "node_modules/power-assert-renderer-file": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/power-assert-renderer-file/-/power-assert-renderer-file-1.2.0.tgz", + "integrity": "sha512-/oaVrRbeOtGoyyd7e4IdLP/jIIUFJdqJtsYzP9/88R39CMnfF/S/rUc8ZQalENfUfQ/wQHu+XZYRMaCEZmEesg==", + "license": "MIT", + "dependencies": { + "power-assert-renderer-base": "^1.1.1" + } + }, + "node_modules/power-assert-renderer-succinct": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/power-assert-renderer-succinct/-/power-assert-renderer-succinct-1.2.0.tgz", + "integrity": "sha512-1fCYeYVIGPoMISnAmPjPeAs1PASR8n2lXXJR/wVLuhtWRRfvDaAyktOcRWcES7fNsmn9GQULraom5UDfEGQ8fg==", + "license": "MIT", + "dependencies": { + "core-js": "^2.0.0", + "power-assert-renderer-diagram": "^1.2.0" + } + }, + "node_modules/power-assert-renderers": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/power-assert-renderers/-/power-assert-renderers-0.1.1.tgz", + "integrity": "sha512-Wqy6zT11+B+pgKtBX043KxHMLltQayGey7sz9loNe0MIzgJP8L0J8Egarz7se4mKXIJtKZqLkq7CNsA5R/7d4w==", + "license": "MIT", + "dependencies": { + "power-assert-renderer-assertion": "^1.0.0", + "power-assert-renderer-comparison": "^1.0.0", + "power-assert-renderer-diagram": "^1.0.0", + "power-assert-renderer-file": "^1.0.0", + "power-assert-renderer-succinct": "^1.0.0" + } + }, + "node_modules/power-assert-util-string-width": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/power-assert-util-string-width/-/power-assert-util-string-width-1.2.0.tgz", + "integrity": "sha512-lX90G0igAW0iyORTILZ/QjZWsa1MZ6VVY3L0K86e2eKun3S4LKPH4xZIl8fdeMYLfOjkaszbNSzf1uugLeAm2A==", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0" + } + }, + "node_modules/prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha512-PhmXi5XmoyKw1Un4E+opM2KcsJInDvKyuOumcjjw3waw86ZNjHwVUOOWLc4bCzLdcKNaWBH9e99sbWzDQsVaYg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha512-s/46sYeylUfHNjI+sA/78FAHlmIuKqI9wNnzEOGehAlUUYeObv5C2mOinXBjyUyWmJ2SfcS2/ydApH4hTF4WXQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/prettier": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.1.tgz", + "integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==", + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/pretty-ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-2.1.0.tgz", + "integrity": "sha512-H2enpsxzDhuzRl3zeSQpQMirn8dB0Z/gxW96j06tMfTviUWvX14gjKb7qd1gtkUyYhDPuoNe00K5PqNvy2oQNg==", + "license": "MIT", + "dependencies": { + "is-finite": "^1.0.1", + "parse-ms": "^1.0.0", + "plur": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pretty-ms/node_modules/plur": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/plur/-/plur-1.0.0.tgz", + "integrity": "sha512-qSnKBSZeDY8ApxwhfVIwKwF36KVJqb1/9nzYYq3j3vdwocULCXT8f8fQGkiw1Nk9BGfxiDagEe/pwakA+bOBqw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/prismjs": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", + "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "license": "MIT" + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "license": "MIT", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prompts/node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/property-information": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz", + "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", + "license": "ISC" + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "peer": true + }, + "node_modules/radix3": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/radix3/-/radix3-1.1.2.tgz", + "integrity": "sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==", + "license": "MIT" + }, + "node_modules/randomatic": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", + "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", + "license": "MIT", + "optional": true, + "dependencies": { + "is-number": "^4.0.0", + "kind-of": "^6.0.0", + "math-random": "^1.0.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/randomatic/node_modules/is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/randomatic/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/react": { + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz", + "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz", + "integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.27.0" + }, + "peerDependencies": { + "react": "^19.2.4" + } + }, + "node_modules/react-refresh": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", + "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-all-stream": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/read-all-stream/-/read-all-stream-3.1.0.tgz", + "integrity": "sha512-DI1drPHbmBcUDWrJ7ull/F2Qb8HkwBncVx8/RpKYFSIACYaVRQReISYPdZz/mt1y1+qMCOrfReTopERmaxtP6w==", + "license": "MIT", + "dependencies": { + "pinkie-promise": "^2.0.0", + "readable-stream": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "license": "MIT", + "peer": true, + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==", + "license": "MIT", + "dependencies": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==", + "license": "MIT", + "dependencies": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha512-qtW5hKzGQZqKoh6JNSD+4lfitfPKGz42e6QwiRmPM5mmKtR0N41AbJRYu0xJi7nhOJ4WDgRkKvAk6tw4WIwR4g==", + "license": "MIT", + "dependencies": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", + "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.1", + "which-builtin-type": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "license": "MIT" + }, + "node_modules/regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "license": "MIT" + }, + "node_modules/regenerator-transform": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", + "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", + "license": "BSD", + "dependencies": { + "babel-runtime": "^6.18.0", + "babel-types": "^6.19.0", + "private": "^0.1.6" + } + }, + "node_modules/regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/regex/-/regex-6.1.0.tgz", + "integrity": "sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==", + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-cache": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "is-equal-shallow": "^0.1.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "license": "MIT", + "optional": true, + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regex-recursion": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/regex-recursion/-/regex-recursion-6.0.2.tgz", + "integrity": "sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==", + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-utilities": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/regex-utilities/-/regex-utilities-2.3.0.tgz", + "integrity": "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==", + "license": "MIT" + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", + "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpu-core": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", + "integrity": "sha512-tJ9+S4oKjxY8IZ9jmjnp/mtytu1u3iyIQAfmI51IKWH6bFf7XR1ybtaO6j7INhZKXOTYADk7V5qxaqLkmNxiZQ==", + "license": "MIT", + "dependencies": { + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" + } + }, + "node_modules/registry-auth-token": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.4.0.tgz", + "integrity": "sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A==", + "license": "MIT", + "dependencies": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/registry-url": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", + "integrity": "sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==", + "license": "MIT", + "dependencies": { + "rc": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha512-x+Y3yA24uF68m5GA+tBjbGYo64xXVJpbToBaWCoSNSc1hdk6dfctaRWrNFTVJZIIhL5GxW8zwjoixbnifnK59g==", + "license": "MIT" + }, + "node_modules/regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha512-jlQ9gYLfk2p3V5Ag5fYhA7fv7OHzd1KUH0PRP46xc3TgwjwgROIW572AfYg/X9kaNq/LJnu6oJcFRXlIrGoTRw==", + "license": "BSD", + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/rehype": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/rehype/-/rehype-13.0.2.tgz", + "integrity": "sha512-j31mdaRFrwFRUIlxGeuPXXKWQxet52RBQRvCmzl5eCefn/KGbomK5GMHNMsOJf55fgo3qw5tST5neDuarDYR2A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "rehype-parse": "^9.0.0", + "rehype-stringify": "^10.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-parse": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-9.0.1.tgz", + "integrity": "sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-from-html": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-raw": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz", + "integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-raw": "^9.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-stringify": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/rehype-stringify/-/rehype-stringify-10.0.1.tgz", + "integrity": "sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-to-html": "^9.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-gfm": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz", + "integrity": "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-gfm": "^3.0.0", + "micromark-extension-gfm": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz", + "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-smartypants": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/remark-smartypants/-/remark-smartypants-3.0.2.tgz", + "integrity": "sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA==", + "license": "MIT", + "dependencies": { + "retext": "^9.0.0", + "retext-smartypants": "^6.0.0", + "unified": "^11.0.4", + "unist-util-visit": "^5.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/remark-stringify": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", + "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-to-markdown": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "license": "ISC", + "optional": true + }, + "node_modules/repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==", + "license": "MIT", + "dependencies": { + "is-finite": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/request-light": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/request-light/-/request-light-0.7.0.tgz", + "integrity": "sha512-lMbBMrDoxgsyO+yB3sDcrDuX85yYt7sS8BfQd11jtbW/z5ZWgLZRcEGLsLoYw7I0WSUGQBs8CC8ScIxkTX1+6Q==", + "license": "MIT" + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-precompiled": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/require-precompiled/-/require-precompiled-0.1.0.tgz", + "integrity": "sha512-UWQr7MdatK8cF0JXrrqVPal2sUdhpCj8f4sC7VMDONA/+WSVv5ElRku3qDEZ+FIqoN91zhhfB+t1P3+qQNaYGQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.11", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", + "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-1.0.0.tgz", + "integrity": "sha512-ac27EnKWWlc2yQ/5GCoCGecqVJ9MSmgiwvUYOS+9A+M0dn1FdP5mnsDZ9gwx+lAvh/d7f4RFn4jLfggRRYxPxw==", + "license": "MIT", + "dependencies": { + "resolve-from": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-from": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", + "integrity": "sha512-qpFcKaXsq8+oRoLilkwyc7zHGF5i9Q2/25NIgLQQ/+VVv9rU4qvr6nXVAw1DsnXJyQkZsR4Ytfbtg5ehfcUssQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "deprecated": "https://github.com/lydell/resolve-url#deprecated", + "license": "MIT", + "optional": true + }, + "node_modules/restore-cursor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", + "integrity": "sha512-reSjH4HuiFlxlaBaFCiS6O76ZGG2ygKoSlCsipKdaZuKSPx/+bt9mULkn4l0asVzbEfQQmXRg6Wp6gv6m0wElw==", + "license": "MIT", + "dependencies": { + "exit-hook": "^1.0.0", + "onetime": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/retext": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/retext/-/retext-9.0.0.tgz", + "integrity": "sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "retext-latin": "^4.0.0", + "retext-stringify": "^4.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-latin": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/retext-latin/-/retext-latin-4.0.0.tgz", + "integrity": "sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "parse-latin": "^7.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-smartypants": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/retext-smartypants/-/retext-smartypants-6.2.0.tgz", + "integrity": "sha512-kk0jOU7+zGv//kfjXEBjdIryL1Acl4i9XNkHxtM7Tm5lFiCog576fjNC9hjoR7LTKQ0DsPWy09JummSsH1uqfQ==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "nlcst-to-string": "^4.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-stringify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/retext-stringify/-/retext-stringify-4.0.0.tgz", + "integrity": "sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "nlcst-to-string": "^4.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "license": "MIT", + "peer": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rollup": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.58.0.tgz", + "integrity": "sha512-wbT0mBmWbIvvq8NeEYWWvevvxnOyhKChir47S66WCxw1SXqhw7ssIYejnQEVt7XYQpsj2y8F9PM+Cr3SNEa0gw==", + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.58.0", + "@rollup/rollup-android-arm64": "4.58.0", + "@rollup/rollup-darwin-arm64": "4.58.0", + "@rollup/rollup-darwin-x64": "4.58.0", + "@rollup/rollup-freebsd-arm64": "4.58.0", + "@rollup/rollup-freebsd-x64": "4.58.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.58.0", + "@rollup/rollup-linux-arm-musleabihf": "4.58.0", + "@rollup/rollup-linux-arm64-gnu": "4.58.0", + "@rollup/rollup-linux-arm64-musl": "4.58.0", + "@rollup/rollup-linux-loong64-gnu": "4.58.0", + "@rollup/rollup-linux-loong64-musl": "4.58.0", + "@rollup/rollup-linux-ppc64-gnu": "4.58.0", + "@rollup/rollup-linux-ppc64-musl": "4.58.0", + "@rollup/rollup-linux-riscv64-gnu": "4.58.0", + "@rollup/rollup-linux-riscv64-musl": "4.58.0", + "@rollup/rollup-linux-s390x-gnu": "4.58.0", + "@rollup/rollup-linux-x64-gnu": "4.58.0", + "@rollup/rollup-linux-x64-musl": "4.58.0", + "@rollup/rollup-openbsd-x64": "4.58.0", + "@rollup/rollup-openharmony-arm64": "4.58.0", + "@rollup/rollup-win32-arm64-msvc": "4.58.0", + "@rollup/rollup-win32-ia32-msvc": "4.58.0", + "@rollup/rollup-win32-x64-gnu": "4.58.0", + "@rollup/rollup-win32-x64-msvc": "4.58.0", + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-array-concat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", + "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "has-symbols": "^1.1.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-array-concat/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "license": "MIT" + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/safe-push-apply": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", + "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-push-apply/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "license": "MIT" + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "license": "MIT", + "optional": true, + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/sass": { + "version": "1.97.3", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.97.3.tgz", + "integrity": "sha512-fDz1zJpd5GycprAbu4Q2PV/RprsRtKC/0z82z0JLgdytmcq0+ujJbJ/09bPGDxCLkKY3Np5cRAOcWiVkLXJURg==", + "license": "MIT", + "dependencies": { + "chokidar": "^4.0.0", + "immutable": "^5.0.2", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" + } + }, + "node_modules/sax": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.4.tgz", + "integrity": "sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=11.0.0" + } + }, + "node_modules/scheduler": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", + "license": "MIT" + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/semver-diff": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", + "integrity": "sha512-gL8F8L4ORwsS0+iQ34yCYv///jsOq0ZL7WP55d1HnJ32o7tyFYEFQZQA22mrLIacZdU6xecaBBZ+uEiffGNyXw==", + "license": "MIT", + "dependencies": { + "semver": "^5.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/semver-diff/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha512-Li5AOqrZWCVA2n5kryzEmqai6bKSIvpz5oUJHPVj6+dsbD3X1ixtsY5tEnsaNpH3pFAHmG8eIHUrtEtohrg+UQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-proto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", + "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "license": "MIT", + "optional": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "license": "MIT", + "optional": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sharp": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz", + "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@img/colour": "^1.0.0", + "detect-libc": "^2.1.2", + "semver": "^7.7.3" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.34.5", + "@img/sharp-darwin-x64": "0.34.5", + "@img/sharp-libvips-darwin-arm64": "1.2.4", + "@img/sharp-libvips-darwin-x64": "1.2.4", + "@img/sharp-libvips-linux-arm": "1.2.4", + "@img/sharp-libvips-linux-arm64": "1.2.4", + "@img/sharp-libvips-linux-ppc64": "1.2.4", + "@img/sharp-libvips-linux-riscv64": "1.2.4", + "@img/sharp-libvips-linux-s390x": "1.2.4", + "@img/sharp-libvips-linux-x64": "1.2.4", + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", + "@img/sharp-libvips-linuxmusl-x64": "1.2.4", + "@img/sharp-linux-arm": "0.34.5", + "@img/sharp-linux-arm64": "0.34.5", + "@img/sharp-linux-ppc64": "0.34.5", + "@img/sharp-linux-riscv64": "0.34.5", + "@img/sharp-linux-s390x": "0.34.5", + "@img/sharp-linux-x64": "0.34.5", + "@img/sharp-linuxmusl-arm64": "0.34.5", + "@img/sharp-linuxmusl-x64": "0.34.5", + "@img/sharp-wasm32": "0.34.5", + "@img/sharp-win32-arm64": "0.34.5", + "@img/sharp-win32-ia32": "0.34.5", + "@img/sharp-win32-x64": "0.34.5" + } + }, + "node_modules/sharp/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "license": "ISC", + "optional": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shiki": { + "version": "3.22.0", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-3.22.0.tgz", + "integrity": "sha512-LBnhsoYEe0Eou4e1VgJACes+O6S6QC0w71fCSp5Oya79inkwkm15gQ1UF6VtQ8j/taMDh79hAB49WUk8ALQW3g==", + "license": "MIT", + "dependencies": { + "@shikijs/core": "3.22.0", + "@shikijs/engine-javascript": "3.22.0", + "@shikijs/engine-oniguruma": "3.22.0", + "@shikijs/langs": "3.22.0", + "@shikijs/themes": "3.22.0", + "@shikijs/types": "3.22.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "license": "ISC" + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "license": "MIT" + }, + "node_modules/slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/slice-ansi": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", + "integrity": "sha512-up04hB2hR92PgjpyU3y/eg91yIBILyjVY26NvvciY3EVVPjybkMszMpXQ9QAkcS3I5rtJBDLoTxxg+qvW8c7rw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/slide": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", + "integrity": "sha512-NwrtjCg+lZoqhFU8fOwl4ay2ei8PaqCBOUV3/ektPY9trO1yQ1oXEfmHAhKArUVUr/hOHvy5f6AdP17dCM0zMw==", + "license": "ISC", + "engines": { + "node": "*" + } + }, + "node_modules/smol-toml": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.6.0.tgz", + "integrity": "sha512-4zemZi0HvTnYwLfrpk/CF9LOd9Lt87kAt50GnqhMpyF9U3poDAP2+iukq2bZsO/ufegbYehBkqINbsWxj4l4cw==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 18" + }, + "funding": { + "url": "https://github.com/sponsors/cyyynthia" + } + }, + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "license": "MIT", + "optional": true, + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "license": "MIT", + "optional": true, + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "license": "MIT", + "optional": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "optional": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "license": "MIT", + "optional": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "license": "MIT", + "optional": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "license": "MIT", + "optional": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/snapdragon/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT", + "optional": true + }, + "node_modules/sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==", + "license": "MIT", + "dependencies": { + "is-plain-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sort-keys/node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "license": "MIT", + "optional": true, + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "license": "MIT", + "dependencies": { + "source-map": "^0.5.6" + } + }, + "node_modules/source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated", + "license": "MIT", + "optional": true + }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "license": "CC-BY-3.0" + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.23", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.23.tgz", + "integrity": "sha512-CWLcCCH7VLu13TgOH+r8p1O/Znwhqv/dbb6lqWy67G+pT1kHmeD/+V36AVb/vq8QMIQwVShJ6Ssl5FPh0fuSdw==", + "license": "CC0-1.0" + }, + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "license": "MIT", + "optional": true, + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stack-utils": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-0.4.0.tgz", + "integrity": "sha512-UMJIxXde+DIlsX3Ol6/labq6JsMfikqbGZm0u8fRNxMUFLNoPkp1UXKwYUh3dObNBGo3xJGOoOlQxs4cle2cjg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "license": "MIT", + "optional": true, + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "license": "MIT", + "optional": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "license": "MIT", + "optional": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/stop-iteration-iterator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", + "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "internal-slot": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", + "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/stringifier": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/stringifier/-/stringifier-1.4.1.tgz", + "integrity": "sha512-7TGia2tzGIfw+Nki9r6kVxdP0vWeQ7oVZtyMnGxWsAJYe0XYV6VSGrfzUXm7r+icYfvpFlGNrwB+PYwFg+hfag==", + "license": "MIT", + "dependencies": { + "core-js": "^2.0.0", + "traverse": "^0.6.6", + "type-name": "^2.0.1" + } + }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "license": "MIT", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==", + "license": "MIT", + "dependencies": { + "is-utf8": "^0.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha512-I5iQq6aFMM62fBEAIB/hXzwJD6EEZ0xEGCX2t7oXqaKPIRgt4WruAQ285BISgdkP+HLGWyeGmNJcpIwFeRYRUA==", + "license": "MIT", + "dependencies": { + "get-stdin": "^4.0.1" + }, + "bin": { + "strip-indent": "cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sucrase": { + "version": "3.35.1", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.1.tgz", + "integrity": "sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "tinyglobby": "^0.2.11", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/sucrase/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svgo": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-4.0.0.tgz", + "integrity": "sha512-VvrHQ+9uniE+Mvx3+C9IEe/lWasXCU0nXMY2kZeLrHNICuRiC8uMPyM14UEaMOFA5mhyQqEkB02VoQ16n3DLaw==", + "license": "MIT", + "dependencies": { + "commander": "^11.1.0", + "css-select": "^5.1.0", + "css-tree": "^3.0.1", + "css-what": "^6.1.0", + "csso": "^5.0.5", + "picocolors": "^1.1.1", + "sax": "^1.4.1" + }, + "bin": { + "svgo": "bin/svgo.js" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, + "node_modules/symbol": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/symbol/-/symbol-0.2.3.tgz", + "integrity": "sha512-IUW+ek7apEaW5bFhS6WpYoNtVpNTlNoqB/PH7YiMWQTxSPeXCzG4PILVakwXivJt3ZXWeO1fIJnUd/L9A/VeGA==", + "license": "MPLv2.0" + }, + "node_modules/symbol-observable": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-0.2.4.tgz", + "integrity": "sha512-6WFhZ1sqIAG3g55T6RJcOYldJmFrdsnM7adeuFUp1aJwo9EWwMFC0zYHNGGyDvJU/aqPzkQyIsMdNek1u9oRzQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tailwindcss": { + "version": "3.4.19", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.19.tgz", + "integrity": "sha512-3ofp+LL8E+pK/JuPLPggVAIaEuhvIz4qNcf3nA1Xn2o/7fb7s/TYpHhwGDv1ZU3PkBluUVaF8PyCHcm48cKLWQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.6.0", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.2", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.21.7", + "lilconfig": "^3.1.3", + "micromatch": "^4.0.8", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.1.1", + "postcss": "^8.4.47", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.2 || ^5.0 || ^6.0", + "postcss-nested": "^6.2.0", + "postcss-selector-parser": "^6.1.2", + "resolve": "^1.22.8", + "sucrase": "^3.35.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tailwindcss/node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tailwindcss/node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "license": "MIT", + "peer": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/tailwindcss/node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", + "peer": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/tailwindcss/node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "license": "MIT", + "peer": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tailwindcss/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/tailwindcss/node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "license": "MIT", + "peer": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "license": "MIT" + }, + "node_modules/the-argv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/the-argv/-/the-argv-1.0.0.tgz", + "integrity": "sha512-MKaiRHOq1W6+RimqHUr/KHFlxeKGJenKXNRoUbqCe9Pm/txkDeO8zvWfcfgcbrn4lCXTGHvxwDxO03ykL6lQFQ==", + "license": "MIT" + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "license": "MIT", + "peer": true, + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "license": "MIT", + "peer": true, + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "license": "MIT", + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/time-require": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/time-require/-/time-require-0.1.2.tgz", + "integrity": "sha512-IqcSpa1sVNleRbC9eHnN7p7vwEHNmsjsXUDqjlnvo4+2VLJ7/gIY2XACTBuRhMB4weYbDYKsR3av2ySykRhDIA==", + "dependencies": { + "chalk": "^0.4.0", + "date-time": "^0.1.1", + "pretty-ms": "^0.2.1", + "text-table": "^0.2.0" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/time-require/node_modules/ansi-styles": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz", + "integrity": "sha512-3iF4FIKdxaVYT3JqQuY3Wat/T2t7TRbbQ94Fu50ZUCbLy4TFbTzr90NOHQodQkNqmeEGCw8WbeP78WNi6SKYUA==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/time-require/node_modules/chalk": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz", + "integrity": "sha512-sQfYDlfv2DGVtjdoQqxS0cEZDroyG8h6TamA6rvxwlrU5BaSLDx9xhatBYl2pxZ7gmpNaPFVwBtdGdu5rQ+tYQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "~1.0.0", + "has-color": "~0.1.0", + "strip-ansi": "~0.1.0" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/time-require/node_modules/parse-ms": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-0.1.2.tgz", + "integrity": "sha512-VwMglE9412ifMHcRFEVJePEpreQh90wjIiOdP0UQQGKV4l+QprdKI+p5noXTkmGjznBMb40s+VymcclATAVvYA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/time-require/node_modules/pretty-ms": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-0.2.2.tgz", + "integrity": "sha512-ah/vWDJAT0arxQwVcSGp6etaLTZr4IsrXTy/khfjimzdYgSxYWzTMByrtpJUWinAnVY8szDg+qQhsE5MUMz3lQ==", + "license": "MIT", + "dependencies": { + "parse-ms": "^0.1.0" + }, + "bin": { + "pretty-ms": "cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/time-require/node_modules/strip-ansi": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz", + "integrity": "sha512-behete+3uqxecWlDAm5lmskaSaISA+ThQ4oNNBDTBJt0x2ppR6IPqfZNuj6BLaLJ/Sji4TPZlcRyOis8wXQTLg==", + "license": "MIT", + "bin": { + "strip-ansi": "cli.js" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/timed-out": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-2.0.0.tgz", + "integrity": "sha512-pqqJOi1rF5zNs/ps4vmbE4SFCrM4iR7LW+GHAsHqO/EumqbIWceioevYLM5xZRgQSH6gFgL9J/uB7EcJhQ9niQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", + "license": "MIT" + }, + "node_modules/tinyexec": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.2.tgz", + "integrity": "sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha512-lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", + "license": "MIT", + "optional": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "license": "MIT", + "optional": true, + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/traverse": { + "version": "0.6.11", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.11.tgz", + "integrity": "sha512-vxXDZg8/+p3gblxB6BhhG5yWVn1kGRlaL8O78UDXc3wRnPizB5g83dcvWV1jpDMIPnjZjOFuxlMmE82XJ4407w==", + "license": "MIT", + "dependencies": { + "gopd": "^1.2.0", + "typedarray.prototype.slice": "^1.0.5", + "which-typed-array": "^1.1.18" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha512-Nm4cF79FhSTzrLKGDMi3I4utBtFv8qKy4sq1enftf2gMdpqI8oVQTAfySkTz5r49giVzDj88SVZXP4CeYQwjaw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha512-WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "license": "Apache-2.0", + "peer": true + }, + "node_modules/tsconfck": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.6.tgz", + "integrity": "sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==", + "license": "MIT", + "bin": { + "tsconfck": "bin/tsconfck.js" + }, + "engines": { + "node": "^18 || >=20" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD", + "optional": true + }, + "node_modules/type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/type-name/-/type-name-2.0.2.tgz", + "integrity": "sha512-kkgkuqR/jKdKO5oh/I2SMu2dGbLXoJq0zkdgbxaqYK+hr9S9edwVVGf+tMUFTx2gH9TN2+Zu9JZ/Njonb3cjhA==", + "license": "MIT" + }, + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", + "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", + "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typedarray.prototype.slice": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/typedarray.prototype.slice/-/typedarray.prototype.slice-1.0.5.tgz", + "integrity": "sha512-q7QNVDGTdl702bVFiI5eY4l/HkgCM6at9KhcFbgUAzezHFbOVy4+0O/lCjsABEQwbZPravVfBIiBVGo89yzHFg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "get-proto": "^1.0.1", + "math-intrinsics": "^1.1.0", + "typed-array-buffer": "^1.0.3", + "typed-array-byte-offset": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typesafe-path": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/typesafe-path/-/typesafe-path-0.2.2.tgz", + "integrity": "sha512-OJabfkAg1WLZSqJAJ0Z6Sdt3utnbzr/jh+NAHoyWHJe8CMSy79Gm085094M9nvTPy22KzTVn5Zq5mbapCI/hPA==", + "license": "MIT" + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typescript-auto-import-cache": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/typescript-auto-import-cache/-/typescript-auto-import-cache-0.3.6.tgz", + "integrity": "sha512-RpuHXrknHdVdK7wv/8ug3Fr0WNsNi5l5aB8MYYuXhq2UH5lnEB1htJ1smhtD5VeCsGr2p8mUDtd83LCQDFVgjQ==", + "license": "MIT", + "dependencies": { + "semver": "^7.3.8" + } + }, + "node_modules/typescript-auto-import-cache/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ufo": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.3.tgz", + "integrity": "sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==", + "license": "MIT" + }, + "node_modules/uid2": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/uid2/-/uid2-0.0.3.tgz", + "integrity": "sha512-5gSP1liv10Gjp8cMEnFd6shzkL/D6W1uhXSFNCxDC+YI8+L8wkCYCbJ7n77Ezb4wE/xzMogecE+DtamEe9PZjg==" + }, + "node_modules/ultrahtml": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ultrahtml/-/ultrahtml-1.6.0.tgz", + "integrity": "sha512-R9fBn90VTJrqqLDwyMph+HGne8eqY1iPfYhPzZrvKpIfwkWZbcYlfpsb8B9dTvBfpy1/hqAD7Wi8EKfP9e8zdw==", + "license": "MIT" + }, + "node_modules/unbox-primitive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-bigints": "^1.0.2", + "has-symbols": "^1.1.0", + "which-boxed-primitive": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/uncrypto": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz", + "integrity": "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==", + "license": "MIT" + }, + "node_modules/undici": { + "version": "7.22.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-7.22.0.tgz", + "integrity": "sha512-RqslV2Us5BrllB+JeiZnK4peryVTndy9Dnqq62S3yYRRTj0tFQCwEniUy2167skdGOy3vqRzEvl1Dm4sV2ReDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20.18.1" + } + }, + "node_modules/undici-types": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", + "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/unified": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unifont": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/unifont/-/unifont-0.7.4.tgz", + "integrity": "sha512-oHeis4/xl42HUIeHuNZRGEvxj5AaIKR+bHPNegRq5LV1gdc3jundpONbjglKpihmJf+dswygdMJn3eftGIMemg==", + "license": "MIT", + "dependencies": { + "css-tree": "^3.1.0", + "ofetch": "^1.5.1", + "ohash": "^2.0.11" + } + }, + "node_modules/union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "license": "MIT", + "optional": true, + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unique-temp-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-temp-dir/-/unique-temp-dir-1.0.0.tgz", + "integrity": "sha512-tE68ki2FndoVdPioyiz8mYaJeX3xU/9lk4dml7KlLKEkWLtDGAYeg5LGjE2dMkzB8d6R3HbcKTn/I14nukP2dw==", + "license": "MIT", + "dependencies": { + "mkdirp": "^0.5.1", + "os-tmpdir": "^1.0.1", + "uid2": "0.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unist-util-find-after": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz", + "integrity": "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz", + "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-modify-children": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-4.0.0.tgz", + "integrity": "sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "array-iterate": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-remove-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", + "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.1.0.tgz", + "integrity": "sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-children": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit-children/-/unist-util-visit-children-3.0.0.tgz", + "integrity": "sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz", + "integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", + "license": "MIT", + "optional": true, + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "license": "MIT", + "optional": true, + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unstorage": { + "version": "1.17.4", + "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.17.4.tgz", + "integrity": "sha512-fHK0yNg38tBiJKp/Vgsq4j0JEsCmgqH58HAn707S7zGkArbZsVr/CwINoi+nh3h98BRCwKvx1K3Xg9u3VV83sw==", + "license": "MIT", + "dependencies": { + "anymatch": "^3.1.3", + "chokidar": "^5.0.0", + "destr": "^2.0.5", + "h3": "^1.15.5", + "lru-cache": "^11.2.0", + "node-fetch-native": "^1.6.7", + "ofetch": "^1.5.1", + "ufo": "^1.6.3" + }, + "peerDependencies": { + "@azure/app-configuration": "^1.8.0", + "@azure/cosmos": "^4.2.0", + "@azure/data-tables": "^13.3.0", + "@azure/identity": "^4.6.0", + "@azure/keyvault-secrets": "^4.9.0", + "@azure/storage-blob": "^12.26.0", + "@capacitor/preferences": "^6 || ^7 || ^8", + "@deno/kv": ">=0.9.0", + "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0", + "@planetscale/database": "^1.19.0", + "@upstash/redis": "^1.34.3", + "@vercel/blob": ">=0.27.1", + "@vercel/functions": "^2.2.12 || ^3.0.0", + "@vercel/kv": "^1 || ^2 || ^3", + "aws4fetch": "^1.0.20", + "db0": ">=0.2.1", + "idb-keyval": "^6.2.1", + "ioredis": "^5.4.2", + "uploadthing": "^7.4.4" + }, + "peerDependenciesMeta": { + "@azure/app-configuration": { + "optional": true + }, + "@azure/cosmos": { + "optional": true + }, + "@azure/data-tables": { + "optional": true + }, + "@azure/identity": { + "optional": true + }, + "@azure/keyvault-secrets": { + "optional": true + }, + "@azure/storage-blob": { + "optional": true + }, + "@capacitor/preferences": { + "optional": true + }, + "@deno/kv": { + "optional": true + }, + "@netlify/blobs": { + "optional": true + }, + "@planetscale/database": { + "optional": true + }, + "@upstash/redis": { + "optional": true + }, + "@vercel/blob": { + "optional": true + }, + "@vercel/functions": { + "optional": true + }, + "@vercel/kv": { + "optional": true + }, + "aws4fetch": { + "optional": true + }, + "db0": { + "optional": true + }, + "idb-keyval": { + "optional": true + }, + "ioredis": { + "optional": true + }, + "uploadthing": { + "optional": true + } + } + }, + "node_modules/unstorage/node_modules/chokidar": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", + "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", + "license": "MIT", + "dependencies": { + "readdirp": "^5.0.0" + }, + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/unstorage/node_modules/lru-cache": { + "version": "11.2.6", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.6.tgz", + "integrity": "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==", + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/unstorage/node_modules/readdirp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz", + "integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==", + "license": "MIT", + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/unzip-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-1.0.2.tgz", + "integrity": "sha512-pwCcjjhEcpW45JZIySExBHYv5Y9EeL2OIGEfrSKp2dMUFGFv4CpvZkwJbVge8OvGH2BNNtJBx67DuKuJhf+N5Q==", + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/update-notifier": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-0.7.0.tgz", + "integrity": "sha512-/2ZTUNa81A3vc/EvcOHgKNKLf7taoIDr4aRJ3SjyfpPyPJAPsyRZxyDwIEp6qMDZK15jAjDvZuqnICjq01fNIw==", + "license": "BSD-2-Clause", + "dependencies": { + "ansi-align": "^1.0.0", + "boxen": "^0.5.1", + "chalk": "^1.0.0", + "configstore": "^2.0.0", + "is-npm": "^1.0.0", + "latest-version": "^2.0.0", + "semver-diff": "^2.0.0", + "xdg-basedir": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/update-notifier/node_modules/ansi-align": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-1.1.0.tgz", + "integrity": "sha512-ncgIO/ZeFcsh3cye0NgGPb5h/3vCiKJxp6HvPtqsFvEL/4b/G2tNgrr8EOYN5RSVnGx69k8dFYSBG/w1yKX58Q==", + "license": "ISC", + "dependencies": { + "string-width": "^1.0.1" + } + }, + "node_modules/update-notifier/node_modules/boxen": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-0.5.1.tgz", + "integrity": "sha512-iwo9RhYUoMgezG93Hn2pbVYOYBHYT4JvhtC6O7FbSjkL7WLZc+N9h/0EcJXlr5U2gh44QE1qqAScBgygXH885w==", + "license": "MIT", + "dependencies": { + "camelcase": "^2.1.0", + "chalk": "^1.1.1", + "cli-boxes": "^1.0.0", + "filled-array": "^1.0.0", + "object-assign": "^4.0.1", + "repeating": "^2.0.0", + "string-width": "^1.0.1", + "widest-line": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/update-notifier/node_modules/camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha512-DLIsRzJVBQu72meAKPkWQOLcujdXT32hwdfnkI1frSiSRMK1MofjKHf+MEx0SB6fjEFXL8fBDv1dKymBlOp4Qw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/update-notifier/node_modules/cli-boxes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", + "integrity": "sha512-3Fo5wu8Ytle8q9iCzS4D2MWVL2X7JVWRiS1BnXbTFDhS9c/REkM9vd1AmabsoZoY5/dGi5TT9iKL8Kb6DeBRQg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/update-notifier/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "license": "MIT", + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/update-notifier/node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", + "license": "MIT", + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/update-notifier/node_modules/widest-line": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-1.0.0.tgz", + "integrity": "sha512-r5vvGtqsHUHn98V0jURY4Ts86xJf6+SzK9rpWdV8/73nURB3WFPIHd67aOvPw2fSuunIyHjAUqiJ2TY0x4E5gw==", + "license": "MIT", + "dependencies": { + "string-width": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", + "deprecated": "Please see https://github.com/lydell/urix#deprecated", + "license": "MIT", + "optional": true + }, + "node_modules/url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha512-BVA4lR5PIviy2PMseNd2jbFQ+jwSwQGdJejf5ctd1rEXt0Ypd7yanUK9+lYechVlN5VaTJGsu2U/3MDDu6KgBA==", + "license": "MIT", + "dependencies": { + "prepend-http": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, + "node_modules/uuid": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", + "integrity": "sha512-FULf7fayPdpASncVy4DLh3xydlXEJJpvIELjYjNeQWYUZ9pclcpvCZSr2gkmN2FrrGcI7G/cJsIEwk5/8vfXpg==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "license": "MIT" + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.3.tgz", + "integrity": "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz", + "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vite": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.1.tgz", + "integrity": "sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==", + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.4.4", + "picomatch": "^4.0.2", + "postcss": "^8.5.3", + "rollup": "^4.34.9", + "tinyglobby": "^0.2.13" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "jiti": ">=1.21.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vite/node_modules/@esbuild/aix-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", + "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/android-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", + "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/android-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", + "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/android-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", + "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/darwin-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", + "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/darwin-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", + "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", + "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/freebsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", + "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", + "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", + "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", + "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-loong64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", + "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-mips64el": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", + "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", + "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-riscv64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", + "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-s390x": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", + "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", + "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", + "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/netbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", + "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", + "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/openbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", + "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", + "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/sunos-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", + "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", + "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", + "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", + "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/esbuild": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", + "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.12", + "@esbuild/android-arm": "0.25.12", + "@esbuild/android-arm64": "0.25.12", + "@esbuild/android-x64": "0.25.12", + "@esbuild/darwin-arm64": "0.25.12", + "@esbuild/darwin-x64": "0.25.12", + "@esbuild/freebsd-arm64": "0.25.12", + "@esbuild/freebsd-x64": "0.25.12", + "@esbuild/linux-arm": "0.25.12", + "@esbuild/linux-arm64": "0.25.12", + "@esbuild/linux-ia32": "0.25.12", + "@esbuild/linux-loong64": "0.25.12", + "@esbuild/linux-mips64el": "0.25.12", + "@esbuild/linux-ppc64": "0.25.12", + "@esbuild/linux-riscv64": "0.25.12", + "@esbuild/linux-s390x": "0.25.12", + "@esbuild/linux-x64": "0.25.12", + "@esbuild/netbsd-arm64": "0.25.12", + "@esbuild/netbsd-x64": "0.25.12", + "@esbuild/openbsd-arm64": "0.25.12", + "@esbuild/openbsd-x64": "0.25.12", + "@esbuild/openharmony-arm64": "0.25.12", + "@esbuild/sunos-x64": "0.25.12", + "@esbuild/win32-arm64": "0.25.12", + "@esbuild/win32-ia32": "0.25.12", + "@esbuild/win32-x64": "0.25.12" + } + }, + "node_modules/vitefu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.1.1.tgz", + "integrity": "sha512-B/Fegf3i8zh0yFbpzZ21amWzHmuNlLlmJT6n7bu5e+pCHUKQIfXSYokrqOBGEMMe9UG2sostKQF9mml/vYaWJQ==", + "license": "MIT", + "workspaces": [ + "tests/deps/*", + "tests/projects/*", + "tests/projects/workspace/packages/*" + ], + "peerDependencies": { + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, + "node_modules/volar-service-css": { + "version": "0.0.68", + "resolved": "https://registry.npmjs.org/volar-service-css/-/volar-service-css-0.0.68.tgz", + "integrity": "sha512-lJSMh6f3QzZ1tdLOZOzovLX0xzAadPhx8EKwraDLPxBndLCYfoTvnNuiFFV8FARrpAlW5C0WkH+TstPaCxr00Q==", + "license": "MIT", + "dependencies": { + "vscode-css-languageservice": "^6.3.0", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "@volar/language-service": "~2.4.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/volar-service-emmet": { + "version": "0.0.68", + "resolved": "https://registry.npmjs.org/volar-service-emmet/-/volar-service-emmet-0.0.68.tgz", + "integrity": "sha512-nHvixrRQ83EzkQ4G/jFxu9Y4eSsXS/X2cltEPDM+K9qZmIv+Ey1w0tg1+6caSe8TU5Hgw4oSTwNMf/6cQb3LzQ==", + "license": "MIT", + "dependencies": { + "@emmetio/css-parser": "^0.4.1", + "@emmetio/html-matcher": "^1.3.0", + "@vscode/emmet-helper": "^2.9.3", + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "@volar/language-service": "~2.4.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/volar-service-html": { + "version": "0.0.68", + "resolved": "https://registry.npmjs.org/volar-service-html/-/volar-service-html-0.0.68.tgz", + "integrity": "sha512-fru9gsLJxy33xAltXOh4TEdi312HP80hpuKhpYQD4O5hDnkNPEBdcQkpB+gcX0oK0VxRv1UOzcGQEUzWCVHLfA==", + "license": "MIT", + "dependencies": { + "vscode-html-languageservice": "^5.3.0", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "@volar/language-service": "~2.4.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/volar-service-prettier": { + "version": "0.0.68", + "resolved": "https://registry.npmjs.org/volar-service-prettier/-/volar-service-prettier-0.0.68.tgz", + "integrity": "sha512-grUmWHkHlebMOd6V8vXs2eNQUw/bJGJMjekh/EPf/p2ZNTK0Uyz7hoBRngcvGfJHMsSXZH8w/dZTForIW/4ihw==", + "license": "MIT", + "dependencies": { + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "@volar/language-service": "~2.4.0", + "prettier": "^2.2 || ^3.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + }, + "prettier": { + "optional": true + } + } + }, + "node_modules/volar-service-typescript": { + "version": "0.0.68", + "resolved": "https://registry.npmjs.org/volar-service-typescript/-/volar-service-typescript-0.0.68.tgz", + "integrity": "sha512-z7B/7CnJ0+TWWFp/gh2r5/QwMObHNDiQiv4C9pTBNI2Wxuwymd4bjEORzrJ/hJ5Yd5+OzeYK+nFCKevoGEEeKw==", + "license": "MIT", + "dependencies": { + "path-browserify": "^1.0.1", + "semver": "^7.6.2", + "typescript-auto-import-cache": "^0.3.5", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-nls": "^5.2.0", + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "@volar/language-service": "~2.4.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/volar-service-typescript-twoslash-queries": { + "version": "0.0.68", + "resolved": "https://registry.npmjs.org/volar-service-typescript-twoslash-queries/-/volar-service-typescript-twoslash-queries-0.0.68.tgz", + "integrity": "sha512-NugzXcM0iwuZFLCJg47vI93su5YhTIweQuLmZxvz5ZPTaman16JCvmDZexx2rd5T/75SNuvvZmrTOTNYUsfe5w==", + "license": "MIT", + "dependencies": { + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "@volar/language-service": "~2.4.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/volar-service-typescript/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/volar-service-yaml": { + "version": "0.0.68", + "resolved": "https://registry.npmjs.org/volar-service-yaml/-/volar-service-yaml-0.0.68.tgz", + "integrity": "sha512-84XgE02LV0OvTcwfqhcSwVg4of3MLNUWPMArO6Aj8YXqyEVnPu8xTEMY2btKSq37mVAPuaEVASI4e3ptObmqcA==", + "license": "MIT", + "dependencies": { + "vscode-uri": "^3.0.8", + "yaml-language-server": "~1.19.2" + }, + "peerDependencies": { + "@volar/language-service": "~2.4.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/vscode-css-languageservice": { + "version": "6.3.9", + "resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-6.3.9.tgz", + "integrity": "sha512-1tLWfp+TDM5ZuVWht3jmaY5y7O6aZmpeXLoHl5bv1QtRsRKt4xYGRMmdJa5Pqx/FTkgRbsna9R+Gn2xE+evVuA==", + "license": "MIT", + "dependencies": { + "@vscode/l10n": "^0.0.18", + "vscode-languageserver-textdocument": "^1.0.12", + "vscode-languageserver-types": "3.17.5", + "vscode-uri": "^3.1.0" + } + }, + "node_modules/vscode-html-languageservice": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-5.6.1.tgz", + "integrity": "sha512-5Mrqy5CLfFZUgkyhNZLA1Ye5g12Cb/v6VM7SxUzZUaRKWMDz4md+y26PrfRTSU0/eQAl3XpO9m2og+GGtDMuaA==", + "license": "MIT", + "dependencies": { + "@vscode/l10n": "^0.0.18", + "vscode-languageserver-textdocument": "^1.0.12", + "vscode-languageserver-types": "^3.17.5", + "vscode-uri": "^3.1.0" + } + }, + "node_modules/vscode-json-languageservice": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-4.1.8.tgz", + "integrity": "sha512-0vSpg6Xd9hfV+eZAaYN63xVVMOTmJ4GgHxXnkLCh+9RsQBkWKIghzLhW2B9ebfG+LQQg8uLtsQ2aUKjTgE+QOg==", + "license": "MIT", + "dependencies": { + "jsonc-parser": "^3.0.0", + "vscode-languageserver-textdocument": "^1.0.1", + "vscode-languageserver-types": "^3.16.0", + "vscode-nls": "^5.0.0", + "vscode-uri": "^3.0.2" + }, + "engines": { + "npm": ">=7.0.0" + } + }, + "node_modules/vscode-json-languageservice/node_modules/jsonc-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", + "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", + "license": "MIT" + }, + "node_modules/vscode-jsonrpc": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz", + "integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==", + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/vscode-languageserver": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-9.0.1.tgz", + "integrity": "sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==", + "license": "MIT", + "dependencies": { + "vscode-languageserver-protocol": "3.17.5" + }, + "bin": { + "installServerIntoExtension": "bin/installServerIntoExtension" + } + }, + "node_modules/vscode-languageserver-protocol": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz", + "integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==", + "license": "MIT", + "dependencies": { + "vscode-jsonrpc": "8.2.0", + "vscode-languageserver-types": "3.17.5" + } + }, + "node_modules/vscode-languageserver-textdocument": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.12.tgz", + "integrity": "sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==", + "license": "MIT" + }, + "node_modules/vscode-languageserver-types": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz", + "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==", + "license": "MIT" + }, + "node_modules/vscode-nls": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-5.2.0.tgz", + "integrity": "sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==", + "license": "MIT" + }, + "node_modules/vscode-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.1.0.tgz", + "integrity": "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==", + "license": "MIT" + }, + "node_modules/web-namespaces": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", + "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/whatwg-encoding": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", + "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", + "deprecated": "Use @exodus/bytes instead for a more spec-conformant and faster implementation", + "dev": true, + "license": "MIT", + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/whatwg-mimetype": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", + "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", + "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", + "license": "MIT", + "dependencies": { + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.1", + "is-number-object": "^1.1.1", + "is-string": "^1.1.1", + "is-symbol": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.1.0", + "is-finalizationregistry": "^1.1.0", + "is-generator-function": "^1.0.10", + "is-regex": "^1.2.1", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.1.0", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "license": "MIT" + }, + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "license": "MIT", + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-pm-runs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.1.0.tgz", + "integrity": "sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.20", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.20.tgz", + "integrity": "sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==", + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/widest-line": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-5.0.0.tgz", + "integrity": "sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==", + "license": "MIT", + "dependencies": { + "string-width": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/wrap-ansi": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", + "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + }, + "node_modules/write-file-atomic": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", + "integrity": "sha512-SdrHoC/yVBPpV0Xq/mUZQIpW2sWXAShb/V4pomcJXh92RuaO+f3UTWItiR3Px+pLnV2PvC2/bfn5cwr5X6Vfxw==", + "license": "ISC", + "dependencies": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "slide": "^1.1.5" + } + }, + "node_modules/write-json-file": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-1.2.0.tgz", + "integrity": "sha512-AWPiSezCK5Gb5fIov10BhPKpjgWI3ZPRCE5kQW7q100jfJBGr/yZgNnh1XhD3/DXC9v3E+B5xz2bIfReOIy7kw==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.2", + "mkdirp": "^0.5.1", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "sort-keys": "^1.1.1", + "write-file-atomic": "^1.1.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/write-pkg": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/write-pkg/-/write-pkg-1.0.0.tgz", + "integrity": "sha512-DVE1nNHO5JyWaSVz4avOXuohgt/Gn6n9qPBKD9rkjjspZpSSaw2X8O4+IdVCRHoVwhb7CwXusuccGdbggsJNDA==", + "license": "MIT", + "dependencies": { + "write-json-file": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/xdg-basedir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-2.0.0.tgz", + "integrity": "sha512-NF1pPn594TaRSUO/HARoB4jK8I+rWgcpVlpQCK6/6o5PHyLUt2CSiDrpUZbQ6rROck+W2EwF8mBJcTs+W98J9w==", + "license": "MIT", + "dependencies": { + "os-homedir": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/xml2js": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.2.tgz", + "integrity": "sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==", + "license": "MIT", + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "license": "MIT", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "license": "MIT", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/xxhash-wasm": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-1.1.0.tgz", + "integrity": "sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==", + "license": "MIT" + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "license": "ISC" + }, + "node_modules/yaml": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz", + "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==", + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" + } + }, + "node_modules/yaml-language-server": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/yaml-language-server/-/yaml-language-server-1.19.2.tgz", + "integrity": "sha512-9F3myNmJzUN/679jycdMxqtydPSDRAarSj3wPiF7pchEPnO9Dg07Oc+gIYLqXR4L+g+FSEVXXv2+mr54StLFOg==", + "license": "MIT", + "dependencies": { + "@vscode/l10n": "^0.0.18", + "ajv": "^8.17.1", + "ajv-draft-04": "^1.0.0", + "lodash": "4.17.21", + "prettier": "^3.5.0", + "request-light": "^0.5.7", + "vscode-json-languageservice": "4.1.8", + "vscode-languageserver": "^9.0.0", + "vscode-languageserver-textdocument": "^1.0.1", + "vscode-languageserver-types": "^3.16.0", + "vscode-uri": "^3.0.2", + "yaml": "2.7.1" + }, + "bin": { + "yaml-language-server": "bin/yaml-language-server" + } + }, + "node_modules/yaml-language-server/node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT" + }, + "node_modules/yaml-language-server/node_modules/request-light": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/request-light/-/request-light-0.5.8.tgz", + "integrity": "sha512-3Zjgh+8b5fhRJBQZoy+zbVKpAQGLyka0MPgW3zruTF4dFFJ8Fqcfu9YsAvi/rvdcaTeWG3MkbZv4WKxAn/84Lg==", + "license": "MIT" + }, + "node_modules/yaml-language-server/node_modules/yaml": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.1.tgz", + "integrity": "sha512-10ULxpnOCQXxJvBgxsn9ptjq6uviG/htZKk9veJGhlqn3w/DxQ631zFF+nlQXLwmImeS5amR2dl2U8sg6U9jsQ==", + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yocto-queue": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.2.tgz", + "integrity": "sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==", + "license": "MIT", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yocto-spinner": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/yocto-spinner/-/yocto-spinner-0.2.3.tgz", + "integrity": "sha512-sqBChb33loEnkoXte1bLg45bEBsOP9N1kzQh5JZNKj/0rik4zAPTNSAVPj3uQAdc6slYJ0Ksc403G2XgxsJQFQ==", + "license": "MIT", + "dependencies": { + "yoctocolors": "^2.1.1" + }, + "engines": { + "node": ">=18.19" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yoctocolors": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.2.tgz", + "integrity": "sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "3.25.76", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", + "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-to-json-schema": { + "version": "3.25.1", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.1.tgz", + "integrity": "sha512-pM/SU9d3YAggzi6MtR4h7ruuQlqKtad8e9S0fmxcMi+ueAK5Korys/aWcV9LIIHTVbj01NdzxcnXSN+O74ZIVA==", + "license": "ISC", + "peerDependencies": { + "zod": "^3.25 || ^4" + } + }, + "node_modules/zod-to-ts": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/zod-to-ts/-/zod-to-ts-1.2.0.tgz", + "integrity": "sha512-x30XE43V+InwGpvTySRNz9kB7qFU8DlyEy7BsSTCHPH1R0QasMmHWZDCzYm6bVXtj/9NNJAZF3jW8rzFvH5OFA==", + "peerDependencies": { + "typescript": "^4.9.4 || ^5.0.2", + "zod": "^3" + } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..119731c --- /dev/null +++ b/package.json @@ -0,0 +1,33 @@ +{ + "name": "mpslab-asu", + "type": "module", + "version": "1.0.0", + "scripts": { + "dev": "astro dev", + "start": "astro dev", + "build": "astro check && astro build", + "preview": "astro preview", + "astro": "astro" + }, + "dependencies": { + "@astrojs/check": "^0.9.6", + "@astrojs/react": "^4.4.2", + "@astrojs/tailwind": "^6.0.2", + "@types/react": "^19.2.14", + "@types/react-dom": "^19.2.3", + "astro": "^5.17.3", + "bibtex-parse-js": "^0.0.24", + "fuse.js": "^7.1.0", + "lucide-react": "^0.575.0", + "marked": "^17.0.3", + "react": "^19.2.4", + "react-dom": "^19.2.4", + "sass": "^1.97.3", + "typescript": "^5.9.3", + "unist-util-visit": "^5.1.0" + }, + "devDependencies": { + "@types/node": "^25.3.0", + "cheerio": "^1.2.0" + } +} diff --git a/parse_news.py b/parse_news.py new file mode 100644 index 0000000..abc90a5 --- /dev/null +++ b/parse_news.py @@ -0,0 +1,15 @@ +import os +import re + +news_dir = "src/content/news" +types = set() + +for file in os.listdir(news_dir): + if file.endswith('.md'): + with open(os.path.join(news_dir, file), 'r') as f: + content = f.read() + match = re.search(r'type:\s*"(.*?)"', content) + if match: + types.add(match.group(1)) + +print("Types found:", types) diff --git a/public/assets/software/TMAManual.pdf b/public/assets/software/TMAManual.pdf new file mode 100644 index 0000000..2e7276f Binary files /dev/null and b/public/assets/software/TMAManual.pdf differ diff --git a/public/assets/software/TTLConsistencyCheckerManual.pdf b/public/assets/software/TTLConsistencyCheckerManual.pdf new file mode 100644 index 0000000..19777b6 Binary files /dev/null and b/public/assets/software/TTLConsistencyCheckerManual.pdf differ diff --git a/public/assets/teaching/Spring2025-Syllabus.pdf b/public/assets/teaching/Spring2025-Syllabus.pdf new file mode 100644 index 0000000..4bc1d4c Binary files /dev/null and b/public/assets/teaching/Spring2025-Syllabus.pdf differ diff --git a/public/docs/resumes/adam-awale.pdf b/public/docs/resumes/adam-awale.pdf new file mode 100644 index 0000000..b690c6b Binary files /dev/null and b/public/docs/resumes/adam-awale.pdf differ diff --git a/public/docs/resumes/akhilanand.pdf b/public/docs/resumes/akhilanand.pdf new file mode 100644 index 0000000..36bfe97 Binary files /dev/null and b/public/docs/resumes/akhilanand.pdf differ diff --git a/public/docs/resumes/aman-singh.pdf b/public/docs/resumes/aman-singh.pdf new file mode 100644 index 0000000..1f7cec6 Binary files /dev/null and b/public/docs/resumes/aman-singh.pdf differ diff --git a/public/docs/resumes/atharva-khedkar.pdf b/public/docs/resumes/atharva-khedkar.pdf new file mode 100644 index 0000000..b57f46b Binary files /dev/null and b/public/docs/resumes/atharva-khedkar.pdf differ diff --git a/public/docs/resumes/aviral-shrivastava.pdf b/public/docs/resumes/aviral-shrivastava.pdf new file mode 100644 index 0000000..d561318 Binary files /dev/null and b/public/docs/resumes/aviral-shrivastava.pdf differ diff --git a/public/docs/resumes/ayush-gupta.pdf b/public/docs/resumes/ayush-gupta.pdf new file mode 100644 index 0000000..bef9393 Binary files /dev/null and b/public/docs/resumes/ayush-gupta.pdf differ diff --git a/public/docs/resumes/curt-john-bansil.pdf b/public/docs/resumes/curt-john-bansil.pdf new file mode 100644 index 0000000..73763f2 Binary files /dev/null and b/public/docs/resumes/curt-john-bansil.pdf differ diff --git a/public/docs/resumes/javier-ramirez.pdf b/public/docs/resumes/javier-ramirez.pdf new file mode 100644 index 0000000..a9a89d1 Binary files /dev/null and b/public/docs/resumes/javier-ramirez.pdf differ diff --git a/public/docs/resumes/kaustubh-harapanahalli.pdf b/public/docs/resumes/kaustubh-harapanahalli.pdf new file mode 100644 index 0000000..71bcaa8 Binary files /dev/null and b/public/docs/resumes/kaustubh-harapanahalli.pdf differ diff --git a/public/docs/resumes/megan-kuo.pdf b/public/docs/resumes/megan-kuo.pdf new file mode 100644 index 0000000..d4398d9 Binary files /dev/null and b/public/docs/resumes/megan-kuo.pdf differ diff --git a/public/docs/resumes/rylen-sabhlok.pdf b/public/docs/resumes/rylen-sabhlok.pdf new file mode 100644 index 0000000..a50d3f7 Binary files /dev/null and b/public/docs/resumes/rylen-sabhlok.pdf differ diff --git a/public/docs/resumes/shashwat-pandey.pdf b/public/docs/resumes/shashwat-pandey.pdf new file mode 100644 index 0000000..55f3023 Binary files /dev/null and b/public/docs/resumes/shashwat-pandey.pdf differ diff --git a/public/docs/resumes/syna-malhan.pdf b/public/docs/resumes/syna-malhan.pdf new file mode 100644 index 0000000..d4610ff Binary files /dev/null and b/public/docs/resumes/syna-malhan.pdf differ diff --git a/public/docs/resumes/vinayak-sharma.pdf b/public/docs/resumes/vinayak-sharma.pdf new file mode 100644 index 0000000..a5d89bb Binary files /dev/null and b/public/docs/resumes/vinayak-sharma.pdf differ diff --git a/public/images/gallery/dac-2025/dac_1.jpeg b/public/images/gallery/dac-2025/dac_1.jpeg new file mode 100644 index 0000000..3e04b24 Binary files /dev/null and b/public/images/gallery/dac-2025/dac_1.jpeg differ diff --git a/public/images/gallery/dac-2025/dac_2.jpeg b/public/images/gallery/dac-2025/dac_2.jpeg new file mode 100644 index 0000000..ebbd3b0 Binary files /dev/null and b/public/images/gallery/dac-2025/dac_2.jpeg differ diff --git a/public/images/gallery/dac-2025/dac_3.jpeg b/public/images/gallery/dac-2025/dac_3.jpeg new file mode 100644 index 0000000..3028db1 Binary files /dev/null and b/public/images/gallery/dac-2025/dac_3.jpeg differ diff --git a/public/images/gallery/dac-2025/dac_4.jpeg b/public/images/gallery/dac-2025/dac_4.jpeg new file mode 100644 index 0000000..77e4a8c Binary files /dev/null and b/public/images/gallery/dac-2025/dac_4.jpeg differ diff --git a/public/images/members/abhinav-kumar.jpeg b/public/images/members/abhinav-kumar.jpeg new file mode 100644 index 0000000..b643c4f Binary files /dev/null and b/public/images/members/abhinav-kumar.jpeg differ diff --git a/public/images/members/abhishek-risheekesan.jpg b/public/images/members/abhishek-risheekesan.jpg new file mode 100644 index 0000000..690694e Binary files /dev/null and b/public/images/members/abhishek-risheekesan.jpg differ diff --git a/public/images/members/adam-awale.jpeg b/public/images/members/adam-awale.jpeg new file mode 100644 index 0000000..02629e5 Binary files /dev/null and b/public/images/members/adam-awale.jpeg differ diff --git a/public/images/members/akhilanand.jpg b/public/images/members/akhilanand.jpg new file mode 100644 index 0000000..f264fa8 Binary files /dev/null and b/public/images/members/akhilanand.jpg differ diff --git a/public/images/members/aman-singh.jpg b/public/images/members/aman-singh.jpg new file mode 100644 index 0000000..5eba0b4 Binary files /dev/null and b/public/images/members/aman-singh.jpg differ diff --git a/public/images/members/amit-pabalkar.jpg b/public/images/members/amit-pabalkar.jpg new file mode 100644 index 0000000..3a52dfa Binary files /dev/null and b/public/images/members/amit-pabalkar.jpg differ diff --git a/public/images/members/arun-kannan.jpg b/public/images/members/arun-kannan.jpg new file mode 100644 index 0000000..2dd7acb Binary files /dev/null and b/public/images/members/arun-kannan.jpg differ diff --git a/public/images/members/atharva-khedkar.jpg b/public/images/members/atharva-khedkar.jpg new file mode 100644 index 0000000..3064129 Binary files /dev/null and b/public/images/members/atharva-khedkar.jpg differ diff --git a/public/images/members/aviral-shrivastava.jpg b/public/images/members/aviral-shrivastava.jpg new file mode 100644 index 0000000..1257f25 Binary files /dev/null and b/public/images/members/aviral-shrivastava.jpg differ diff --git a/public/images/members/ayush-gupta.jpg b/public/images/members/ayush-gupta.jpg new file mode 100644 index 0000000..fa72f02 Binary files /dev/null and b/public/images/members/ayush-gupta.jpg differ diff --git a/public/images/members/bryce-holton.jpg b/public/images/members/bryce-holton.jpg new file mode 100644 index 0000000..9ef032d Binary files /dev/null and b/public/images/members/bryce-holton.jpg differ diff --git a/public/images/members/christian-cunningham.jpg b/public/images/members/christian-cunningham.jpg new file mode 100644 index 0000000..ea1602a Binary files /dev/null and b/public/images/members/christian-cunningham.jpg differ diff --git a/public/images/members/curt-john-bansil.jpg b/public/images/members/curt-john-bansil.jpg new file mode 100644 index 0000000..f45489a Binary files /dev/null and b/public/images/members/curt-john-bansil.jpg differ diff --git a/public/images/members/dheeraj-lokam.jpg b/public/images/members/dheeraj-lokam.jpg new file mode 100644 index 0000000..e1b436a Binary files /dev/null and b/public/images/members/dheeraj-lokam.jpg differ diff --git a/public/images/members/di-lu.jpg b/public/images/members/di-lu.jpg new file mode 100644 index 0000000..5cfa3ed Binary files /dev/null and b/public/images/members/di-lu.jpg differ diff --git a/public/images/members/dipal-saluja.jpg b/public/images/members/dipal-saluja.jpg new file mode 100644 index 0000000..84a5dfc Binary files /dev/null and b/public/images/members/dipal-saluja.jpg differ diff --git a/public/images/members/edward-andert.jpg b/public/images/members/edward-andert.jpg new file mode 100644 index 0000000..ae6b921 Binary files /dev/null and b/public/images/members/edward-andert.jpg differ diff --git a/public/images/members/fei-hong.jpg b/public/images/members/fei-hong.jpg new file mode 100644 index 0000000..08c6146 Binary files /dev/null and b/public/images/members/fei-hong.jpg differ diff --git a/public/images/members/francis-mendoza.jpg b/public/images/members/francis-mendoza.jpg new file mode 100644 index 0000000..6287a4c Binary files /dev/null and b/public/images/members/francis-mendoza.jpg differ diff --git a/public/images/members/guna-lagudu.png b/public/images/members/guna-lagudu.png new file mode 100644 index 0000000..3dcd356 Binary files /dev/null and b/public/images/members/guna-lagudu.png differ diff --git a/public/images/members/hamed-attariani.jpg b/public/images/members/hamed-attariani.jpg new file mode 100644 index 0000000..95de5b2 Binary files /dev/null and b/public/images/members/hamed-attariani.jpg differ diff --git a/public/images/members/haotian-wu.jpg b/public/images/members/haotian-wu.jpg new file mode 100644 index 0000000..7b56e30 Binary files /dev/null and b/public/images/members/haotian-wu.jpg differ diff --git a/public/images/members/harshith-allamsetti.jpg b/public/images/members/harshith-allamsetti.jpg new file mode 100644 index 0000000..e6015ee Binary files /dev/null and b/public/images/members/harshith-allamsetti.jpg differ diff --git a/public/images/members/hwisoo-so.jpg b/public/images/members/hwisoo-so.jpg new file mode 100644 index 0000000..116fe73 Binary files /dev/null and b/public/images/members/hwisoo-so.jpg differ diff --git a/public/images/members/hyojun-lee.jpg b/public/images/members/hyojun-lee.jpg new file mode 100644 index 0000000..6120c4a Binary files /dev/null and b/public/images/members/hyojun-lee.jpg differ diff --git a/public/images/members/hyunjun-kim.jpeg b/public/images/members/hyunjun-kim.jpeg new file mode 100644 index 0000000..a3f1876 Binary files /dev/null and b/public/images/members/hyunjun-kim.jpeg differ diff --git a/public/images/members/hyunok-oh.jpg b/public/images/members/hyunok-oh.jpg new file mode 100644 index 0000000..1c964a4 Binary files /dev/null and b/public/images/members/hyunok-oh.jpg differ diff --git a/public/images/members/jared-pager.jpg b/public/images/members/jared-pager.jpg new file mode 100644 index 0000000..2980bad Binary files /dev/null and b/public/images/members/jared-pager.jpg differ diff --git a/public/images/members/javier-ramirez.png b/public/images/members/javier-ramirez.png new file mode 100644 index 0000000..f26b8b7 Binary files /dev/null and b/public/images/members/javier-ramirez.png differ diff --git a/public/images/members/jian-cai.jpg b/public/images/members/jian-cai.jpg new file mode 100644 index 0000000..9f22cae Binary files /dev/null and b/public/images/members/jian-cai.jpg differ diff --git a/public/images/members/jing-lu.jpg b/public/images/members/jing-lu.jpg new file mode 100644 index 0000000..4b8d185 Binary files /dev/null and b/public/images/members/jing-lu.jpg differ diff --git a/public/images/members/jinn-pean-lin.jpg b/public/images/members/jinn-pean-lin.jpg new file mode 100644 index 0000000..81a3a05 Binary files /dev/null and b/public/images/members/jinn-pean-lin.jpg differ diff --git a/public/images/members/jongeun-lee.jpg b/public/images/members/jongeun-lee.jpg new file mode 100644 index 0000000..08d4612 Binary files /dev/null and b/public/images/members/jongeun-lee.jpg differ diff --git a/public/images/members/kaustubh-harapanahalli.jpeg b/public/images/members/kaustubh-harapanahalli.jpeg new file mode 100644 index 0000000..543ed58 Binary files /dev/null and b/public/images/members/kaustubh-harapanahalli.jpeg differ diff --git a/public/images/members/ke-bai.jpg b/public/images/members/ke-bai.jpg new file mode 100644 index 0000000..9af04fc Binary files /dev/null and b/public/images/members/ke-bai.jpg differ diff --git a/public/images/members/kyoungwoo-lee.bmp b/public/images/members/kyoungwoo-lee.bmp new file mode 100644 index 0000000..19ea539 Binary files /dev/null and b/public/images/members/kyoungwoo-lee.bmp differ diff --git a/public/images/members/mahesh-balasubramanian.jpg b/public/images/members/mahesh-balasubramanian.jpg new file mode 100644 index 0000000..b22b32a Binary files /dev/null and b/public/images/members/mahesh-balasubramanian.jpg differ diff --git a/public/images/members/matthew-szeto.webp b/public/images/members/matthew-szeto.webp new file mode 100644 index 0000000..70bf13e Binary files /dev/null and b/public/images/members/matthew-szeto.webp differ diff --git a/public/images/members/megan-kuo.jpg b/public/images/members/megan-kuo.jpg new file mode 100644 index 0000000..9d96cce Binary files /dev/null and b/public/images/members/megan-kuo.jpg differ diff --git a/public/images/members/mohammad-khayatian.jpg b/public/images/members/mohammad-khayatian.jpg new file mode 100644 index 0000000..9479fe3 Binary files /dev/null and b/public/images/members/mohammad-khayatian.jpg differ diff --git a/public/images/members/mohammadreza-mehrabian.jpg b/public/images/members/mohammadreza-mehrabian.jpg new file mode 100644 index 0000000..a61f557 Binary files /dev/null and b/public/images/members/mohammadreza-mehrabian.jpg differ diff --git a/public/images/members/moslem-didehban.jpg b/public/images/members/moslem-didehban.jpg new file mode 100644 index 0000000..82cd8f1 Binary files /dev/null and b/public/images/members/moslem-didehban.jpg differ diff --git a/public/images/members/mps.jpg b/public/images/members/mps.jpg new file mode 100644 index 0000000..b01a0b7 Binary files /dev/null and b/public/images/members/mps.jpg differ diff --git a/public/images/members/ozcan-ozturk.jpg b/public/images/members/ozcan-ozturk.jpg new file mode 100644 index 0000000..329c0b1 Binary files /dev/null and b/public/images/members/ozcan-ozturk.jpg differ diff --git a/public/images/members/quoc-long-vinh-ta.jpg b/public/images/members/quoc-long-vinh-ta.jpg new file mode 100644 index 0000000..763a625 Binary files /dev/null and b/public/images/members/quoc-long-vinh-ta.jpg differ diff --git a/public/images/members/rachel-dedinsky.jpg b/public/images/members/rachel-dedinsky.jpg new file mode 100644 index 0000000..7e0bfb8 Binary files /dev/null and b/public/images/members/rachel-dedinsky.jpg differ diff --git a/public/images/members/reiley-jeyapaul.jpg b/public/images/members/reiley-jeyapaul.jpg new file mode 100644 index 0000000..7e8ef87 Binary files /dev/null and b/public/images/members/reiley-jeyapaul.jpg differ diff --git a/public/images/members/rishab-kashyap.jpeg b/public/images/members/rishab-kashyap.jpeg new file mode 100644 index 0000000..8ac6dd3 Binary files /dev/null and b/public/images/members/rishab-kashyap.jpeg differ diff --git a/public/images/members/rooju-chokshi.jpg b/public/images/members/rooju-chokshi.jpg new file mode 100644 index 0000000..77836bf Binary files /dev/null and b/public/images/members/rooju-chokshi.jpg differ diff --git a/public/images/members/russell-dill.jpg b/public/images/members/russell-dill.jpg new file mode 100644 index 0000000..f95779c Binary files /dev/null and b/public/images/members/russell-dill.jpg differ diff --git a/public/images/members/rylen-sabhlok.jpeg b/public/images/members/rylen-sabhlok.jpeg new file mode 100644 index 0000000..38a38e5 Binary files /dev/null and b/public/images/members/rylen-sabhlok.jpeg differ diff --git a/public/images/members/sai-mylavarapu.jpg b/public/images/members/sai-mylavarapu.jpg new file mode 100644 index 0000000..b38e271 Binary files /dev/null and b/public/images/members/sai-mylavarapu.jpg differ diff --git a/public/images/members/sai-shashank-peddiraju.jpg b/public/images/members/sai-shashank-peddiraju.jpg new file mode 100644 index 0000000..1d18d6c Binary files /dev/null and b/public/images/members/sai-shashank-peddiraju.jpg differ diff --git a/public/images/members/saleel-kudchadker.jpg b/public/images/members/saleel-kudchadker.jpg new file mode 100644 index 0000000..19fa9bc Binary files /dev/null and b/public/images/members/saleel-kudchadker.jpg differ diff --git a/public/images/members/sanggu-park.jpg b/public/images/members/sanggu-park.jpg new file mode 100644 index 0000000..faa531b Binary files /dev/null and b/public/images/members/sanggu-park.jpg differ diff --git a/public/images/members/seungchul-jung.jpg b/public/images/members/seungchul-jung.jpg new file mode 100644 index 0000000..286dfa1 Binary files /dev/null and b/public/images/members/seungchul-jung.jpg differ diff --git a/public/images/members/shail-dave.jpg b/public/images/members/shail-dave.jpg new file mode 100644 index 0000000..1cebce0 Binary files /dev/null and b/public/images/members/shail-dave.jpg differ diff --git a/public/images/members/shashwat-pandey.jpg b/public/images/members/shashwat-pandey.jpg new file mode 100644 index 0000000..403adf8 Binary files /dev/null and b/public/images/members/shashwat-pandey.jpg differ diff --git a/public/images/members/shreehari-jagadeesha.jpg b/public/images/members/shreehari-jagadeesha.jpg new file mode 100644 index 0000000..de630b4 Binary files /dev/null and b/public/images/members/shreehari-jagadeesha.jpg differ diff --git a/public/images/members/shri-rajendran-radhika.jpg b/public/images/members/shri-rajendran-radhika.jpg new file mode 100644 index 0000000..fd66840 Binary files /dev/null and b/public/images/members/shri-rajendran-radhika.jpg differ diff --git a/public/images/members/soyeong-park.jpg b/public/images/members/soyeong-park.jpg new file mode 100644 index 0000000..b9c87ba Binary files /dev/null and b/public/images/members/soyeong-park.jpg differ diff --git a/public/images/members/sumedh-joshi.jpeg b/public/images/members/sumedh-joshi.jpeg new file mode 100644 index 0000000..d089cf1 Binary files /dev/null and b/public/images/members/sumedh-joshi.jpeg differ diff --git a/public/images/members/syna-malhan.jpeg b/public/images/members/syna-malhan.jpeg new file mode 100644 index 0000000..c9127dc Binary files /dev/null and b/public/images/members/syna-malhan.jpeg differ diff --git a/public/images/members/tushar-rawat.jpg b/public/images/members/tushar-rawat.jpg new file mode 100644 index 0000000..0f27223 Binary files /dev/null and b/public/images/members/tushar-rawat.jpg differ diff --git a/public/images/members/vinayak-sharma.jpg b/public/images/members/vinayak-sharma.jpg new file mode 100644 index 0000000..d9b1536 Binary files /dev/null and b/public/images/members/vinayak-sharma.jpg differ diff --git a/public/images/members/whoi-ree-ha.jpg b/public/images/members/whoi-ree-ha.jpg new file mode 100644 index 0000000..037f1fb Binary files /dev/null and b/public/images/members/whoi-ree-ha.jpg differ diff --git a/public/images/members/yohan-ko.bmp b/public/images/members/yohan-ko.bmp new file mode 100644 index 0000000..1fac4a7 Binary files /dev/null and b/public/images/members/yohan-ko.bmp differ diff --git a/public/images/members/yohan-ko.jpg b/public/images/members/yohan-ko.jpg new file mode 100644 index 0000000..8d830d2 Binary files /dev/null and b/public/images/members/yohan-ko.jpg differ diff --git a/public/images/members/yooseong-kim.jpg b/public/images/members/yooseong-kim.jpg new file mode 100644 index 0000000..93d97c0 Binary files /dev/null and b/public/images/members/yooseong-kim.jpg differ diff --git a/public/images/members/youngbin-kim.jpg b/public/images/members/youngbin-kim.jpg new file mode 100644 index 0000000..221b5ee Binary files /dev/null and b/public/images/members/youngbin-kim.jpg differ diff --git a/public/images/members/yunheung-paek.jpeg b/public/images/members/yunheung-paek.jpeg new file mode 100644 index 0000000..66c626a Binary files /dev/null and b/public/images/members/yunheung-paek.jpeg differ diff --git a/public/images/research/aic/dsp-mlir.png b/public/images/research/aic/dsp-mlir.png new file mode 100644 index 0000000..97ab5e3 Binary files /dev/null and b/public/images/research/aic/dsp-mlir.png differ diff --git a/public/images/research/bypass-aware-compiler.png b/public/images/research/bypass-aware-compiler.png new file mode 100644 index 0000000..fba571b Binary files /dev/null and b/public/images/research/bypass-aware-compiler.png differ diff --git a/public/images/research/coarse-grain-reconfigurable-arrays.png b/public/images/research/coarse-grain-reconfigurable-arrays.png new file mode 100644 index 0000000..153c751 Binary files /dev/null and b/public/images/research/coarse-grain-reconfigurable-arrays.png differ diff --git a/public/images/research/cyber-physical-and-iot-systems.png b/public/images/research/cyber-physical-and-iot-systems.png new file mode 100644 index 0000000..2beeb89 Binary files /dev/null and b/public/images/research/cyber-physical-and-iot-systems.png differ diff --git a/public/images/research/gpu-computing.png b/public/images/research/gpu-computing.png new file mode 100644 index 0000000..daa2ba7 Binary files /dev/null and b/public/images/research/gpu-computing.png differ diff --git a/public/images/research/its/conclave.png b/public/images/research/its/conclave.png new file mode 100644 index 0000000..2c7f718 Binary files /dev/null and b/public/images/research/its/conclave.png differ diff --git a/public/images/research/its/incidentnet.png b/public/images/research/its/incidentnet.png new file mode 100644 index 0000000..f6d67e2 Binary files /dev/null and b/public/images/research/its/incidentnet.png differ diff --git a/public/images/research/llm-applications.png b/public/images/research/llm-applications.png new file mode 100644 index 0000000..a9c918b Binary files /dev/null and b/public/images/research/llm-applications.png differ diff --git a/public/images/research/mla/dmaze.webp b/public/images/research/mla/dmaze.webp new file mode 100644 index 0000000..4ca285a Binary files /dev/null and b/public/images/research/mla/dmaze.webp differ diff --git a/public/images/research/power-temperature-and-variation-aware-computing.png b/public/images/research/power-temperature-and-variation-aware-computing.png new file mode 100644 index 0000000..a9be5b1 Binary files /dev/null and b/public/images/research/power-temperature-and-variation-aware-computing.png differ diff --git a/public/images/research/processor-idle-cycle-aggregation.png b/public/images/research/processor-idle-cycle-aggregation.png new file mode 100644 index 0000000..d1e4da6 Binary files /dev/null and b/public/images/research/processor-idle-cycle-aggregation.png differ diff --git a/public/images/research/qml/qml.png b/public/images/research/qml/qml.png new file mode 100644 index 0000000..d5ce709 Binary files /dev/null and b/public/images/research/qml/qml.png differ diff --git a/public/images/research/real-time-systems.png b/public/images/research/real-time-systems.png new file mode 100644 index 0000000..447da35 Binary files /dev/null and b/public/images/research/real-time-systems.png differ diff --git a/public/images/research/reduced-bit-width-instruction-set-architecture.png b/public/images/research/reduced-bit-width-instruction-set-architecture.png new file mode 100644 index 0000000..d57fa20 Binary files /dev/null and b/public/images/research/reduced-bit-width-instruction-set-architecture.png differ diff --git a/public/images/research/software-branch-hinting.png b/public/images/research/software-branch-hinting.png new file mode 100644 index 0000000..3822b18 Binary files /dev/null and b/public/images/research/software-branch-hinting.png differ diff --git a/public/images/research/software-managed-manycore-smm.png b/public/images/research/software-managed-manycore-smm.png new file mode 100644 index 0000000..6381f88 Binary files /dev/null and b/public/images/research/software-managed-manycore-smm.png differ diff --git a/public/images/software/ccf.png b/public/images/software/ccf.png new file mode 100644 index 0000000..64c0825 Binary files /dev/null and b/public/images/software/ccf.png differ diff --git a/public/images/software/dirac.png b/public/images/software/dirac.png new file mode 100644 index 0000000..e7679c4 Binary files /dev/null and b/public/images/software/dirac.png differ diff --git a/public/images/software/dmazerunner.png b/public/images/software/dmazerunner.png new file mode 100644 index 0000000..6fc1e7d Binary files /dev/null and b/public/images/software/dmazerunner.png differ diff --git a/public/images/software/dsp-mlir.png b/public/images/software/dsp-mlir.png new file mode 100644 index 0000000..cecd85c Binary files /dev/null and b/public/images/software/dsp-mlir.png differ diff --git a/public/images/software/expert.png b/public/images/software/expert.png new file mode 100644 index 0000000..669117e Binary files /dev/null and b/public/images/software/expert.png differ diff --git a/public/images/software/gemv.png b/public/images/software/gemv.png new file mode 100644 index 0000000..4e8c219 Binary files /dev/null and b/public/images/software/gemv.png differ diff --git a/public/images/software/jobbed.png b/public/images/software/jobbed.png new file mode 100644 index 0000000..19c1f60 Binary files /dev/null and b/public/images/software/jobbed.png differ diff --git a/public/images/software/llvm-r.png b/public/images/software/llvm-r.png new file mode 100644 index 0000000..93e20f7 Binary files /dev/null and b/public/images/software/llvm-r.png differ diff --git a/public/images/software/nzdc.png b/public/images/software/nzdc.png new file mode 100644 index 0000000..662e719 Binary files /dev/null and b/public/images/software/nzdc.png differ diff --git a/public/images/software/smm-toolchain.png b/public/images/software/smm-toolchain.png new file mode 100644 index 0000000..79b1a75 Binary files /dev/null and b/public/images/software/smm-toolchain.png differ diff --git a/public/images/software/tma.png b/public/images/software/tma.png new file mode 100644 index 0000000..9b7a0ae Binary files /dev/null and b/public/images/software/tma.png differ diff --git a/public/images/sponsors/intlogo.jpg b/public/images/sponsors/intlogo.jpg new file mode 100644 index 0000000..b849000 Binary files /dev/null and b/public/images/sponsors/intlogo.jpg differ diff --git a/public/images/sponsors/logo-msr.png b/public/images/sponsors/logo-msr.png new file mode 100644 index 0000000..bf9a4d4 Binary files /dev/null and b/public/images/sponsors/logo-msr.png differ diff --git a/public/images/sponsors/logo-nsf.jpg b/public/images/sponsors/logo-nsf.jpg new file mode 100644 index 0000000..8bd95c1 Binary files /dev/null and b/public/images/sponsors/logo-nsf.jpg differ diff --git a/public/images/sponsors/logosfaz.gif b/public/images/sponsors/logosfaz.gif new file mode 100644 index 0000000..214c9c6 Binary files /dev/null and b/public/images/sponsors/logosfaz.gif differ diff --git a/public/images/sponsors/new-doe-logo-color-web.jpg b/public/images/sponsors/new-doe-logo-color-web.jpg new file mode 100644 index 0000000..8aac4f1 Binary files /dev/null and b/public/images/sponsors/new-doe-logo-color-web.jpg differ diff --git a/public/images/sponsors/nist.png b/public/images/sponsors/nist.png new file mode 100644 index 0000000..86a5256 Binary files /dev/null and b/public/images/sponsors/nist.png differ diff --git a/public/images/sponsors/nvidia-logo.jpg b/public/images/sponsors/nvidia-logo.jpg new file mode 100644 index 0000000..5b66eeb Binary files /dev/null and b/public/images/sponsors/nvidia-logo.jpg differ diff --git a/public/images/sponsors/rtn-logo.gif b/public/images/sponsors/rtn-logo.gif new file mode 100644 index 0000000..4aa4d06 Binary files /dev/null and b/public/images/sponsors/rtn-logo.gif differ diff --git a/public/images/sponsors/sdc-color.gif b/public/images/sponsors/sdc-color.gif new file mode 100644 index 0000000..e8493b8 Binary files /dev/null and b/public/images/sponsors/sdc-color.gif differ diff --git a/public/images/sponsors/semiconductor-research-corporation-wikipedia.png b/public/images/sponsors/semiconductor-research-corporation-wikipedia.png new file mode 100644 index 0000000..4491bb0 Binary files /dev/null and b/public/images/sponsors/semiconductor-research-corporation-wikipedia.png differ diff --git a/public/images/sponsors/signhear-logo.png b/public/images/sponsors/signhear-logo.png new file mode 100644 index 0000000..9d206fc Binary files /dev/null and b/public/images/sponsors/signhear-logo.png differ diff --git a/server.pid b/server.pid new file mode 100644 index 0000000..796974c --- /dev/null +++ b/server.pid @@ -0,0 +1 @@ +61467 diff --git a/src/components/astro/Footer.astro b/src/components/astro/Footer.astro new file mode 100644 index 0000000..f266512 --- /dev/null +++ b/src/components/astro/Footer.astro @@ -0,0 +1,130 @@ +--- +const currentYear = new Date().getFullYear(); +--- + +
+
+
+ +
+
+
+ M +
+
+

MPS Lab

+

Making Programming Simple

+
+
+

+ School of Computing & Augmented Intelligence
+ Arizona State University
+ Tempe, AZ 85281 +

+
+ + +
+

+ Quick Links +

+ +
+ + +
+

+ Connect +

+ +
+
+ +
+

+ © {currentYear} MPS Lab, Arizona State University. All rights reserved. +

+
+
+
diff --git a/src/components/astro/MemberGrid.astro b/src/components/astro/MemberGrid.astro new file mode 100644 index 0000000..d3ce44f --- /dev/null +++ b/src/components/astro/MemberGrid.astro @@ -0,0 +1,169 @@ +--- +import { getCollection } from 'astro:content'; + +interface Props { + roleFilter?: string; + researchFilter?: string; + alumniTypeFilter?: string | string[]; + compact?: boolean; +} + +const { roleFilter, researchFilter, alumniTypeFilter, compact = false } = Astro.props; + +let allMembers = await getCollection('members'); +if (roleFilter === 'Alumni') { + allMembers = allMembers.filter(m => m.data.role === 'Alumni' || m.data.isAlumni === true); +} else if (roleFilter) { + allMembers = allMembers.filter(m => m.data.role === roleFilter); +} +if (alumniTypeFilter) { + const types = Array.isArray(alumniTypeFilter) ? alumniTypeFilter : [alumniTypeFilter]; + allMembers = allMembers.filter(m => { + if (!m.data.alumniType) return false; + const memberTypes = Array.isArray(m.data.alumniType) ? m.data.alumniType : [m.data.alumniType]; + return memberTypes.some(t => types.includes(t)); + }); +} +if (researchFilter) { + const filterLower = researchFilter.toLowerCase(); + allMembers = allMembers.filter(m => + m.data.researchInterests && + m.data.researchInterests.some(ri => ri.toLowerCase() === filterLower) + ); +} +// Determine graduation date value for sorting +const getGraduationValue = (gradStr: string | string[] | undefined): number => { + if (!gradStr) return 0; + + // If array, grab the first one or we can find the max year. Let's just find the max year. + const strs = Array.isArray(gradStr) ? gradStr : [gradStr]; + let maxValue = 0; + + for (const s of strs) { + // Example: 'Spring 2024', 'Fall 2023', '2020' + const match = s.match(/(Spring|Summer|Fall|Winter)?\s*(\d{4})/i); + if (match) { + const year = parseInt(match[2], 10); + let seasonVal = 0; + const season = (match[1] || '').toLowerCase(); + if (season === 'spring') seasonVal = 1; + else if (season === 'summer') seasonVal = 2; + else if (season === 'fall') seasonVal = 3; + else if (season === 'winter') seasonVal = 4; + + // E.g., 2024.3, 2024.1 + const val = year + (seasonVal / 10); + if (val > maxValue) { + maxValue = val; + } + } + } + return maxValue; +} + +if (roleFilter === 'Alumni' || alumniTypeFilter) { + // Sort by graduation (newest to oldest), fallback to order + allMembers.sort((a, b) => { + const valA = getGraduationValue(a.data.graduated); + const valB = getGraduationValue(b.data.graduated); + + if (valA !== valB) { + return valB - valA; // Descending + } + return (a.data.order ?? 99) - (b.data.order ?? 99); + }); +} else { + // Default sorting + allMembers.sort((a, b) => (a.data.order ?? 99) - (b.data.order ?? 99)); +} + +const roleColors: Record = { + 'Principle Investigator': 'bg-primary/10 text-primary', + 'Ph.D.': 'bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-300', + 'Masters': 'bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-300', + 'Postdoc': 'bg-purple-100 text-purple-700 dark:bg-purple-900/30 dark:text-purple-300', + 'Alumni': 'bg-gray-100 text-gray-600 dark:bg-gray-800 dark:text-gray-400', +}; +--- + +{allMembers.length > 0 && compact && ( + +)} + +{allMembers.length > 0 && !compact && ( + +)} diff --git a/src/components/astro/Navbar.astro b/src/components/astro/Navbar.astro new file mode 100644 index 0000000..4430943 --- /dev/null +++ b/src/components/astro/Navbar.astro @@ -0,0 +1,114 @@ +--- +import ThemeToggle from "../react/ThemeToggle"; + +const navLinks = [ + { href: "/", label: "Home" }, + { href: "/research", label: "Research" }, + { href: "/publications", label: "Publications" }, + { href: "/teaching", label: "Teaching" }, + { href: "/people", label: "People" }, + { href: "/news", label: "News" }, + { href: "/gallery", label: "Gallery" }, + { href: "/faq", label: "FAQ" }, + { href: "/contact", label: "Contact" }, +]; + +const currentPath = Astro.url.pathname; +--- + + + + diff --git a/src/components/astro/NewsSidebar.astro b/src/components/astro/NewsSidebar.astro new file mode 100644 index 0000000..e354de7 --- /dev/null +++ b/src/components/astro/NewsSidebar.astro @@ -0,0 +1,64 @@ +--- +const { currentPath } = Astro.props; + +const links = [ + { + href: "/news", + label: "Lab Updates", + icon: "M19 20H5a2 2 0 01-2-2V6a2 2 0 012-2h10a2 2 0 012 2v1m2 13a2 2 0 01-2-2V7m2 13a2 2 0 002-2V9a2 2 0 00-2-2h-2m-4-3H9M7 16h6M7 8h6v4H7V8z", + }, + { + href: "/news/awards", + label: "Awards", + icon: "M5 3v4M3 5h4M6 17v4m-2-2h4m5-16l2.286 6.857L21 12l-5.714 2.143L13 21l-2.286-6.857L5 12l5.714-2.143L13 3z", + }, +]; + +// Normalize paths for exact matching (e.g., removing trailing slashes) +const normalizePath = (p: string) => p.replace(/\/$/, "") || "/"; +const normalizedCurrent = normalizePath(currentPath); +--- + + diff --git a/src/components/react/GalleryGrid.tsx b/src/components/react/GalleryGrid.tsx new file mode 100644 index 0000000..2d3fc42 --- /dev/null +++ b/src/components/react/GalleryGrid.tsx @@ -0,0 +1,52 @@ +import React, { useState } from 'react'; +import ImageLightbox from './ImageLightbox'; + +interface GalleryGridProps { + images: string[]; +} + +const GalleryGrid: React.FC = ({ images }) => { + const [isOpen, setIsOpen] = useState(false); + const [selectedIndex, setSelectedIndex] = useState(0); + + const openLightbox = (index: number) => { + setSelectedIndex(index); + setIsOpen(true); + }; + + return ( +
+
+ {images.map((image, index) => ( +
openLightbox(index)} + > + {`Gallery +
+ + + + + +
+
+ ))} +
+ + setIsOpen(false)} + /> +
+ ); +}; + +export default GalleryGrid; diff --git a/src/components/react/ImageLightbox.tsx b/src/components/react/ImageLightbox.tsx new file mode 100644 index 0000000..ebbb464 --- /dev/null +++ b/src/components/react/ImageLightbox.tsx @@ -0,0 +1,94 @@ +import { ChevronLeft, ChevronRight, X, ZoomIn, ZoomOut } from 'lucide-react'; +import React, { useCallback, useEffect, useState } from 'react'; + +interface ImageLightboxProps { + images: string[]; + initialIndex?: number; + isOpen: boolean; + onClose: () => void; +} + +const ImageLightbox: React.FC = ({ images, initialIndex = 0, isOpen, onClose }) => { + const [currentIndex, setCurrentIndex] = useState(initialIndex); + const [isZoomed, setIsZoomed] = useState(false); + + const handleNext = useCallback(() => { + setCurrentIndex((prev) => (prev + 1) % images.length); + setIsZoomed(false); + }, [images.length]); + + const handlePrev = useCallback(() => { + setCurrentIndex((prev) => (prev - 1 + images.length) % images.length); + setIsZoomed(false); + }, [images.length]); + + const handleKeyDown = useCallback((e: KeyboardEvent) => { + if (e.key === 'Escape') onClose(); + if (e.key === 'ArrowRight') handleNext(); + if (e.key === 'ArrowLeft') handlePrev(); + }, [onClose, handleNext, handlePrev]); + + useEffect(() => { + if (isOpen) { + document.body.style.overflow = 'hidden'; + window.addEventListener('keydown', handleKeyDown); + } else { + document.body.style.overflow = 'unset'; + } + return () => window.removeEventListener('keydown', handleKeyDown); + }, [isOpen, handleKeyDown]); + + if (!isOpen) return null; + + return ( +
+ + +
+ {currentIndex + 1} / {images.length} +
+ + + + + +
+ {`Gallery setIsZoomed(!isZoomed)} + /> +
+ +
+ + +
+
+ ); +}; + +export default ImageLightbox; diff --git a/src/components/react/PublicationCard.tsx b/src/components/react/PublicationCard.tsx new file mode 100644 index 0000000..83cbd44 --- /dev/null +++ b/src/components/react/PublicationCard.tsx @@ -0,0 +1,224 @@ +import { Check, Clipboard, Code, FileText, Image as ImageIcon, Link, PlaySquare, Presentation, Quote } from 'lucide-react'; +import { useState } from 'react'; + +export interface Publication { + citationKey: string; + entryType: string; + entryTags: { + author?: string; + title?: string; + booktitle?: string; + journal?: string; + year?: string; + research?: string; + url?: string; + website?: string; + code?: string; + category?: string; + }; +} + +interface PublicationCardProps { + pub: Publication; + validTags?: string[]; + onTypeClick?: (type: string) => void; + onTagClick?: (tag: string) => void; +} + +export default function PublicationCard({ pub, validTags = [], onTypeClick, onTagClick }: PublicationCardProps) { + const [expandedBibtex, setExpandedBibtex] = useState(null); + const [copiedKey, setCopiedKey] = useState(null); + + const getVenue = (p: Publication) => p.entryTags.booktitle || p.entryTags.journal || ''; + + const parseUrls = (urlString?: string) => { + if (!urlString) return []; + const parts = urlString.split(/(?=https?:\/\/)/); + return parts.map(p => { + const raw = p.trim(); + if (!raw) return null; + const commaIdx = raw.indexOf(','); + if (commaIdx !== -1) { + const url = raw.substring(0, commaIdx).trim(); + let label = raw.substring(commaIdx + 1).trim() || 'Link'; + + const lowerLabel = label.toLowerCase(); + if (lowerLabel.includes('pdf')) label = 'Paper'; + else if (lowerLabel.includes('ppt') || lowerLabel.includes('slide')) label = 'Slides'; + + return { url, label }; + } + return { url: raw, label: 'Link' }; + }).filter(Boolean) as { url: string, label: string }[]; + }; + + const getIconForLabel = (label: string) => { + const l = label.toLowerCase(); + if (l.includes('pdf')) return ; + if (l.includes('slide') || l.includes('ppt')) return ; + if (l.includes('poster')) return ; + if (l.includes('teaser') || l.includes('video')) return ; + return ; + }; + + const generateBibtex = (pub: Publication) => { + let result = `@${pub.entryType}{${pub.citationKey},\n`; + for (const [key, value] of Object.entries(pub.entryTags)) { + if (value !== undefined && value !== null && key !== 'url' && key !== 'website' && key !== 'code') { + result += ` ${key} = {${value}},\n`; + } + } + result += `}`; + return result; + }; + + const handleCopyBibtex = async (pub: Publication) => { + const bibtex = generateBibtex(pub); + try { + await navigator.clipboard.writeText(bibtex); + setCopiedKey(pub.citationKey); + setTimeout(() => setCopiedKey(null), 2000); + } catch (err) { + console.error('Failed to copy bibtex: ', err); + } + }; + + return ( +
+
+

+ {pub.entryTags.title || pub.citationKey} +

+

+ {pub.entryTags.author?.replace(/ and /ig, '; ')} +

+
+ + {pub.entryTags.year} + + {pub.entryTags.category && ( + onTypeClick ? ( + + ) : ( + + {pub.entryTags.category} + + ) + )} + + {getVenue(pub)} + +
+ {pub.entryTags.research && ( +
+ {pub.entryTags.research.split(',').map(t => t.trim()) + .filter(t => validTags.length === 0 || validTags.some(v => v.toLowerCase() === t.toLowerCase())) + .map(kw => ( + onTagClick ? ( + + ) : ( + + {kw} + + ) + ))} +
+ )} +
+
+
+ {pub.entryTags.code && ( + + + Code + + )} + {pub.entryTags.website && ( + + + Website + + )} + {parseUrls(pub.entryTags.url).map((resource, i) => ( + + {getIconForLabel(resource.label)} + {resource.label} + + ))} + +
+
+ + {/* Expandable BibTeX Output */} + { + expandedBibtex === pub.citationKey && ( +
+
+ BibTeX + +
+
+                            {generateBibtex(pub)}
+                        
+
+ ) + } +
+ ); +} diff --git a/src/components/react/PublicationSearch.tsx b/src/components/react/PublicationSearch.tsx new file mode 100644 index 0000000..e4327b6 --- /dev/null +++ b/src/components/react/PublicationSearch.tsx @@ -0,0 +1,208 @@ +import Fuse from 'fuse.js'; +import { Filter, Search } from 'lucide-react'; +import { useEffect, useMemo, useState } from 'react'; +import type { Publication } from './PublicationCard'; +import PublicationCard from './PublicationCard'; + +interface Props { + papers: Publication[]; + validAuthors?: string[]; + validTags?: string[]; +} + +export default function PublicationSearch({ papers, validAuthors = [], validTags = [] }: Props) { + const [query, setQuery] = useState(''); + const [yearFilter, setYearFilter] = useState(''); + const [authorFilter, setAuthorFilter] = useState(''); + const [typeFilter, setTypeFilter] = useState(''); + const [tagFilter, setTagFilter] = useState(''); + const [currentPage, setCurrentPage] = useState(1); + const ITEMS_PER_PAGE = 20; + + // Initialize query and tag filter from URL parameters if present + useEffect(() => { + if (typeof window !== 'undefined') { + const params = new URLSearchParams(window.location.search); + const q = params.get('q'); + if (q) { + setQuery(q); + } + const tag = params.get('tag'); + if (tag) { + setTagFilter(tag); + } + } + }, []); + + // Reset to page 1 when any filter changes + useEffect(() => { + setCurrentPage(1); + }, [query, yearFilter, authorFilter, typeFilter, tagFilter]); + + const years = useMemo(() => { + const y = [...new Set(papers.map(p => p.entryTags.year).filter(Boolean))].sort().reverse(); + return y as string[]; + }, [papers]); + + const authors = useMemo(() => { + return [...validAuthors].sort(); + }, [validAuthors]); + + const types = useMemo(() => { + return [...new Set(papers.map(p => p.entryTags.category).filter(Boolean))].sort() as string[]; + }, [papers]); + + const tags = useMemo(() => { + return [...validTags].sort(); + }, [validTags]); + + const fuse = useMemo(() => new Fuse(papers, { + keys: [ + { name: 'entryTags.title', weight: 0.4 }, + { name: 'entryTags.author', weight: 0.3 }, + { name: 'entryTags.research', weight: 0.2 }, + { name: 'entryTags.year', weight: 0.1 }, + { name: 'entryTags.booktitle', weight: 0.1 }, + { name: 'entryTags.journal', weight: 0.1 }, + ], + threshold: 0.4, + includeScore: true, + }), [papers]); + + const filtered = useMemo(() => { + let results = query ? fuse.search(query).map(r => r.item) : papers; + if (yearFilter) { + results = results.filter(p => p.entryTags.year === yearFilter); + } + if (authorFilter) { + results = results.filter(p => p.entryTags.author?.includes(authorFilter)); + } + if (typeFilter) { + results = results.filter(p => p.entryTags.category === typeFilter); + } + if (tagFilter) { + results = results.filter(p => p.entryTags.research?.includes(tagFilter)); + } + return results; + }, [query, yearFilter, authorFilter, typeFilter, tagFilter, papers, fuse]); + + const totalPages = Math.ceil(filtered.length / ITEMS_PER_PAGE); + const startIndex = (currentPage - 1) * ITEMS_PER_PAGE; + const paginatedResults = useMemo(() => { + return filtered.slice(startIndex, startIndex + ITEMS_PER_PAGE); + }, [filtered, startIndex]); + + return ( +
+ {/* Search */} +
+ + setQuery(e.target.value)} + className="w-full pl-10 pr-4 py-3 rounded-xl border bg-[var(--color-bg-card)] text-[var(--color-text)] border-[var(--color-border)] focus:ring-2 focus:ring-[var(--color-primary)] focus:border-transparent outline-none transition-all" + /> +
+ + {/* Filters */} +
+
+ + +
+
+ + +
+
+ + +
+ +
+ + +
+
+ + {/* Results Count */} +

+ Showing {filtered.length > 0 ? startIndex + 1 : 0}-{Math.min(startIndex + ITEMS_PER_PAGE, filtered.length)} of {filtered.length} publications +

+ + {/* Publication List */} +
+ {paginatedResults.map(pub => ( + + ))} +
+ + {totalPages > 1 && ( +
+ + + Page {currentPage} of {totalPages} + + +
+ )} + + { + filtered.length === 0 && ( +
+ +

No publications match your search.

+
+ ) + } +
+ ); +} diff --git a/src/components/react/SoftwareCard.tsx b/src/components/react/SoftwareCard.tsx new file mode 100644 index 0000000..956d155 --- /dev/null +++ b/src/components/react/SoftwareCard.tsx @@ -0,0 +1,62 @@ +import { Code, ExternalLink } from 'lucide-react'; + +interface SoftwareProject { + name: string; + url: string; + description: string; + researchGroup: string; + image: string; +} + +export default function SoftwareCard({ project }: { project: SoftwareProject }) { + // Clean up leading colons/dashes from description + let desc = project.description.trim(); + if (desc.startsWith(':') || desc.startsWith('-')) { + desc = desc.substring(1).trim(); + } + + const isGithub = project.url.toLowerCase().includes("github.com"); + + return ( +
+
+ {/* Header: image + title */} +
+ {project.image && ( + {project.name} + )} +
+

+ {project.name} +

+ + {project.researchGroup} + +
+
+ +

+ {desc} +

+
+ +
+ ); +} diff --git a/src/components/react/ThemeToggle.tsx b/src/components/react/ThemeToggle.tsx new file mode 100644 index 0000000..cd4312c --- /dev/null +++ b/src/components/react/ThemeToggle.tsx @@ -0,0 +1,27 @@ +import { Moon, Sun } from 'lucide-react'; +import { useEffect, useState } from 'react'; + +export default function ThemeToggle() { + const [isDark, setIsDark] = useState(false); + + useEffect(() => { + setIsDark(document.documentElement.classList.contains('dark')); + }, []); + + const toggle = () => { + const next = !isDark; + setIsDark(next); + document.documentElement.classList.toggle('dark', next); + localStorage.setItem('theme', next ? 'dark' : 'light'); + }; + + return ( + + ); +} diff --git a/src/content/config.ts b/src/content/config.ts new file mode 100644 index 0000000..cb4d881 --- /dev/null +++ b/src/content/config.ts @@ -0,0 +1,89 @@ +import { defineCollection, z } from 'astro:content'; + +const members = defineCollection({ + type: 'content', + schema: z.object({ + name: z.string(), + role: z.enum(['Principle Investigator', 'Ph.D.', 'Masters', 'Undergraduate', 'Alumni', 'Postdoc', 'Visiting Student', 'Visiting Faculty']), + photoUrl: z.string().optional(), + joinDate: z.string(), + email: z.string().optional(), + website: z.string().optional(), + github: z.string().optional(), + linkedin: z.string().optional(), + portfolio: z.string().optional(), + resume: z.string().optional(), + researchInterests: z.array(z.string()).optional(), + order: z.number().optional(), + image: z.string().optional(), + isAlumni: z.boolean().optional(), + alumniType: z.union([z.string(), z.array(z.string())]).optional(), + currentPosition: z.string().optional(), + graduated: z.union([z.string(), z.array(z.string())]).optional(), + university: z.union([z.string(), z.array(z.string())]).optional(), + duration: z.union([z.string(), z.array(z.string())]).optional(), + }), +}); + +const news = defineCollection({ + type: 'content', + schema: z.object({ + date: z.union([z.string(), z.date(), z.number()]), + type: z.enum(['Award', 'Publication', 'Event', 'Announcement', 'General']), + description: z.string(), + }), +}); + +const research = defineCollection({ + type: 'content', + schema: z.object({ + title: z.string(), + status: z.enum(['Active', 'Extended']), + description: z.string(), + image: z.string().optional(), + icon: z.string().optional(), + order: z.number().optional(), + }), +}); + +const resources = defineCollection({ + type: 'content', + schema: z.object({ + researchArea: z.string(), + resources: z.array(z.object({ + title: z.string(), + type: z.enum(['Paper', 'Book', 'Video', 'Tutorial', 'Tool', 'Publication']), + url: z.string().optional(), + authors: z.string().optional(), + description: z.string().optional(), + })), + }), +}); + +const faq = defineCollection({ + type: 'content', + schema: z.object({ + category: z.string(), + icon: z.string().optional(), + order: z.number().optional(), + items: z.array(z.object({ + question: z.string(), + answer: z.string().optional(), + externalLink: z.string().optional(), + })), + }), +}); + +const gallery = defineCollection({ + type: 'content', + schema: z.object({ + title: z.string(), + description: z.string(), + date: z.date(), + coverImage: z.string(), + images: z.array(z.string()), + location: z.string().optional(), + }), +}); + +export const collections = { members, news, research, resources, faq, gallery }; diff --git a/src/content/faq/administrative.md b/src/content/faq/administrative.md new file mode 100644 index 0000000..9a952d0 --- /dev/null +++ b/src/content/faq/administrative.md @@ -0,0 +1,34 @@ +--- +category: Administrative +icon: 📋 +order: 3 +items: +- question: How can I apply for a TA position? + answer: '' + externalLink: http://cidse.engineering.asu.edu/forstudent/graduate/teachingresearch-assistantships/ +- question: How can I contact my academic advisor? + answer: '' + externalLink: https://students.asu.edu/advising/directory +- question: How do I file an override request for a CSE/CEN course? + answer: '' + externalLink: http://cidse.engineering.asu.edu/forstudent/academic-advising/cidse-override-policy/ +- question: How can I enroll in a thesis/practicum/continuing registration course? + answer: '' + externalLink: https://cidse.engineering.asu.edu/forstudent/graduate/gradforms/ +- question: How do I contact ASU HR? + answer: '' + externalLink: https://cfo.asu.edu/hr +- question: How can I get assistance with my payroll or tax documents? + answer: '**Where to access my tax documents?** + + + Please go to MyASU -> Staff -> My Employment -> Payroll -> Tax Information -> W4 Tax Information (Federal) Please go to MyASU -> Staff -> My Employment -> Payroll -> Tax Information ->  A-4 Tax Information + (Arizona) + + + **How can I get information regarding ASU payroll?** + + + Please visit https://cfo.asu.edu/payroll or call on (480) 965-3601. ASU payroll is located at USB building.' + externalLink: '' +--- diff --git a/src/content/faq/general.md b/src/content/faq/general.md new file mode 100644 index 0000000..a4721e3 --- /dev/null +++ b/src/content/faq/general.md @@ -0,0 +1,157 @@ +--- +category: General +icon: 💡 +order: 4 +items: +- question: I am new to the lab; what do I need to do? + answer: '' + externalLink: https://docs.google.com/document/d/1Ab9FCx-FOphzkFxTyzaQuN4R9RKOV2Z0f9BR1AVK_Lc/edit?usp=sharing +- question: How to use Docker on Linux Servers? + answer: '' + externalLink: https://youtu.be/fqMOX6JJhGo?si=FXsav7SRqlekc9-x +- question: Is there a presentation template for lab meetings? + answer: '' + externalLink: https://docs.google.com/document/d/18S5cAicIsTDq7azR2ZExbGHxw7BI_koHPYK7cG8VY2U/edit?usp=sharing +- question: Who do I contact if I have a facility service request? + answer: '' + externalLink: https://cfo.asu.edu/requests-for-service +- question: How can I create my public web page @ ASU domain? + answer: 'Firstly, follow the link of a short tutorial, which shows steps to get a website using your ASURITE user name/ASUID. Create a website at ASU + + + Once, you have activated your site and reach to the MyFiles as described into the tutorial, follow the steps below – 1. You will see Folders Section in MyFiles. Locate www folder and click on it. 2. + Now you have reached the place where you can manage file and folders, related to your public webpage. 3. Access your public site using http://www.public.asu.edu/~ASURITE where ASURITE is your ASURITE + user name. 4. You will see that you can manage homepage of your public webpage using index.html, inside www folder. Publicwebsetup.html is for future reference. You can always access it through http://www.public.asu.edu/~ASURITE/publicwebsetup.html. + By default, index.html and publicwebsetup.html will be the same. 5. Modify index.html and add/remove files to the filespace into www folder. Have a decent public webpage. Good Luck!' + externalLink: '' +- question: Where can I apply for graduate fellowships? + answer: '**ASU Awards, Scholarships, and Fellowships** + + + Graduate College Fellowships and Awards + + + Fellowships and Scholarships from Ira A. Fultons Schools of Engineering + + + ASU Master’s Opportunity for Research in Engineering (MORE) + + + ASU Summer Research Internships (SURI) + + + ASU Fulton Undergraduate Research Initiative (FURI) + + + Fellowship list from ASU School of Computing and Augmented Intelligence (SCAI) + + + ASU Graduate and Professional Student Association (GPSA) Awards + + + ASU Scholarships Portal + + + **External lists of Fellowship Applications** + + + List from UMD CS + + + List from CMU CS + + + List from Caltech Grad Students Office + + + List from FAU Grad College' + externalLink: '' +- question: Which travel grants are available, and how should I apply to them? + answer: 'ASU Resources + + + GPSA Travel Grant – Travel Grants | Educational Outreach and Student Services + + + Graduate College Travel Grant – Travel Awards | Graduate College + + + SCAI Travel Grant – SCAI Conference Funding Application (Available only to Ph.D. students) + + + Usually, the organizations holding the conferences also provide travel grants, but this is not guaranteed to all conferences.' + externalLink: '' +- question: How do I contribute to the SCAI PhD Newsletter? + answer: '' + externalLink: https://bit.ly/phdnews +- question: What do I do if I get fake mail? + answer: Email [email protected] + externalLink: '' +- question: I need additional support from CIDSE IT. + answer: 'Where to submit CIDSE IT requests? For IT issues please submit a “ticket” by going to: http://links.asu.edu/SCAIIT/ + + + Once ticket is submitted your request will be in the queue and handled on a first-come-first-serve basis. + + + Please bookmark this address and start using it as soon as you can.' + externalLink: '' +- question: How do I get door access to certain rooms in the Centerpoint Building? + answer: 'If you are a registered ASU student or faculty member and need keycard access to the Centerpoint Building and specific labs/rooms, then visit: https://ets.engineering.asu.edu/keyless-door-entry-system-isaac/ + and fill out the appropriate information by clicking on the link for Tempe. You can do so by adding a new request. The request must be approved by the designated faculty for the facility that you are + requesting access to. + + + If you are unable to access certain doors in the Centerpoint Building, please email: [email protected] and copy Dr. Aviral.' + externalLink: '' +- question: How can I get a furniture accommodation? + answer: 'If you have ergonomic needs for particular furniture, ASU has a group that can assess such needs on an individual basis.  This is the only option I have to replace chairs in the lab as grant + funding cannot cover office furniture. Please review the following website. + + + Workplace accommodations | Arizona State University ( asu.edu ) For the students that are having issues the next steps would be to reach out to the following email addresses or phone number. [email protected] + or call 480-727-1770' + externalLink: '' +- question: I need a vacuum cleaner in the lab; where can I get access? + answer: '' + externalLink: https://cfo.asu.edu/requests-for-service +- question: Who do I contact for lab website-related queries? – Atharva + answer: 'LinkedIn + + + GitHub + + + I’m a Ph.D in Computer Science Student at ASU working in Compiler Design and Machine Learning Accelerators @MPS-Lab . Previously I worked as a Machine Learning Intern at AMD and HackerRank . + + + **Tech Stack**' + externalLink: '' +- question: Who do I contact for organizing a social event in the lab? – Kaustubh + answer: 'LinkedIn + + + GitHub + + + I have developed my core foundation in Computer Vision and AI, which presented opportunities for research and solution development in industrial settings, particularly with Siemens. Balancing technical + work with a commitment to my education, my path has evolved from organizing and instructing in learning programs to contributing to corporate roles in a research capacity, focusing on practical applications + and collaborative growth in Computer Vision and AI. + + + I am currently working on building a deeper understanding of Vision Transformers and their applications in Machine Learning Accelerator and Intelligent Traffic management settings. + + + I aim to pursue an Applied research role with an aptitude for Full-Stack Deep Learning.' + externalLink: '' +- question: I have not completed my Master’s Thesis, and I have completed two years. What should I do? + answer: Register 1 credit for the continued registration course. Process details can be found here – Continued Registration / Course Permission or Override requests . The same link can be used for Independent + Study and Internship requests. + externalLink: https://sites.google.com/asu.edu/scaigraduateprogramresources/forms-procedures +- question: I just published a paper; what should I do? + answer: '' + externalLink: https://docs.google.com/document/d/1K_1mURQnnEu_mCREu3U8CnjahDePJCcXELCELBmn0eE/edit?usp=sharing +- question: I am ready to schedule my Master’s thesis defense and graduate; what do I do? + answer: '' + externalLink: https://docs.google.com/document/d/1hUeRbJ9wAFbcMuKed6zrEUwu0rCZqmI7YVArTFDItLE/edit?usp=sharing +--- diff --git a/src/content/faq/on-campus-resources.md b/src/content/faq/on-campus-resources.md new file mode 100644 index 0000000..dad6ed1 --- /dev/null +++ b/src/content/faq/on-campus-resources.md @@ -0,0 +1,33 @@ +--- +category: On-Campus Resources +icon: 🏫 +order: 2 +items: +- question: Is there a way to get graduate/academic writing support at ASU? + answer: '' + externalLink: https://tutoring.asu.edu/graduate-writing-centers +- question: Where do I apply for on-campus jobs at ASU? + answer: '' + externalLink: https://students.asu.edu/employment/search +- question: If I have an issue with my computer or printer or need some cables or equipment, who should I contact? + answer: 'Where to submit CIDSE IT requests? For IT issues please submit a “ticket” by going to: http://links.asu.edu/SCAIIT/ + + + Once ticket is submitted your request will be in the queue and handled on a first-come-first-serve basis. + + + Please bookmark this address and start using it as soon as you can.' + externalLink: '' +- question: How can I connect with the marketing and communication people ? + answer: '' + externalLink: https://engineering.asu.edu/comm/ +- question: What are the counseling services available? + answer: '' + externalLink: https://eoss.asu.edu/counseling +- question: How do I create an account to use ASU Research Computing resources? Visit the “create an account” link and click on “I would like to register for an account “. + answer: '' + externalLink: https://asurc.atlassian.net/wiki/spaces/RC/overview +- question: How do I use the ASU Research Computing resources? Visit the New User Guide . + answer: '' + externalLink: https://asurc.atlassian.net/wiki/spaces/RC/pages/1905721457/New+User+Guide +--- diff --git a/src/content/faq/research.md b/src/content/faq/research.md new file mode 100644 index 0000000..e59e96e --- /dev/null +++ b/src/content/faq/research.md @@ -0,0 +1,109 @@ +--- +category: Research +icon: 📝 +order: 1 +items: +- question: How do I begin writing a paper? + answer: 'To start with: do not think that you will write a paper in one shot. Writing is a process, and has to be done in phases. There are three main phases of writing, i) Outlining, ii) Drafting, and + iii) Editing. + + + **Outlining:** + + Outlining is the phase when you write in bullets. You do not need to write complete sentences, just phrases are enough. The idea is to write bullets about what you are going to write. Try and fix the + structure of the paper, write down the sections and subsections, but inside them there are no sentences, just bullets. Your arguments, and the flow of the arguments are the main thing that you are trying + to fix. Once you have a version of the outline, then we iterate on the outline and refine it, until the story is set. It is must easier to iterate on outline, rather than writing, because i) outline + is smaller, so you can see and think about all of it at once, and ii) fixing it is much easier than fixing writing. + + + **Drafting:** + + Once the outline is set, then start converting bullets in paragraphs, and complete sentences. We iterate on draft, so that the idea is conveyed as accurately as possible. + + + **Editing:** + + Editing is the phase of going over your final draft, and fixing grammatical and sentence construction errors. + + + As you can see, the most important phase in technical writing is the outlining phase. Once that is fixed, rest is pretty fast.' + externalLink: '' +- question: Can I refer to a pre-writing resource to start the paper draft? + answer: '' + externalLink: https://docs.google.com/document/d/1nkCSMWl_f9kFp3DG34jDnLRZrdRqbevrF0dJwKdeJB4/edit?usp=sharing +- question: How should I review a paper? + answer: 'Write your review in 3 sections: 1. Summary of the paper in your words. 2. The plus points of the paper. 3. Concerns about the paper. 4. Evaluate the paper (on a scale of 1-10, with 10 being + the best). + + + Writing the plus points of a well-written paper is usually easy since that is the author’s primary job. If you are finding this hard, then the paper is clearly bad! + + + Spend your time in finding all the holes in the paper. There can be several shortcomings in the paper. Categorize them in major and minor concerns: Examples of major concerns: 1. Are assumptions wrong/unrealistic? + 2. Fair comparison against the latest related work? 3. Not discussed all the relevant related work? 4. State the contributions of the paper clearly? 5. Experiments must prove their contribution, not + something else 6. Is the problem important, or made up? + + + Examples of minor concerns: 1. Spelling mistakes 2. Grammar 3. Writing style' + externalLink: '' +- question: When and where can I submit my paper? + answer: '' + externalLink: https://docs.google.com/document/d/1BicNfbhI96Ubx_-XYTp6YjTZoc9ZRCHszbQxTQlQUbY/edit?usp=sharing +- question: Where should I write my paper? + answer: '' + externalLink: https://www.overleaf.com/ +- question: What should I do after my thesis is completed or a paper gets accepted? + answer: '' + externalLink: https://docs.google.com/document/d/1K_1mURQnnEu_mCREu3U8CnjahDePJCcXELCELBmn0eE/edit?usp=sharing +- question: What are some scholarships/research awards that I can apply to? + answer: '**Corporate Research Programs** + + + NVIDIA Academic Grant Program – Submit Anytime + + + Samsung Research Collaboration Program (SRP) – Feb + + + Samsung Advanced Institute of Technology (SAIT) Collaboration – Aug + + + Google Academic Research Awards (GARA) – July + + + IBM Ph.D. Fellowship Program – July + + + Apple Scholars in AI/ML PhD Fellowship – Deadline TBA + + + **External Fellowships & Scholarships** + + + Quad Fellowship – March 3, 2025 + + + Chateaubriand Fellowship Program – January + + + Mellon/ACLS Dissertation Innovation Fellowship – October + + + ACI Foundation Fellowships & Scholarships – November + + + John Ries Scholarship (ESCSI) – Deadline TBA + + + ASA Fellowships & Grants – Varies (check site) + + + Sigma Xi Grants-in-Aid of Research (GIAR) – March (Spring) / October (Fall) + + + Link Foundation Modeling, Simulation, and Training Fellowship – February' + externalLink: '' +- question: 'If you’re publishing papers in Open Access Journals , you can apply for funding here: ASU Open Access Publishing Fund .' + answer: '' + externalLink: https://doaj.org/ +--- diff --git a/src/content/gallery/dac-conference-2025.md b/src/content/gallery/dac-conference-2025.md new file mode 100644 index 0000000..108cb7f --- /dev/null +++ b/src/content/gallery/dac-conference-2025.md @@ -0,0 +1,14 @@ +--- +title: Design Automation Conference 2025 +description: Atharva and Kaustubh at DAC 2025 who were accepted to attend the conference as part of the Young Fellow Program. +date: 2025-06-24 +coverImage: /images/gallery/dac-2025/dac_1.jpeg +images: + - /images/gallery/dac-2025/dac_1.jpeg + - /images/gallery/dac-2025/dac_2.jpeg + - /images/gallery/dac-2025/dac_3.jpeg + - /images/gallery/dac-2025/dac_4.jpeg +location: San Francisco, CA +--- + +Atharva and Kaustubh at DAC 2025 who were accepted to attend the conference as part of the Young Fellow Program. Atharva presented his work on DSP-MLIR and Kaustubh presented his work on IncidentNet at the conference. diff --git a/src/content/members/abhinav-kumar.md b/src/content/members/abhinav-kumar.md new file mode 100644 index 0000000..d8e22bd --- /dev/null +++ b/src/content/members/abhinav-kumar.md @@ -0,0 +1,13 @@ +--- +name: "Abhinav Kumar" +role: "Alumni" +joinDate: "2024" +linkedin: "https://www.linkedin.com/in/abhinav-kumar-96504a75/" +order: 5 +image: "/images/members/abhinav-kumar.jpeg" +isAlumni: true +alumniType: "Master’s Graduate" +graduated: "Fall 2024" +--- + +DSP-MLIR: A Compiler for Digital Signal Processing in MLIR diff --git a/src/content/members/abhishek-risheekesan.md b/src/content/members/abhishek-risheekesan.md new file mode 100644 index 0000000..03ee962 --- /dev/null +++ b/src/content/members/abhishek-risheekesan.md @@ -0,0 +1,14 @@ +--- +name: "Abhishek Risheekesan" +role: "Alumni" +joinDate: "2024" +linkedin: "https://www.linkedin.com/in/abhishek-rhisheekesan-54753020" +order: 5 +image: "/images/members/abhishek-risheekesan.jpg" +isAlumni: true +currentPosition: "Engineering Manager, Intel Labs, Bangalore, India" +graduated: "Spring 2013" +alumniType: "Master’s Graduate" +--- + +Quantitative Evaluation of Control-flow based Soft Error Protection Mechanisms diff --git a/src/content/members/adam-awale.md b/src/content/members/adam-awale.md new file mode 100644 index 0000000..a99a6a0 --- /dev/null +++ b/src/content/members/adam-awale.md @@ -0,0 +1,13 @@ +--- +name: "Adam Awale" +role: "Ph.D." +joinDate: "2024" +github: "https://github.com/awaleadam" +linkedin: "https://www.linkedin.com/in/adam-awale/" +resume: "/docs/resumes/adam-awale.pdf" +order: 2 +image: "/images/members/adam-awale.jpeg" +researchInterests: ["Machine Learning Acceleration"] +--- + +As a passionate Computer Engineering PhD student at Arizona State University, I bring a wealth of experience in software development, research, and teaching. My electrical and computer engineering journey began at the University of Arizona, where I earned both my bachelor’s and master’s degrees. With a strong foundation in programming languages like Python, C++, and Java, I’ve contributed to cutting-edge projects in RISC-V systems, machine learning, and FPGA design. My professional experience spans roles at General Motors, Photometrics, and Microchip, where I’ve consistently improved processes and implemented innovative solutions. As I continue my doctoral studies, I’m excited to push the boundaries of computer engineering and contribute to groundbreaking research in the field. diff --git a/src/content/members/akhilanand.md b/src/content/members/akhilanand.md new file mode 100644 index 0000000..3f36f3a --- /dev/null +++ b/src/content/members/akhilanand.md @@ -0,0 +1,13 @@ +--- +name: "Akhil Anand" +role: "Undergraduate" +joinDate: "2024" +github: "https://github.com/kel404x" +linkedin: "https://www.linkedin.com/in/akhil-a-576b56288/" +resume: "/docs/resumes/akhilanand.pdf" +order: 4 +image: "/images/members/akhilanand.jpg" +researchInterests: ["Quantum Machine Learning"] +--- + +I’m a computer science undergraduate exploring MLIR as part of my research. I’mfascinated by how computers work under the hood—something we often take for granted. My interests lie in deep learning, compilers, and cryptography, and I am eagerto explore the fundamental aspects of computing in greater depth. diff --git a/src/content/members/aman-singh.md b/src/content/members/aman-singh.md new file mode 100644 index 0000000..6c4d378 --- /dev/null +++ b/src/content/members/aman-singh.md @@ -0,0 +1,13 @@ +--- +name: "Aman Singh" +role: "Masters" +joinDate: "2024" +github: "https://github.com/amanyagami" +linkedin: "https://www.linkedin.com/in/amanyagami" +resume: "/docs/resumes/aman-singh.pdf" +order: 3 +image: "/images/members/aman-singh.jpg" +researchInterests: ["Reliability for Machine Learning"] +--- + +Portfolio –Aman Singh | Computer Systems diff --git a/src/content/members/amit-pabalkar.md b/src/content/members/amit-pabalkar.md new file mode 100644 index 0000000..8b7a105 --- /dev/null +++ b/src/content/members/amit-pabalkar.md @@ -0,0 +1,14 @@ +--- +name: "Amit Pabalkar" +role: "Alumni" +joinDate: "2024" +linkedin: "https://www.linkedin.com/in/amit-pabalkar-46007b3" +order: 5 +image: "/images/members/amit-pabalkar.jpg" +isAlumni: true +currentPosition: "Principal System Software Engineer at Nvidia, Santa Clara, California" +graduated: "Spring 2008" +alumniType: "Master’s Graduate" +--- + +A Dynamic Code Mapping Technique for Scratch Pad Memories in Embedded Systems diff --git a/src/content/members/arun-kannan.md b/src/content/members/arun-kannan.md new file mode 100644 index 0000000..a194d65 --- /dev/null +++ b/src/content/members/arun-kannan.md @@ -0,0 +1,14 @@ +--- +name: "Arun Kannan" +role: "Alumni" +joinDate: "2024" +linkedin: "https://www.linkedin.com/in/arunkannan" +order: 5 +image: "/images/members/arun-kannan.jpg" +isAlumni: true +currentPosition: "Software Architect and Engineering Manager at Apple, Cupertino, California" +graduated: "Spring 2008" +alumniType: "Master’s Graduate" +--- + +A Software-Only Solution for Stack Management on Systems with Scratch Pad Memory diff --git a/src/content/members/atharva-khedkar.md b/src/content/members/atharva-khedkar.md new file mode 100644 index 0000000..86e7a1b --- /dev/null +++ b/src/content/members/atharva-khedkar.md @@ -0,0 +1,14 @@ +--- +name: "Atharva Khedkar" +role: "Ph.D." +email: "atharva.khedkar@asu.edu" +joinDate: "2024" +github: "http://github.com/atharvaKhedkar" +linkedin: "http://www.linkedin.com/in/atharvakhedkar/" +resume: "/docs/resumes/atharva-khedkar.pdf" +order: 2 +image: "/images/members/atharva-khedkar.jpg" +researchInterests: ["AI-driven Multi-Level Compilers"] +--- + +I’m a Ph.D in Computer Science Student at ASU working in Compiler Design and Machine Learning Accelerators@MPS-Lab. Previously I worked as a Machine Learning Intern atAMDandHackerRank. diff --git a/src/content/members/aviral-shrivastava.md b/src/content/members/aviral-shrivastava.md new file mode 100644 index 0000000..83d4175 --- /dev/null +++ b/src/content/members/aviral-shrivastava.md @@ -0,0 +1,22 @@ +--- +name: "Aviral Shrivastava" +role: "Principle Investigator" +joinDate: "2006" +email: "aviral.shrivastava@asu.edu" +resume: "/docs/resumes/aviral-shrivastava.pdf" +researchInterests: ["Machine Learning Acceleration", "AI-driven Multi-Level Compilers", "Intelligent Transportation Systems", "Quantum Machine Learning"] +order: 1 +image: "/images/members/aviral-shrivastava.jpg" +--- + +# Biography + +Dr. Aviral Shrivastava is a full Professor in the School of Computing and Augmented Intelligence (SCAI) at the Arizona State University, where he established and heads the Make Programming Simple Lab. He completed his Ph.D. in Information and Computer Science and from the University of California, Irvine, and bachelor’s in Computer Science and Engineering from IIT Delhi. + +**Research:** Dr. Aviral Shrivastava’s main theme of research in on Making Programming Simple for embedded, accelerated computing, cyber-physical, and quantum computing systems. Dr. Aviral Shrivastava and his students work on topics in computer architecture, compilers, machine learning acceleration, quantum computing systems, cyber-physical systems, intelligent transportation, autonomous vehicles. + +**Publications and Awards:** Dr. Aviral Shrivastava has co-authored 1 book and has contributed chapters in 4 books. He has more than 200 articles and conference papers in top embedded system journals and conferences, like DAC, ESWEEK, ACM TECS, and ACM TCPS. His papers have received several awards, including a best paper award at VLSI Design conference 2025, nomination for best paper award at DAC 2017, best student paper award at VLSI 2016, second highest ranked paper at LCTES 2010, and best paper candidate ASPDAC 2008. He has published more than a dozen papers in DAC (top conference in the field). Overall, his works have received more than 4200 citations, growing at the rate of over 350 citations every year. More than 6 of his papers have been cited more than 100 times. Overall, his h-index[1] is 36 (reference Google Scholar). His inventions have been granted 7 patents, and 4 more applications are pending. Dr. Aviral Shrivastava is the recipient of the prestigious 2010 NSF CAREER award. His student’s theses were awarded CIDSE outstanding Ph.D. thesis award in 2021 and 2017, and outstanding master’s thesis awards in 2010, 2017, and 2022. Dr. Aviral Shrivastava’s research efforts have been supported by federal agencies (NSF, DOE, NIST), state agencies (SFAZ), and industry. + +**Teaching and Mentoring:** Dr. Aviral Shrivastava has mentored 3 postdocs, 10 Ph.D. students, and over 25 Masters students. His students are well placed, including a full Professor at UNIST, South Korea, Assistant Professor at South Dakota School of Mines, Apple (x3), Qualcomm (x2), Nvidia(x2), AMD, Google, Benz etc. Dr. Aviral Shrivastava is currently supervising 1 postdoc, 4 Ph.D., and 7 Masters students. Dr. Aviral Shrivastava teaches undergraduate and graduate level courses on computer architecture, cyber-physical, and quantum computing systems. He has consistent student evaluations of over 4/5. + +**Service:** Dr. Aviral Shrivastava is currently serving as the Editor-in-Chief of IEEE ESL (Embedded Systems Letters), and in the steering committee of Languages Compilers, Theory and tools for Embedded Systems (LCTES), Embedded Systems Week (ESWEEK), Conference on HW/SW Codesign and System Synthesis (CODES+ISSS). He is serving as the track chair for the Autonomous Systems track at DAC 2025. Previously, he was the General Chair and program chair of (LCTES) 2024 and 2017 respectively. He was the General Chair of Embedded Systems Week (ESWEEK) 2022, which is the top event in the field of Embedded Systems, comprising of 3 conferences, 2 symposia and 7 workshops, 10 education classes, 7 tutorials, special sessions, Ph.D. forum, and student research competitions. His service has been recognized by IEEE through the 2023 IEEE CEDA Outstanding Service Award. He served as program chair of CODES+ISSS 2018, chair of the Design and Applications track of RTSS 2020, and chair of Autonomous Systems track at DAC 2023. He is serving as the associate editor for ACM Transactions of Cyber-Physical Systems (ACM TCPS), ACM Transactions Embedded Computing Systems (ACM TECS). He was associate editor of the IEEE Transactions on Computer Aided Design (IEEE TCAD) 2018-2023. Dr. Aviral Shrivastava also serves as the Graduate Program Chair of CS programs at ASU. diff --git a/src/content/members/ayush-gupta.md b/src/content/members/ayush-gupta.md new file mode 100644 index 0000000..7e02807 --- /dev/null +++ b/src/content/members/ayush-gupta.md @@ -0,0 +1,17 @@ +--- +name: "Ayush Gupta" +role: "Undergraduate" +joinDate: "2024" +github: "https://github.com/papapizzeria0608" +linkedin: "https://www.linkedin.com/in/ayush-gupta-90237a218/" +resume: "/docs/resumes/ayush-gupta.pdf" +order: 4 +image: "/images/members/ayush-gupta.jpg" +researchInterests: ["AI-driven Multi-Level Compilers"] +--- + +I am an undergraduate student in Computer Science with a minor inBusiness, where I have developed a strong foundation in machinelearning, computer vision, and their applications to real-worldproblems. My early research explored applying ML techniques tohealthcare, including EMG-based gesture recognition and signalclassification. + +I am currently working at the MPS Lab on optimizing auto tuners forlarge language model inferencing through the MLIR (Multi-LevelIntermediate Representation) framework, focusing on compiler-levelperformance improvements and scalable system design. + +I aim to pursue research at the intersection of efficient deeplearning systems and applied AI, contributing to advancements in modeloptimization and deployment for large-scale intelligent systems. diff --git a/src/content/members/bryce-holton.md b/src/content/members/bryce-holton.md new file mode 100644 index 0000000..4083f03 --- /dev/null +++ b/src/content/members/bryce-holton.md @@ -0,0 +1,14 @@ +--- +name: "Bryce Holton" +role: "Alumni" +joinDate: "2024" +linkedin: "https://www.linkedin.com/in/bryce-holton-a7850691" +order: 5 +image: "/images/members/bryce-holton.jpg" +isAlumni: true +currentPosition: "CTO at Alaris, Scottsdale, Arizona" +graduated: "Spring 2014" +alumniType: "Master’s Graduate" +--- + +Construction of GCCFG for Inter-procedural Optimizations in Software Managed Manycore (SMM) diff --git a/src/content/members/christian-cunningham.md b/src/content/members/christian-cunningham.md new file mode 100644 index 0000000..1a4163a --- /dev/null +++ b/src/content/members/christian-cunningham.md @@ -0,0 +1,13 @@ +--- +name: "Christian Cunningham" +role: "Alumni" +joinDate: "2024" +website: "https://christiancunningham.xyz/" +order: 5 +image: "/images/members/christian-cunningham.jpg" +isAlumni: true +graduated: "Spring 2022" +alumniType: "Undergraduate Researcher" +--- + +Making a Real-Time Operating System for the Raspberry Pi 2B diff --git a/src/content/members/curt-john-bansil.md b/src/content/members/curt-john-bansil.md new file mode 100644 index 0000000..514b455 --- /dev/null +++ b/src/content/members/curt-john-bansil.md @@ -0,0 +1,13 @@ +--- +name: "Curt John Bansil" +role: "Masters" +joinDate: "2024" +github: "https://github.com/kurtis-b" +linkedin: "https://www.linkedin.com/in/curtbansil/" +resume: "/docs/resumes/curt-john-bansil.pdf" +order: 3 +image: "/images/members/curt-john-bansil.jpg" +researchInterests: ["Machine Learning Acceleration"] +--- + +Currently, I am focusing on machine learning acceleration using FPGAs–specifically with the Versal and Ryzen devices. I’m working towards attaining an understanding of how machine learning accelerators can be constructed to more efficiently run inference on edge devices. diff --git a/src/content/members/dheeraj-lokam.md b/src/content/members/dheeraj-lokam.md new file mode 100644 index 0000000..b9c36af --- /dev/null +++ b/src/content/members/dheeraj-lokam.md @@ -0,0 +1,12 @@ +--- +name: "Dheeraj Lokam" +role: "Alumni" +joinDate: "2024" +linkedin: "https://www.linkedin.com/in/dheerajlokam" +order: 5 +image: "/images/members/dheeraj-lokam.jpg" +isAlumni: true +currentPosition: "‎Senior Hardware Safety Engineer at NVIDIA, Santa Clara, California" +graduated: "Fall 2016" +alumniType: "Master’s Graduate" +--- diff --git a/src/content/members/di-lu.md b/src/content/members/di-lu.md new file mode 100644 index 0000000..7515129 --- /dev/null +++ b/src/content/members/di-lu.md @@ -0,0 +1,14 @@ +--- +name: "Di Lu" +role: "Alumni" +joinDate: "2024" +linkedin: "https://www.linkedin.com/in/di-lu-6ab79a24" +order: 5 +image: "/images/members/di-lu.jpg" +isAlumni: true +currentPosition: "Software Engineer at Google, California" +graduated: "Spring 2012" +alumniType: "Master’s Graduate" +--- + +STL on Limited Local Memory (LLM) Multi-core Processors diff --git a/src/content/members/dipal-saluja.md b/src/content/members/dipal-saluja.md new file mode 100644 index 0000000..efdae5c --- /dev/null +++ b/src/content/members/dipal-saluja.md @@ -0,0 +1,14 @@ +--- +name: "Dipal Saluja" +role: "Alumni" +joinDate: "2024" +linkedin: "https://www.linkedin.com/in/dipal-saluja-19936227" +order: 5 +image: "/images/members/dipal-saluja.jpg" +isAlumni: true +currentPosition: "Senior Software Engineer at Cruise, Nattick, Massachusetts" +graduated: "Summer 2014" +alumniType: "Master’s Graduate" +--- + +Register File Organization for Coarse-Grained Reconfigurable Architectures: Compiler-Microarchitecture Perspective diff --git a/src/content/members/edward-andert.md b/src/content/members/edward-andert.md new file mode 100644 index 0000000..8472903 --- /dev/null +++ b/src/content/members/edward-andert.md @@ -0,0 +1,12 @@ +--- +name: "Edward Andert" +role: "Ph.D." +joinDate: "2024" +github: "https://github.com/eandert" +linkedin: "https://www.linkedin.com/in/eddie-andert-00428056/" +order: 2 +image: "/images/members/edward-andert.jpg" +researchInterests: ["Intelligent Transportation Systems"] +--- + +Edward Andert is a Ph.D. student in Computer Engineering at Arizona State University. His research focuses on using cooperative sensor fusion of data from autonomous vehicles to detect and prevent errors from turning into crashes on the road. Edward is currently working on end-to-end trust scoring of autonomous vehicles using cooperative data. Prior to starting the Ph.D., Edward had a Master’s degree in Computer Engineering from ASU. Edward previously worked for Intel and Mobileye as an autonomous vehicle software engineer. diff --git a/src/content/members/fei-hong.md b/src/content/members/fei-hong.md new file mode 100644 index 0000000..33b01a1 --- /dev/null +++ b/src/content/members/fei-hong.md @@ -0,0 +1,14 @@ +--- +name: "Fei Hong" +role: "Alumni" +joinDate: "2024" +linkedin: "https://www.linkedin.com/in/feihong" +order: 5 +image: "/images/members/fei-hong.jpg" +isAlumni: true +currentPosition: "Staff II Software Engineer at Broadcom, Santa Clara, California" +graduated: "Spring 2011" +alumniType: "Master’s Graduate" +--- + +UnSync: A Soft-Error Resilient Redundant CMP Architecture diff --git a/src/content/members/francis-mendoza.md b/src/content/members/francis-mendoza.md new file mode 100644 index 0000000..296c132 --- /dev/null +++ b/src/content/members/francis-mendoza.md @@ -0,0 +1,13 @@ +--- +name: "Francis Mendoza" +role: "Alumni" +joinDate: "2024" +website: "https://orcid.org/0009-0005-6936-3285" +order: 5 +image: "/images/members/francis-mendoza.jpg" +isAlumni: true +alumniType: "Master’s Graduate" +graduated: "Fall 2024" +--- + +AEGIS: A Special-Purpose Computer Network For Strategic Cyber Defense diff --git a/src/content/members/guna-lagudu.md b/src/content/members/guna-lagudu.md new file mode 100644 index 0000000..989e472 --- /dev/null +++ b/src/content/members/guna-lagudu.md @@ -0,0 +1,13 @@ +--- +name: "Guna Lagudu" +role: "Alumni" +joinDate: "2024" +linkedin: "https://www.linkedin.com/in/guna-sekhar-sai-harsha-lagudu" +order: 5 +image: "/images/members/guna-lagudu.png" +isAlumni: true +alumniType: "Master’s Graduate" +graduated: "Summer 2024" +--- + +LUCI: Multi-Application Orchestration Agent diff --git a/src/content/members/hamed-attariani.md b/src/content/members/hamed-attariani.md new file mode 100644 index 0000000..feca39a --- /dev/null +++ b/src/content/members/hamed-attariani.md @@ -0,0 +1,12 @@ +--- +name: "Hamed Attariani" +role: "Visiting Faculty" +joinDate: "2024" +linkedin: "https://www.linkedin.com/in/hamed-attariani/" +order: 7 +image: "/images/members/hamed-attariani.jpg" +currentPosition: "Associate Professor, Wright State University (WSU), Department of Mechanical and Materials Engineering, Dayton, Ohio" +duration: "Summer 2025" +--- + + diff --git a/src/content/members/haotian-wu.md b/src/content/members/haotian-wu.md new file mode 100644 index 0000000..efb840f --- /dev/null +++ b/src/content/members/haotian-wu.md @@ -0,0 +1,9 @@ +--- +name: "Haotian Wu" +role: "Visiting Student" +joinDate: "2024" +order: 6 +image: "/images/members/haotian-wu.jpg" +university: "Chinese Academy of Sciences" +duration: "Fall 2019 — Summer 2020" +--- diff --git a/src/content/members/harrison-lubbers.md b/src/content/members/harrison-lubbers.md new file mode 100644 index 0000000..b220d14 --- /dev/null +++ b/src/content/members/harrison-lubbers.md @@ -0,0 +1,12 @@ +--- +name: "Harrison Lubbers" +role: "Alumni" +joinDate: "2024" +order: 5 +image: "/images/members/mps.jpg" +isAlumni: true +graduated: "Spring 2018" +alumniType: "Undergraduate Researcher" +--- + +Using an Open-Source Solution to Implement a Drone Cyber-Physical System. diff --git a/src/content/members/harshith-allamsetti.md b/src/content/members/harshith-allamsetti.md new file mode 100644 index 0000000..b09993e --- /dev/null +++ b/src/content/members/harshith-allamsetti.md @@ -0,0 +1,14 @@ +--- +name: "Harshith Allamsetti" +role: "Alumni" +joinDate: "2024" +linkedin: "https://www.linkedin.com/in/harshithallamsetti" +order: 5 +image: "/images/members/harshith-allamsetti.jpg" +isAlumni: true +currentPosition: "System Design Engineer, Western Digital, Milpitas, California" +graduated: "Summer 2020" +alumniType: "Master’s Graduate" +--- + +Cooperative Driving of Connected Autonomous Vehicles Using Responsibility Sensitive Safety Rules diff --git a/src/content/members/hwisoo-so.md b/src/content/members/hwisoo-so.md new file mode 100644 index 0000000..5d92225 --- /dev/null +++ b/src/content/members/hwisoo-so.md @@ -0,0 +1,14 @@ +--- +name: "Hwisoo So" +role: "Alumni" +joinDate: "2024" +website: "https://scholar.google.com/citations?user=hzKEf24AAAAJ&hl=en" +order: 5 +image: "/images/members/hwisoo-so.jpg" +isAlumni: true +alumniType: "Post-Doctoral Researcher" +currentPosition: "Assistant Professor, Kyungpook National University, Daegu, South Korea" +graduated: "Spring 2019" +--- + + diff --git a/src/content/members/hyojun-lee.md b/src/content/members/hyojun-lee.md new file mode 100644 index 0000000..e398ce8 --- /dev/null +++ b/src/content/members/hyojun-lee.md @@ -0,0 +1,12 @@ +--- +name: "HyoJun Lee" +role: "Visiting Student" +joinDate: "2024" +website: "https://sites.google.com/view/yohanko/members/students?authuser=0#h.h1yffnu3lc3n" +order: 6 +image: "/images/members/hyojun-lee.jpg" +university: "Yonsei University, Wonju, Korea" +duration: "Fall 2025" +--- + +Areas of interest: ML Compilers diff --git a/src/content/members/hyunjun-kim.md b/src/content/members/hyunjun-kim.md new file mode 100644 index 0000000..e5df704 --- /dev/null +++ b/src/content/members/hyunjun-kim.md @@ -0,0 +1,12 @@ +--- +name: "Hyunjun Kim" +role: "Visiting Student" +joinDate: "2024" +website: "https://sites.google.com/view/yohanko/members/students?authuser=0#h.sfyo11cg78gi" +order: 6 +image: "/images/members/hyunjun-kim.jpeg" +university: "Yonsei University, Wonju, Korea" +duration: "Spring 2025" +--- + +Areas of interest: Reliable Autonomous Driving diff --git a/src/content/members/hyunok-oh.md b/src/content/members/hyunok-oh.md new file mode 100644 index 0000000..db5a68b --- /dev/null +++ b/src/content/members/hyunok-oh.md @@ -0,0 +1,12 @@ +--- +name: "Hyunok Oh" +role: "Visiting Faculty" +joinDate: "2024" +website: "https://sites.google.com/site/hyunokoh" +order: 7 +image: "/images/members/hyunok-oh.jpg" +currentPosition: "Full Professor, Hanyang University, Seoul, Korea" +duration: "Fall 2014 – Spring 2015" +--- + + diff --git a/src/content/members/jared-pager.md b/src/content/members/jared-pager.md new file mode 100644 index 0000000..b16d875 --- /dev/null +++ b/src/content/members/jared-pager.md @@ -0,0 +1,14 @@ +--- +name: "Jared Pager" +role: "Alumni" +joinDate: "2024" +linkedin: "https://www.linkedin.com/in/jaredpager" +order: 5 +image: "/images/members/jared-pager.jpg" +isAlumni: true +currentPosition: "Software Engineer at Intel, Hillsboro, Oregon" +graduated: "Fall 2011" +alumniType: "Master’s Graduate" +--- + +Improving CGRA Utilization by Enabling Multi-threading for Power-efficient Embedded Systems diff --git a/src/content/members/javier-ramirez.md b/src/content/members/javier-ramirez.md new file mode 100644 index 0000000..1853fc0 --- /dev/null +++ b/src/content/members/javier-ramirez.md @@ -0,0 +1,15 @@ +--- +name: "Javier Ramirez" +role: "Undergraduate" +joinDate: "2024" +github: "https://github.com/javier-cramirez" +linkedin: "https://www.linkedin.com/in/javier-c-ramirez/" +resume: "/docs/resumes/javier-ramirez.pdf" +order: 4 +image: "/images/members/javier-ramirez.png" +researchInterests: ["Intelligent Transportation Systems"] +--- + +I am currently a third year undergraduate at SCAI and SoMSS, pursuing a dual degree in Computer Science and Mathematics (Statistics). My work at MPS Lab is focused on intelligent transportation systems (ITS) — specifically, the problem of predicting traffic flow. + +Currently, I am trying to enhance my understanding of graph neural networks. My personal interests lie at the intersection of reinforcement learning and deep learning. diff --git a/src/content/members/jian-cai.md b/src/content/members/jian-cai.md new file mode 100644 index 0000000..fc87264 --- /dev/null +++ b/src/content/members/jian-cai.md @@ -0,0 +1,14 @@ +--- +name: "Jian Cai" +role: "Alumni" +joinDate: "2024" +linkedin: "https://www.linkedin.com/in/jian-cai-05721142/" +order: 5 +image: "/images/members/jian-cai.jpg" +isAlumni: true +alumniType: "Ph.D. Graduate" +currentPosition: "Software Engineer at Google, Sunnyvale, California" +graduated: "Fall 2017" +--- + +Scratchpad Management in Software Managed Manycore Architectures diff --git a/src/content/members/jing-lu.md b/src/content/members/jing-lu.md new file mode 100644 index 0000000..b249fb4 --- /dev/null +++ b/src/content/members/jing-lu.md @@ -0,0 +1,14 @@ +--- +name: "Jing Lu" +role: "Alumni" +joinDate: "2024" +linkedin: "https://www.linkedin.com/in/jing-lu-06a86021" +order: 5 +image: "/images/members/jing-lu.jpg" +isAlumni: true +alumniType: "Ph.D. Graduate" +currentPosition: "Staff Software Engineer at Apple, Cupertino, California" +graduated: "Spring 2019" +--- + +Application-aware Performance Optimization for Software Managed Manycore Architecture diff --git a/src/content/members/jinn-pean-lin.md b/src/content/members/jinn-pean-lin.md new file mode 100644 index 0000000..23789b7 --- /dev/null +++ b/src/content/members/jinn-pean-lin.md @@ -0,0 +1,14 @@ +--- +name: "Jinn-Pean Lin" +role: "Alumni" +joinDate: "2024" +linkedin: "https://www.linkedin.com/in/晉平-林-b2377a104/" +order: 5 +image: "/images/members/jinn-pean-lin.jpg" +isAlumni: true +currentPosition: "Senior Software Engineer at ForcePoint, Campbell, California" +graduated: "Summer 2017" +alumniType: "Master’s Graduate" +--- + +Optimizing Heap Data Management on Software Managed Manycores diff --git a/src/content/members/jongeun-lee.md b/src/content/members/jongeun-lee.md new file mode 100644 index 0000000..6519c82 --- /dev/null +++ b/src/content/members/jongeun-lee.md @@ -0,0 +1,14 @@ +--- +name: "Jongeun Lee" +role: "Alumni" +joinDate: "2024" +website: "https://ecl.unist.ac.kr/~jlee/" +order: 5 +image: "/images/members/jongeun-lee.jpg" +isAlumni: true +alumniType: "Post-Doctoral Researcher" +currentPosition: "Full Professor and Dean of Academic Information Affairs, UNIST, Ulsan, South Korea" +graduated: "Spring 2009" +--- + + diff --git a/src/content/members/karthik-tanikella.md b/src/content/members/karthik-tanikella.md new file mode 100644 index 0000000..9443a5a --- /dev/null +++ b/src/content/members/karthik-tanikella.md @@ -0,0 +1,14 @@ +--- +name: "Karthik Tanikella" +role: "Alumni" +joinDate: "2024" +linkedin: "https://www.linkedin.com/in/karthik-tanikella-7893b866" +order: 5 +image: "/images/members/mps.jpg" +isAlumni: true +currentPosition: "Software Engineer at Axsys Automation, Scottsdale, Arizona" +graduated: "Fall 2015" +alumniType: "Master’s Graduate" +--- + +GemV: A Validated Micro-architectural Vulnerability Estimation Tool diff --git a/src/content/members/kaustubh-harapanahalli.md b/src/content/members/kaustubh-harapanahalli.md new file mode 100644 index 0000000..91cb9a7 --- /dev/null +++ b/src/content/members/kaustubh-harapanahalli.md @@ -0,0 +1,22 @@ +--- +name: "Kaustubh Harapanahalli" +role: "Ph.D." +joinDate: "2023" +email: kharapan@asu.edu +github: "https://github.com/kaustubhharapanahalli" +linkedin: "https://www.linkedin.com/in/kmhalli/" +portfolio: "https://kaustubhharapanahalli.me/" +resume: "/docs/resumes/kaustubh-harapanahalli.pdf" +researchInterests: ["Intelligent Transportation Systems"] +order: 2 +image: "/images/members/kaustubh-harapanahalli.jpeg" +isAlumni: true +alumniType: "Master’s Graduate" +graduated: "Masters, Summer 2025" +--- + +I have developed my core foundation in Computer Vision and AI, which presented opportunities for research and solution development in industrial settings, particularly with Siemens. Balancing technical work with a commitment to my education, my path has evolved from organizing and instructing in learning programs to contributing to corporate roles in a research capacity, focusing on practical applications and collaborative growth in Computer Vision and AI. + +I am currently working on building a deeper understanding of Vision Transformers and their applications in Machine Learning Accelerator and Intelligent Traffic management settings. + +I aim to pursue an Applied research role with an aptitude for Full-Stack Deep Learning. diff --git a/src/content/members/ke-bai.md b/src/content/members/ke-bai.md new file mode 100644 index 0000000..0cbf724 --- /dev/null +++ b/src/content/members/ke-bai.md @@ -0,0 +1,14 @@ +--- +name: "Ke Bai" +role: "Alumni" +joinDate: "2024" +linkedin: "https://www.linkedin.com/in/ke-bai-0844b820" +order: 5 +image: "/images/members/ke-bai.jpg" +isAlumni: true +alumniType: "Ph.D. Graduate" +currentPosition: "Senior Software Engineer at Google, Mountain View, California" +graduated: "Spring 2014" +--- + +Compiler and Runtime for Memory Management on Software Managed Manycore Processors diff --git a/src/content/members/kyoungwoo-lee.md b/src/content/members/kyoungwoo-lee.md new file mode 100644 index 0000000..60bb1df --- /dev/null +++ b/src/content/members/kyoungwoo-lee.md @@ -0,0 +1,12 @@ +--- +name: "Kyoungwoo Lee" +role: "Visiting Faculty" +joinDate: "2024" +website: "http://dclab.yonsei.ac.kr/kwlee/" +order: 7 +image: "/images/members/kyoungwoo-lee.bmp" +currentPosition: "Professor and Associate Dean of College of Computing, Yonsei University, Seoul, Korea" +duration: "Feb 2026, Feb 2024, Nov 2017, Feb 2016, Spring 2015, and June 2012." +--- + +Visited: Feb 2026, Feb 2024, Nov 2017, Feb 2016, Spring 2015, and June 2012. diff --git a/src/content/members/mahesh-balasubramanian.md b/src/content/members/mahesh-balasubramanian.md new file mode 100644 index 0000000..3139357 --- /dev/null +++ b/src/content/members/mahesh-balasubramanian.md @@ -0,0 +1,14 @@ +--- +name: "Mahesh Balasubramanian" +role: "Alumni" +joinDate: "2024" +website: "https://sites.google.com/asu.edu/maheshbala/" +order: 5 +image: "/images/members/mahesh-balasubramanian.jpg" +isAlumni: true +alumniType: "Ph.D. Graduate" +currentPosition: "Senior Engineer at Qualcomm Corporate R&D, San Diego, California." +graduated: "Fall 2021" +--- + +Compiler Design for Accelerating Applications on Coarse-Grained Reconfigurable Architectures diff --git a/src/content/members/matthew-szeto.md b/src/content/members/matthew-szeto.md new file mode 100644 index 0000000..9ba0229 --- /dev/null +++ b/src/content/members/matthew-szeto.md @@ -0,0 +1,11 @@ +--- +name: "Matthew Szeto" +role: "Alumni" +joinDate: "2024" +linkedin: "https://www.linkedin.com/in/mattaszeto" +order: 5 +image: "/images/members/matthew-szeto.webp" +isAlumni: true +alumniType: "Master’s Graduate" +graduated: "Spring 2023" +--- diff --git a/src/content/members/megan-kuo.md b/src/content/members/megan-kuo.md new file mode 100644 index 0000000..3640305 --- /dev/null +++ b/src/content/members/megan-kuo.md @@ -0,0 +1,13 @@ +--- +name: "Megan Kuo" +role: "Masters" +joinDate: "2024" +github: "https://github.com/Megan0704-1" +linkedin: "https://linkedin.com/in/megankuo2001" +resume: "/docs/resumes/megan-kuo.pdf" +order: 3 +image: "/images/members/megan-kuo.jpg" +researchInterests: ["AI-driven Multi-Level Compilers"] +--- + +I am a Master’s student working at the intersection of machine learning, algorithms, Domain-Specific Languages (DSLs), and compilers. I am passionate about advancing the development of the AI stack, including technologies like MoJo, TVM, MLIR, LLVM, AI accelerators, and GPU computing. diff --git a/src/content/members/mohammad-khayatian.md b/src/content/members/mohammad-khayatian.md new file mode 100644 index 0000000..c1b7713 --- /dev/null +++ b/src/content/members/mohammad-khayatian.md @@ -0,0 +1,14 @@ +--- +name: "Mohammad Khayatian" +role: "Alumni" +joinDate: "2024" +linkedin: "https://www.linkedin.com/in/mohammad-khayatian-b82347b7" +order: 5 +image: "/images/members/mohammad-khayatian.jpg" +isAlumni: true +alumniType: "Ph.D. Graduate" +currentPosition: "Senior Robotics Software Engineer, Vecna Robotics." +graduated: "Summer 2021" +--- + +Safe and Robust Cooperative Algorithms for Connected Autonomous Vehicles diff --git a/src/content/members/mohammadreza-mehrabian.md b/src/content/members/mohammadreza-mehrabian.md new file mode 100644 index 0000000..8af788f --- /dev/null +++ b/src/content/members/mohammadreza-mehrabian.md @@ -0,0 +1,14 @@ +--- +name: "Mohammadreza Mehrabian" +role: "Alumni" +joinDate: "2024" +linkedin: "https://www.linkedin.com/in/mohammadreza-mehrabian" +order: 5 +image: "/images/members/mohammadreza-mehrabian.jpg" +isAlumni: true +alumniType: "Ph.D. Graduate" +currentPosition: "Assistant Professor, School of Engineering and Computer Science, University of the Pacific, Stockton, California." +graduated: "Summer 2021" +--- + +A Methodology and Formalism to Monitor Timing Specifications Of Cyber-Physical Systems diff --git a/src/content/members/moslem-didehban.md b/src/content/members/moslem-didehban.md new file mode 100644 index 0000000..1a50884 --- /dev/null +++ b/src/content/members/moslem-didehban.md @@ -0,0 +1,14 @@ +--- +name: "Moslem Didehban" +role: "Alumni" +joinDate: "2024" +linkedin: "https://www.linkedin.com/in/moslem-didehban-49546559" +order: 5 +image: "/images/members/moslem-didehban.jpg" +isAlumni: true +alumniType: "Ph.D. Graduate" +currentPosition: "Senior Architect at NVIDIA, Santa Clara, CA" +graduated: "Fall 2018" +--- + +Software Techniques For Dependable Execution diff --git a/src/content/members/ozcan-ozturk.md b/src/content/members/ozcan-ozturk.md new file mode 100644 index 0000000..65d0ffd --- /dev/null +++ b/src/content/members/ozcan-ozturk.md @@ -0,0 +1,12 @@ +--- +name: "Ozcan Ozturk" +role: "Visiting Faculty" +joinDate: "2024" +website: "http://www.cs.bilkent.edu.tr/~ozturk/index.html" +order: 7 +image: "/images/members/ozcan-ozturk.jpg" +currentPosition: "Professor, Bilkent University, Ankara, Turkey" +duration: "Fall 2014" +--- + + diff --git a/src/content/members/quoc-long-vinh-ta.md b/src/content/members/quoc-long-vinh-ta.md new file mode 100644 index 0000000..d4c4778 --- /dev/null +++ b/src/content/members/quoc-long-vinh-ta.md @@ -0,0 +1,13 @@ +--- +name: "Quoc Long Vinh Ta" +role: "Alumni" +joinDate: "2024" +linkedin: "https://www.linkedin.com/in/quoc-long-vinh-ta-b098a71ba" +order: 5 +image: "/images/members/quoc-long-vinh-ta.jpg" +isAlumni: true +graduated: "Fall 2022" +alumniType: "Master’s Graduate" +--- + +COMSAT: Modified Modulo Scheduling Techniques for Acceleration on Unknown Trip Count and Early Exit Loops diff --git a/src/content/members/rachel-dedinsky.md b/src/content/members/rachel-dedinsky.md new file mode 100644 index 0000000..a9adcfa --- /dev/null +++ b/src/content/members/rachel-dedinsky.md @@ -0,0 +1,16 @@ +--- +name: "Rachel Dedinsky" +role: "Alumni" +joinDate: "2024" +linkedin: "https://www.linkedin.com/in/rachel-dedinsky" +order: 5 +image: "/images/members/rachel-dedinsky.jpg" +isAlumni: true +currentPosition: "Software Engineer, Microsoft, Redmond, Washington" +graduated: "Spring 2019" +alumniType: + - "Master’s Graduate" + - "Undergraduate Researcher" +--- + +R2IM – Reliable and Robust Intersection Manager Robust to Rogue Vehicles diff --git a/src/content/members/reiley-jeyapaul.md b/src/content/members/reiley-jeyapaul.md new file mode 100644 index 0000000..7274c4e --- /dev/null +++ b/src/content/members/reiley-jeyapaul.md @@ -0,0 +1,17 @@ +--- +name: "Reiley Jeyapaul" +role: "Alumni" +joinDate: "2024" +linkedin: "https://www.linkedin.com/in/reileyjeyapaul" +order: 5 +image: "/images/members/reiley-jeyapaul.jpg" +isAlumni: true +alumniType: + - "Ph.D. Graduate" + - "Post-Doctoral Researcher" +currentPosition: "Senior Research Engineer at ARM Research, Austin, Texas" +graduated: + - "Spring 2012" +--- + +Smart Compilers for Reliable and Power-efficient Embedded Computing diff --git a/src/content/members/rishab-kashyap.md b/src/content/members/rishab-kashyap.md new file mode 100644 index 0000000..5964d01 --- /dev/null +++ b/src/content/members/rishab-kashyap.md @@ -0,0 +1,11 @@ +--- +name: "Rishab Kashyap" +role: "Masters" +joinDate: "2024" +github: "https://github.com/Rishabkashyap14" +linkedin: "https://www.linkedin.com/in/rishab-kashyap-4bb577195/" +resume: "https://drive.google.com/file/d/1FJbfZkICsTnf6TUfRx7OBgNOaoJw0XHs/view?usp=sharing" +order: 3 +image: "/images/members/rishab-kashyap.jpeg" +researchInterests: ["Machine Learning Acceleration"] +--- diff --git a/src/content/members/rooju-chokshi.md b/src/content/members/rooju-chokshi.md new file mode 100644 index 0000000..f8ac397 --- /dev/null +++ b/src/content/members/rooju-chokshi.md @@ -0,0 +1,12 @@ +--- +name: "Rooju Chokshi" +role: "Alumni" +joinDate: "2024" +linkedin: "https://www.linkedin.com/in/rooju-chokshi-1328375" +order: 5 +image: "/images/members/rooju-chokshi.jpg" +isAlumni: true +currentPosition: "Principal Software Engineer at Microsoft, Redmond, Washington" +graduated: "Fall 2009" +alumniType: "Master’s Graduate" +--- diff --git a/src/content/members/russell-dill.md b/src/content/members/russell-dill.md new file mode 100644 index 0000000..9ac3673 --- /dev/null +++ b/src/content/members/russell-dill.md @@ -0,0 +1,14 @@ +--- +name: "Russell Dill" +role: "Alumni" +joinDate: "2024" +linkedin: "https://www.linkedin.com/in/russdill" +order: 5 +image: "/images/members/russell-dill.jpg" +isAlumni: true +currentPosition: "Lead Operating Systems Engineer at Nikola Motor Company, Phoenix, Arizona" +graduated: "Spring 2015" +alumniType: "Master’s Graduate" +--- + +Optimization of Multi-Channel BCH Error Decoding for Common Cases diff --git a/src/content/members/rylen-sabhlok.md b/src/content/members/rylen-sabhlok.md new file mode 100644 index 0000000..fcaa41b --- /dev/null +++ b/src/content/members/rylen-sabhlok.md @@ -0,0 +1,13 @@ +--- +name: "Rylen Sabhlok" +role: "Undergraduate" +joinDate: "2024" +github: "https://github.com/Rylen-s" +linkedin: "https://www.linkedin.com/in/rylen-sabhlok" +resume: "/docs/resumes/rylen-sabhlok.pdf" +order: 4 +image: "/images/members/rylen-sabhlok.jpeg" +researchInterests: ["Intelligent Transportation Systems"] +--- + +I am currently studying the edge cases of Intelligent Transportation for my FURI Grant this fall. I am studying at ASU with a double major in Computer Science and Electrical Engineering, and I hope to pursue research in an intersecting field, such as Intelligent Robotics or Edge Computing. My passion has always lied in building and questioning, and as such I can’t wait to pursue further research, especially in the Deep Learning field. diff --git a/src/content/members/sai-mylavarapu.md b/src/content/members/sai-mylavarapu.md new file mode 100644 index 0000000..f335ce5 --- /dev/null +++ b/src/content/members/sai-mylavarapu.md @@ -0,0 +1,14 @@ +--- +name: "Sai Mylavarapu" +role: "Alumni" +joinDate: "2024" +linkedin: "https://www.linkedin.com/in/saikrishnamylavarapu" +order: 5 +image: "/images/members/sai-mylavarapu.jpg" +isAlumni: true +currentPosition: "Senior Member of Technical Staff at Micron, Milpitas, California" +graduated: "Fall 2008" +alumniType: "Master’s Graduate" +--- + +Improving Application Response Times of Nand Flash based Systems diff --git a/src/content/members/sai-shashank-peddiraju.md b/src/content/members/sai-shashank-peddiraju.md new file mode 100644 index 0000000..cc6d13d --- /dev/null +++ b/src/content/members/sai-shashank-peddiraju.md @@ -0,0 +1,13 @@ +--- +name: "Sai Shashank Peddiraju" +role: "Alumni" +joinDate: "2024" +linkedin: "https://www.linkedin.com/in/sai-shashank-peddiraju" +order: 5 +image: "/images/members/sai-shashank-peddiraju.jpg" +isAlumni: true +alumniType: "Master’s Graduate" +graduated: "Summer 2024" +--- + +IncidentNet: Traffic Incident Detection, Localization and Severity Estimation with Sparse Sensing diff --git a/src/content/members/saleel-kudchadker.md b/src/content/members/saleel-kudchadker.md new file mode 100644 index 0000000..d19d128 --- /dev/null +++ b/src/content/members/saleel-kudchadker.md @@ -0,0 +1,14 @@ +--- +name: "Saleel Kudchadker" +role: "Alumni" +joinDate: "2024" +linkedin: "https://www.linkedin.com/in/saleel-kudchadker-8b800a7" +order: 5 +image: "/images/members/saleel-kudchadker.jpg" +isAlumni: true +currentPosition: "Principal Member of Technical Staff at AMD, Santa Clara, California" +graduated: "Spring 2010" +alumniType: "Master’s Graduate" +--- + +Managing Stack Data on Limited Local Memory Multi-core Architectures diff --git a/src/content/members/sanggu-park.md b/src/content/members/sanggu-park.md new file mode 100644 index 0000000..41794a3 --- /dev/null +++ b/src/content/members/sanggu-park.md @@ -0,0 +1,14 @@ +--- +name: "Sanggu Park" +role: "Alumni" +joinDate: "2024" +linkedin: "https://www.linkedin.com/in/sanggu-park-ba501a203" +order: 5 +image: "/images/members/sanggu-park.jpg" +isAlumni: true +currentPosition: "Military Officer, Republic of Korea" +graduated: "Summer 2022" +alumniType: "Master’s Graduate" +--- + +Blame-Free Motion Planning in Hybrid Traffic diff --git a/src/content/members/seungchul-jung.md b/src/content/members/seungchul-jung.md new file mode 100644 index 0000000..080117c --- /dev/null +++ b/src/content/members/seungchul-jung.md @@ -0,0 +1,14 @@ +--- +name: "SeungChul Jung" +role: "Alumni" +joinDate: "2024" +linkedin: "https://www.linkedin.com/in/seungchuljung" +order: 5 +image: "/images/members/seungchul-jung.jpg" +isAlumni: true +currentPosition: "Senior Software Engineer at Emcore Corporation, San Francisco, California" +graduated: "Fall 2010" +alumniType: "Master’s Graduate" +--- + +Dynamic Code Mapping for Limited Local Memory Architectures diff --git a/src/content/members/shail-dave.md b/src/content/members/shail-dave.md new file mode 100644 index 0000000..eb8f4dc --- /dev/null +++ b/src/content/members/shail-dave.md @@ -0,0 +1,14 @@ +--- +name: "Shail Dave" +role: "Alumni" +joinDate: "2024" +website: "https://sites.google.com/view/shail/" +order: 5 +image: "/images/members/shail-dave.jpg" +isAlumni: true +alumniType: "Ph.D. Graduate" +currentPosition: "AR/VR Systems Modeling Engineer at Qualcomm, San Diego, California." +graduated: "Summer 2024" +--- + +An Agile Methodology for Designing Efficient Domain-Specific Architectures diff --git a/src/content/members/shashwat-pandey.md b/src/content/members/shashwat-pandey.md new file mode 100644 index 0000000..3f52887 --- /dev/null +++ b/src/content/members/shashwat-pandey.md @@ -0,0 +1,15 @@ +--- +name: "Shashwat Pandey" +role: "Masters" +joinDate: "2024" +github: "https://github.com/Shashwatpandey4" +linkedin: "https://www.linkedin.com/in/shashwat023/" +resume: "/docs/resumes/shashwat-pandey.pdf" +order: 3 +image: "/images/members/shashwat-pandey.jpg" +researchInterests: ["AI-driven Multi-Level Compilers"] +--- + +I’m an MS Computer Engineering student interested in compilers, large language models (LLMs), and computer vision. + +Previously, I worked at Novo Nordisk and Zocket as a Data Engineer, focusing on building, maintaining, and improving cloud infrastructure and processing data requirements. diff --git a/src/content/members/shreehari-jagadeesha.md b/src/content/members/shreehari-jagadeesha.md new file mode 100644 index 0000000..d0925ab --- /dev/null +++ b/src/content/members/shreehari-jagadeesha.md @@ -0,0 +1,13 @@ +--- +name: "Shreehari Jagadeesha" +role: "Alumni" +joinDate: "2024" +linkedin: "https://www.linkedin.com/in/shreehari-j/" +order: 5 +image: "/images/members/shreehari-jagadeesha.jpg" +isAlumni: true +alumniType: "Master’s Graduate" +graduated: "Fall 2023" +--- + +TIPANGLE: A Machine Learning Approach for Accurate Spatial Pan and Tilt Angle Determination of Pan Tilt Traffic Cameras diff --git a/src/content/members/shri-rajendran-radhika.md b/src/content/members/shri-rajendran-radhika.md new file mode 100644 index 0000000..b9a5ca4 --- /dev/null +++ b/src/content/members/shri-rajendran-radhika.md @@ -0,0 +1,14 @@ +--- +name: "Shri Rajendran Radhika" +role: "Alumni" +joinDate: "2024" +linkedin: "https://www.linkedin.com/in/shriharirajendran" +order: 5 +image: "/images/members/shri-rajendran-radhika.jpg" +isAlumni: true +currentPosition: "‎Graphics Hardware Engineer at Intel, Chandler, Arizona" +graduated: "Fall 2014" +alumniType: "Master’s Graduate" +--- + +Path Selection Based Branching for Coarse Grained Reconfigurable Arrays diff --git a/src/content/members/soyeong-park.md b/src/content/members/soyeong-park.md new file mode 100644 index 0000000..fa28b71 --- /dev/null +++ b/src/content/members/soyeong-park.md @@ -0,0 +1,12 @@ +--- +name: "Soyeong Park" +role: "Visiting Student" +joinDate: "2024" +website: "https://sites.google.com/view/yohanko/members/students?authuser=0#h.s5t3rgv4rc91" +order: 6 +image: "/images/members/soyeong-park.jpg" +university: "Yonsei University, Wonju, Korea" +duration: "Fall 2024" +--- + +Areas of interest: Machine Learning Reliability diff --git a/src/content/members/sumedh-joshi.md b/src/content/members/sumedh-joshi.md new file mode 100644 index 0000000..80f877f --- /dev/null +++ b/src/content/members/sumedh-joshi.md @@ -0,0 +1,13 @@ +--- +name: "Sumedh Joshi" +role: "Alumni" +joinDate: "2024" +linkedin: "https://www.linkedin.com/in/sumedh14/" +order: 5 +image: "/images/members/sumedh-joshi.jpeg" +isAlumni: true +alumniType: "Master’s Graduate" +graduated: "Fall 2024" +--- + +ProGIP: Protecting Gradient-based Input Perturbation Approaches for Out-of-distribution Detection From Soft Errors diff --git a/src/content/members/syna-malhan.md b/src/content/members/syna-malhan.md new file mode 100644 index 0000000..3a051a2 --- /dev/null +++ b/src/content/members/syna-malhan.md @@ -0,0 +1,13 @@ +--- +name: "Syna Malhan" +role: "Undergraduate" +joinDate: "2024" +github: "https://github.com/synamalhan" +linkedin: "https://www.linkedin.com/in/synamalhan/" +resume: "/docs/resumes/syna-malhan.pdf" +order: 4 +image: "/images/members/syna-malhan.jpeg" +researchInterests: ["Intelligent Transportation Systems"] +--- + +I’m a Computer Science undergraduate at ASU with a minor in Data Science. My interests lie in Machine Learning, Computer Vision, and Artificial Intelligence, with a focus on building intelligent systems that address real-world challenges. I’m currently part of the Intelligent Transportation Systems research group, where I aim to apply AI techniques to improve mobility, safety, and decision-making in modern transportation. I’m excited by research opportunities that combine deep technical work with real-world impact, and I hope to contribute to solutions that shape the future of smart, connected systems. diff --git a/src/content/members/tushar-rawat.md b/src/content/members/tushar-rawat.md new file mode 100644 index 0000000..90ca47e --- /dev/null +++ b/src/content/members/tushar-rawat.md @@ -0,0 +1,14 @@ +--- +name: "Tushar Rawat" +role: "Alumni" +joinDate: "2024" +linkedin: "https://www.linkedin.com/in/tsrawat" +order: 5 +image: "/images/members/tushar-rawat.jpg" +isAlumni: true +currentPosition: "Software Engineer at Zoox, Foster City, California" +graduated: "Fall 2014" +alumniType: "Master’s Graduate" +--- + +Enabling Multithreaded Applications on Hybrid Shared Memory Many-core Architectures diff --git a/src/content/members/vinayak-sharma.md b/src/content/members/vinayak-sharma.md new file mode 100644 index 0000000..82c9bd8 --- /dev/null +++ b/src/content/members/vinayak-sharma.md @@ -0,0 +1,24 @@ +--- +name: "Vinayak Sharma" +role: "Ph.D." +joinDate: "2024" +order: 2 +image: "/images/members/vinayak-sharma.jpg" +isAlumni: true +alumniType: "Master’s Graduates" +graduated: "Masters, Spring 2024" +github: "https://github.com/ryo-ma/github-profile-trophy" +linkedin: "https://www.linkedin.com/in/vinayak19th/" +resume: "/docs/resumes/vinayak-sharma.pdf" +researchInterests: ["Quantum Machine Learning"] +--- + +Ph.D. Student working on Machine Learning & Quantum Computing. Currently, I’m working on ML algorithms that can improve the performance and functionality of NISQ Quantum computers at@MPS-Lab. I have full-time experience as a Deep Learning Developer at@Myelin Foundry. + +Where I’m looking to go: My current goal is to pursue a PhD in Quantum Machine Learning and contribute to the development of this emerging and interdisciplinary field. + +🌱 I’m currently learning Quantum Computing + +👨💻 You can check out my profile @vinayak19th.github.io + +💬 Ask me about Tensorflow or any ML/DL work diff --git a/src/content/members/whoi-ree-ha.md b/src/content/members/whoi-ree-ha.md new file mode 100644 index 0000000..b18c015 --- /dev/null +++ b/src/content/members/whoi-ree-ha.md @@ -0,0 +1,12 @@ +--- +name: "Whoi Ree Ha" +role: "Visiting Student" +joinDate: "2024" +website: "http://sor.snu.ac.kr/post/445" +order: 6 +image: "/images/members/whoi-ree-ha.jpg" +university: "Seoul National University, Seoul, Korea" +duration: "Summer 2022" +--- + +Areas of interest: Machine Learning Accelerators diff --git a/src/content/members/yohan-ko.md b/src/content/members/yohan-ko.md new file mode 100644 index 0000000..90bc9d3 --- /dev/null +++ b/src/content/members/yohan-ko.md @@ -0,0 +1,13 @@ +--- +name: "Yohan Ko" +role: "Visiting Faculty" +joinDate: "2024" +website: "https://sites.google.com/view/yohanko/members/professor" +order: 7 +image: "/images/members/yohan-ko.jpg" +currentPosition: "Associate Professor, Yonsei University, Seoul, Korea" +university: "Yonsei University, Seoul, Korea" +duration: "Jan 2026, and Feb 2025" +--- + +Areas of interest: Reliability estimation on cycle-accurate simulators, Robust software for common CPU and specific hardwares such as CGRA and VLIW, Context-awareness based on machine learning techniques diff --git a/src/content/members/yooseong-kim.md b/src/content/members/yooseong-kim.md new file mode 100644 index 0000000..0f60b73 --- /dev/null +++ b/src/content/members/yooseong-kim.md @@ -0,0 +1,14 @@ +--- +name: "Yooseong Kim" +role: "Alumni" +joinDate: "2024" +website: "http://www.linkedin.com/in/ykim122" +order: 5 +image: "/images/members/yooseong-kim.jpg" +isAlumni: true +alumniType: "Ph.D. Graduate" +currentPosition: "Software Engineer at Mercedes-Benz Research & Development North America, Sunnyvale, California" +graduated: "Spring 2017" +--- + +WCET-Aware Scratchpad Memory Management for Hard Real-Time Systems diff --git a/src/content/members/youngbin-kim.md b/src/content/members/youngbin-kim.md new file mode 100644 index 0000000..e71c1df --- /dev/null +++ b/src/content/members/youngbin-kim.md @@ -0,0 +1,12 @@ +--- +name: "Youngbin Kim" +role: "Visiting Student" +joinDate: "2024" +website: "http://dclab.yonsei.ac.kr/ybkim/" +order: 6 +image: "/images/members/youngbin-kim.jpg" +university: "Yonsei University, Seoul, Korea" +duration: "Spring 2019, Fall 2015" +--- + +Areas of interest: scratchpad memory management, programmable dataflow accelerators diff --git a/src/content/members/yunheung-paek.md b/src/content/members/yunheung-paek.md new file mode 100644 index 0000000..95afc76 --- /dev/null +++ b/src/content/members/yunheung-paek.md @@ -0,0 +1,12 @@ +--- +name: "Yunheung Paek" +role: "Visiting Faculty" +joinDate: "2024" +website: "https://ee.snu.ac.kr/en/faculty/professor?mode=view&profid=p058" +order: 7 +image: "/images/members/yunheung-paek.jpeg" +currentPosition: "Full Professor, Seoul National University (SNU), Seoul, Korea" +duration: "2010, Summer 2022" +--- + + diff --git a/src/content/news/2011-award-aviral-is-awarded-nsf-career-4.md b/src/content/news/2011-award-aviral-is-awarded-nsf-career-4.md new file mode 100644 index 0000000..c4e4e4e --- /dev/null +++ b/src/content/news/2011-award-aviral-is-awarded-nsf-career-4.md @@ -0,0 +1,7 @@ +--- +date: "2011" +type: "Award" +description: "Aviral is awarded NSF CAREER award for Compiler Techniques for Power-Efficient Protection Against Soft Errors." +--- + +Aviral is awarded NSF CAREER award for Compiler Techniques for Power-Efficient Protection Against Soft Errors. diff --git a/src/content/news/2011-award-aviral-was-awarded-the-nsf-0.md b/src/content/news/2011-award-aviral-was-awarded-the-nsf-0.md new file mode 100644 index 0000000..ac00adc --- /dev/null +++ b/src/content/news/2011-award-aviral-was-awarded-the-nsf-0.md @@ -0,0 +1,7 @@ +--- +date: "2016" +type: "Award" +description: "Aviral was awarded the NSF Career Award to support his research on the reliable computing" +--- + +Aviral was awarded the NSF Career Award to support his research on the reliable computing diff --git a/src/content/news/2011-lab-update-advances-in-reliable-computing-draw-0.md b/src/content/news/2011-lab-update-advances-in-reliable-computing-draw-0.md new file mode 100644 index 0000000..c698a8f --- /dev/null +++ b/src/content/news/2011-lab-update-advances-in-reliable-computing-draw-0.md @@ -0,0 +1,7 @@ +--- +date: "2011" +type: "General" +description: "Advances in reliable computing draw recognition for doctoral student [ASU Full Circle]" +--- + +Advances in reliable computing draw recognition for doctoral student [ASU Full Circle] diff --git a/src/content/news/2011-lab-update-arizona-state-university-intel-5.md b/src/content/news/2011-lab-update-arizona-state-university-intel-5.md new file mode 100644 index 0000000..7ff6067 --- /dev/null +++ b/src/content/news/2011-lab-update-arizona-state-university-intel-5.md @@ -0,0 +1,7 @@ +--- +date: "2011" +type: "General" +description: "Arizona state university & Intel Corporation collaboration in parallel computing" +--- + +Arizona state university & Intel Corporation collaboration in parallel computing diff --git a/src/content/news/2011-lab-update-aviral-talked-about-compiler-and-1.md b/src/content/news/2011-lab-update-aviral-talked-about-compiler-and-1.md new file mode 100644 index 0000000..309ee60 --- /dev/null +++ b/src/content/news/2011-lab-update-aviral-talked-about-compiler-and-1.md @@ -0,0 +1,7 @@ +--- +date: "2011" +type: "Event" +description: "Aviral talked about “Compiler and Microarchitectural Techniques for Leakage Power Reduction” at Microsoft Research." +--- + +Aviral talked about “Compiler and Microarchitectural Techniques for Leakage Power Reduction” at Microsoft Research. diff --git a/src/content/news/2011-lab-update-aviral-will-give-a-talk-3.md b/src/content/news/2011-lab-update-aviral-will-give-a-talk-3.md new file mode 100644 index 0000000..c8d9cc4 --- /dev/null +++ b/src/content/news/2011-lab-update-aviral-will-give-a-talk-3.md @@ -0,0 +1,7 @@ +--- +date: "2011" +type: "Event" +description: "Aviral will give a talk on “Multi-core Challenge: Missing Memory Virtualization” at UT-Austin Computer Architecture Seminar Series." +--- + +Aviral will give a talk on “Multi-core Challenge: Missing Memory Virtualization” at UT-Austin Computer Architecture Seminar Series. diff --git a/src/content/news/2011-lab-update-aviral-will-present-on-multicore-2.md b/src/content/news/2011-lab-update-aviral-will-present-on-multicore-2.md new file mode 100644 index 0000000..4db2494 --- /dev/null +++ b/src/content/news/2011-lab-update-aviral-will-present-on-multicore-2.md @@ -0,0 +1,7 @@ +--- +date: "2011" +type: "General" +description: "Aviral will present on “Multi-core Challenge: Missing Memory Virtualization” at Purdue University." +--- + +Aviral will present on “Multi-core Challenge: Missing Memory Virtualization” at Purdue University. diff --git a/src/content/news/2011-lab-update-consortium-for-embedded-systems-laying-4.md b/src/content/news/2011-lab-update-consortium-for-embedded-systems-laying-4.md new file mode 100644 index 0000000..fe6e20b --- /dev/null +++ b/src/content/news/2011-lab-update-consortium-for-embedded-systems-laying-4.md @@ -0,0 +1,7 @@ +--- +date: "2011" +type: "General" +description: "Consortium for embedded systems laying groundwork for global impact [ASU Full Circle]" +--- + +Consortium for embedded systems laying groundwork for global impact [ASU Full Circle] diff --git a/src/content/news/2011-lab-update-intel-corp-1.md b/src/content/news/2011-lab-update-intel-corp-1.md new file mode 100644 index 0000000..ebe3363 --- /dev/null +++ b/src/content/news/2011-lab-update-intel-corp-1.md @@ -0,0 +1,7 @@ +--- +date: "2011" +type: "General" +description: "Intel Corp. facility opens opportunity for students [The State Press]" +--- + +Intel Corp. facility opens opportunity for students [The State Press] diff --git a/src/content/news/2011-lab-update-jonghee-yoons-paper-spkm-a-3.md b/src/content/news/2011-lab-update-jonghee-yoons-paper-spkm-a-3.md new file mode 100644 index 0000000..c89abb4 --- /dev/null +++ b/src/content/news/2011-lab-update-jonghee-yoons-paper-spkm-a-3.md @@ -0,0 +1,7 @@ +--- +date: "2011" +type: "Publication" +description: "Jonghee Yoon’s paper, SPKM: a novel graph drawing based algorithm for application mapping onto coarse-grained reconfigurable architectures” was the best paper award candidate in ASP-DAC 2008." +--- + +Jonghee Yoon’s paper, SPKM: a novel graph drawing based algorithm for application mapping onto coarse-grained reconfigurable architectures” was the best paper award candidate in ASP-DAC 2008. diff --git a/src/content/news/2011-lab-update-reileys-paper-cache-vulnerability-equations-2.md b/src/content/news/2011-lab-update-reileys-paper-cache-vulnerability-equations-2.md new file mode 100644 index 0000000..8e270b5 --- /dev/null +++ b/src/content/news/2011-lab-update-reileys-paper-cache-vulnerability-equations-2.md @@ -0,0 +1,7 @@ +--- +date: "2011" +type: "Publication" +description: "Reiley’s paper, “Cache Vulnerability Equations for protecting data in embedded processor caches from soft errors”, was the second-highest ranked paper at LCTES 2010." +--- + +Reiley’s paper, “Cache Vulnerability Equations for protecting data in embedded processor caches from soft errors”, was the second-highest ranked paper at LCTES 2010. diff --git a/src/content/news/2011-lab-update-science-foundation-arizona-grant-to-0.md b/src/content/news/2011-lab-update-science-foundation-arizona-grant-to-0.md new file mode 100644 index 0000000..f0c074b --- /dev/null +++ b/src/content/news/2011-lab-update-science-foundation-arizona-grant-to-0.md @@ -0,0 +1,7 @@ +--- +date: "2011" +type: "General" +description: "Science Foundation Arizona grant to ASU/Raytheon research group will fund effort to expand computer capabilities. [ASU Full Circle]" +--- + +Science Foundation Arizona grant to ASU/Raytheon research group will fund effort to expand computer capabilities. [ASU Full Circle] diff --git a/src/content/news/2012-award-aviral-is-awarded-nsf-career-1.md b/src/content/news/2012-award-aviral-is-awarded-nsf-career-1.md new file mode 100644 index 0000000..52ac33c --- /dev/null +++ b/src/content/news/2012-award-aviral-is-awarded-nsf-career-1.md @@ -0,0 +1,7 @@ +--- +date: "2016" +type: "Award" +description: "Aviral is awarded NSF CAREER award for Compiler Techniques for Power-Efficient Protection Against Soft Errors." +--- + +Aviral is awarded NSF CAREER award for Compiler Techniques for Power-Efficient Protection Against Soft Errors. diff --git a/src/content/news/2012-award-aviral-was-awarded-the-nsf-6.md b/src/content/news/2012-award-aviral-was-awarded-the-nsf-6.md new file mode 100644 index 0000000..142fcaa --- /dev/null +++ b/src/content/news/2012-award-aviral-was-awarded-the-nsf-6.md @@ -0,0 +1,7 @@ +--- +date: "2012" +type: "Award" +description: "Aviral was awarded the NSF Career Award to support his research on the reliable computing" +--- + +Aviral was awarded the NSF Career Award to support his research on the reliable computing diff --git a/src/content/news/2012-lab-update-asu-technology-team-prepares-for-5.md b/src/content/news/2012-lab-update-asu-technology-team-prepares-for-5.md new file mode 100644 index 0000000..3d3c312 --- /dev/null +++ b/src/content/news/2012-lab-update-asu-technology-team-prepares-for-5.md @@ -0,0 +1,7 @@ +--- +date: "2012" +type: "General" +description: "ASU Technology Team Prepares for Shanghai [The State Press]" +--- + +ASU Technology Team Prepares for Shanghai [The State Press] diff --git a/src/content/news/2012-lab-update-aviral-is-selected-for-participation-3.md b/src/content/news/2012-lab-update-aviral-is-selected-for-participation-3.md new file mode 100644 index 0000000..e207fbb --- /dev/null +++ b/src/content/news/2012-lab-update-aviral-is-selected-for-participation-3.md @@ -0,0 +1,7 @@ +--- +date: "2012" +type: "General" +description: "Aviral is selected for participation in 2012 Frontiers of Engineering Education Symposium." +--- + +Aviral is selected for participation in 2012 Frontiers of Engineering Education Symposium. diff --git a/src/content/news/2012-lab-update-aviral-will-give-a-talk-2.md b/src/content/news/2012-lab-update-aviral-will-give-a-talk-2.md new file mode 100644 index 0000000..c8a432d --- /dev/null +++ b/src/content/news/2012-lab-update-aviral-will-give-a-talk-2.md @@ -0,0 +1,7 @@ +--- +date: "2012" +type: "Event" +description: "Aviral will give a talk on “Beyond the Hill of Multicores lies the Valley of Accelerators” at UNIST, Republic of Korea." +--- + +Aviral will give a talk on “Beyond the Hill of Multicores lies the Valley of Accelerators” at UNIST, Republic of Korea. diff --git a/src/content/news/2012-lab-update-aviral-will-present-on-1.md b/src/content/news/2012-lab-update-aviral-will-present-on-1.md new file mode 100644 index 0000000..b0aec84 --- /dev/null +++ b/src/content/news/2012-lab-update-aviral-will-present-on-1.md @@ -0,0 +1,7 @@ +--- +date: "2012" +type: "General" +description: "Aviral will present on “Beyond the Hill of Multi-cores lies the Valley of Accelerators” at IBM Research." +--- + +Aviral will present on “Beyond the Hill of Multi-cores lies the Valley of Accelerators” at IBM Research. diff --git a/src/content/news/2012-lab-update-creative-teaching-approaches-put-spotlight-0.md b/src/content/news/2012-lab-update-creative-teaching-approaches-put-spotlight-0.md new file mode 100644 index 0000000..dafd317 --- /dev/null +++ b/src/content/news/2012-lab-update-creative-teaching-approaches-put-spotlight-0.md @@ -0,0 +1,7 @@ +--- +date: "2012" +type: "General" +description: "Creative teaching approaches put spotlight on ASU engineers [ASU Inner Circle]" +--- + +Creative teaching approaches put spotlight on ASU engineers [ASU Inner Circle] diff --git a/src/content/news/2012-lab-update-our-research-on-reliability-got-4.md b/src/content/news/2012-lab-update-our-research-on-reliability-got-4.md new file mode 100644 index 0000000..574a3dc --- /dev/null +++ b/src/content/news/2012-lab-update-our-research-on-reliability-got-4.md @@ -0,0 +1,7 @@ +--- +date: "2012" +type: "General" +description: "Our research on reliability got featured in ASU Full Circle." +--- + +Our research on reliability got featured in ASU Full Circle. diff --git a/src/content/news/2013-lab-update-aviral-will-present-on-compilermicroarchitecture-1.md b/src/content/news/2013-lab-update-aviral-will-present-on-compilermicroarchitecture-1.md new file mode 100644 index 0000000..401677f --- /dev/null +++ b/src/content/news/2013-lab-update-aviral-will-present-on-compilermicroarchitecture-1.md @@ -0,0 +1,7 @@ +--- +date: "2013" +type: "General" +description: "Aviral will present on “Compiler-Microarchitecture Cooperation for Resilience Against Soft Errors” at Workshop on Compiler Assisted SoC Assembly (CASA 2013)." +--- + +Aviral will present on “Compiler-Microarchitecture Cooperation for Resilience Against Soft Errors” at Workshop on Compiler Assisted SoC Assembly (CASA 2013). diff --git a/src/content/news/2013-lab-update-aviral-will-present-on-the-0.md b/src/content/news/2013-lab-update-aviral-will-present-on-the-0.md new file mode 100644 index 0000000..8c4aba2 --- /dev/null +++ b/src/content/news/2013-lab-update-aviral-will-present-on-the-0.md @@ -0,0 +1,7 @@ +--- +date: "2013" +type: "General" +description: "Aviral will present on “The Rise and Rise of Scratchpad Memories” at Memory Architecture and Organization Workshop 2013." +--- + +Aviral will present on “The Rise and Rise of Scratchpad Memories” at Memory Architecture and Organization Workshop 2013. diff --git a/src/content/news/2013-lab-update-aviral-will-talk-about-compilation-2.md b/src/content/news/2013-lab-update-aviral-will-talk-about-compilation-2.md new file mode 100644 index 0000000..a677985 --- /dev/null +++ b/src/content/news/2013-lab-update-aviral-will-talk-about-compilation-2.md @@ -0,0 +1,7 @@ +--- +date: "2013" +type: "Event" +description: "Aviral will talk about Compilation for SPM-based Manycore Architectures at University of Michigan." +--- + +Aviral will talk about Compilation for SPM-based Manycore Architectures at University of Michigan. diff --git a/src/content/news/2013-lab-update-infinibotics-cosmo-robotic-toy-car-5.md b/src/content/news/2013-lab-update-infinibotics-cosmo-robotic-toy-car-5.md new file mode 100644 index 0000000..eca168f --- /dev/null +++ b/src/content/news/2013-lab-update-infinibotics-cosmo-robotic-toy-car-5.md @@ -0,0 +1,7 @@ +--- +date: "2013" +type: "General" +description: "Infinibotics Cosmo: Robotic toy car meant for edutainment [RobAid]" +--- + +Infinibotics Cosmo: Robotic toy car meant for edutainment [RobAid] diff --git a/src/content/news/2013-lab-update-robot-car-steers-engineering-students-3.md b/src/content/news/2013-lab-update-robot-car-steers-engineering-students-3.md new file mode 100644 index 0000000..be74bc0 --- /dev/null +++ b/src/content/news/2013-lab-update-robot-car-steers-engineering-students-3.md @@ -0,0 +1,7 @@ +--- +date: "2013" +type: "General" +description: "Robot car steers engineering students’ future [The State Press]" +--- + +Robot car steers engineering students’ future [The State Press] diff --git a/src/content/news/2013-lab-update-robotic-car-can-teach-kids-4.md b/src/content/news/2013-lab-update-robotic-car-can-teach-kids-4.md new file mode 100644 index 0000000..ad59b0e --- /dev/null +++ b/src/content/news/2013-lab-update-robotic-car-can-teach-kids-4.md @@ -0,0 +1,7 @@ +--- +date: "2013" +type: "General" +description: "Robotic Car Can Teach Kids Spelling and Math [Robotics Business Review]" +--- + +Robotic Car Can Teach Kids Spelling and Math [Robotics Business Review] diff --git a/src/content/news/2013-lab-update-robotic-toy-car-drives-engineering-6.md b/src/content/news/2013-lab-update-robotic-toy-car-drives-engineering-6.md new file mode 100644 index 0000000..7d198bc --- /dev/null +++ b/src/content/news/2013-lab-update-robotic-toy-car-drives-engineering-6.md @@ -0,0 +1,7 @@ +--- +date: "2013" +type: "General" +description: "Robotic toy car drives engineering students business venture [ASU Now]" +--- + +Robotic toy car drives engineering students business venture [ASU Now] diff --git a/src/content/news/2014-lab-update-aviral-is-coorganizing-workshop-on-2.md b/src/content/news/2014-lab-update-aviral-is-coorganizing-workshop-on-2.md new file mode 100644 index 0000000..2c2c7e9 --- /dev/null +++ b/src/content/news/2014-lab-update-aviral-is-coorganizing-workshop-on-2.md @@ -0,0 +1,7 @@ +--- +date: "2014" +type: "General" +description: "Aviral is co-organizing Workshop on Compiler Assisted SoC Assembly (CASA 2014) at Embedded Systems Week." +--- + +Aviral is co-organizing Workshop on Compiler Assisted SoC Assembly (CASA 2014) at Embedded Systems Week. diff --git a/src/content/news/2014-lab-update-aviral-is-featured-in-an-1.md b/src/content/news/2014-lab-update-aviral-is-featured-in-an-1.md new file mode 100644 index 0000000..251e39b --- /dev/null +++ b/src/content/news/2014-lab-update-aviral-is-featured-in-an-1.md @@ -0,0 +1,7 @@ +--- +date: "2014" +type: "General" +description: "Aviral is featured in an Embedded Computing Design article on Accelerating processing with Coarse Grain Reconfigurable Arrays." +--- + +Aviral is featured in an Embedded Computing Design article on Accelerating processing with Coarse Grain Reconfigurable Arrays. diff --git a/src/content/news/2014-lab-update-aviral-will-present-on-quantitative-0.md b/src/content/news/2014-lab-update-aviral-will-present-on-quantitative-0.md new file mode 100644 index 0000000..34792d8 --- /dev/null +++ b/src/content/news/2014-lab-update-aviral-will-present-on-quantitative-0.md @@ -0,0 +1,7 @@ +--- +date: "2014" +type: "Event" +description: "Aviral will present on “Quantitative Analysis of Control Flow Checking Mechanisms for Soft Errors” in ICS Seminar at University of Texas, Austin." +--- + +Aviral will present on “Quantitative Analysis of Control Flow Checking Mechanisms for Soft Errors” in ICS Seminar at University of Texas, Austin. diff --git a/src/content/news/2014-lab-update-our-research-on-cgra-accelerators-3.md b/src/content/news/2014-lab-update-our-research-on-cgra-accelerators-3.md new file mode 100644 index 0000000..5075935 --- /dev/null +++ b/src/content/news/2014-lab-update-our-research-on-cgra-accelerators-3.md @@ -0,0 +1,7 @@ +--- +date: "2014" +type: "General" +description: "Our research on CGRA accelerators featured in Embedded Computing Design magazine [e-article] [magazine]." +--- + +Our research on CGRA accelerators featured in Embedded Computing Design magazine [e-article] [magazine]. diff --git a/src/content/news/2015-lab-update-aviral-featured-in-the-video-0.md b/src/content/news/2015-lab-update-aviral-featured-in-the-video-0.md new file mode 100644 index 0000000..142c71c --- /dev/null +++ b/src/content/news/2015-lab-update-aviral-featured-in-the-video-0.md @@ -0,0 +1,7 @@ +--- +date: "2015" +type: "General" +description: "Aviral featured in the video about “An Elevator Pitch: Real People, Real Elevators” by NSF." +--- + +Aviral featured in the video about “An Elevator Pitch: Real People, Real Elevators” by NSF. diff --git a/src/content/news/2015-lab-update-aviral-is-serving-as-a-2.md b/src/content/news/2015-lab-update-aviral-is-serving-as-a-2.md new file mode 100644 index 0000000..7a72062 --- /dev/null +++ b/src/content/news/2015-lab-update-aviral-is-serving-as-a-2.md @@ -0,0 +1,7 @@ +--- +date: "2015" +type: "General" +description: "Aviral is serving as a guest editor of a special issue of ACM Transactions on Embedded Computing Systems (TECS) on Software Controlled Memories." +--- + +Aviral is serving as a guest editor of a special issue of ACM Transactions on Embedded Computing Systems (TECS) on Software Controlled Memories. diff --git a/src/content/news/2015-lab-update-jared-and-reileys-article-on-1.md b/src/content/news/2015-lab-update-jared-and-reileys-article-on-1.md new file mode 100644 index 0000000..a4ab73a --- /dev/null +++ b/src/content/news/2015-lab-update-jared-and-reileys-article-on-1.md @@ -0,0 +1,7 @@ +--- +date: "2015" +type: "Publication" +description: "Jared and Reiley’s article on “A Software Scheme for Multithreading on CGRAs” is accepted to be published in TECS." +--- + +Jared and Reiley’s article on “A Software Scheme for Multithreading on CGRAs” is accepted to be published in TECS. diff --git a/src/content/news/2016-award-jians-paper-on-software-coherence-0.md b/src/content/news/2016-award-jians-paper-on-software-coherence-0.md new file mode 100644 index 0000000..50d7e9d --- /dev/null +++ b/src/content/news/2016-award-jians-paper-on-software-coherence-0.md @@ -0,0 +1,7 @@ +--- +date: "2016" +type: "Award" +description: "Jian’s paper on “Software Coherence Management on Non-Coherent Cache Multi-cores” received Prof. N. N. Biswas Best Student Paper award at VLSI Design 2016." +--- + +Jian’s paper on “Software Coherence Management on Non-Coherent Cache Multi-cores” received Prof. N. N. Biswas Best Student Paper award at VLSI Design 2016. diff --git a/src/content/news/2016-award-jonghee-yoons-paper-spkm-a-2.md b/src/content/news/2016-award-jonghee-yoons-paper-spkm-a-2.md new file mode 100644 index 0000000..5d13611 --- /dev/null +++ b/src/content/news/2016-award-jonghee-yoons-paper-spkm-a-2.md @@ -0,0 +1,7 @@ +--- +date: "2016" +type: "Award" +description: "Jonghee Yoon’s paper, SPKM: a novel graph drawing based algorithm for application mapping onto coarse-grained reconfigurable architectures” was the best paper award candidate in ASP-DAC 2008." +--- + +Jonghee Yoon’s paper, SPKM: a novel graph drawing based algorithm for application mapping onto coarse-grained reconfigurable architectures” was the best paper award candidate in ASP-DAC 2008. diff --git a/src/content/news/2016-lab-update-a-paper-on-languages-must-2.md b/src/content/news/2016-lab-update-a-paper-on-languages-must-2.md new file mode 100644 index 0000000..1354061 --- /dev/null +++ b/src/content/news/2016-lab-update-a-paper-on-languages-must-2.md @@ -0,0 +1,7 @@ +--- +date: "2016" +type: "Publication" +description: "A paper on “Languages Must Expose Memory Heterogeneity” is accepted to appear at The International Symposium on Memory Systems (MEMSYS 2016)." +--- + +A paper on “Languages Must Expose Memory Heterogeneity” is accepted to appear at The International Symposium on Memory Systems (MEMSYS 2016). diff --git a/src/content/news/2016-lab-update-arizona-universities-drawing-in-technology-3.md b/src/content/news/2016-lab-update-arizona-universities-drawing-in-technology-3.md new file mode 100644 index 0000000..e83a46a --- /dev/null +++ b/src/content/news/2016-lab-update-arizona-universities-drawing-in-technology-3.md @@ -0,0 +1,7 @@ +--- +date: "2016" +type: "General" +description: "Arizona universities drawing in technology companies [KTAR News]" +--- + +Arizona universities drawing in technology companies [KTAR News] diff --git a/src/content/news/2016-lab-update-aviral-is-serving-as-associate-0.md b/src/content/news/2016-lab-update-aviral-is-serving-as-associate-0.md new file mode 100644 index 0000000..b3a5932 --- /dev/null +++ b/src/content/news/2016-lab-update-aviral-is-serving-as-associate-0.md @@ -0,0 +1,7 @@ +--- +date: "2016" +type: "General" +description: "Aviral is serving as associate editor of Transactions on Multi Scale Computing Systems (TMSCS)." +--- + +Aviral is serving as associate editor of Transactions on Multi Scale Computing Systems (TMSCS). diff --git a/src/content/news/2016-lab-update-aviral-is-serving-as-associate-10.md b/src/content/news/2016-lab-update-aviral-is-serving-as-associate-10.md new file mode 100644 index 0000000..de560ec --- /dev/null +++ b/src/content/news/2016-lab-update-aviral-is-serving-as-associate-10.md @@ -0,0 +1,7 @@ +--- +date: "2016" +type: "General" +description: "Aviral is serving as associate editor of Transactions on Embedded Computing Systems (TECS)." +--- + +Aviral is serving as associate editor of Transactions on Embedded Computing Systems (TECS). diff --git a/src/content/news/2016-lab-update-expect-the-unexpected-autonomous-car-4.md b/src/content/news/2016-lab-update-expect-the-unexpected-autonomous-car-4.md new file mode 100644 index 0000000..be49ebb --- /dev/null +++ b/src/content/news/2016-lab-update-expect-the-unexpected-autonomous-car-4.md @@ -0,0 +1,7 @@ +--- +date: "2016" +type: "General" +description: "Expect the Unexpected: Autonomous car project prepares engineers for industry challenges [ASU Full Circle]" +--- + +Expect the Unexpected: Autonomous car project prepares engineers for industry challenges [ASU Full Circle] diff --git a/src/content/news/2016-lab-update-jians-paper-on-software-coherence-9.md b/src/content/news/2016-lab-update-jians-paper-on-software-coherence-9.md new file mode 100644 index 0000000..88dec81 --- /dev/null +++ b/src/content/news/2016-lab-update-jians-paper-on-software-coherence-9.md @@ -0,0 +1,7 @@ +--- +date: "2016" +type: "Publication" +description: "Jian’s paper on “Software Coherence Management on Non-Coherent Cache Multi-cores” received Prof. N. N. Biswas Best Student Paper award at VLSI Design 2016." +--- + +Jian’s paper on “Software Coherence Management on Non-Coherent Cache Multi-cores” received Prof. N. N. Biswas Best Student Paper award at VLSI Design 2016. diff --git a/src/content/news/2016-lab-update-moslems-paper-on-zdc-a-8.md b/src/content/news/2016-lab-update-moslems-paper-on-zdc-a-8.md new file mode 100644 index 0000000..8a73d46 --- /dev/null +++ b/src/content/news/2016-lab-update-moslems-paper-on-zdc-a-8.md @@ -0,0 +1,7 @@ +--- +date: "2016" +type: "Publication" +description: "Moslem’s paper on “ZDC: A Compiler technique for Zero Silent Data Corruption” is accepted for publication at DAC 2016." +--- + +Moslem’s paper on “ZDC: A Compiler technique for Zero Silent Data Corruption” is accepted for publication at DAC 2016. diff --git a/src/content/news/2016-lab-update-reileys-paper-on-systematic-methodology-1.md b/src/content/news/2016-lab-update-reileys-paper-on-systematic-methodology-1.md new file mode 100644 index 0000000..7fe1769 --- /dev/null +++ b/src/content/news/2016-lab-update-reileys-paper-on-systematic-methodology-1.md @@ -0,0 +1,7 @@ +--- +date: "2016" +type: "Publication" +description: "Reiley’s paper on “Systematic Methodology for the Quantitative Analysis of Pipeline Register Reliability in Embedded Systems” is accepted for publication in IEEE Transactions on Very Large Scale Integration (VLSI) Systems." +--- + +Reiley’s paper on “Systematic Methodology for the Quantitative Analysis of Pipeline Register Reliability in Embedded Systems” is accepted for publication in IEEE Transactions on Very Large Scale Integration (VLSI) Systems. diff --git a/src/content/news/2016-lab-update-robotic-autonomous-cars-teach-whole-7.md b/src/content/news/2016-lab-update-robotic-autonomous-cars-teach-whole-7.md new file mode 100644 index 0000000..32da9d1 --- /dev/null +++ b/src/content/news/2016-lab-update-robotic-autonomous-cars-teach-whole-7.md @@ -0,0 +1,7 @@ +--- +date: "2016" +type: "General" +description: "Robotic autonomous cars teach whole system design [ASU Full Circle]  [Fulton Magazine]" +--- + +Robotic autonomous cars teach whole system design [ASU Full Circle]  [Fulton Magazine] diff --git a/src/content/news/2016-lab-update-robotics-from-a-to-z-6.md b/src/content/news/2016-lab-update-robotics-from-a-to-z-6.md new file mode 100644 index 0000000..1ae54ba --- /dev/null +++ b/src/content/news/2016-lab-update-robotics-from-a-to-z-6.md @@ -0,0 +1,7 @@ +--- +date: "2016" +type: "General" +description: "Robotics from A to Z [The State Press]" +--- + +Robotics from A to Z [The State Press] diff --git a/src/content/news/2016-lab-update-shail-and-mohammadreza-received-a-5.md b/src/content/news/2016-lab-update-shail-and-mohammadreza-received-a-5.md new file mode 100644 index 0000000..27a065d --- /dev/null +++ b/src/content/news/2016-lab-update-shail-and-mohammadreza-received-a-5.md @@ -0,0 +1,7 @@ +--- +date: "2016" +type: "General" +description: "Shail and MohammadReza received A. Richard Newton Young Student Fellowship at 53rd Design Automation Conference (DAC 2016)." +--- + +Shail and MohammadReza received A. Richard Newton Young Student Fellowship at 53rd Design Automation Conference (DAC 2016). diff --git a/src/content/news/2017-award-edward-and-mohammad-s-paper-0.md b/src/content/news/2017-award-edward-and-mohammad-s-paper-0.md new file mode 100644 index 0000000..fcc9312 --- /dev/null +++ b/src/content/news/2017-award-edward-and-mohammad-s-paper-0.md @@ -0,0 +1,7 @@ +--- +date: "2017" +type: "Award" +description: "Edward and Mohammad‘s paper on “Crossroads – Time-Sensitive Autonomous Intersection Management” is the Best paper candidate at Design Automation Conference 2017. Congratulations!" +--- + +Edward and Mohammad‘s paper on “Crossroads – Time-Sensitive Autonomous Intersection Management” is the Best paper candidate at Design Automation Conference 2017. Congratulations! diff --git a/src/content/news/2017-award-moslem-received-the-best-poster-1.md b/src/content/news/2017-award-moslem-received-the-best-poster-1.md new file mode 100644 index 0000000..1bd9b07 --- /dev/null +++ b/src/content/news/2017-award-moslem-received-the-best-poster-1.md @@ -0,0 +1,7 @@ +--- +date: "2017" +type: "Award" +description: "Moslem received the best poster award at the Ph.D. forum, DAC 2017 for his thesis on “Software Schemes to Tolerate Hardware Faults for Safety-Critical Applications”." +--- + +Moslem received the best poster award at the Ph.D. forum, DAC 2017 for his thesis on “Software Schemes to Tolerate Hardware Faults for Safety-Critical Applications”. diff --git a/src/content/news/2017-award-yooseong-received-outstanding-computer-science-2.md b/src/content/news/2017-award-yooseong-received-outstanding-computer-science-2.md new file mode 100644 index 0000000..c1d1520 --- /dev/null +++ b/src/content/news/2017-award-yooseong-received-outstanding-computer-science-2.md @@ -0,0 +1,7 @@ +--- +date: "2017" +type: "Award" +description: "Yooseong received “Outstanding Computer Science Graduating Ph.D. Student of the Year” award for WCET-Aware Scratchpad Memory Management for Hard Real-Time Systems in SCIDSE, ASU in 2017." +--- + +Yooseong received “Outstanding Computer Science Graduating Ph.D. Student of the Year” award for WCET-Aware Scratchpad Memory Management for Hard Real-Time Systems in SCIDSE, ASU in 2017. diff --git a/src/content/news/2017-lab-update-aviral-and-jian-coauthored-a-2.md b/src/content/news/2017-lab-update-aviral-and-jian-coauthored-a-2.md new file mode 100644 index 0000000..4a203da --- /dev/null +++ b/src/content/news/2017-lab-update-aviral-and-jian-coauthored-a-2.md @@ -0,0 +1,7 @@ +--- +date: "2017" +type: "General" +description: "Aviral and Jian co-authored a book chapter on “Hardware-Aware Compilation“. (Book: Handbook of Hardware/Software Codesign, Springer.)" +--- + +Aviral and Jian co-authored a book chapter on “Hardware-Aware Compilation“. (Book: Handbook of Hardware/Software Codesign, Springer.) diff --git a/src/content/news/2017-lab-update-aviral-is-a-panelist-on-6.md b/src/content/news/2017-lab-update-aviral-is-a-panelist-on-6.md new file mode 100644 index 0000000..12f153e --- /dev/null +++ b/src/content/news/2017-lab-update-aviral-is-a-panelist-on-6.md @@ -0,0 +1,7 @@ +--- +date: "2017" +type: "General" +description: "Aviral is a panelist on Autonomous driving series that will explore roadway infrastructure in the age of driverless cars." +--- + +Aviral is a panelist on Autonomous driving series that will explore roadway infrastructure in the age of driverless cars. diff --git a/src/content/news/2017-lab-update-aviral-is-organizing-fifth-international-10.md b/src/content/news/2017-lab-update-aviral-is-organizing-fifth-international-10.md new file mode 100644 index 0000000..2a11914 --- /dev/null +++ b/src/content/news/2017-lab-update-aviral-is-organizing-fifth-international-10.md @@ -0,0 +1,7 @@ +--- +date: "2017" +type: "General" +description: "Aviral is organizing Fifth International Workshop on Cross-layer Resiliency (ICWR) 2017." +--- + +Aviral is organizing Fifth International Workshop on Cross-layer Resiliency (ICWR) 2017. diff --git a/src/content/news/2017-lab-update-aviral-is-organizing-the-acmieee-14.md b/src/content/news/2017-lab-update-aviral-is-organizing-the-acmieee-14.md new file mode 100644 index 0000000..93b7a8f --- /dev/null +++ b/src/content/news/2017-lab-update-aviral-is-organizing-the-acmieee-14.md @@ -0,0 +1,7 @@ +--- +date: "2017" +type: "General" +description: "Aviral is organizing the ACM/IEEE Early Career workshop at DAC 2017." +--- + +Aviral is organizing the ACM/IEEE Early Career workshop at DAC 2017. diff --git a/src/content/news/2017-lab-update-aviral-is-serving-as-a-16.md b/src/content/news/2017-lab-update-aviral-is-serving-as-a-16.md new file mode 100644 index 0000000..f7a2001 --- /dev/null +++ b/src/content/news/2017-lab-update-aviral-is-serving-as-a-16.md @@ -0,0 +1,7 @@ +--- +date: "2017" +type: "General" +description: "Aviral is serving as a guest editor of a special issue of Transactions on Multi Scale Computing Systems (TMSCS) on Accelerated Computing." +--- + +Aviral is serving as a guest editor of a special issue of Transactions on Multi Scale Computing Systems (TMSCS) on Accelerated Computing. diff --git a/src/content/news/2017-lab-update-aviral-is-serving-as-program-20.md b/src/content/news/2017-lab-update-aviral-is-serving-as-program-20.md new file mode 100644 index 0000000..65cd6a0 --- /dev/null +++ b/src/content/news/2017-lab-update-aviral-is-serving-as-program-20.md @@ -0,0 +1,7 @@ +--- +date: "2017" +type: "General" +description: "Aviral is serving as Program Committee chair of CODES+ISSS." +--- + +Aviral is serving as Program Committee chair of CODES+ISSS. diff --git a/src/content/news/2017-lab-update-aviral-is-serving-as-program-4.md b/src/content/news/2017-lab-update-aviral-is-serving-as-program-4.md new file mode 100644 index 0000000..57dde10 --- /dev/null +++ b/src/content/news/2017-lab-update-aviral-is-serving-as-program-4.md @@ -0,0 +1,7 @@ +--- +date: "2017" +type: "General" +description: "Aviral is serving as Program Committee chair of CODES+ISSS 2018." +--- + +Aviral is serving as Program Committee chair of CODES+ISSS 2018. diff --git a/src/content/news/2017-lab-update-aviral-joins-a-panel-discussion-17.md b/src/content/news/2017-lab-update-aviral-joins-a-panel-discussion-17.md new file mode 100644 index 0000000..7619b55 --- /dev/null +++ b/src/content/news/2017-lab-update-aviral-joins-a-panel-discussion-17.md @@ -0,0 +1,7 @@ +--- +date: "2017" +type: "General" +description: "Aviral joins a Panel Discussion on “Autonomous Vehicles: Is our Infrastructure Ready?” [Event at Squire Patton Boggs]" +--- + +Aviral joins a Panel Discussion on “Autonomous Vehicles: Is our Infrastructure Ready?” [Event at Squire Patton Boggs] diff --git a/src/content/news/2017-lab-update-aviral-will-give-a-talk-9.md b/src/content/news/2017-lab-update-aviral-will-give-a-talk-9.md new file mode 100644 index 0000000..a88ac27 --- /dev/null +++ b/src/content/news/2017-lab-update-aviral-will-give-a-talk-9.md @@ -0,0 +1,7 @@ +--- +date: "2017" +type: "Event" +description: "Aviral will give a talk on “Software Techniques for Soft Errors” at UNIST, Republic of Korea." +--- + +Aviral will give a talk on “Software Techniques for Soft Errors” at UNIST, Republic of Korea. diff --git a/src/content/news/2017-lab-update-aviral-will-give-keynote-on-0.md b/src/content/news/2017-lab-update-aviral-will-give-keynote-on-0.md new file mode 100644 index 0000000..7e8d2dc --- /dev/null +++ b/src/content/news/2017-lab-update-aviral-will-give-keynote-on-0.md @@ -0,0 +1,7 @@ +--- +date: "2017" +type: "General" +description: "Aviral will give Keynote on “Time in Cyber-Physical Systems” at IEEE International Symposium on Nanoelectronic and Information Systems (IEEE-iNIS)." +--- + +Aviral will give Keynote on “Time in Cyber-Physical Systems” at IEEE International Symposium on Nanoelectronic and Information Systems (IEEE-iNIS). diff --git a/src/content/news/2017-lab-update-aviral-will-present-on-scaling-7.md b/src/content/news/2017-lab-update-aviral-will-present-on-scaling-7.md new file mode 100644 index 0000000..a1b11a8 --- /dev/null +++ b/src/content/news/2017-lab-update-aviral-will-present-on-scaling-7.md @@ -0,0 +1,7 @@ +--- +date: "2017" +type: "General" +description: "Aviral will present on Scaling the Real-time Capabilities of Powertrain Controllers in Automotive Systems at NSF CSR PI meeting 2017." +--- + +Aviral will present on Scaling the Real-time Capabilities of Powertrain Controllers in Automotive Systems at NSF CSR PI meeting 2017. diff --git a/src/content/news/2017-lab-update-edward-and-mohammad-s-paper-18.md b/src/content/news/2017-lab-update-edward-and-mohammad-s-paper-18.md new file mode 100644 index 0000000..101dd50 --- /dev/null +++ b/src/content/news/2017-lab-update-edward-and-mohammad-s-paper-18.md @@ -0,0 +1,7 @@ +--- +date: "2017" +type: "Publication" +description: "Edward and Mohammad‘s paper on “Crossroads – Time-Sensitive Autonomous Intersection Management” is the Best paper candidate at Design Automation Conference 2017. Congratulations!" +--- + +Edward and Mohammad‘s paper on “Crossroads – Time-Sensitive Autonomous Intersection Management” is the Best paper candidate at Design Automation Conference 2017. Congratulations! diff --git a/src/content/news/2017-lab-update-edward-and-mohammads-paper-on-3.md b/src/content/news/2017-lab-update-edward-and-mohammads-paper-on-3.md new file mode 100644 index 0000000..e2feed4 --- /dev/null +++ b/src/content/news/2017-lab-update-edward-and-mohammads-paper-on-3.md @@ -0,0 +1,7 @@ +--- +date: "2017" +type: "Publication" +description: "Edward and Mohammad’s paper on “Crossroads – Time-Sensitive Autonomous Intersection Management” was the Best paper candidate at Design Automation Conference 2017." +--- + +Edward and Mohammad’s paper on “Crossroads – Time-Sensitive Autonomous Intersection Management” was the Best paper candidate at Design Automation Conference 2017. diff --git a/src/content/news/2017-lab-update-jian-successfully-defended-his-ph-5.md b/src/content/news/2017-lab-update-jian-successfully-defended-his-ph-5.md new file mode 100644 index 0000000..8358d70 --- /dev/null +++ b/src/content/news/2017-lab-update-jian-successfully-defended-his-ph-5.md @@ -0,0 +1,7 @@ +--- +date: "2017" +type: "General" +description: "Jian successfully defended his Ph.D. dissertation — Scratchpad Management in Software Managed Manycore Architectures. Congratulations, Dr. Jian Cai!" +--- + +Jian successfully defended his Ph.D. dissertation — Scratchpad Management in Software Managed Manycore Architectures. Congratulations, Dr. Jian Cai! diff --git a/src/content/news/2017-lab-update-mohammad-received-a-12.md b/src/content/news/2017-lab-update-mohammad-received-a-12.md new file mode 100644 index 0000000..e40cf6a --- /dev/null +++ b/src/content/news/2017-lab-update-mohammad-received-a-12.md @@ -0,0 +1,7 @@ +--- +date: "2017" +type: "General" +description: "Mohammad received A. Richard Newton Young Student Fellowship at 54th Design Automation Conference (DAC 2017)." +--- + +Mohammad received A. Richard Newton Young Student Fellowship at 54th Design Automation Conference (DAC 2017). diff --git a/src/content/news/2017-lab-update-mohammadreza-and-mohammad-s-paper-13.md b/src/content/news/2017-lab-update-mohammadreza-and-mohammad-s-paper-13.md new file mode 100644 index 0000000..2784b56 --- /dev/null +++ b/src/content/news/2017-lab-update-mohammadreza-and-mohammad-s-paper-13.md @@ -0,0 +1,7 @@ +--- +date: "2017" +type: "Publication" +description: "MohammadReza and Mohammad‘s paper on “Timestamp Temporal Logic (TTL) for Time Testing of Cyber-Physical Systems” is accepted for publication at EMSOFT 2017. Congratulations!" +--- + +MohammadReza and Mohammad‘s paper on “Timestamp Temporal Logic (TTL) for Time Testing of Cyber-Physical Systems” is accepted for publication at EMSOFT 2017. Congratulations! diff --git a/src/content/news/2017-lab-update-moslem-and-dheerajs-paper-on-8.md b/src/content/news/2017-lab-update-moslem-and-dheerajs-paper-on-8.md new file mode 100644 index 0000000..09cecd6 --- /dev/null +++ b/src/content/news/2017-lab-update-moslem-and-dheerajs-paper-on-8.md @@ -0,0 +1,7 @@ +--- +date: "2017" +type: "Publication" +description: "Moslem and Dheeraj’s paper on “NEMESIS: A Software Approach for Computing in Presence of Soft Errors” is accepted for publication at ICCAD 2017. Congratulations!" +--- + +Moslem and Dheeraj’s paper on “NEMESIS: A Software Approach for Computing in Presence of Soft Errors” is accepted for publication at ICCAD 2017. Congratulations! diff --git a/src/content/news/2017-lab-update-moslem-shail-and-maheshs-papers-1.md b/src/content/news/2017-lab-update-moslem-shail-and-maheshs-papers-1.md new file mode 100644 index 0000000..c4641d0 --- /dev/null +++ b/src/content/news/2017-lab-update-moslem-shail-and-maheshs-papers-1.md @@ -0,0 +1,7 @@ +--- +date: "2017" +type: "Publication" +description: "Moslem, Shail and Mahesh’s papers are accepted for publication at DATE 2018." +--- + +Moslem, Shail and Mahesh’s papers are accepted for publication at DATE 2018. diff --git a/src/content/news/2017-lab-update-moslems-paper-on-an-integrated-19.md b/src/content/news/2017-lab-update-moslems-paper-on-an-integrated-19.md new file mode 100644 index 0000000..853b1de --- /dev/null +++ b/src/content/news/2017-lab-update-moslems-paper-on-an-integrated-19.md @@ -0,0 +1,7 @@ +--- +date: "2017" +type: "Publication" +description: "Moslem’s paper on “An Integrated safe and fast recovery scheme from soft errors” is accepted for publication at DAC 2017." +--- + +Moslem’s paper on “An Integrated safe and fast recovery scheme from soft errors” is accepted for publication at DAC 2017. diff --git a/src/content/news/2017-lab-update-yooseong-defended-his-thesis-on-21.md b/src/content/news/2017-lab-update-yooseong-defended-his-thesis-on-21.md new file mode 100644 index 0000000..eb9d137 --- /dev/null +++ b/src/content/news/2017-lab-update-yooseong-defended-his-thesis-on-21.md @@ -0,0 +1,7 @@ +--- +date: "2017" +type: "General" +description: "Yooseong defended his thesis  on “WCET-Aware Scratchpad Memory Management for Hard Real-Time Systems” successfully. Congratulations!" +--- + +Yooseong defended his thesis  on “WCET-Aware Scratchpad Memory Management for Hard Real-Time Systems” successfully. Congratulations! diff --git a/src/content/news/2018-award-shail-received-outstanding-computer-engineering-0.md b/src/content/news/2018-award-shail-received-outstanding-computer-engineering-0.md new file mode 100644 index 0000000..7b4e460 --- /dev/null +++ b/src/content/news/2018-award-shail-received-outstanding-computer-engineering-0.md @@ -0,0 +1,7 @@ +--- +date: "2018" +type: "Award" +description: "Shail received “Outstanding Computer Engineering TA Award” from SCIDSE, ASU in 2018." +--- + +Shail received “Outstanding Computer Engineering TA Award” from SCIDSE, ASU in 2018. diff --git a/src/content/news/2018-lab-update-asu-researchers-partner-with-local-4.md b/src/content/news/2018-lab-update-asu-researchers-partner-with-local-4.md new file mode 100644 index 0000000..f86e527 --- /dev/null +++ b/src/content/news/2018-lab-update-asu-researchers-partner-with-local-4.md @@ -0,0 +1,7 @@ +--- +date: "2018" +type: "General" +description: "ASU researchers partner with Local Motors for Electric AVs In-Wheel Motor Design." +--- + +ASU researchers partner with Local Motors for Electric AVs In-Wheel Motor Design. diff --git a/src/content/news/2018-lab-update-aviral-is-featured-in-a-3.md b/src/content/news/2018-lab-update-aviral-is-featured-in-a-3.md new file mode 100644 index 0000000..8d42d3f --- /dev/null +++ b/src/content/news/2018-lab-update-aviral-is-featured-in-a-3.md @@ -0,0 +1,7 @@ +--- +date: "2018" +type: "General" +description: "Aviral is featured in a NewsWise article, asking ‘Why we would try to simulate human driving in AVs, when human driving is inherently flawed?’" +--- + +Aviral is featured in a NewsWise article, asking ‘Why we would try to simulate human driving in AVs, when human driving is inherently flawed?’ diff --git a/src/content/news/2018-lab-update-aviral-is-organizing-acmieee-early-11.md b/src/content/news/2018-lab-update-aviral-is-organizing-acmieee-early-11.md new file mode 100644 index 0000000..0aa463a --- /dev/null +++ b/src/content/news/2018-lab-update-aviral-is-organizing-acmieee-early-11.md @@ -0,0 +1,7 @@ +--- +date: "2018" +type: "General" +description: "Aviral is organizing ACM/IEEE Early Career Workshop at DAC 2018." +--- + +Aviral is organizing ACM/IEEE Early Career Workshop at DAC 2018. diff --git a/src/content/news/2018-lab-update-aviral-is-serving-as-a-1.md b/src/content/news/2018-lab-update-aviral-is-serving-as-a-1.md new file mode 100644 index 0000000..030a510 --- /dev/null +++ b/src/content/news/2018-lab-update-aviral-is-serving-as-a-1.md @@ -0,0 +1,7 @@ +--- +date: "2018" +type: "General" +description: "Aviral is serving as a guest editor of a special issue of IET Computers & Digital Techniques on Energy-efficient Computing for Embedded and IoT Devices." +--- + +Aviral is serving as a guest editor of a special issue of IET Computers & Digital Techniques on Energy-efficient Computing for Embedded and IoT Devices. diff --git a/src/content/news/2018-lab-update-aviral-is-serving-as-an-19.md b/src/content/news/2018-lab-update-aviral-is-serving-as-an-19.md new file mode 100644 index 0000000..a58a54e --- /dev/null +++ b/src/content/news/2018-lab-update-aviral-is-serving-as-an-19.md @@ -0,0 +1,7 @@ +--- +date: "2018" +type: "General" +description: "Aviral is serving as an associate editor of IEEE Transactions on Computer-Aided Design of integrated circuits and systems (TCAD)." +--- + +Aviral is serving as an associate editor of IEEE Transactions on Computer-Aided Design of integrated circuits and systems (TCAD). diff --git a/src/content/news/2018-lab-update-aviral-talks-about-autonomous-vehicles-14.md b/src/content/news/2018-lab-update-aviral-talks-about-autonomous-vehicles-14.md new file mode 100644 index 0000000..632f8c7 --- /dev/null +++ b/src/content/news/2018-lab-update-aviral-talks-about-autonomous-vehicles-14.md @@ -0,0 +1,7 @@ +--- +date: "2018" +type: "Event" +description: "Aviral talks about Autonomous vehicles traveling wrong road to safety [ASU Now] [science@ASU] [Office of University Initiatives, ASU] [Claims Journal]" +--- + +Aviral talks about Autonomous vehicles traveling wrong road to safety [ASU Now] [science@ASU] [Office of University Initiatives, ASU] [Claims Journal] diff --git a/src/content/news/2018-lab-update-aviral-will-give-a-talk-18.md b/src/content/news/2018-lab-update-aviral-will-give-a-talk-18.md new file mode 100644 index 0000000..df930a6 --- /dev/null +++ b/src/content/news/2018-lab-update-aviral-will-give-a-talk-18.md @@ -0,0 +1,7 @@ +--- +date: "2018" +type: "Event" +description: "Aviral will give a talk on “Can Software Techniques Protect from Soft Errors?” at University of Michigan, Ann Arbor." +--- + +Aviral will give a talk on “Can Software Techniques Protect from Soft Errors?” at University of Michigan, Ann Arbor. diff --git a/src/content/news/2018-lab-update-aviral-will-present-on-coarsegrained-2.md b/src/content/news/2018-lab-update-aviral-will-present-on-coarsegrained-2.md new file mode 100644 index 0000000..d96a5a1 --- /dev/null +++ b/src/content/news/2018-lab-update-aviral-will-present-on-coarsegrained-2.md @@ -0,0 +1,7 @@ +--- +date: "2018" +type: "General" +description: "Aviral will present on “Coarse-Grained Reconfigurable Arrays for Accelerating Beyond GPUs” at Future Chips Forum 2018, Tsinghua University." +--- + +Aviral will present on “Coarse-Grained Reconfigurable Arrays for Accelerating Beyond GPUs” at Future Chips Forum 2018, Tsinghua University. diff --git a/src/content/news/2018-lab-update-aviral-will-present-on-energy-8.md b/src/content/news/2018-lab-update-aviral-will-present-on-energy-8.md new file mode 100644 index 0000000..f5fce8f --- /dev/null +++ b/src/content/news/2018-lab-update-aviral-will-present-on-energy-8.md @@ -0,0 +1,7 @@ +--- +date: "2018" +type: "Event" +description: "Aviral will present on Energy efficient acceleration of residual neural networks using CGRA at ARM Research Summit 2018. [Talk] [Slides] [insideHPC]" +--- + +Aviral will present on Energy efficient acceleration of residual neural networks using CGRA at ARM Research Summit 2018. [Talk] [Slides] [insideHPC] diff --git a/src/content/news/2018-lab-update-human-influence-makes-autonomous-vehicles-13.md b/src/content/news/2018-lab-update-human-influence-makes-autonomous-vehicles-13.md new file mode 100644 index 0000000..599e36f --- /dev/null +++ b/src/content/news/2018-lab-update-human-influence-makes-autonomous-vehicles-13.md @@ -0,0 +1,7 @@ +--- +date: "2018" +type: "General" +description: "Human Influence makes Autonomous Vehicles Programming Unsafe [Insurance Journal] [NewsWise]" +--- + +Human Influence makes Autonomous Vehicles Programming Unsafe [Insurance Journal] [NewsWise] diff --git a/src/content/news/2018-lab-update-mohammad-and-mohammadreza-s-paper-6.md b/src/content/news/2018-lab-update-mohammad-and-mohammadreza-s-paper-6.md new file mode 100644 index 0000000..fb40009 --- /dev/null +++ b/src/content/news/2018-lab-update-mohammad-and-mohammadreza-s-paper-6.md @@ -0,0 +1,7 @@ +--- +date: "2018" +type: "Publication" +description: "Mohammad and MohammadReza‘s paper on “RIM: Robust Intersection Management for Connected Autonomous Vehicles” is accepted for publication at RTSS 2018. Congratulations!" +--- + +Mohammad and MohammadReza‘s paper on “RIM: Robust Intersection Management for Connected Autonomous Vehicles” is accepted for publication at RTSS 2018. Congratulations! diff --git a/src/content/news/2018-lab-update-mohammadreza-s-paper-on-an-15.md b/src/content/news/2018-lab-update-mohammadreza-s-paper-on-an-15.md new file mode 100644 index 0000000..739064a --- /dev/null +++ b/src/content/news/2018-lab-update-mohammadreza-s-paper-on-an-15.md @@ -0,0 +1,7 @@ +--- +date: "2018" +type: "Publication" +description: "MohammadReza‘s paper on “An Efficient Timestamp-Based Monitoring Approach to Test Timing Constraints of Cyber-Physical Systems” is accepted for publication at DAC 2018. Congratulations!" +--- + +MohammadReza‘s paper on “An Efficient Timestamp-Based Monitoring Approach to Test Timing Constraints of Cyber-Physical Systems” is accepted for publication at DAC 2018. Congratulations! diff --git a/src/content/news/2018-lab-update-moslem-and-hwisoo-s-paper-0.md b/src/content/news/2018-lab-update-moslem-and-hwisoo-s-paper-0.md new file mode 100644 index 0000000..fcf2d03 --- /dev/null +++ b/src/content/news/2018-lab-update-moslem-and-hwisoo-s-paper-0.md @@ -0,0 +1,7 @@ +--- +date: "2018" +type: "Publication" +description: "Moslem and Hwisoo‘s paper on “Exploring Software Redundant Multi-threading for Soft/Hard Error Detection and Recovery” is accepted for publication at DATE 2019." +--- + +Moslem and Hwisoo‘s paper on “Exploring Software Redundant Multi-threading for Soft/Hard Error Detection and Recovery” is accepted for publication at DATE 2019. diff --git a/src/content/news/2018-lab-update-moslems-paper-on-a-compiler-17.md b/src/content/news/2018-lab-update-moslems-paper-on-a-compiler-17.md new file mode 100644 index 0000000..7c4fa49 --- /dev/null +++ b/src/content/news/2018-lab-update-moslems-paper-on-a-compiler-17.md @@ -0,0 +1,7 @@ +--- +date: "2018" +type: "Publication" +description: "Moslem’s paper on “A Compiler Technique for Processor-Wide Protection From Soft Errors in Multithreaded Environments” is accepted to appear in IEEE Transactions on Reliability." +--- + +Moslem’s paper on “A Compiler Technique for Processor-Wide Protection From Soft Errors in Multithreaded Environments” is accepted to appear in IEEE Transactions on Reliability. diff --git a/src/content/news/2018-lab-update-recent-editorial-of-acm-transactions-7.md b/src/content/news/2018-lab-update-recent-editorial-of-acm-transactions-7.md new file mode 100644 index 0000000..6e4e00d --- /dev/null +++ b/src/content/news/2018-lab-update-recent-editorial-of-acm-transactions-7.md @@ -0,0 +1,7 @@ +--- +date: "2018" +type: "General" +description: "Recent editorial of ACM Transactions on Embedded Computing Systems (TECS) nicely summarizes the lessons learned from ACM/IEEE Early Career Workshop, which was co-organized by Aviral at DAC 2018." +--- + +Recent editorial of ACM Transactions on Embedded Computing Systems (TECS) nicely summarizes the lessons learned from ACM/IEEE Early Career Workshop, which was co-organized by Aviral at DAC 2018. diff --git a/src/content/news/2018-lab-update-shail-s-paper-on-ramp-16.md b/src/content/news/2018-lab-update-shail-s-paper-on-ramp-16.md new file mode 100644 index 0000000..e045537 --- /dev/null +++ b/src/content/news/2018-lab-update-shail-s-paper-on-ramp-16.md @@ -0,0 +1,7 @@ +--- +date: "2018" +type: "Publication" +description: "Shail‘s paper on “RAMP: Resource-Aware Mapping for CGRAs” is accepted for publication at 55th Annual Design Automation Conference (DAC 2018)." +--- + +Shail‘s paper on “RAMP: Resource-Aware Mapping for CGRAs” is accepted for publication at 55th Annual Design Automation Conference (DAC 2018). diff --git a/src/content/news/2018-lab-update-shail-will-present-our-paper-10.md b/src/content/news/2018-lab-update-shail-will-present-our-paper-10.md new file mode 100644 index 0000000..e26eb77 --- /dev/null +++ b/src/content/news/2018-lab-update-shail-will-present-our-paper-10.md @@ -0,0 +1,7 @@ +--- +date: "2018" +type: "Publication" +description: "Shail will present our paper “RAMP: Resource-Aware Mapping for CGRAs” @ DAC 2018, in the session The Art of Mapping for Accelerators, one of the sessions recommended from the industry experts." +--- + +Shail will present our paper “RAMP: Resource-Aware Mapping for CGRAs” @ DAC 2018, in the session The Art of Mapping for Accelerators, one of the sessions recommended from the industry experts. diff --git a/src/content/news/2018-lab-update-the-show-avirals-interview-on-9.md b/src/content/news/2018-lab-update-the-show-avirals-interview-on-9.md new file mode 100644 index 0000000..578e20e --- /dev/null +++ b/src/content/news/2018-lab-update-the-show-avirals-interview-on-9.md @@ -0,0 +1,7 @@ +--- +date: "2018" +type: "General" +description: "The Show: Aviral’s interview on Should Autonomous Car Makers Slow Down Testing?" +--- + +The Show: Aviral’s interview on Should Autonomous Car Makers Slow Down Testing? diff --git a/src/content/news/2018-lab-update-yooseong-mohammad-jing-and-jinnpeans-5.md b/src/content/news/2018-lab-update-yooseong-mohammad-jing-and-jinnpeans-5.md new file mode 100644 index 0000000..554d7f6 --- /dev/null +++ b/src/content/news/2018-lab-update-yooseong-mohammad-jing-and-jinnpeans-5.md @@ -0,0 +1,7 @@ +--- +date: "2018" +type: "Publication" +description: "Yooseong, Mohammad, Jing and Jinn-Pean’s papers are accepted to appear at International Conference on VLSI Design and Embedded Systems 2019." +--- + +Yooseong, Mohammad, Jing and Jinn-Pean’s papers are accepted to appear at International Conference on VLSI Design and Embedded Systems 2019. diff --git a/src/content/news/2019-lab-update-abhishek-and-reileys-article-on-16.md b/src/content/news/2019-lab-update-abhishek-and-reileys-article-on-16.md new file mode 100644 index 0000000..66492e9 --- /dev/null +++ b/src/content/news/2019-lab-update-abhishek-and-reileys-article-on-16.md @@ -0,0 +1,7 @@ +--- +date: "2019" +type: "Publication" +description: "Abhishek and Reiley’s article on “Control Flow Checking or Not? (for Soft Errors)” is accepted for publication in ACM Transactions on Embedded Computing Systems (TECS)." +--- + +Abhishek and Reiley’s article on “Control Flow Checking or Not? (for Soft Errors)” is accepted for publication in ACM Transactions on Embedded Computing Systems (TECS). diff --git a/src/content/news/2019-lab-update-aviral-is-on-the-panel-5.md b/src/content/news/2019-lab-update-aviral-is-on-the-panel-5.md new file mode 100644 index 0000000..d327cf0 --- /dev/null +++ b/src/content/news/2019-lab-update-aviral-is-on-the-panel-5.md @@ -0,0 +1,7 @@ +--- +date: "2019" +type: "General" +description: "Aviral is on the panel that will discuss  “Teaching New Technologies in Computer Architecture” at the Workshop on Computer Architecture Education, Held in conjunction with the 46th International Symposium on Computer Architecture (ISCA 2019)." +--- + +Aviral is on the panel that will discuss  “Teaching New Technologies in Computer Architecture” at the Workshop on Computer Architecture Education, Held in conjunction with the 46th International Symposium on Computer Architecture (ISCA 2019). diff --git a/src/content/news/2019-lab-update-aviral-is-serving-as-a-1.md b/src/content/news/2019-lab-update-aviral-is-serving-as-a-1.md new file mode 100644 index 0000000..0ca12c6 --- /dev/null +++ b/src/content/news/2019-lab-update-aviral-is-serving-as-a-1.md @@ -0,0 +1,7 @@ +--- +date: "2019" +type: "General" +description: "Aviral is serving as a guest editor of a special issue of ACM Transactions on Cyber-Physical Systems on Time for CPS. [TCPS Special Issue on ACM Digital Library]" +--- + +Aviral is serving as a guest editor of a special issue of ACM Transactions on Cyber-Physical Systems on Time for CPS. [TCPS Special Issue on ACM Digital Library] diff --git a/src/content/news/2019-lab-update-aviral-is-serving-as-a-10.md b/src/content/news/2019-lab-update-aviral-is-serving-as-a-10.md new file mode 100644 index 0000000..d676ad0 --- /dev/null +++ b/src/content/news/2019-lab-update-aviral-is-serving-as-a-10.md @@ -0,0 +1,7 @@ +--- +date: "2019" +type: "General" +description: "Aviral is serving as a guest editor of a special issue of ACM Transactions on Embedded Computing Systems on Languages Compilers Tools and Theory of Embedded Systems. [TECS Special Issue on ACM Digital Library]" +--- + +Aviral is serving as a guest editor of a special issue of ACM Transactions on Embedded Computing Systems on Languages Compilers Tools and Theory of Embedded Systems. [TECS Special Issue on ACM Digital Library] diff --git a/src/content/news/2019-lab-update-aviral-is-serving-as-a-18.md b/src/content/news/2019-lab-update-aviral-is-serving-as-a-18.md new file mode 100644 index 0000000..88168b6 --- /dev/null +++ b/src/content/news/2019-lab-update-aviral-is-serving-as-a-18.md @@ -0,0 +1,7 @@ +--- +date: "2019" +type: "General" +description: "Aviral is serving as a guest editor of a special issue of ACM Transactions on Cyber-Physical Systems on Time for CPS." +--- + +Aviral is serving as a guest editor of a special issue of ACM Transactions on Cyber-Physical Systems on Time for CPS. diff --git a/src/content/news/2019-lab-update-aviral-is-serving-as-a-20.md b/src/content/news/2019-lab-update-aviral-is-serving-as-a-20.md new file mode 100644 index 0000000..020ce60 --- /dev/null +++ b/src/content/news/2019-lab-update-aviral-is-serving-as-a-20.md @@ -0,0 +1,7 @@ +--- +date: "2019" +type: "General" +description: "Aviral is serving as a Program Committee Chair of LCTES 2019." +--- + +Aviral is serving as a Program Committee Chair of LCTES 2019. diff --git a/src/content/news/2019-lab-update-aviral-presented-at-asu-transportation-14.md b/src/content/news/2019-lab-update-aviral-presented-at-asu-transportation-14.md new file mode 100644 index 0000000..0cb4bf9 --- /dev/null +++ b/src/content/news/2019-lab-update-aviral-presented-at-asu-transportation-14.md @@ -0,0 +1,7 @@ +--- +date: "2019" +type: "Event" +description: "Aviral presented at ASU Transportation Seminar on “Time in cyber-physical systems“. [Talk]" +--- + +Aviral presented at ASU Transportation Seminar on “Time in cyber-physical systems“. [Talk] diff --git a/src/content/news/2019-lab-update-aviral-presented-on-programmable-8.md b/src/content/news/2019-lab-update-aviral-presented-on-programmable-8.md new file mode 100644 index 0000000..5a106b1 --- /dev/null +++ b/src/content/news/2019-lab-update-aviral-presented-on-programmable-8.md @@ -0,0 +1,7 @@ +--- +date: "2019" +type: "General" +description: "Aviral presented on “Programmable Test Track for AVs” at a workshop on Consensus Safety Measurement Methodologies for ADS-Equipped Vehicles co-organized by NIST. [Webcast] [Workshop Report]" +--- + +Aviral presented on “Programmable Test Track for AVs” at a workshop on Consensus Safety Measurement Methodologies for ADS-Equipped Vehicles co-organized by NIST. [Webcast] [Workshop Report] diff --git a/src/content/news/2019-lab-update-aviral-talks-about-digital-license-15.md b/src/content/news/2019-lab-update-aviral-talks-about-digital-license-15.md new file mode 100644 index 0000000..9ff0f59 --- /dev/null +++ b/src/content/news/2019-lab-update-aviral-talks-about-digital-license-15.md @@ -0,0 +1,7 @@ +--- +date: "2019" +type: "Event" +description: "Aviral talks about Digital license plates that cost whopping $499 now an option for Arizona drivers [Fox News]" +--- + +Aviral talks about Digital license plates that cost whopping $499 now an option for Arizona drivers [Fox News] diff --git a/src/content/news/2019-lab-update-aviral-will-give-a-talk-11.md b/src/content/news/2019-lab-update-aviral-will-give-a-talk-11.md new file mode 100644 index 0000000..0d4d21f --- /dev/null +++ b/src/content/news/2019-lab-update-aviral-will-give-a-talk-11.md @@ -0,0 +1,7 @@ +--- +date: "2019" +type: "Event" +description: "Aviral will give a talk on “Software Schemes for Resilience Against Soft Errors” at Karlsruhe Institute of Technology (KIT)." +--- + +Aviral will give a talk on “Software Schemes for Resilience Against Soft Errors” at Karlsruhe Institute of Technology (KIT). diff --git a/src/content/news/2019-lab-update-aviral-will-join-the-panel-17.md b/src/content/news/2019-lab-update-aviral-will-join-the-panel-17.md new file mode 100644 index 0000000..f10732f --- /dev/null +++ b/src/content/news/2019-lab-update-aviral-will-join-the-panel-17.md @@ -0,0 +1,7 @@ +--- +date: "2019" +type: "General" +description: "Aviral will join the panel that will discuss about “Academia-Industry Collaboration: Challenges in the Research Pipeline” at International Conference on VLSI Design and Embedded Systems 2019." +--- + +Aviral will join the panel that will discuss about “Academia-Industry Collaboration: Challenges in the Research Pipeline” at International Conference on VLSI Design and Embedded Systems 2019. diff --git a/src/content/news/2019-lab-update-aviral-will-present-on-programmable-7.md b/src/content/news/2019-lab-update-aviral-will-present-on-programmable-7.md new file mode 100644 index 0000000..b057fba --- /dev/null +++ b/src/content/news/2019-lab-update-aviral-will-present-on-programmable-7.md @@ -0,0 +1,7 @@ +--- +date: "2019" +type: "General" +description: "Aviral will present on programmable dataflow accelerators at workshop on Renegotiating the Levels of Abstraction for the Post Moore’s Law Era, ARM Research Summit 2019. [Slides]" +--- + +Aviral will present on programmable dataflow accelerators at workshop on Renegotiating the Levels of Abstraction for the Post Moore’s Law Era, ARM Research Summit 2019. [Slides] diff --git a/src/content/news/2019-lab-update-dmazerunner-framework-for-optimizing-dataflow-2.md b/src/content/news/2019-lab-update-dmazerunner-framework-for-optimizing-dataflow-2.md new file mode 100644 index 0000000..ffd1932 --- /dev/null +++ b/src/content/news/2019-lab-update-dmazerunner-framework-for-optimizing-dataflow-2.md @@ -0,0 +1,7 @@ +--- +date: "2019" +type: "General" +description: "dMazeRunner framework for optimizing dataflow acceleration of machine learning models on coarse-grained programmable accelerators is released (alpha)!" +--- + +dMazeRunner framework for optimizing dataflow acceleration of machine learning models on coarse-grained programmable accelerators is released (alpha)! diff --git a/src/content/news/2019-lab-update-mohammad-s-article-on-crossroads-4.md b/src/content/news/2019-lab-update-mohammad-s-article-on-crossroads-4.md new file mode 100644 index 0000000..2226a37 --- /dev/null +++ b/src/content/news/2019-lab-update-mohammad-s-article-on-crossroads-4.md @@ -0,0 +1,7 @@ +--- +date: "2019" +type: "Publication" +description: "Mohammad‘s article on “Crossroads+: A Time-Aware Approach for Intersection Management of Connected Autonomous Vehicles” is accepted for publication in ACM Transactions on Cyber-Physical Systems (TCPS)." +--- + +Mohammad‘s article on “Crossroads+: A Time-Aware Approach for Intersection Management of Connected Autonomous Vehicles” is accepted for publication in ACM Transactions on Cyber-Physical Systems (TCPS). diff --git a/src/content/news/2019-lab-update-moslem-successfully-defended-his-ph-19.md b/src/content/news/2019-lab-update-moslem-successfully-defended-his-ph-19.md new file mode 100644 index 0000000..be48b88 --- /dev/null +++ b/src/content/news/2019-lab-update-moslem-successfully-defended-his-ph-19.md @@ -0,0 +1,7 @@ +--- +date: "2019" +type: "General" +description: "Moslem successfully defended his Ph.D. dissertation — Software Techniques For Dependable Execution. Congratulations, Dr. Moslem Didehban!" +--- + +Moslem successfully defended his Ph.D. dissertation — Software Techniques For Dependable Execution. Congratulations, Dr. Moslem Didehban! diff --git a/src/content/news/2019-lab-update-our-collaborative-paper-titled-encoding-3.md b/src/content/news/2019-lab-update-our-collaborative-paper-titled-encoding-3.md new file mode 100644 index 0000000..0f4d58b --- /dev/null +++ b/src/content/news/2019-lab-update-our-collaborative-paper-titled-encoding-3.md @@ -0,0 +1,7 @@ +--- +date: "2019" +type: "Publication" +description: "Our collaborative paper titled “Encoding and monitoring responsibility sensitive safety rules for automated vehicles in signal temporal logic” received the best paper honorable mention at the 17th ACM-IEEE International Conference on Formal Methods and Models for System Design (MEMOCODE 2019)." +--- + +Our collaborative paper titled “Encoding and monitoring responsibility sensitive safety rules for automated vehicles in signal temporal logic” received the best paper honorable mention at the 17th ACM-IEEE International Conference on Formal Methods and Models for System Design (MEMOCODE 2019). diff --git a/src/content/news/2019-lab-update-our-paper-titled-software-approaches-13.md b/src/content/news/2019-lab-update-our-paper-titled-software-approaches-13.md new file mode 100644 index 0000000..ad1641b --- /dev/null +++ b/src/content/news/2019-lab-update-our-paper-titled-software-approaches-13.md @@ -0,0 +1,7 @@ +--- +date: "2019" +type: "Publication" +description: "Our paper titled “Software Approaches for In-time Resilience” (invited) will appear at the 56th annual design automation conference (DAC 2019)." +--- + +Our paper titled “Software Approaches for In-time Resilience” (invited) will appear at the 56th annual design automation conference (DAC 2019). diff --git a/src/content/news/2019-lab-update-our-paper-titled-static-function-6.md b/src/content/news/2019-lab-update-our-paper-titled-static-function-6.md new file mode 100644 index 0000000..d606457 --- /dev/null +++ b/src/content/news/2019-lab-update-our-paper-titled-static-function-6.md @@ -0,0 +1,7 @@ +--- +date: "2019" +type: "Publication" +description: "Our paper titled “Static Function Prefetching for Efficient Code Management on Scratchpad Memory” is accepted to appear at 37th IEEE International Conference on Computer Design (ICCD 2019)." +--- + +Our paper titled “Static Function Prefetching for Efficient Code Management on Scratchpad Memory” is accepted to appear at 37th IEEE International Conference on Computer Design (ICCD 2019). diff --git a/src/content/news/2019-lab-update-our-research-on-resilient-computing-0.md b/src/content/news/2019-lab-update-our-research-on-resilient-computing-0.md new file mode 100644 index 0000000..6117c3d --- /dev/null +++ b/src/content/news/2019-lab-update-our-research-on-resilient-computing-0.md @@ -0,0 +1,7 @@ +--- +date: "2019" +type: "General" +description: "Our research on resilient computing got featured on the front-page of Ira A. Fulton Schools of Engineering. [Full Article on A soft approach to a hard problem in autonomous vehicles]" +--- + +Our research on resilient computing got featured on the front-page of Ira A. Fulton Schools of Engineering. [Full Article on A soft approach to a hard problem in autonomous vehicles] diff --git a/src/content/news/2019-lab-update-rachel-successfully-defended-her-masters-12.md b/src/content/news/2019-lab-update-rachel-successfully-defended-her-masters-12.md new file mode 100644 index 0000000..efe2bb0 --- /dev/null +++ b/src/content/news/2019-lab-update-rachel-successfully-defended-her-masters-12.md @@ -0,0 +1,7 @@ +--- +date: "2019" +type: "General" +description: "Rachel successfully defended her master’s thesis — R2IM: Reliable and Robust Intersection Manager Robust to Rogue Vehicles. Congratulations!" +--- + +Rachel successfully defended her master’s thesis — R2IM: Reliable and Robust Intersection Manager Robust to Rogue Vehicles. Congratulations! diff --git a/src/content/news/2019-lab-update-shail-s-paper-titled-dmazerunner-9.md b/src/content/news/2019-lab-update-shail-s-paper-titled-dmazerunner-9.md new file mode 100644 index 0000000..b66866e --- /dev/null +++ b/src/content/news/2019-lab-update-shail-s-paper-titled-dmazerunner-9.md @@ -0,0 +1,7 @@ +--- +date: "2019" +type: "Publication" +description: "Shail‘s paper titled “dMazeRunner: Executing Perfectly Nested Loops on Dataflow Accelerators” is accepted to appear at International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS 2019) which is affiliated with Embedded Systems Week (ESWEEK)." +--- + +Shail‘s paper titled “dMazeRunner: Executing Perfectly Nested Loops on Dataflow Accelerators” is accepted to appear at International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS 2019) which is affiliated with Embedded Systems Week (ESWEEK). diff --git a/src/content/news/2020-lab-update-acm-sigbed-blogpost-about-41st-0.md b/src/content/news/2020-lab-update-acm-sigbed-blogpost-about-41st-0.md new file mode 100644 index 0000000..a34fa8f --- /dev/null +++ b/src/content/news/2020-lab-update-acm-sigbed-blogpost-about-41st-0.md @@ -0,0 +1,7 @@ +--- +date: "2020" +type: "General" +description: "ACM SIGBED Blogpost about 41st IEEE Real-Time Systems Symposium (RTSS 2020), which will be held virtually December 1–4, 2020. Consider attending!" +--- + +ACM SIGBED Blogpost about 41st IEEE Real-Time Systems Symposium (RTSS 2020), which will be held virtually December 1–4, 2020. Consider attending! diff --git a/src/content/news/2020-lab-update-aviral-is-inducted-into-the-1.md b/src/content/news/2020-lab-update-aviral-is-inducted-into-the-1.md new file mode 100644 index 0000000..97db398 --- /dev/null +++ b/src/content/news/2020-lab-update-aviral-is-inducted-into-the-1.md @@ -0,0 +1,7 @@ +--- +date: "2020" +type: "General" +description: "Aviral is inducted into the National Academy of Inventors, ASU Chapter." +--- + +Aviral is inducted into the National Academy of Inventors, ASU Chapter. diff --git a/src/content/news/2020-lab-update-aviral-is-serving-as-chair-9.md b/src/content/news/2020-lab-update-aviral-is-serving-as-chair-9.md new file mode 100644 index 0000000..da3d1bc --- /dev/null +++ b/src/content/news/2020-lab-update-aviral-is-serving-as-chair-9.md @@ -0,0 +1,7 @@ +--- +date: "2020" +type: "Publication" +description: "Aviral is serving as chair of the Design and Application track for 41st IEEE Real-Time Systems Symposium (RTSS 2020) [Call for papers]." +--- + +Aviral is serving as chair of the Design and Application track for 41st IEEE Real-Time Systems Symposium (RTSS 2020) [Call for papers]. diff --git a/src/content/news/2020-lab-update-aviral-is-serving-as-the-11.md b/src/content/news/2020-lab-update-aviral-is-serving-as-the-11.md new file mode 100644 index 0000000..bfe5b94 --- /dev/null +++ b/src/content/news/2020-lab-update-aviral-is-serving-as-the-11.md @@ -0,0 +1,7 @@ +--- +date: "2020" +type: "General" +description: "Aviral is serving as the deputy editor-in-chief of IEEE Embedded Systems Letters." +--- + +Aviral is serving as the deputy editor-in-chief of IEEE Embedded Systems Letters. diff --git a/src/content/news/2020-lab-update-aviral-is-serving-as-the-8.md b/src/content/news/2020-lab-update-aviral-is-serving-as-the-8.md new file mode 100644 index 0000000..691d065 --- /dev/null +++ b/src/content/news/2020-lab-update-aviral-is-serving-as-the-8.md @@ -0,0 +1,7 @@ +--- +date: "2020" +type: "Publication" +description: "Aviral is serving as the virtual conference chair of Embedded Systems Week 2020 (ESWEEK 2020) [Call for papers]." +--- + +Aviral is serving as the virtual conference chair of Embedded Systems Week 2020 (ESWEEK 2020) [Call for papers]. diff --git a/src/content/news/2020-lab-update-aviral-will-present-on-13.md b/src/content/news/2020-lab-update-aviral-will-present-on-13.md new file mode 100644 index 0000000..642528c --- /dev/null +++ b/src/content/news/2020-lab-update-aviral-will-present-on-13.md @@ -0,0 +1,7 @@ +--- +date: "2020" +type: "Event" +description: "Aviral will present on “Make Programming Simple Again – Resilience” at the Computer Science Seminar Series of Donald Bren School of Information and Computer Sciences, University of California, Irvine." +--- + +Aviral will present on “Make Programming Simple Again – Resilience” at the Computer Science Seminar Series of Donald Bren School of Information and Computer Sciences, University of California, Irvine. diff --git a/src/content/news/2020-lab-update-mahesh-s-article-crimson-computeintensive-2.md b/src/content/news/2020-lab-update-mahesh-s-article-crimson-computeintensive-2.md new file mode 100644 index 0000000..a1b96e1 --- /dev/null +++ b/src/content/news/2020-lab-update-mahesh-s-article-crimson-computeintensive-2.md @@ -0,0 +1,7 @@ +--- +date: "2020" +type: "Publication" +description: "Mahesh‘s article “CRIMSON: Compute-intensive loop acceleration by Randomized Iterative Modulo Scheduling and Optimized Mapping on CGRAs” is accepted for publication in  IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems (TCAD)." +--- + +Mahesh‘s article “CRIMSON: Compute-intensive loop acceleration by Randomized Iterative Modulo Scheduling and Optimized Mapping on CGRAs” is accepted for publication in  IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems (TCAD). diff --git a/src/content/news/2020-lab-update-mahesh-s-paper-on-scaling-12.md b/src/content/news/2020-lab-update-mahesh-s-paper-on-scaling-12.md new file mode 100644 index 0000000..21f4ea0 --- /dev/null +++ b/src/content/news/2020-lab-update-mahesh-s-paper-on-scaling-12.md @@ -0,0 +1,7 @@ +--- +date: "2020" +type: "Publication" +description: "Mahesh‘s paper on “Scaling of Union of Intersections for Inference of Granger Causal Networks from Observational Data” is accepted to appear at 34th IEEE International Parallel and Distributed Processing Symposium (IPDPS 2020)." +--- + +Mahesh‘s paper on “Scaling of Union of Intersections for Inference of Granger Causal Networks from Observational Data” is accepted to appear at 34th IEEE International Parallel and Distributed Processing Symposium (IPDPS 2020). diff --git a/src/content/news/2020-lab-update-mohammad-s-article-on-a-5.md b/src/content/news/2020-lab-update-mohammad-s-article-on-a-5.md new file mode 100644 index 0000000..be313b3 --- /dev/null +++ b/src/content/news/2020-lab-update-mohammad-s-article-on-a-5.md @@ -0,0 +1,7 @@ +--- +date: "2020" +type: "Publication" +description: "Mohammad‘s article on “A Survey on Intersection Management of Connected Autonomous Vehicles” is accepted for publication in ACM Transactions on Cyber-Physical Systems (TCPS)." +--- + +Mohammad‘s article on “A Survey on Intersection Management of Connected Autonomous Vehicles” is accepted for publication in ACM Transactions on Cyber-Physical Systems (TCPS). diff --git a/src/content/news/2020-lab-update-mohammad-s-paper-r2im-robust-7.md b/src/content/news/2020-lab-update-mohammad-s-paper-r2im-robust-7.md new file mode 100644 index 0000000..feb8da6 --- /dev/null +++ b/src/content/news/2020-lab-update-mohammad-s-paper-r2im-robust-7.md @@ -0,0 +1,7 @@ +--- +date: "2020" +type: "Publication" +description: "Mohammad‘s paper “R2IM Robust and Resilient Intersection Management of Connected Autonomous Vehicles” is accepted for presentation at the 23rd Intelligent Transportation Systems Conference (IEEE ITSC 2020)." +--- + +Mohammad‘s paper “R2IM Robust and Resilient Intersection Management of Connected Autonomous Vehicles” is accepted for presentation at the 23rd Intelligent Transportation Systems Conference (IEEE ITSC 2020). diff --git a/src/content/news/2020-lab-update-our-book-chapter-on-3.md b/src/content/news/2020-lab-update-our-book-chapter-on-3.md new file mode 100644 index 0000000..5e70af2 --- /dev/null +++ b/src/content/news/2020-lab-update-our-book-chapter-on-3.md @@ -0,0 +1,7 @@ +--- +date: "2020" +type: "Publication" +description: "Our book chapter on “Design techniques to improve the resilience of computing systems: architectural layer” is published. (Book: Cross-Layer Reliability of Computing Systems, IET, 2020.)" +--- + +Our book chapter on “Design techniques to improve the resilience of computing systems: architectural layer” is published. (Book: Cross-Layer Reliability of Computing Systems, IET, 2020.) diff --git a/src/content/news/2020-lab-update-our-research-on-resilient-and-4.md b/src/content/news/2020-lab-update-our-research-on-resilient-and-4.md new file mode 100644 index 0000000..fa89685 --- /dev/null +++ b/src/content/news/2020-lab-update-our-research-on-resilient-and-4.md @@ -0,0 +1,7 @@ +--- +date: "2020" +type: "General" +description: "Our research on resilient and robust intersection management is featured in ASU full circle news: Smart transportation systems need to reckon with rogues." +--- + +Our research on resilient and robust intersection management is featured in ASU full circle news: Smart transportation systems need to reckon with rogues. diff --git a/src/content/news/2020-lab-update-preprint-of-our-comprehensive-survey-6.md b/src/content/news/2020-lab-update-preprint-of-our-comprehensive-survey-6.md new file mode 100644 index 0000000..47ab1cd --- /dev/null +++ b/src/content/news/2020-lab-update-preprint-of-our-comprehensive-survey-6.md @@ -0,0 +1,7 @@ +--- +date: "2020" +type: "General" +description: "Preprint of our comprehensive survey titled “Hardware Acceleration of Sparse and Irregular Tensor Computations of ML Models: A Survey and Insights” is now available [arXiv]." +--- + +Preprint of our comprehensive survey titled “Hardware Acceleration of Sparse and Irregular Tensor Computations of ML Models: A Survey and Insights” is now available [arXiv]. diff --git a/src/content/news/2020-lab-update-shail-s-paper-titled-dmazerunner-10.md b/src/content/news/2020-lab-update-shail-s-paper-titled-dmazerunner-10.md new file mode 100644 index 0000000..ffe441b --- /dev/null +++ b/src/content/news/2020-lab-update-shail-s-paper-titled-dmazerunner-10.md @@ -0,0 +1,7 @@ +--- +date: "2020" +type: "Publication" +description: "Shail‘s paper titled “dMazeRunner: Optimizing Convolutions on Dataflow Accelerators” is accepted to appear in the session on Array-based Architectures for Energy-efficient Signal Processing Systems at the 45th International Conference on Acoustics, Speech, and Signal Processing (ICASSP 2020). [Talk] [Framework]" +--- + +Shail‘s paper titled “dMazeRunner: Optimizing Convolutions on Dataflow Accelerators” is accepted to appear in the session on Array-based Architectures for Energy-efficient Signal Processing Systems at the 45th International Conference on Acoustics, Speech, and Signal Processing (ICASSP 2020). [Talk] [Framework] diff --git a/src/content/news/2021-award-dr-Mohammad-received-0.md b/src/content/news/2021-award-dr-Mohammad-received-0.md new file mode 100644 index 0000000..8d1767c --- /dev/null +++ b/src/content/news/2021-award-dr-Mohammad-received-0.md @@ -0,0 +1,7 @@ +--- +date: "2021" +type: "Award" +description: "Dr. Mohammad received Dean’s Dissertation Award from the Ira. A. Fulton Schools of Engineering. Congratulations!!" +--- + +Dr. Mohammad received Dean’s Dissertation Award from the Ira. A. Fulton Schools of Engineering. Congratulations!! diff --git a/src/content/news/2021-award-our-collaborative-work-for-timesensitive-1.md b/src/content/news/2021-award-our-collaborative-work-for-timesensitive-1.md new file mode 100644 index 0000000..d5dc542 --- /dev/null +++ b/src/content/news/2021-award-our-collaborative-work-for-timesensitive-1.md @@ -0,0 +1,7 @@ +--- +date: "2021" +type: "Award" +description: "Our collaborative work for time-sensitive programming won second place in the 2021 CPS IoT-Week Student Design Competition (“Networked Computing on the Edge”). Talk: “Ticktalk: One Program to Rule the Intersection”. Congratulations Edward!" +--- + +Our collaborative work for time-sensitive programming won second place in the 2021 CPS IoT-Week Student Design Competition (“Networked Computing on the Edge”). Talk: “Ticktalk: One Program to Rule the Intersection”. Congratulations Edward! diff --git a/src/content/news/2021-lab-update-aviral-provides-his-opinions-in-5.md b/src/content/news/2021-lab-update-aviral-provides-his-opinions-in-5.md new file mode 100644 index 0000000..b97bf66 --- /dev/null +++ b/src/content/news/2021-lab-update-aviral-provides-his-opinions-in-5.md @@ -0,0 +1,7 @@ +--- +date: "2021" +type: "General" +description: "Aviral provides his opinions in ASU’s Essential reading: Books to expand your perspective." +--- + +Aviral provides his opinions in ASU’s Essential reading: Books to expand your perspective. diff --git a/src/content/news/2021-lab-update-aviral-served-as-an-expert-9.md b/src/content/news/2021-lab-update-aviral-served-as-an-expert-9.md new file mode 100644 index 0000000..f4bfe4f --- /dev/null +++ b/src/content/news/2021-lab-update-aviral-served-as-an-expert-9.md @@ -0,0 +1,7 @@ +--- +date: "2021" +type: "General" +description: "Aviral served as an expert coordinator for the First IoT Expert Curiosity University T-Mobile Cohort." +--- + +Aviral served as an expert coordinator for the First IoT Expert Curiosity University T-Mobile Cohort. diff --git a/src/content/news/2021-lab-update-aviral-serves-as-the-surveytutorials-1.md b/src/content/news/2021-lab-update-aviral-serves-as-the-surveytutorials-1.md new file mode 100644 index 0000000..2197f32 --- /dev/null +++ b/src/content/news/2021-lab-update-aviral-serves-as-the-surveytutorials-1.md @@ -0,0 +1,7 @@ +--- +date: "2021" +type: "General" +description: "Aviral serves as the survey/tutorials editor for ACM Transactions of Embedded Computing Systems (TECS). Considering submitting!" +--- + +Aviral serves as the survey/tutorials editor for ACM Transactions of Embedded Computing Systems (TECS). Considering submitting! diff --git a/src/content/news/2021-lab-update-aviral-serves-as-vice-general-7.md b/src/content/news/2021-lab-update-aviral-serves-as-vice-general-7.md new file mode 100644 index 0000000..dc267fa --- /dev/null +++ b/src/content/news/2021-lab-update-aviral-serves-as-vice-general-7.md @@ -0,0 +1,7 @@ +--- +date: "2021" +type: "General" +description: "Aviral serves as vice general chair of Embedded Systems Week (ESWEEK), 2021. Check out the exciting program and join us virtually during October 08-15!" +--- + +Aviral serves as vice general chair of Embedded Systems Week (ESWEEK), 2021. Check out the exciting program and join us virtually during October 08-15! diff --git a/src/content/news/2021-lab-update-aviral-serves-on-the-steering-19.md b/src/content/news/2021-lab-update-aviral-serves-on-the-steering-19.md new file mode 100644 index 0000000..73d01dc --- /dev/null +++ b/src/content/news/2021-lab-update-aviral-serves-on-the-steering-19.md @@ -0,0 +1,7 @@ +--- +date: "2021" +type: "General" +description: "Aviral serves on the Steering Committee of the ACM Languages, Compilers, Tools and Theory of Embedded Systems (LCTES)." +--- + +Aviral serves on the Steering Committee of the ACM Languages, Compilers, Tools and Theory of Embedded Systems (LCTES). diff --git a/src/content/news/2021-lab-update-aviral-will-give-a-keynote-4.md b/src/content/news/2021-lab-update-aviral-will-give-a-keynote-4.md new file mode 100644 index 0000000..c41d19f --- /dev/null +++ b/src/content/news/2021-lab-update-aviral-will-give-a-keynote-4.md @@ -0,0 +1,7 @@ +--- +date: "2021" +type: "General" +description: "Aviral will give a keynote on “Towards Connected and Safe Autonomous Vehicle” at the 25th International Symposium on VLSI Design and Test (VDAT)." +--- + +Aviral will give a keynote on “Towards Connected and Safe Autonomous Vehicle” at the 25th International Symposium on VLSI Design and Test (VDAT). diff --git a/src/content/news/2021-lab-update-hwisoo-and-moslems-paper-titled-18.md b/src/content/news/2021-lab-update-hwisoo-and-moslems-paper-titled-18.md new file mode 100644 index 0000000..e425a86 --- /dev/null +++ b/src/content/news/2021-lab-update-hwisoo-and-moslems-paper-titled-18.md @@ -0,0 +1,7 @@ +--- +date: "2021" +type: "Publication" +description: "Hwisoo and Moslem’s paper titled “CHITIN: A Comprehensive In-thread Instruction Replication Technique Against Transient Faults” is accepted to appear at Design, Automation and Test in Europe Conference (DATE)." +--- + +Hwisoo and Moslem’s paper titled “CHITIN: A Comprehensive In-thread Instruction Replication Technique Against Transient Faults” is accepted to appear at Design, Automation and Test in Europe Conference (DATE). diff --git a/src/content/news/2021-lab-update-looking-for-some-summer-reading-15.md b/src/content/news/2021-lab-update-looking-for-some-summer-reading-15.md new file mode 100644 index 0000000..a4071fe --- /dev/null +++ b/src/content/news/2021-lab-update-looking-for-some-summer-reading-15.md @@ -0,0 +1,7 @@ +--- +date: "2021" +type: "General" +description: "Looking for some summer reading? Check out annual recommendations from ASU faculty, including our own Aviral Shrivastava." +--- + +Looking for some summer reading? Check out annual recommendations from ASU faculty, including our own Aviral Shrivastava. diff --git a/src/content/news/2021-lab-update-mahesh-successfully-defended-his-ph-3.md b/src/content/news/2021-lab-update-mahesh-successfully-defended-his-ph-3.md new file mode 100644 index 0000000..7d414e7 --- /dev/null +++ b/src/content/news/2021-lab-update-mahesh-successfully-defended-his-ph-3.md @@ -0,0 +1,7 @@ +--- +date: "2021" +type: "General" +description: "Mahesh successfully defended his Ph.D. dissertation — “Compiler Design for Accelerating Applications on Coarse-Grained Reconfigurable Architectures”. Congratulations, Dr. Balasubramanian!" +--- + +Mahesh successfully defended his Ph.D. dissertation — “Compiler Design for Accelerating Applications on Coarse-Grained Reconfigurable Architectures”. Congratulations, Dr. Balasubramanian! diff --git a/src/content/news/2021-lab-update-mohammad-successfully-defended-his-ph-13.md b/src/content/news/2021-lab-update-mohammad-successfully-defended-his-ph-13.md new file mode 100644 index 0000000..4b38e1a --- /dev/null +++ b/src/content/news/2021-lab-update-mohammad-successfully-defended-his-ph-13.md @@ -0,0 +1,7 @@ +--- +date: "2021" +type: "General" +description: "Mohammad successfully defended his Ph.D. dissertation — “Safe and Robust Cooperative Algorithm for Connected Autonomous Vehicles”. Congratulations, Dr. Khayatian!" +--- + +Mohammad successfully defended his Ph.D. dissertation — “Safe and Robust Cooperative Algorithm for Connected Autonomous Vehicles”. Congratulations, Dr. Khayatian! diff --git a/src/content/news/2021-lab-update-mohammadreza-successfully-defended-his-ph-11.md b/src/content/news/2021-lab-update-mohammadreza-successfully-defended-his-ph-11.md new file mode 100644 index 0000000..7df3462 --- /dev/null +++ b/src/content/news/2021-lab-update-mohammadreza-successfully-defended-his-ph-11.md @@ -0,0 +1,7 @@ +--- +date: "2021" +type: "General" +description: "Mohammadreza successfully defended his Ph.D. dissertation — “A Methodology and Formalism to Handle Timing Uncertainties in Cyber-Physical Systems”. Congratulations, Dr. Mohammadreza!" +--- + +Mohammadreza successfully defended his Ph.D. dissertation — “A Methodology and Formalism to Handle Timing Uncertainties in Cyber-Physical Systems”. Congratulations, Dr. Mohammadreza! diff --git a/src/content/news/2021-lab-update-mohammads-paper-on-cooperative-driving-16.md b/src/content/news/2021-lab-update-mohammads-paper-on-cooperative-driving-16.md new file mode 100644 index 0000000..a5ff478 --- /dev/null +++ b/src/content/news/2021-lab-update-mohammads-paper-on-cooperative-driving-16.md @@ -0,0 +1,7 @@ +--- +date: "2021" +type: "Publication" +description: "Mohammad’s paper on “Cooperative Driving of Connected Autonomous Vehicles in Smart Cities using Responsibility-Sensitive Safety Rules” is accepted for publication in International Conference on Cyber-Physical Systems (ICCPS)." +--- + +Mohammad’s paper on “Cooperative Driving of Connected Autonomous Vehicles in Smart Cities using Responsibility-Sensitive Safety Rules” is accepted for publication in International Conference on Cyber-Physical Systems (ICCPS). diff --git a/src/content/news/2021-lab-update-our-collaborative-paper-comprehensive-failure-2.md b/src/content/news/2021-lab-update-our-collaborative-paper-comprehensive-failure-2.md new file mode 100644 index 0000000..ee6cd59 --- /dev/null +++ b/src/content/news/2021-lab-update-our-collaborative-paper-comprehensive-failure-2.md @@ -0,0 +1,7 @@ +--- +date: "2021" +type: "Publication" +description: "Our collaborative paper “Comprehensive Failure Analysis against Soft Errors from Hardware and Software Perspectives” is accepted to appear at the 39th IEEE International Conference on Computer Design (ICCD 2021)." +--- + +Our collaborative paper “Comprehensive Failure Analysis against Soft Errors from Hardware and Software Perspectives” is accepted to appear at the 39th IEEE International Conference on Computer Design (ICCD 2021). diff --git a/src/content/news/2021-lab-update-our-collaborative-paper-spx64-a-20.md b/src/content/news/2021-lab-update-our-collaborative-paper-spx64-a-20.md new file mode 100644 index 0000000..af1a2b9 --- /dev/null +++ b/src/content/news/2021-lab-update-our-collaborative-paper-spx64-a-20.md @@ -0,0 +1,7 @@ +--- +date: "2021" +type: "Publication" +description: "Our collaborative paper “SPX64: A Scratchpad Memory for General-Purpose Microprocessors” is accepted for publication in ACM Transactions on Architecture and Code Optimization (TACO) (to be presented at HiPEAC)." +--- + +Our collaborative paper “SPX64: A Scratchpad Memory for General-Purpose Microprocessors” is accepted for publication in ACM Transactions on Architecture and Code Optimization (TACO) (to be presented at HiPEAC). diff --git a/src/content/news/2021-lab-update-our-collaborative-work-on-a-8.md b/src/content/news/2021-lab-update-our-collaborative-work-on-a-8.md new file mode 100644 index 0000000..9ab1174 --- /dev/null +++ b/src/content/news/2021-lab-update-our-collaborative-work-on-a-8.md @@ -0,0 +1,7 @@ +--- +date: "2021" +type: "General" +description: "Our collaborative work on “A Framework and DSL for Distributed, Energy-constrained, and Time-sensitive Applications” appears at Workshop on Implementation, Compilation, Optimization of OO Languages, Programs and Systems at ECOOP and ISSTA." +--- + +Our collaborative work on “A Framework and DSL for Distributed, Energy-constrained, and Time-sensitive Applications” appears at Workshop on Implementation, Compilation, Optimization of OO Languages, Programs and Systems at ECOOP and ISSTA. diff --git a/src/content/news/2021-lab-update-our-research-on-connected-autonomous-14.md b/src/content/news/2021-lab-update-our-research-on-connected-autonomous-14.md new file mode 100644 index 0000000..c50fd2f --- /dev/null +++ b/src/content/news/2021-lab-update-our-research-on-connected-autonomous-14.md @@ -0,0 +1,7 @@ +--- +date: "2021" +type: "General" +description: "Our research on connected autonomous vehicles was presented at 2021 STEM EXPO Week from the Science Olympiad. [Video]" +--- + +Our research on connected autonomous vehicles was presented at 2021 STEM EXPO Week from the Science Olympiad. [Video] diff --git a/src/content/news/2021-lab-update-our-survey-paper-on-accelerating-6.md b/src/content/news/2021-lab-update-our-survey-paper-on-accelerating-6.md new file mode 100644 index 0000000..0d8c98f --- /dev/null +++ b/src/content/news/2021-lab-update-our-survey-paper-on-accelerating-6.md @@ -0,0 +1,7 @@ +--- +date: "2021" +type: "Publication" +description: "Our survey paper on accelerating sparse and compact ML/DNN models is accepted for publication in the Proceedings of the IEEE — flagship publication of the IEEE. Congratulations Shail!!" +--- + +Our survey paper on accelerating sparse and compact ML/DNN models is accepted for publication in the Proceedings of the IEEE — flagship publication of the IEEE. Congratulations Shail!! diff --git a/src/content/news/2022-award-edward-was-selected-as-arcs-1.md b/src/content/news/2022-award-edward-was-selected-as-arcs-1.md new file mode 100644 index 0000000..ec05c46 --- /dev/null +++ b/src/content/news/2022-award-edward-was-selected-as-arcs-1.md @@ -0,0 +1,7 @@ +--- +date: "2022" +type: "Award" +description: "Edward was selected as ARCS (The Achievement Rewards for College Scientists) scholar for the year 2022-2023." +--- + +Edward was selected as ARCS (The Achievement Rewards for College Scientists) scholar for the year 2022-2023. diff --git a/src/content/news/2022-award-mohammad-and-mohammadrezas-patent-on-5.md b/src/content/news/2022-award-mohammad-and-mohammadrezas-patent-on-5.md new file mode 100644 index 0000000..f94f4fe --- /dev/null +++ b/src/content/news/2022-award-mohammad-and-mohammadrezas-patent-on-5.md @@ -0,0 +1,7 @@ +--- +date: "2022" +type: "Award" +description: "Mohammad and MohammadReza’s patent on “Systems and Methods for Intersection Management for Connected Autonomous Vehicles” is granted by US PTO. Congratulations!" +--- + +Mohammad and MohammadReza’s patent on “Systems and Methods for Intersection Management for Connected Autonomous Vehicles” is granted by US PTO. Congratulations! diff --git a/src/content/news/2022-award-moslem-received-the-best-poster-2.md b/src/content/news/2022-award-moslem-received-the-best-poster-2.md new file mode 100644 index 0000000..82eee40 --- /dev/null +++ b/src/content/news/2022-award-moslem-received-the-best-poster-2.md @@ -0,0 +1,7 @@ +--- +date: "2022" +type: "Award" +description: "Moslem received the best poster award at the Ph.D. forum, DAC 2017 for his thesis on “Software Schemes to Tolerate Hardware Faults for Safety-Critical Applications”." +--- + +Moslem received the best poster award at the Ph.D. forum, DAC 2017 for his thesis on “Software Schemes to Tolerate Hardware Faults for Safety-Critical Applications”. diff --git a/src/content/news/2022-award-shail-is-awarded-the-meritbased-3.md b/src/content/news/2022-award-shail-is-awarded-the-meritbased-3.md new file mode 100644 index 0000000..da93741 --- /dev/null +++ b/src/content/news/2022-award-shail-is-awarded-the-meritbased-3.md @@ -0,0 +1,7 @@ +--- +date: "2022" +type: "Award" +description: "Shail is awarded the merit-based Completion Fellowship from Arizona State University. Congratulations!" +--- + +Shail is awarded the merit-based Completion Fellowship from Arizona State University. Congratulations! diff --git a/src/content/news/2022-award-shail-receives-the-competitive-outstanding-4.md b/src/content/news/2022-award-shail-receives-the-competitive-outstanding-4.md new file mode 100644 index 0000000..a62b16c --- /dev/null +++ b/src/content/news/2022-award-shail-receives-the-competitive-outstanding-4.md @@ -0,0 +1,7 @@ +--- +date: "2022" +type: "Award" +description: "Shail receives the competitive “Outstanding Research Award” from ASU Graduate and Professional Students Association (for the 2021-2022 term). Congratulations!" +--- + +Shail receives the competitive “Outstanding Research Award” from ASU Graduate and Professional Students Association (for the 2021-2022 term). Congratulations! diff --git a/src/content/news/2022-award-shail-wins-silver-medal-at-0.md b/src/content/news/2022-award-shail-wins-silver-medal-at-0.md new file mode 100644 index 0000000..1719286 --- /dev/null +++ b/src/content/news/2022-award-shail-wins-silver-medal-at-0.md @@ -0,0 +1,7 @@ +--- +date: "2022" +type: "Award" +description: "Shail wins Silver Medal at ACM Student Research Competition (SRC), hosted by ACM SIGBED (Special Interest Group on Embedded Systems). Congratulations!" +--- + +Shail wins Silver Medal at ACM Student Research Competition (SRC), hosted by ACM SIGBED (Special Interest Group on Embedded Systems). Congratulations! diff --git a/src/content/news/2022-lab-update-aviral-and-shail-are-invited-26.md b/src/content/news/2022-lab-update-aviral-and-shail-are-invited-26.md new file mode 100644 index 0000000..05b9f18 --- /dev/null +++ b/src/content/news/2022-lab-update-aviral-and-shail-are-invited-26.md @@ -0,0 +1,7 @@ +--- +date: "2022" +type: "Publication" +description: "Aviral and Shail are invited to organize a special session on “Towards an Agile Design Methodology for Efficient, Reliable, and Secure ML Systems” at 40th IEEE VLSI and Test Symposium (VTS 2022). [Paper] [Slides]" +--- + +Aviral and Shail are invited to organize a special session on “Towards an Agile Design Methodology for Efficient, Reliable, and Secure ML Systems” at 40th IEEE VLSI and Test Symposium (VTS 2022). [Paper] [Slides] diff --git a/src/content/news/2022-lab-update-aviral-is-featured-in-the-14.md b/src/content/news/2022-lab-update-aviral-is-featured-in-the-14.md new file mode 100644 index 0000000..1167477 --- /dev/null +++ b/src/content/news/2022-lab-update-aviral-is-featured-in-the-14.md @@ -0,0 +1,7 @@ +--- +date: "2022" +type: "General" +description: "Aviral is featured in the Cronkite News article Digital license plate messages let drivers express themselves." +--- + +Aviral is featured in the Cronkite News article Digital license plate messages let drivers express themselves. diff --git a/src/content/news/2022-lab-update-aviral-serves-as-a-guest-22.md b/src/content/news/2022-lab-update-aviral-serves-as-a-guest-22.md new file mode 100644 index 0000000..ae5913b --- /dev/null +++ b/src/content/news/2022-lab-update-aviral-serves-as-a-guest-22.md @@ -0,0 +1,7 @@ +--- +date: "2022" +type: "General" +description: "Aviral serves as a guest editor of a special issue of Springer Real-Time Systems on Practical and Robust Design of Real-Time Systems." +--- + +Aviral serves as a guest editor of a special issue of Springer Real-Time Systems on Practical and Robust Design of Real-Time Systems. diff --git a/src/content/news/2022-lab-update-aviral-serves-as-the-general-17.md b/src/content/news/2022-lab-update-aviral-serves-as-the-general-17.md new file mode 100644 index 0000000..aa12a35 --- /dev/null +++ b/src/content/news/2022-lab-update-aviral-serves-as-the-general-17.md @@ -0,0 +1,7 @@ +--- +date: "2022" +type: "Event" +description: "Aviral serves as the general chair of ACM/IEEE Embedded Systems Week (ESWEEK) 2022, which is a hybrid conference with Shanghai and Phoenix as on-site locations. Consider participating! [Student Activities] [Education Classes] [Plenary Talks] [Workshops] [Tutorials] [LinkedIn] [Twitter] [YouTube] (Need-based student travel grants and fee waivers available.)" +--- + +Aviral serves as the general chair of ACM/IEEE Embedded Systems Week (ESWEEK) 2022, which is a hybrid conference with Shanghai and Phoenix as on-site locations. Consider participating! [Student Activities] [Education Classes] [Plenary Talks] [Workshops] [Tutorials] [LinkedIn] [Twitter] [YouTube] (Need-based student travel grants and fee waivers available.) diff --git a/src/content/news/2022-lab-update-aviral-serves-as-the-general-30.md b/src/content/news/2022-lab-update-aviral-serves-as-the-general-30.md new file mode 100644 index 0000000..8da544e --- /dev/null +++ b/src/content/news/2022-lab-update-aviral-serves-as-the-general-30.md @@ -0,0 +1,7 @@ +--- +date: "2022" +type: "Publication" +description: "Aviral serves as the general chair of ACM/IEEE Embedded Systems Week (ESWEEK) 2022, which will be organized as a hybrid conference with Shanghai as an on-site location. Consider submitting your best work! [Call for Papers] [LinkedIn] [Twitter] [YouTube]" +--- + +Aviral serves as the general chair of ACM/IEEE Embedded Systems Week (ESWEEK) 2022, which will be organized as a hybrid conference with Shanghai as an on-site location. Consider submitting your best work! [Call for Papers] [LinkedIn] [Twitter] [YouTube] diff --git a/src/content/news/2022-lab-update-aviral-serves-as-the-graduate-19.md b/src/content/news/2022-lab-update-aviral-serves-as-the-graduate-19.md new file mode 100644 index 0000000..6041bac --- /dev/null +++ b/src/content/news/2022-lab-update-aviral-serves-as-the-graduate-19.md @@ -0,0 +1,7 @@ +--- +date: "2022" +type: "General" +description: "Aviral serves as the Graduate Program Chair, Computer Science and Engineering." +--- + +Aviral serves as the Graduate Program Chair, Computer Science and Engineering. diff --git a/src/content/news/2022-lab-update-aviral-was-featured-in-news-1.md b/src/content/news/2022-lab-update-aviral-was-featured-in-news-1.md new file mode 100644 index 0000000..80b220a --- /dev/null +++ b/src/content/news/2022-lab-update-aviral-was-featured-in-news-1.md @@ -0,0 +1,7 @@ +--- +date: "2022" +type: "General" +description: "Aviral was featured in news articles on “High school students learn about artificial intelligence and related career paths“, which was covered by various news media in Arizona." +--- + +Aviral was featured in news articles on “High school students learn about artificial intelligence and related career paths“, which was covered by various news media in Arizona. diff --git a/src/content/news/2022-lab-update-aviral-will-give-a-keynote-7.md b/src/content/news/2022-lab-update-aviral-will-give-a-keynote-7.md new file mode 100644 index 0000000..eae5a3f --- /dev/null +++ b/src/content/news/2022-lab-update-aviral-will-give-a-keynote-7.md @@ -0,0 +1,7 @@ +--- +date: "2022" +type: "General" +description: "Aviral will give a keynote at International Conference on Intelligent Transportation and Smart Cities." +--- + +Aviral will give a keynote at International Conference on Intelligent Transportation and Smart Cities. diff --git a/src/content/news/2022-lab-update-check-out-ieee-hkn-gradlab-5.md b/src/content/news/2022-lab-update-check-out-ieee-hkn-gradlab-5.md new file mode 100644 index 0000000..fdbba85 --- /dev/null +++ b/src/content/news/2022-lab-update-check-out-ieee-hkn-gradlab-5.md @@ -0,0 +1,7 @@ +--- +date: "2022" +type: "General" +description: "Check out IEEE HKN GradLab Episode about graduate school experiences (theme: Interpersonal lab relationship), featuring our own Shail Dave. [Feature Post]" +--- + +Check out IEEE HKN GradLab Episode about graduate school experiences (theme: Interpersonal lab relationship), featuring our own Shail Dave. [Feature Post] diff --git a/src/content/news/2022-lab-update-christian-successfully-defended-his-bachelors-23.md b/src/content/news/2022-lab-update-christian-successfully-defended-his-bachelors-23.md new file mode 100644 index 0000000..ed13b7b --- /dev/null +++ b/src/content/news/2022-lab-update-christian-successfully-defended-his-bachelors-23.md @@ -0,0 +1,7 @@ +--- +date: "2022" +type: "General" +description: "Christian successfully defended his bachelor’s thesis on “Making a Real-Time Operating System for the Raspberry Pi 2B”. [Code]" +--- + +Christian successfully defended his bachelor’s thesis on “Making a Real-Time Operating System for the Raspberry Pi 2B”. [Code] diff --git a/src/content/news/2022-lab-update-consider-participating-in-nsf-workshop-0.md b/src/content/news/2022-lab-update-consider-participating-in-nsf-workshop-0.md new file mode 100644 index 0000000..059ea3e --- /dev/null +++ b/src/content/news/2022-lab-update-consider-participating-in-nsf-workshop-0.md @@ -0,0 +1,7 @@ +--- +date: "2022" +type: "General" +description: "Consider participating in NSF Workshop Panel Discussions on Sustainable Computing, including our own Shail Dave as a topical expert for “Architectures” track." +--- + +Consider participating in NSF Workshop Panel Discussions on Sustainable Computing, including our own Shail Dave as a topical expert for “Architectures” track. diff --git a/src/content/news/2022-lab-update-edward-is-selected-as-arcs-28.md b/src/content/news/2022-lab-update-edward-is-selected-as-arcs-28.md new file mode 100644 index 0000000..89e22ad --- /dev/null +++ b/src/content/news/2022-lab-update-edward-is-selected-as-arcs-28.md @@ -0,0 +1,7 @@ +--- +date: "2022" +type: "General" +description: "Edward is selected as ARCS (The Achievement Rewards for College Scientists) scholar for the year 2022-2023. Congratulations!" +--- + +Edward is selected as ARCS (The Achievement Rewards for College Scientists) scholar for the year 2022-2023. Congratulations! diff --git a/src/content/news/2022-lab-update-edward-s-paper-on-accurate-9.md b/src/content/news/2022-lab-update-edward-s-paper-on-accurate-9.md new file mode 100644 index 0000000..ae4efc4 --- /dev/null +++ b/src/content/news/2022-lab-update-edward-s-paper-on-accurate-9.md @@ -0,0 +1,7 @@ +--- +date: "2022" +type: "Publication" +description: "Edward‘s paper on “Accurate Cooperative Sensor Fusion by Parameterized Covariance Generation for Sensing and Localization Pipelines in CAVs” is accepted at the 23rd Intelligent Transportation Systems Conference (IEEE ITSC 2022)." +--- + +Edward‘s paper on “Accurate Cooperative Sensor Fusion by Parameterized Covariance Generation for Sensing and Localization Pipelines in CAVs” is accepted at the 23rd Intelligent Transportation Systems Conference (IEEE ITSC 2022). diff --git a/src/content/news/2022-lab-update-hwisoo-and-moslems-paper-titled-4.md b/src/content/news/2022-lab-update-hwisoo-and-moslems-paper-titled-4.md new file mode 100644 index 0000000..ba90da9 --- /dev/null +++ b/src/content/news/2022-lab-update-hwisoo-and-moslems-paper-titled-4.md @@ -0,0 +1,7 @@ +--- +date: "2022" +type: "Publication" +description: "Hwisoo and Moslem’s paper titled “EXPERTISE: An Effective Software-level Redundant Multithreading Scheme against Hardware Faults” is accepted for publication in ACM Transactions on Architecture and Code Optimization (ACM TACO)." +--- + +Hwisoo and Moslem’s paper titled “EXPERTISE: An Effective Software-level Redundant Multithreading Scheme against Hardware Faults” is accepted for publication in ACM Transactions on Architecture and Code Optimization (ACM TACO). diff --git a/src/content/news/2022-lab-update-maheshs-paper-pathseeker-a-fast-32.md b/src/content/news/2022-lab-update-maheshs-paper-pathseeker-a-fast-32.md new file mode 100644 index 0000000..edbde38 --- /dev/null +++ b/src/content/news/2022-lab-update-maheshs-paper-pathseeker-a-fast-32.md @@ -0,0 +1,7 @@ +--- +date: "2022" +type: "Publication" +description: "Mahesh’s paper “PathSeeker: A Fast Mapping Algorithm for CGRAs” is accepted to appear at 25th International Conference on Design Automation and Test in Europe (DATE), 2022." +--- + +Mahesh’s paper “PathSeeker: A Fast Mapping Algorithm for CGRAs” is accepted to appear at 25th International Conference on Design Automation and Test in Europe (DATE), 2022. diff --git a/src/content/news/2022-lab-update-our-collaborative-paper-compatibility-checking-33.md b/src/content/news/2022-lab-update-our-collaborative-paper-compatibility-checking-33.md new file mode 100644 index 0000000..cfbb788 --- /dev/null +++ b/src/content/news/2022-lab-update-our-collaborative-paper-compatibility-checking-33.md @@ -0,0 +1,7 @@ +--- +date: "2022" +type: "Publication" +description: "Our collaborative paper “Compatibility Checking for Autonomous Lane-Changing Assistance Systems” is accepted to appear at 25th International Conference on Design Automation and Test in Europe (DATE), 2022." +--- + +Our collaborative paper “Compatibility Checking for Autonomous Lane-Changing Assistance Systems” is accepted to appear at 25th International Conference on Design Automation and Test in Europe (DATE), 2022. diff --git a/src/content/news/2022-lab-update-our-paper-plan-b-31.md b/src/content/news/2022-lab-update-our-paper-plan-b-31.md new file mode 100644 index 0000000..035759c --- /dev/null +++ b/src/content/news/2022-lab-update-our-paper-plan-b-31.md @@ -0,0 +1,7 @@ +--- +date: "2022" +type: "Publication" +description: "Our paper “Plan B – Design Methodology for Cyber-Physical Systems Robust to Timing Failure”, in collaboration with Prof. Carlee Joe-Wong, Prof. Jonathan Aldrich (Carnegie Mellon University) and Dr. Bob Iannucci (Google) is accepted for publication in ACM Transactions on Cyber-Physical Systems (TCPS). Congratulations Dr. Mohammad, Prof. MohammadReza, and Edward, and the team!" +--- + +Our paper “Plan B – Design Methodology for Cyber-Physical Systems Robust to Timing Failure”, in collaboration with Prof. Carlee Joe-Wong, Prof. Jonathan Aldrich (Carnegie Mellon University) and Dr. Bob Iannucci (Google) is accepted for publication in ACM Transactions on Cyber-Physical Systems (TCPS). Congratulations Dr. Mohammad, Prof. MohammadReza, and Edward, and the team! diff --git a/src/content/news/2022-lab-update-our-research-on-autonomous-vehicles-25.md b/src/content/news/2022-lab-update-our-research-on-autonomous-vehicles-25.md new file mode 100644 index 0000000..bbf5cf8 --- /dev/null +++ b/src/content/news/2022-lab-update-our-research-on-autonomous-vehicles-25.md @@ -0,0 +1,7 @@ +--- +date: "2022" +type: "General" +description: "Our research on Autonomous Vehicles has been featured in the ASU News article “A new approach to robotics: Innovative helper and assistive robots mark ASU’s celebration of National Robotics Week“." +--- + +Our research on Autonomous Vehicles has been featured in the ASU News article “A new approach to robotics: Innovative helper and assistive robots mark ASU’s celebration of National Robotics Week“. diff --git a/src/content/news/2022-lab-update-sanggu-defended-his-masters-thesis-20.md b/src/content/news/2022-lab-update-sanggu-defended-his-masters-thesis-20.md new file mode 100644 index 0000000..8b81afc --- /dev/null +++ b/src/content/news/2022-lab-update-sanggu-defended-his-masters-thesis-20.md @@ -0,0 +1,7 @@ +--- +date: "2022" +type: "General" +description: "Sanggu defended his master’s thesis titled “Blame-Free Motion Planning in Hybrid Traffic”." +--- + +Sanggu defended his master’s thesis titled “Blame-Free Motion Planning in Hybrid Traffic”. diff --git a/src/content/news/2022-lab-update-shail-is-invited-to-give-8.md b/src/content/news/2022-lab-update-shail-is-invited-to-give-8.md new file mode 100644 index 0000000..42b53e6 --- /dev/null +++ b/src/content/news/2022-lab-update-shail-is-invited-to-give-8.md @@ -0,0 +1,7 @@ +--- +date: "2022" +type: "Event" +description: "Shail is invited to give a talk on “Agile and Explainable Exploration of Efficient Hardware/Software Codesigns of Deep Learning Accelerators” at DAC-ROAD4NN: Annual International Workshop on Research Open Automatic Design for Neural Networks at the 59th annual ACM/IEEE/ESDA Design Automation Conference (DAC 2022 ). [Check the previous edition here.]" +--- + +Shail is invited to give a talk on “Agile and Explainable Exploration of Efficient Hardware/Software Codesigns of Deep Learning Accelerators” at DAC-ROAD4NN: Annual International Workshop on Research Open Automatic Design for Neural Networks at the 59th annual ACM/IEEE/ESDA Design Automation Conference (DAC 2022 ). [Check the previous edition here.] diff --git a/src/content/news/2022-lab-update-shail-s-positionvision-paper-on-29.md b/src/content/news/2022-lab-update-shail-s-positionvision-paper-on-29.md new file mode 100644 index 0000000..57668e8 --- /dev/null +++ b/src/content/news/2022-lab-update-shail-s-positionvision-paper-on-29.md @@ -0,0 +1,7 @@ +--- +date: "2022" +type: "Publication" +description: "Shail‘s position/vision paper on “Accelerator Design 2.0″ — Comprehensive, Reusable, Explainable, and Agile Design Exploration of Next-Gen Hardware Accelerators” is accepted in the annual LATTE workshop, co-located with ACM ASPLOS 2022. [Paper] [Talk]" +--- + +Shail‘s position/vision paper on “Accelerator Design 2.0″ — Comprehensive, Reusable, Explainable, and Agile Design Exploration of Next-Gen Hardware Accelerators” is accepted in the annual LATTE workshop, co-located with ACM ASPLOS 2022. [Paper] [Talk] diff --git a/src/content/news/2022-lab-update-shail-s-research-on-machine-16.md b/src/content/news/2022-lab-update-shail-s-research-on-machine-16.md new file mode 100644 index 0000000..e562a17 --- /dev/null +++ b/src/content/news/2022-lab-update-shail-s-research-on-machine-16.md @@ -0,0 +1,7 @@ +--- +date: "2022" +type: "General" +description: "Shail‘s research on Machine Learning Accelerators is featured in the IEEE Bridge – Graduate Research Spotlight (in volume 118, issue 2) and highlighted by IEEE Eta Kappa Nu on various social media." +--- + +Shail‘s research on Machine Learning Accelerators is featured in the IEEE Bridge – Graduate Research Spotlight (in volume 118, issue 2) and highlighted by IEEE Eta Kappa Nu on various social media. diff --git a/src/content/news/2022-lab-update-shail-will-present-our-survey-6.md b/src/content/news/2022-lab-update-shail-will-present-our-survey-6.md new file mode 100644 index 0000000..7946b04 --- /dev/null +++ b/src/content/news/2022-lab-update-shail-will-present-our-survey-6.md @@ -0,0 +1,7 @@ +--- +date: "2022" +type: "General" +description: "Shail will present our survey and takeaways about “Efficient Sparse NN Processing on Hardware Accelerators: Survey and Insights” at Annual Sparsity in Neural Networks 2022 workshop, co-located meetup with ICML 2022. [Poster] [Tweet]" +--- + +Shail will present our survey and takeaways about “Efficient Sparse NN Processing on Hardware Accelerators: Survey and Insights” at Annual Sparsity in Neural Networks 2022 workshop, co-located meetup with ICML 2022. [Poster] [Tweet] diff --git a/src/content/news/2022-lab-update-shail-will-present-our-work-3.md b/src/content/news/2022-lab-update-shail-will-present-our-work-3.md new file mode 100644 index 0000000..096c6c7 --- /dev/null +++ b/src/content/news/2022-lab-update-shail-will-present-our-work-3.md @@ -0,0 +1,7 @@ +--- +date: "2022" +type: "General" +description: "Shail will present our work on agile and explainable exploration of efficient deep learning accelerators at IBM-IEEE CAS/EDS AI Compute Symposia 2022." +--- + +Shail will present our work on agile and explainable exploration of efficient deep learning accelerators at IBM-IEEE CAS/EDS AI Compute Symposia 2022. diff --git a/src/content/news/2022-lab-update-shails-dissertation-research-on-accelerator-18.md b/src/content/news/2022-lab-update-shails-dissertation-research-on-accelerator-18.md new file mode 100644 index 0000000..079e25b --- /dev/null +++ b/src/content/news/2022-lab-update-shails-dissertation-research-on-accelerator-18.md @@ -0,0 +1,7 @@ +--- +date: "2022" +type: "General" +description: "Shail’s dissertation research on “Accelerator Design 2.0: Agile, Efficient, Explainable, and Sustainable” appears at the Ph.D. forum in DAC 2022 (59th annual ACM/IEEE/ESDA Design Automation Conference) and IPDPS 2022 (36th IEEE International Parallel & Distributed Processing Symposium)." +--- + +Shail’s dissertation research on “Accelerator Design 2.0: Agile, Efficient, Explainable, and Sustainable” appears at the Ph.D. forum in DAC 2022 (59th annual ACM/IEEE/ESDA Design Automation Conference) and IPDPS 2022 (36th IEEE International Parallel & Distributed Processing Symposium). diff --git a/src/content/news/2022-lab-update-the-stam-center-and-school-13.md b/src/content/news/2022-lab-update-the-stam-center-and-school-13.md new file mode 100644 index 0000000..512cd6e --- /dev/null +++ b/src/content/news/2022-lab-update-the-stam-center-and-school-13.md @@ -0,0 +1,7 @@ +--- +date: "2022" +type: "General" +description: "The STAM Center and School of Computing and Augmented Intelligence host ESWEEK event [ASU Inner Circle]" +--- + +The STAM Center and School of Computing and Augmented Intelligence host ESWEEK event [ASU Inner Circle] diff --git a/src/content/news/2022-lab-update-we-will-give-a-demo-10.md b/src/content/news/2022-lab-update-we-will-give-a-demo-10.md new file mode 100644 index 0000000..615131f --- /dev/null +++ b/src/content/news/2022-lab-update-we-will-give-a-demo-10.md @@ -0,0 +1,7 @@ +--- +date: "2022" +type: "General" +description: "We will give a demo on “Efficient Hardware/Software Codesigns of NPUs in Minutes!” at ACM SIGDA University Demonstration, DAC 2022. See Teaser." +--- + +We will give a demo on “Efficient Hardware/Software Codesigns of NPUs in Minutes!” at ACM SIGDA University Demonstration, DAC 2022. See Teaser. diff --git a/src/content/news/2023-award-aviral-receives-the-outstanding-service-0.md b/src/content/news/2023-award-aviral-receives-the-outstanding-service-0.md new file mode 100644 index 0000000..a0bd339 --- /dev/null +++ b/src/content/news/2023-award-aviral-receives-the-outstanding-service-0.md @@ -0,0 +1,7 @@ +--- +date: "2023" +type: "Award" +description: "Aviral receives the Outstanding Service Award from the IEEE Council on Electronic Design Automation (CEDA), which is awarded annually for exceptional commitment and service to the EDA community." +--- + +Aviral receives the Outstanding Service Award from the IEEE Council on Electronic Design Automation (CEDA), which is awarded annually for exceptional commitment and service to the EDA community. diff --git a/src/content/news/2023-award-our-project-proposal-is-accepted-2.md b/src/content/news/2023-award-our-project-proposal-is-accepted-2.md new file mode 100644 index 0000000..605e4d5 --- /dev/null +++ b/src/content/news/2023-award-our-project-proposal-is-accepted-2.md @@ -0,0 +1,7 @@ +--- +date: "2023" +type: "Award" +description: "Our project proposal is accepted by competitive SRC AI hardware program from Semiconductor Research Corporation! We are excited for researching on sustainable and agile AI hardware development through “AI for AI”. Congratulations Aviral and Shail." +--- + +Our project proposal is accepted by competitive SRC AI hardware program from Semiconductor Research Corporation! We are excited for researching on sustainable and agile AI hardware development through “AI for AI”. Congratulations Aviral and Shail. diff --git a/src/content/news/2023-award-sanggu-received-outstanding-masters-student-1.md b/src/content/news/2023-award-sanggu-received-outstanding-masters-student-1.md new file mode 100644 index 0000000..74b5edb --- /dev/null +++ b/src/content/news/2023-award-sanggu-received-outstanding-masters-student-1.md @@ -0,0 +1,7 @@ +--- +date: "2023" +type: "Award" +description: "Sanggu received Outstanding Master’s Student Award in Computer Engineering from the School of Computing and Augmented Intelligence (SCAI) at Arizona State University." +--- + +Sanggu received Outstanding Master’s Student Award in Computer Engineering from the School of Computing and Augmented Intelligence (SCAI) at Arizona State University. diff --git a/src/content/news/2023-lab-update-aviral-gives-invited-seminar-talk-7.md b/src/content/news/2023-lab-update-aviral-gives-invited-seminar-talk-7.md new file mode 100644 index 0000000..386d4e3 --- /dev/null +++ b/src/content/news/2023-lab-update-aviral-gives-invited-seminar-talk-7.md @@ -0,0 +1,7 @@ +--- +date: "2023" +type: "Event" +description: "Aviral gives invited seminar talk on “An Agile and Explainable Exploration of Efficient HW/SW Codesigns of Deep Learning Accelerators Using Bottleneck Analysis” at InvasIC seminar series, Friedrich-Alexander-Universität." +--- + +Aviral gives invited seminar talk on “An Agile and Explainable Exploration of Efficient HW/SW Codesigns of Deep Learning Accelerators Using Bottleneck Analysis” at InvasIC seminar series, Friedrich-Alexander-Universität. diff --git a/src/content/news/2023-lab-update-aviral-is-featured-in-the-5.md b/src/content/news/2023-lab-update-aviral-is-featured-in-the-5.md new file mode 100644 index 0000000..99576bb --- /dev/null +++ b/src/content/news/2023-lab-update-aviral-is-featured-in-the-5.md @@ -0,0 +1,7 @@ +--- +date: "2023" +type: "General" +description: "Aviral is featured in The State Press article Mile by mile: The self-driving cars of tomorrow are already here." +--- + +Aviral is featured in The State Press article Mile by mile: The self-driving cars of tomorrow are already here. diff --git a/src/content/news/2023-lab-update-aviral-is-invited-as-the-10.md b/src/content/news/2023-lab-update-aviral-is-invited-as-the-10.md new file mode 100644 index 0000000..5de1e85 --- /dev/null +++ b/src/content/news/2023-lab-update-aviral-is-invited-as-the-10.md @@ -0,0 +1,7 @@ +--- +date: "2023" +type: "General" +description: "Aviral is invited as the speaker for ASU’s International Students Convocation." +--- + +Aviral is invited as the speaker for ASU’s International Students Convocation. diff --git a/src/content/news/2023-lab-update-aviral-serves-on-the-steering-18.md b/src/content/news/2023-lab-update-aviral-serves-on-the-steering-18.md new file mode 100644 index 0000000..1534072 --- /dev/null +++ b/src/content/news/2023-lab-update-aviral-serves-on-the-steering-18.md @@ -0,0 +1,7 @@ +--- +date: "2023" +type: "General" +description: "Aviral serves on the Steering Committee of ACM/IEEE Embedded Systems Week (ESWEEK)." +--- + +Aviral serves on the Steering Committee of ACM/IEEE Embedded Systems Week (ESWEEK). diff --git a/src/content/news/2023-lab-update-aviral-will-teach-an-education-3.md b/src/content/news/2023-lab-update-aviral-will-teach-an-education-3.md new file mode 100644 index 0000000..cdbcc8e --- /dev/null +++ b/src/content/news/2023-lab-update-aviral-will-teach-an-education-3.md @@ -0,0 +1,7 @@ +--- +date: "2023" +type: "General" +description: "Aviral will teach an education class on basics of machine learning design at ACM/IEEE Embedded Systems Week (ESWEEK 2023)." +--- + +Aviral will teach an education class on basics of machine learning design at ACM/IEEE Embedded Systems Week (ESWEEK 2023). diff --git a/src/content/news/2023-lab-update-matthew-defended-his-masters-thesis-12.md b/src/content/news/2023-lab-update-matthew-defended-his-masters-thesis-12.md new file mode 100644 index 0000000..9888864 --- /dev/null +++ b/src/content/news/2023-lab-update-matthew-defended-his-masters-thesis-12.md @@ -0,0 +1,7 @@ +--- +date: "2023" +type: "General" +description: "Matthew defended his master’s thesis titled “B-AWARE: Blockage Aware RSU Scheduling for 5G Enabled Autonomous Vehicles” and he would join Intel as AI Software Engineer. Congratulations!" +--- + +Matthew defended his master’s thesis titled “B-AWARE: Blockage Aware RSU Scheduling for 5G Enabled Autonomous Vehicles” and he would join Intel as AI Software Engineer. Congratulations! diff --git a/src/content/news/2023-lab-update-matthew-s-paper-baware-blockage-2.md b/src/content/news/2023-lab-update-matthew-s-paper-baware-blockage-2.md new file mode 100644 index 0000000..1614b43 --- /dev/null +++ b/src/content/news/2023-lab-update-matthew-s-paper-baware-blockage-2.md @@ -0,0 +1,7 @@ +--- +date: "2023" +type: "Publication" +description: "Matthew‘s paper “B-AWARE: Blockage Aware RSU Scheduling for 5G Enabled Autonomous Vehicles” is accepted to appear at International Conference on Embedded Software (EMSOFT) 2023." +--- + +Matthew‘s paper “B-AWARE: Blockage Aware RSU Scheduling for 5G Enabled Autonomous Vehicles” is accepted to appear at International Conference on Embedded Software (EMSOFT) 2023. diff --git a/src/content/news/2023-lab-update-moslem-s-paper-titled-generic-16.md b/src/content/news/2023-lab-update-moslem-s-paper-titled-generic-16.md new file mode 100644 index 0000000..6e2a452 --- /dev/null +++ b/src/content/news/2023-lab-update-moslem-s-paper-titled-generic-16.md @@ -0,0 +1,7 @@ +--- +date: "2023" +type: "Publication" +description: "Moslem‘s paper titled “Generic Soft Error Data and Control Flow Error Detection by Instruction Duplication” is accepted for publication in IEEE Transactions on Dependable and Secure Computing (IEEE TDSC)." +--- + +Moslem‘s paper titled “Generic Soft Error Data and Control Flow Error Detection by Instruction Duplication” is accepted for publication in IEEE Transactions on Dependable and Secure Computing (IEEE TDSC). diff --git a/src/content/news/2023-lab-update-our-research-on-autonomous-vehicles-6.md b/src/content/news/2023-lab-update-our-research-on-autonomous-vehicles-6.md new file mode 100644 index 0000000..49bf36b --- /dev/null +++ b/src/content/news/2023-lab-update-our-research-on-autonomous-vehicles-6.md @@ -0,0 +1,7 @@ +--- +date: "2023" +type: "General" +description: "Our research on Autonomous Vehicles has been featured in the ASU Fulton Engineering’s News article “ASU research ensures autonomous vehicle safety, reliability” and state/local media including Arizona Commerce Authority, Institute of Automated Mobility." +--- + +Our research on Autonomous Vehicles has been featured in the ASU Fulton Engineering’s News article “ASU research ensures autonomous vehicle safety, reliability” and state/local media including Arizona Commerce Authority, Institute of Automated Mobility. diff --git a/src/content/news/2023-lab-update-our-work-on-giph-generalizable-14.md b/src/content/news/2023-lab-update-our-work-on-giph-generalizable-14.md new file mode 100644 index 0000000..efdc674 --- /dev/null +++ b/src/content/news/2023-lab-update-our-work-on-giph-generalizable-14.md @@ -0,0 +1,7 @@ +--- +date: "2023" +type: "Publication" +description: "Our work on “GiPH: Generalizable Placement Learning for Adaptive Heterogeneous Computing” (in collaboration with Carnegie Mellon University) is accepted to appear at Sixth Conference on Machine Learning and Systems (MLSys 2023)." +--- + +Our work on “GiPH: Generalizable Placement Learning for Adaptive Heterogeneous Computing” (in collaboration with Carnegie Mellon University) is accepted to appear at Sixth Conference on Machine Learning and Systems (MLSys 2023). diff --git a/src/content/news/2023-lab-update-our-work-on-making-processor-1.md b/src/content/news/2023-lab-update-our-work-on-making-processor-1.md new file mode 100644 index 0000000..2062b01 --- /dev/null +++ b/src/content/news/2023-lab-update-our-work-on-making-processor-1.md @@ -0,0 +1,7 @@ +--- +date: "2023" +type: "General" +description: "Our work on making processor design space exploration more explainable is featured on front pages of ASU news, ASU alumni news, ASU Ira Fulton Engineering news and ASU School of Computing and AI etc., ACM (Association of Computing Machinary) Tech News, Communications of the ACM (CACM) news, industry blogs, local media, etc. [News Article: Opening the Black Box]

" +--- + +Our work on making processor design space exploration more explainable is featured on front pages of ASU news, ASU alumni news, ASU Ira Fulton Engineering news and ASU School of Computing and AI etc., ACM (Association of Computing Machinary) Tech News, Communications of the ACM (CACM) news, industry blogs, local media, etc. [News Article: Opening the Black Box]

diff --git a/src/content/news/2023-lab-update-sanggus-paper-titled-blamefree-motion-11.md b/src/content/news/2023-lab-update-sanggus-paper-titled-blamefree-motion-11.md new file mode 100644 index 0000000..bb0b22a --- /dev/null +++ b/src/content/news/2023-lab-update-sanggus-paper-titled-blamefree-motion-11.md @@ -0,0 +1,7 @@ +--- +date: "2023" +type: "Publication" +description: "Sanggu’s paper titled “Blame-Free Motion Planning in Hybrid Traffic” is accepted for publication in IEEE Transactions on Intelligent Vehicles (ITV)." +--- + +Sanggu’s paper titled “Blame-Free Motion Planning in Hybrid Traffic” is accepted for publication in IEEE Transactions on Intelligent Vehicles (ITV). diff --git a/src/content/news/2023-lab-update-shail-and-aviral-will-present-13.md b/src/content/news/2023-lab-update-shail-and-aviral-will-present-13.md new file mode 100644 index 0000000..3f712c8 --- /dev/null +++ b/src/content/news/2023-lab-update-shail-and-aviral-will-present-13.md @@ -0,0 +1,7 @@ +--- +date: "2023" +type: "Event" +description: "Shail and Aviral will present a virtual seminar talk to Intel Labs on “Agile and Explainable AI Hardware/Software Codesign Exploration”." +--- + +Shail and Aviral will present a virtual seminar talk to Intel Labs on “Agile and Explainable AI Hardware/Software Codesign Exploration”. diff --git a/src/content/news/2023-lab-update-shail-s-paper-titled-automating-4.md b/src/content/news/2023-lab-update-shail-s-paper-titled-automating-4.md new file mode 100644 index 0000000..28ea9b6 --- /dev/null +++ b/src/content/news/2023-lab-update-shail-s-paper-titled-automating-4.md @@ -0,0 +1,7 @@ +--- +date: "2023" +type: "Publication" +description: "Shail‘s paper titled “Automating the Architectural Execution Modeling and Characterization of Domain-Specific Architectures” is accepted to appear at SRC TECHCON 2023." +--- + +Shail‘s paper titled “Automating the Architectural Execution Modeling and Characterization of Domain-Specific Architectures” is accepted to appear at SRC TECHCON 2023. diff --git a/src/content/news/2023-lab-update-shail-s-paper-titled-explainabledse-9.md b/src/content/news/2023-lab-update-shail-s-paper-titled-explainabledse-9.md new file mode 100644 index 0000000..f71b582 --- /dev/null +++ b/src/content/news/2023-lab-update-shail-s-paper-titled-explainabledse-9.md @@ -0,0 +1,7 @@ +--- +date: "2023" +type: "Publication" +description: "Shail‘s paper titled “Explainable-DSE: An Agile and Explainable Exploration of Efficient HW/SW Codesigns of Deep Learning Accelerators Using Bottleneck Analysis” is accepted to appear at the ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS). Congratulations!!" +--- + +Shail‘s paper titled “Explainable-DSE: An Agile and Explainable Exploration of Efficient HW/SW Codesigns of Deep Learning Accelerators Using Bottleneck Analysis” is accepted to appear at the ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS). Congratulations!! diff --git a/src/content/news/2023-lab-update-we-are-invited-for-a-15.md b/src/content/news/2023-lab-update-we-are-invited-for-a-15.md new file mode 100644 index 0000000..440a853 --- /dev/null +++ b/src/content/news/2023-lab-update-we-are-invited-for-a-15.md @@ -0,0 +1,7 @@ +--- +date: "2023" +type: "Publication" +description: "We are invited for a special session on “Learning-Oriented Reliability Improvement of Computing Systems From Transistor to Application Level” in the 26th International Conference on Design Automation and Test in Europe (DATE 2023). [Paper]" +--- + +We are invited for a special session on “Learning-Oriented Reliability Improvement of Computing Systems From Transistor to Application Level” in the 26th International Conference on Design Automation and Test in Europe (DATE 2023). [Paper] diff --git a/src/content/news/2023-lab-update-we-are-teaching-a-new-19.md b/src/content/news/2023-lab-update-we-are-teaching-a-new-19.md new file mode 100644 index 0000000..1c04737 --- /dev/null +++ b/src/content/news/2023-lab-update-we-are-teaching-a-new-19.md @@ -0,0 +1,7 @@ +--- +date: "2023" +type: "General" +description: "We are teaching a new course on “Topics in Machine Learning Accelerator Design” at ASU in Spring 2023 (CSE/CEN 598). [Course Reading List]" +--- + +We are teaching a new course on “Topics in Machine Learning Accelerator Design” at ASU in Spring 2023 (CSE/CEN 598). [Course Reading List] diff --git a/src/content/news/2024-award-mahesh-and-avirals-patent-on-1.md b/src/content/news/2024-award-mahesh-and-avirals-patent-on-1.md new file mode 100644 index 0000000..10497e6 --- /dev/null +++ b/src/content/news/2024-award-mahesh-and-avirals-patent-on-1.md @@ -0,0 +1,7 @@ +--- +date: "2024" +type: "Award" +description: "Mahesh and Aviral’s patent on “Systems and Methods for Improved Mapping of Computational Loops on Reconfigurable Architectures” is granted by US PTO. Congratulations!" +--- + +Mahesh and Aviral’s patent on “Systems and Methods for Improved Mapping of Computational Loops on Reconfigurable Architectures” is granted by US PTO. Congratulations! diff --git a/src/content/news/2024-award-vinayak-has-been-selected-as-0.md b/src/content/news/2024-award-vinayak-has-been-selected-as-0.md new file mode 100644 index 0000000..d8b0cad --- /dev/null +++ b/src/content/news/2024-award-vinayak-has-been-selected-as-0.md @@ -0,0 +1,7 @@ +--- +date: "2024" +type: "Award" +description: "Vinayak has been selected as a Google CS Research Mentorship Program (CSRMP) Recipient. Congratulations!" +--- + +Vinayak has been selected as a Google CS Research Mentorship Program (CSRMP) Recipient. Congratulations! diff --git a/src/content/news/2024-lab-update-aviral-has-been-selected-for-5.md b/src/content/news/2024-lab-update-aviral-has-been-selected-for-5.md new file mode 100644 index 0000000..7914b41 --- /dev/null +++ b/src/content/news/2024-lab-update-aviral-has-been-selected-for-5.md @@ -0,0 +1,7 @@ +--- +date: "2024" +type: "General" +description: "Aviral has been selected for the position of Editor-in-Chief of the IEEE Embedded Systems Letters." +--- + +Aviral has been selected for the position of Editor-in-Chief of the IEEE Embedded Systems Letters. diff --git a/src/content/news/2024-lab-update-aviral-is-featured-in-a-1.md b/src/content/news/2024-lab-update-aviral-is-featured-in-a-1.md new file mode 100644 index 0000000..d5bc6b4 --- /dev/null +++ b/src/content/news/2024-lab-update-aviral-is-featured-in-a-1.md @@ -0,0 +1,7 @@ +--- +date: "2024" +type: "General" +description: "Aviral is featured in a AZFamily article Feds investigating eight incidents involving Waymo driverless cars in Phoenix, Chandler." +--- + +Aviral is featured in a AZFamily article Feds investigating eight incidents involving Waymo driverless cars in Phoenix, Chandler. diff --git a/src/content/news/2024-lab-update-aviral-is-featured-in-a-3.md b/src/content/news/2024-lab-update-aviral-is-featured-in-a-3.md new file mode 100644 index 0000000..bd7c7d1 --- /dev/null +++ b/src/content/news/2024-lab-update-aviral-is-featured-in-a-3.md @@ -0,0 +1,7 @@ +--- +date: "2024" +type: "General" +description: "Aviral is featured in a Univision Arizona interview ¿Estamos listos para los vehículos autónomos? En Arizona son ya toda una realidad." +--- + +Aviral is featured in a Univision Arizona interview ¿Estamos listos para los vehículos autónomos? En Arizona son ya toda una realidad. diff --git a/src/content/news/2024-lab-update-aviral-serves-as-the-general-6.md b/src/content/news/2024-lab-update-aviral-serves-as-the-general-6.md new file mode 100644 index 0000000..36ad6d0 --- /dev/null +++ b/src/content/news/2024-lab-update-aviral-serves-as-the-general-6.md @@ -0,0 +1,7 @@ +--- +date: "2024" +type: "General" +description: "Aviral serves as the General Chair of the ACM Languages, Compilers, Tools and Theory of Embedded Systems (LCTES) 2024." +--- + +Aviral serves as the General Chair of the ACM Languages, Compilers, Tools and Theory of Embedded Systems (LCTES) 2024. diff --git a/src/content/news/2024-lab-update-aviral-was-featured-in-the-8.md b/src/content/news/2024-lab-update-aviral-was-featured-in-the-8.md new file mode 100644 index 0000000..938c048 --- /dev/null +++ b/src/content/news/2024-lab-update-aviral-was-featured-in-the-8.md @@ -0,0 +1,7 @@ +--- +date: "2024" +type: "General" +description: "Aviral was featured in the ABC15 Arizona news on “What to know about Waymo’s plan to drive on freeways”. [Video]" +--- + +Aviral was featured in the ABC15 Arizona news on “What to know about Waymo’s plan to drive on freeways”. [Video] diff --git a/src/content/news/2024-lab-update-our-collaborative-paper-on-cyclebite-9.md b/src/content/news/2024-lab-update-our-collaborative-paper-on-cyclebite-9.md new file mode 100644 index 0000000..6b8fc67 --- /dev/null +++ b/src/content/news/2024-lab-update-our-collaborative-paper-on-cyclebite-9.md @@ -0,0 +1,7 @@ +--- +date: "2024" +type: "Publication" +description: "Our collaborative paper on “Cyclebite: Extracting Task Graphs From Unstructured Compute-Programs” is published in IEEE Transactions on Computers." +--- + +Our collaborative paper on “Cyclebite: Extracting Task Graphs From Unstructured Compute-Programs” is published in IEEE Transactions on Computers. diff --git a/src/content/news/2024-lab-update-our-paper-on-design-methodology-7.md b/src/content/news/2024-lab-update-our-paper-on-design-methodology-7.md new file mode 100644 index 0000000..3ed5411 --- /dev/null +++ b/src/content/news/2024-lab-update-our-paper-on-design-methodology-7.md @@ -0,0 +1,7 @@ +--- +date: "2024" +type: "Publication" +description: "Our paper on “Design Methodology for Robust, Distributed Time-Sensitive Applications” is published in IEEE Internet of Things Magazine." +--- + +Our paper on “Design Methodology for Robust, Distributed Time-Sensitive Applications” is published in IEEE Internet of Things Magazine. diff --git a/src/content/news/2024-lab-update-sai-and-kaustubhs-paper-incidentnet-0.md b/src/content/news/2024-lab-update-sai-and-kaustubhs-paper-incidentnet-0.md new file mode 100644 index 0000000..5a6ea83 --- /dev/null +++ b/src/content/news/2024-lab-update-sai-and-kaustubhs-paper-incidentnet-0.md @@ -0,0 +1,7 @@ +--- +date: "2024" +type: "Publication" +description: "Sai and Kaustubh’s paper “IncidentNet: Traffic Incident Detection, Localization and Severity Estimation with Sparse Sensing” is accepted to appear at the 27th International Conference on Intelligent Transportation Systems (ITSC) 2024." +--- + +Sai and Kaustubh’s paper “IncidentNet: Traffic Incident Detection, Localization and Severity Estimation with Sparse Sensing” is accepted to appear at the 27th International Conference on Intelligent Transportation Systems (ITSC) 2024. diff --git a/src/content/news/2025-award-atharva-and-kaustubh-were-accepted-3.md b/src/content/news/2025-award-atharva-and-kaustubh-were-accepted-3.md new file mode 100644 index 0000000..33284a2 --- /dev/null +++ b/src/content/news/2025-award-atharva-and-kaustubh-were-accepted-3.md @@ -0,0 +1,7 @@ +--- +date: "2025" +type: "Award" +description: "Atharva and Kaustubh were accepted in the DAC2025: DAC Young Fellow Program." +--- + +Atharva and Kaustubh were accepted in the DAC2025: DAC Young Fellow Program. diff --git a/src/content/news/2025-award-atharva-was-selected-as-the-0.md b/src/content/news/2025-award-atharva-was-selected-as-the-0.md new file mode 100644 index 0000000..d6ac561 --- /dev/null +++ b/src/content/news/2025-award-atharva-was-selected-as-the-0.md @@ -0,0 +1,7 @@ +--- +date: "2025" +type: "Award" +description: "Atharva was selected as the winner of Knowledge Catalyst Award in the Design Automation Conference (DAC) 2025." +--- + +Atharva was selected as the winner of Knowledge Catalyst Award in the Design Automation Conference (DAC) 2025. diff --git a/src/content/news/2025-award-edward-was-selected-as-the-2.md b/src/content/news/2025-award-edward-was-selected-as-the-2.md new file mode 100644 index 0000000..ae5de9c --- /dev/null +++ b/src/content/news/2025-award-edward-was-selected-as-the-2.md @@ -0,0 +1,7 @@ +--- +date: "2025" +type: "Award" +description: "Edward was selected as the recipient of the Graduate College Completion Fellowship for Fall 2025 and Spring 2026." +--- + +Edward was selected as the recipient of the Graduate College Completion Fellowship for Fall 2025 and Spring 2026. diff --git a/src/content/news/2025-award-shail-dave-received-the-computer-4.md b/src/content/news/2025-award-shail-dave-received-the-computer-4.md new file mode 100644 index 0000000..262e6f8 --- /dev/null +++ b/src/content/news/2025-award-shail-dave-received-the-computer-4.md @@ -0,0 +1,7 @@ +--- +date: "2025" +type: "Award" +description: "Shail Dave received the Computer Engineering PhD Outstanding Student Award for Spring 2025. Congratulations!!" +--- + +Shail Dave received the Computer Engineering PhD Outstanding Student Award for Spring 2025. Congratulations!! diff --git a/src/content/news/2025-lab-update-aviral-is-featured-in-a-0.md b/src/content/news/2025-lab-update-aviral-is-featured-in-a-0.md new file mode 100644 index 0000000..e9678cc --- /dev/null +++ b/src/content/news/2025-lab-update-aviral-is-featured-in-a-0.md @@ -0,0 +1,7 @@ +--- +date: "2025" +type: "General" +description: "Aviral is featured in a ASU News article Using AI for smarter metal 3D printing of mission-critical items like propellers." +--- + +Aviral is featured in a ASU News article Using AI for smarter metal 3D printing of mission-critical items like propellers. diff --git a/src/content/news/2025-lab-update-shreehari-and-edwards-paper-tipangle-1.md b/src/content/news/2025-lab-update-shreehari-and-edwards-paper-tipangle-1.md new file mode 100644 index 0000000..092a5ed --- /dev/null +++ b/src/content/news/2025-lab-update-shreehari-and-edwards-paper-tipangle-1.md @@ -0,0 +1,7 @@ +--- +date: "2025" +type: "Publication" +description: "Shreehari and Edward’s paper “TIPAngle: Traffic Tracking at City Scale by Pose Estimation of Pan and
Tilt Intersection Cameras” received best paper award in VLSID 2025 and got featured in the TCVLSI Newsletter Special Edition. link
" +--- + +Shreehari and Edward’s paper “TIPAngle: Traffic Tracking at City Scale by Pose Estimation of Pan and
Tilt Intersection Cameras” received best paper award in VLSID 2025 and got featured in the TCVLSI Newsletter Special Edition. link
diff --git a/src/content/research/ai-compilers.md b/src/content/research/ai-compilers.md new file mode 100644 index 0000000..5402514 --- /dev/null +++ b/src/content/research/ai-compilers.md @@ -0,0 +1,28 @@ +--- +title: "AI-driven Multi-Level Compilers" +status: "Active" +description: "Leveraging machine learning techniques to optimize compiler designs, creating intelligent intermediate representations for emerging and heterogeneous architectures." +icon: "BookOpen" +order: 3 +--- + +## Vision + +As computing enters a post-Moore’s Law era of extreme hardware heterogeneity, traditional compilers can no longer keep pace with the complexity of specialized architectures. We envision a future where compilers serve as intelligent orchestrators, utilizing Multi-level representations to preserve high-level application semantics that are typically lost during translation. To manage the vast optimization space across these diverse platforms, we aim to build AI-driven engines that autonomously learn and apply the best strategies for each workload. + +## Key Research Challenges + +- **The Abstraction Gap in Heterogeneous Computing**: Traditional compilers typically "lower" code into generic representations too early, discarding critical high-level application semantics. This loss of intent prevents the compiler from performing global optimizations that are only visible at higher abstraction tiers. New methodologies that maintain multiple levels of IR simultaneously to exploit domain-specific patterns are needed. +- **Decoupling Cost Models from Optimization Heuristics**: In current compilers, the "pass" (the transformation) and the "cost model" (the logic that decides if the transformation is beneficial) are tightly intertwined. This makes it impossible to update the compiler for new hardware without rewriting core logic. A clean separation of concerns where modular AI-cost models can be plugged into generic optimization passes is needed to enable rapid hardware portability. +- **The Phase Ordering and Pass Selection Problem**: The sequence and selection of optimization passes significantly impact performance, yet the "optimal" order varies wildly between different programs. Standard compilers rely on a fixed order that often leads to sub-optimal results or missed opportunities for acceleration. Intelligent, context-aware agents that can dynamically determine the most effective pass sequence and selection for a specific piece of code are needed to make compilation truly adaptive. + +## Recent Results + +![qml-research](/images/research/aic/dsp-mlir.png) +DSP-MLIR is a multi-level compiler infrastructure that leverages domain-specific abstractions and MLIR-based transformations to automate the mapping and optimization of signal processing applications onto heterogeneous hardware accelerators. + +To demonstrate the power of intent-preserving compilation, we developed DSP-MLIR, an open-source framework built on the MLIR ecosystem. This framework ensures that high-level signal processing intent is preserved and optimized from the source code down to the hardware. + +- **Closing the Abstraction Gap**: DSP-MLIR introduces a high-level, Python-like DSL and a dedicated DSP Dialect with over 90 operations. This preserves domain-specific intent (such as FFTs, filters, and windowing) deep into the compilation flow, allowing for 16 high-level transformations based on DSP theorems that traditional compilers typically miss. +- **Performance & Productivity**: Our results show that DSP-MLIR can reduce development effort by 4x to 5x compared to standard C, while providing a 12% average speedup on CPUs and DSPs and a 10% reduction in binary size compared to state-of-the-art compilers like GCC and Hexagon-Clang. +- **Unified Optimization**: By integrating with the MLIR framework, our work provides a path toward a unified compilation flow where DSP and ML kernels are co-optimized for modern edge processors, enabling seamless deployment across diverse, high-performance platforms. diff --git a/src/content/research/bypass-aware-compiler.md b/src/content/research/bypass-aware-compiler.md new file mode 100644 index 0000000..425b5da --- /dev/null +++ b/src/content/research/bypass-aware-compiler.md @@ -0,0 +1,16 @@ +--- +title: "Bypass Aware Compiler" +status: "Extended" +description: "Code size is an important constraint for many embedded systems, especially the ones in which the code is burnt on ROMs, which can be the major component on the chip. Dual instruction set, one compo..." +icon: "CircuitBoard" +order: 21 +image: "/images/research/bypass-aware-compiler.png" +--- + +## Bypass Aware Compiler + +Code size is an important constraint for many embedded systems, especially the ones in which the code is burnt on ROMs, which can be the major component on the chip. Dual instruction set, one composed of full width instructions, and another composed of narrow instructions is a promising approach to reduce code size. Our research efforts are towards developing tools and techniques to compile for such reduced bit-width Instruction Set Architectures. + +Bypasses or forwarding paths are simple yet widely used feature in modern processors to eliminate some data hazards. With Bypasses, additional datapaths and control logic are added to the processor so that the result of an operation is available for subsequent dependent operations even before it is written in the register file. Paths including the bypasses often are timing critical and add pressure on cycle time, especially the single cycle paths. The delay of bypass logic can be significant for wide issue machines. The situation is aggravated owing to the trend of long pipelines and high degrees of parallelism in modern processors. As a result, most processors can only afford some of the bypasses. The question is, which bypasses to have in the processor, so as to minimize the hardware overhead, but not loose too much performance as compared to a fully bypassed processor. + +Determining optimal bypass configuration requires a true co-design effort in which both the layout effects and the compiler effects must be taken into account. The figure on the right shows a compiler-in-the-loop design methodology for exploring the bypasses in embedded processors. The bypass configuration is described in a text form in an architecture description language (in this case,EXPRESSION). We developed a bypass-sensitive compiler that reads the bypass configuration from the text file, and schedules instructions so as to avoid data hazards due to missing bypasses. We have also parameterized a cycle-accurate simulator to the bypass configuration. Further, we automatically generate the bypass control logic for the processor pipeline, and paramterize the RTL of the processor on the bypass configuration. For a given bypass configuration, the application is then compiled using the bypass-sensitive compiler, simulated on the cycle-accurate simulator to find the run-time, and the cycle-time, area, and power is estimated using the synthesized RTL. Different bypass configurations are explored to find the best bypass configuration. diff --git a/src/content/research/coarse-grain-reconfigurable-arrays.md b/src/content/research/coarse-grain-reconfigurable-arrays.md new file mode 100644 index 0000000..7d67271 --- /dev/null +++ b/src/content/research/coarse-grain-reconfigurable-arrays.md @@ -0,0 +1,16 @@ +--- +title: "Coarse-Grain Reconfigurable Arrays" +status: "Extended" +description: "Need for faster and power-efficient processors has paved the way for many-core processors along with considerable research in accelerators. Acceleration through popular Graphics Processing Units (G..." +icon: "Grid3X3" +order: 19 +image: "/images/research/coarse-grain-reconfigurable-arrays.png" +--- + +## Coarse-Grain Reconfigurable Arrays + +Need for faster and power-efficient processors has paved the way for many-core processors along with considerable research in accelerators. Acceleration through popular Graphics Processing Units (GPUs) is over a broad range of the parallel applications but majorly limited to massively parallel loops and loops with high trip counts. Field programmable gate arrays (FPGAs) on the other hand, are reconfigurable and general-purpose but are marred by low power efficiency due to their fine-grain management. + +Coarse-Grained Reconfigurable Arrays (CGRAs)are promising accelerators, capable of accelerating even non-parallel loops and loops with lower trip-counts. They are programmable yet, power-efficient accelerators. CGRA is an array of Processing Elements (PE) connected through a 2-D network; each PE contains an ALU-like Functional Unit (FU) and a Register File (RF). FUs are capable of executing arithmetic, logical or even memory operations. At every cycle, each PE gets an instruction from the instruction memory, specifying the operation. The PE may read/write the data from/to data memory; data/address bus are shared either by PEs in the same column or by PEs in the same row. CGRA can achieve higher power efficiency due to simpler hardware and intelligent software techniques. [A Short Video on Executing the Loops on CGRA] + +Since CGRA is a simple hardware and all the intelligence and hence the complexity, has been transferred to the software, the compiler should be smart enough to effectively utilize the CGRA resources. One of the widely researched topics in CGRA research is the mapping techniques for CGRAs. Loop to be accelerated is extracted from the application and converted into a Data Dependency Graph (DDG). Problem formulation of the mapping of the DDG onto the target array is NP-complete. Plus, mapping hueristic should be able to generate the mapping with better quality in lower compilation time, as well as it should ensure maximum the usage of the CGRA resources — such as registers, PE units etc. diff --git a/src/content/research/cyber-physical-and-iot-systems.md b/src/content/research/cyber-physical-and-iot-systems.md new file mode 100644 index 0000000..c5a17c6 --- /dev/null +++ b/src/content/research/cyber-physical-and-iot-systems.md @@ -0,0 +1,16 @@ +--- +title: "Cyber-Physical and IoT Systems" +status: "Extended" +description: "Time is a foundational aspect of Cyber-Physical Systems (CPS). Correct timing of system events is critical to optimize responsiveness to the environment, in terms of timeliness, accuracy, and preci..." +icon: "Wifi" +order: 16 +image: "/images/research/cyber-physical-and-iot-systems.png" +--- + +## Cyber-Physical and IoT Systems + +Time is a foundational aspect of Cyber-Physical Systems (CPS). Correct timing of system events is critical to optimize responsiveness to the environment, in terms of timeliness, accuracy, and precision in the knowledge, measurement, prediction, and control of CPS behavior (DAC Special Session 2016). + +In order to design more resilient and reliable CPS, first and foremost, there should be a way to specify the timing constraints that a constructed Cyber-Physical System must meet. Only then, we can seek systematic approaches to check if all timing constraints are being met, and develop correct-by-construction methodologies. In this regard, we have developed a logic, Timestamp Temporal Logic (TTL) to specify the timing constraints on a distributed CPS (TTL-EMSOFT-TECS-2017). Designers can specify the timing requirement that a CPS must satisfy in a succinct and intuitive manner in TTL. For example, they can express that some two events on two different parts of the system must occur within 1 millisecond of each other. Further, we designed an FPGA-based testbed that can hook up to a CPS and take in these timing constraints specified in TTL and verify if the timing constraints are being met (CPS Timing Testbed,ReConfig 2015). One of the great features of using TTL to express timing constraints is that the time monitoring logic becomes very simple. TTL logic does not need to compute whether the constraint is being met at each and every instance of time but it re-evaluates a constraint only when there is an event that can affect the outcome. This enables our approach, TMA to perform online timing monitoring of CPS (TMA-DAC 2018) for less required computation and resources. Furthermore, we have come up with the minimum design parameters of the timing CPS that are required to enable testing the timing of CPS. For example, a system that is sampling at milliseconds level cannot test a timing constraint that has a requirement of accuracy to the level of microseconds (Testbed-DAC-2017). + +We have built several CPS applications to test the need and effectiveness of our approaches. We have built a i) flying paster – a system needed in the printing press to continue the paper feed from another roller when the current roller finishes. ii) We have been able to align the phase of different motors up to milliseconds even when they are connected through the internet. iii) Synchronize the image capture time from different cameras, so that a 3D image reconstruction can be done with minimal blurring, and iv) developed a time-sensitive traffic intersection design for autonomous vehicles (Crossroads-DAC-2017). diff --git a/src/content/research/gpu-computing.md b/src/content/research/gpu-computing.md new file mode 100644 index 0000000..0f96a12 --- /dev/null +++ b/src/content/research/gpu-computing.md @@ -0,0 +1,16 @@ +--- +title: "GPU Computing" +status: "Extended" +description: "With higher performance and better power efficiency, GPU (Graphics Processing Unit) has enabled so-called ‘supercomputing to the masses’. However, the complex memory hierarchy and various architect..." +icon: "Monitor" +order: 15 +image: "/images/research/gpu-computing.png" +--- + +## GPU Computing + +With higher performance and better power efficiency, GPU (Graphics Processing Unit) has enabled so-called ‘supercomputing to the masses’. However, the complex memory hierarchy and various architectural details introduced many optimization rules that make optimizing GPU programs very difficult. Our objective is to enable compiler to find the design choices that lead to better performance and to optimize accordingly. + +As a simple extension to C, CUDA has made programming GPUs so much easier than before. This simple and easy programming model, as well as outstanding performance and power/cost efficiency, popularized GPGPU (General Purpose computing on GPUs), and now GPU is considered as one of the most successful and promising computer architectures for the future. + +Even though to start writing GPGPU applications has become easy, optimizing programs to fully utilize GPU’s performance is very difficult yet. This is because of numerous optimization rules that come from various hardware details. Those performance considerations are mostly on memory access performance. As thousands of cores are accessing the memory concurrently, memory access performance often affects the performance of a program significantly. To optimize an application, the programmer should beware of all the performance considerations and be able to predict the possible impact on performance for each of different design decisions, such as thread block size, shared memory buffer size, or global/shared memory references. diff --git a/src/content/research/intelligent-transportation.md b/src/content/research/intelligent-transportation.md new file mode 100644 index 0000000..04b22e0 --- /dev/null +++ b/src/content/research/intelligent-transportation.md @@ -0,0 +1,31 @@ +--- +title: "Intelligent Transportation Systems" +status: "Active" +description: "Developing robust software, perception pipelines, and safety-critical architectures for next-generation intelligent and autonomous vehicles." +icon: "Car" +order: 2 +--- + +## Vision +We aim to advance the state-of-the-art in two critical directions: first, by enhancing autonomous vehicle perception through multi-modal and cooperative sensing to ensure safe navigation in complex environments; and second, by evolving traffic infrastructure into an intelligent observer capable of detecting incidents and understanding their systemic impact at a city scale. By bridging the gap between vehicle-level sensing and infrastructure-level orchestration, we strive to build a transportation network that is fundamentally resilient to both physical uncertainties and digital vulnerabilities. + +## Key Research Challenges +- **The Perception and Data Gap**: Individual AVs are limited by their own line-of-sight and the extreme rarity of real-world incident data. Multi-modal cooperative sensing and generative "Real-to-Sim" and “Sim-to-Real” modeling are needed to provide vehicles with shared perception and a library of kinematically feasible edge cases for rigorous safety validation. +- **Trust in Cooperative Systems**: Enhancing vehicle intelligence through cooperation introduces the risk of data falsification or sensor malfunctions. Robust security architectures that combine real-time authentication with decentralized consensus are needed to ensure that the "cooperative brain" of a connected fleet remains trustworthy. +- **City-Scale Incident Intelligence**: Relying on centralized, macroscopic traffic data leads to slow response times and low detection accuracy. Scalable, infrastructure-based intelligence that can detect, localize, and quantify the ripple effects of incidents using sparse, microscopic sensing is needed to manage urban resilience at scale. + +## Recent Results +### Theme I: Advancing AVs via Secure, Cooperative Perception + +Our research focuses on extending the "eyes" of the vehicle through cooperation while ensuring the absolute integrity of shared data. Through our work on CONClave (DAC 2024), we developed a tightly coupled authentication and consensus protocol that allows a fleet to identify and isolate malicious or faulty sensors 1.8x faster than existing baselines, ensuring that cooperative perception remains a reliable asset for safe navigation. Furthermore, by replacing static error models with dynamic, parameterized covariance generation, we demonstrated a 1.4x improvement in the accuracy of fusing data between moving vehicles and stationary infrastructure, effectively neutralizing the localization errors inherent in mobile sensing. + +![CONClave](/images/research/its/conclave.png) +CONClave is a secure cooperative perception framework that integrates multi-party authentication, decentralized consensus, and sensor trust-scoring to protect autonomous vehicle fleets from malicious data injection and sensor malfunctions. + +### Theme II: Advancing Infrastructure via Distributed Incident Detection + +Our work on the infrastructure side centers on turning sparse roadside sensors into a high-fidelity monitoring network capable of city-scale oversight. Through the development of IncidentNet (ITSC 2024), we have pioneered a deep learning framework that can detect and localize traffic incidents even when they occur outside a sensor's direct field of view, achieving a 98% detection rate in urban environments with sparse sensor coverage. By utilizing a novel methodology to generate realistic synthetic microscopic traffic data, our frameworks can accurately quantify how local incidents alter traffic flow across the broader city grid, enabling proactive, automated traffic management that mitigates gridlock and improves emergency response. + +![IncidentNet](/images/research/its/incidentnet.png) +IncidentNet is a deep learning framework that utilizes microscopic traffic patterns from sparse roadside sensors to detect, localize, and estimate the severity of traffic incidents, even when they occur outside the sensor's direct field of view. + diff --git a/src/content/research/llm-applications.md b/src/content/research/llm-applications.md new file mode 100644 index 0000000..326dd20 --- /dev/null +++ b/src/content/research/llm-applications.md @@ -0,0 +1,12 @@ +--- +title: "LLM Applications" +status: "Extended" +description: "Research on llm applications at the MPS Lab." +icon: "MessageSquare" +order: 24 +image: "/images/research/llm-applications.png" +--- + +## LLM Applications + +Extended research area covering llm applications. diff --git a/src/content/research/ml-acceleration.md b/src/content/research/ml-acceleration.md new file mode 100644 index 0000000..f337b3b --- /dev/null +++ b/src/content/research/ml-acceleration.md @@ -0,0 +1,28 @@ +--- +title: "Machine Learning Acceleration" +status: "Active" +description: "Hardware-software co-design and architectural innovations for efficient, high-performance execution of deep learning models on specialized accelerators and edge devices." +icon: "Cpu" +order: 1 +--- + +## Vision + +As AI models scale toward trillions of parameters, the bottleneck has shifted from raw computation to the complex interplay between data movement and architectural efficiency. We envision a future of Hardware-Software Co-design, where the execution of ML models is optimized through a deep understanding of both high-level parallelism and low-level hardware structures. Our goal is to build an intelligent orchestration layer that treats heterogeneous accelerators and their underlying memory hierarchies – from scratchpads and DMAs to multi-level caches and HBM – as a unified, programmable fabric. By architecting systems that can autonomously exploit every dimension of parallelism, we aim to redefine the performance limits of next-generation AI. + +## Key Research Challenges + +* **The Multi-Dimensional Parallelism Search Space:** Exploiting a single form of parallelism is no longer enough for modern large-scale models. The challenge lies in the simultaneous orchestration of data, pipeline, and tensor parallelism across a distributed and heterogeneous compute landscape. Scalable optimization frameworks that can discover the "golden" parallelization strategy for a specific model-hardware pair are needed. +* **Architectural Complexity and Memory Hierarchy Management:** Beyond the choice of accelerator lies a dense design space of caches, scratchpad memories, and DMA engines. Traditional execution flows often fail to exploit these low-level resources, leading to data starvation and memory stalls. Hardware-aware compilers that can intelligently manage scratchpad allocation and schedule DMA transfers to hide latency and maximize throughput across multi-level memory hierarchies are needed. +* **Mapping Complexity in Extremely Heterogeneous Systems:** Modern systems integrate a diverse array of compute units (CPUs, NPUs, GPUs, DSPs) and memory types (DDR, LPDDR, HBM, PNM, SSDs). Manually partitioning workloads across such a non-uniform landscape is prohibitively complex. Automated mapping and partitioning engines that can navigate the vast design space of heterogeneous compute and memory to ensure balanced workloads and energy-efficient execution are needed. + +## Recent Results + +![dMazeRunner](/images/research/mla/dmaze.webp) +DMazeRunner provides a holistic framework for exploring and optimizing the spatiotemporal mapping of complex loop nests onto the computational and memory resources of dataflow accelerators.To address the challenge of mapping complex ML workloads onto specialized hardware, we developed dMazeRunner, a framework designed to explore the vast spatiotemporal execution space of perfectly nested loops (such as convolutions and matrix multiplications) on dataflow accelerators. + +To address the challenge of mapping complex ML workloads onto specialized hardware, we developed dMazeRunner, a framework designed to explore the vast spatiotemporal execution space of perfectly nested loops (such as convolutions and matrix multiplications) on dataflow accelerators. + +* **Holistic Representation:** dMazeRunner utilizes a novel, holistic representation of loop nests that succinctly captures diverse execution methods, including various tiling, ordering, and parallelization strategies. +* **Accurate Modeling and Pruning:** The framework employs high-fidelity energy and performance models that explicitly account for computation, communication patterns, and data buffering. By implementing aggressive pruning heuristics, dMazeRunner discards invalid or redundant solutions, reducing search times from days to seconds. +* **Quantifiable Impact:** Our experiments demonstrate that dMazeRunner discovers execution methods that are, on average, 9× better in Energy-Delay-Product (EDP) and 5× faster than prior approaches. Even with rapid heuristics, it identifies solutions within 3% of the optimal, enabling both experts and non-experts to maximize hardware utilization and minimize off-chip memory access. \ No newline at end of file diff --git a/src/content/research/power-temperature-and-variation-aware-computing.md b/src/content/research/power-temperature-and-variation-aware-computing.md new file mode 100644 index 0000000..ee446cc --- /dev/null +++ b/src/content/research/power-temperature-and-variation-aware-computing.md @@ -0,0 +1,16 @@ +--- +title: "Power, Temperature and Variation aware Computing" +status: "Extended" +description: "Power consumption, process variations, and temperature are all problems due to technology scaling to incredible levels. Our approach to deal with power, temperature and process variations is to exp..." +icon: "Thermometer" +order: 20 +image: "/images/research/power-temperature-and-variation-aware-computing.png" +--- + +## Power, Temperature and Variation aware Computing + +Power consumption, process variations, and temperature are all problems due to technology scaling to incredible levels. Our approach to deal with power, temperature and process variations is to expose them to microarchitecture and software levels, where instruction scheduling and component sleep solutions can be developed to handle these issues. + +Two important consequences of technology scaling are the increase in leakage power and increase in variation in the characteristics of manufactured devices. Leakage power is projected to contribute more than 40% of total power budget in processors fabricated in 65 nm technology and beyond. Unlike dynamic power, leakage power is highly sensitive to variations in gate dimensions as well as the operational temperature. High variation in the power consumption results in the significant overestimation of the specification, leading to increased design time/effort and results in significant loss of parameterized yield. Hence, reducing the total power, temperature and the variation in the power consumption is an important problem. + +We introduce a leakage sensor in FUs, and develop a temperature and process variations aware power gating technique. Our power gating approach is based on the IPC, using which it determines how many FUs must be on. Once this is decided, based on the leakage of the FUs (which automatically takes temperature into account), which FUs should be power gates is determined. diff --git a/src/content/research/processor-idle-cycle-aggregation.md b/src/content/research/processor-idle-cycle-aggregation.md new file mode 100644 index 0000000..e4ec6a2 --- /dev/null +++ b/src/content/research/processor-idle-cycle-aggregation.md @@ -0,0 +1,16 @@ +--- +title: "Processor Idle Cycle Aggregation" +status: "Extended" +description: "During execution, a processor is typically stalled for a significant amount of time doing nothing, but waiting for data from memory. However, these stall durations are typically small. Our research..." +icon: "Battery" +order: 25 +image: "/images/research/processor-idle-cycle-aggregation.png" +--- + +## Processor Idle Cycle Aggregation + +During execution, a processor is typically stalled for a significant amount of time doing nothing, but waiting for data from memory. However, these stall durations are typically small. Our research in this area is to aggregate these small but several stall cycles to create a larger stall, during which the processor can be switched to a lower-power mode. + +Figure on the right plots the lengths of processor stalls over the execution of the qsort application from the MiBench benchmark suite running on the Intel XScale processor. Very small stalls (few cycles) represent processor stalls due to pipeline hazards, but a lot of stalls are approximately 30 cycles in length. This reflects the fact that the memory latency of the Intel XScale is about 30 cycles. An important observation from this graph is that although the processor is stalled for a considerable time (approximately 30% of the total program execution time) the length of each processor stall is small. The average length of a processor stall is 4 cycles, but none of them is greater than 100 cycles. + +A processor stall, theoretically is an opportunity for optimization. System throughput and energy can be improved by temporarily switching to a different thread of execution, or the energy consumption of the system may be reduced by switching the processor to a low power state. Next figure shows the power state machine of the Intel XScale processor. In the default mode of operation, the XScale is in RUN state, consuming 450mW. XScale has three low power states: IDLE, DROWSY, and SLEEP. In the IDLE state the clock to the processor is gated, and the processor consumes only 10mW, but it takes 180 processor cycles to switch to and back from the IDLE state. However, no naturally occuring processor stall is more than 100 cycles, therefore there is no opportunity to reduce the power consumption. diff --git a/src/content/research/quantum-ml.md b/src/content/research/quantum-ml.md new file mode 100644 index 0000000..ba83ae2 --- /dev/null +++ b/src/content/research/quantum-ml.md @@ -0,0 +1,28 @@ +--- +title: "Quantum Machine Learning" +status: "Active" +description: "Pioneering the next generation of artificial intelligence by exploring the intersection of quantum computing and advanced machine learning models." +icon: "Brain" +order: 4 +--- + +## Vision + +We strive to create a symbiotic partnership between two transformative frontiers: using machine learning to stabilize quantum hardware and using quantum computing to redefine the limits of ML algorithms. We aim to achieve "Quantum Advantage" on near-term (NISQ) devices by making quantum circuits noise-resilient and adaptive. + +## Key Research Challenges + +- **Barren Plateaus or Vanishing gradients**: The training of QML models is frequently hampered by the "Barren Plateau" phenomenon, a quantum analog to the vanishing gradient problem in classical deep learning. As the number of qubits or the depth of the circuit increases, the gradient of the cost function often vanishes exponentially, leaving the optimization landscape flat and featureless. This makes it nearly impossible for classical optimizers to find a path toward a global minimum. Hardware-efficient ansätz and localized cost functions that preserve gradient signals across high-dimensional Hilbert spaces are needed. +- **NISQ-Era Hardware Constraints**: We are currently operating in the Noisy Intermediate-Scale Quantum (NISQ) era, where quantum devices possess a limited number of qubits and lack full fault tolerance. These systems are highly susceptible to environmental decoherence and gate errors, which accumulate rapidly as circuit depth increases, often drowning out the true "quantum signal" with noise. Addressing this requires the development of noise-resilient algorithms and error-mitigation strategies that can extract meaningful computational results within the limited coherence times of today’s processors. +- **The Data Encoding Bottleneck**: A fundamental challenge in QML is the efficient transformation of classical information into quantum states—a process known as data encoding. While techniques like Amplitude Encoding can represent data exponentially more compactly than classical memory, the gate complexity required to prepare these states often creates a significant computational overhead. Furthermore, the choice of encoding (e.g., Angle vs. Basis vs. Amplitude) acts as a non-linear feature map that dictates the expressivity and generalization power of the entire model. Encoding architectures that can balance high-dimensional representation power with low-depth hardware requirements to ensure a tangible advantage over classical feature engineering are needed. + +## Recent Results + +![qml-research](/images/research/qml/qml.png) +QPMeL learns classical embeddings of quantum data that utilizes a quality-performance trade-off model to optimize the efficiency and accuracy of quantum machine learning pipelines. + +One of our recent breakthroughs is QPMeL (Quantum Polar Metric Learning), a framework designed to bypass the traditional instabilities of quantum training. QPMeL uses a quantum-aware, classically-trained approach: by mapping classical data to the surface of independent unit spheres (aligned with the Bloch sphere), the model learns "Rotational Representations" that translate directly into quantum states. + +- **Overcoming Barren Plateaus**: While standard QML models often struggle with "Barren Plateaus" when trained on quantum hardware, QPMeL offloads the primary optimization to a classical "head." By using our novel Projective Metric Function (PMeF), QPMeL avoids the flat gradients of the quantum loss landscape, ensuring stable and fast convergence even as the system scales. +- **Hardware-Efficiency**: QPMeL encodings are hardware-efficient by design, requiring only a single layer of $R_y$ and $R_z$ gates per qubit. This drastically reduces circuit depth compared to standard ansatz, allowing high-fidelity execution within the limited coherence times of current noisy hardware. +- **Adaptive Representation**: Instead of using fixed, manual mappings, QPMeL utilizes trainable encodings that allow the model to learn the most effective way to separate features in Hilbert space. This results in the first QML model capable of scaling to 10-class classification and 15-way multi-modal (image-text) few-shot learning with state-of-the-art accuracy. diff --git a/src/content/research/real-time-systems.md b/src/content/research/real-time-systems.md new file mode 100644 index 0000000..cf4665b --- /dev/null +++ b/src/content/research/real-time-systems.md @@ -0,0 +1,16 @@ +--- +title: "Real-Time Systems" +status: "Extended" +description: "Our vision:Our vision is to enable correct-by-construction cyber-physical system design using software-managed memory hierarchies with our efficient memory management schemes and accurate analysis ..." +icon: "Clock" +order: 23 +image: "/images/research/real-time-systems.png" +--- + +## Real-Time Systems + +Our vision:Our vision is to enable correct-by-construction cyber-physical system design using software-managed memory hierarchies with our efficient memory management schemes and accurate analysis techniques. + +Cyber-physical systemsare systems in which cyber world interacts with physical world. Software components (in cyber world) monitor and control physical components (in physical world) throughfeedback loops that consist of sensing, computation, and actuation.In these feedback loops, tasks read input from sensors, compute or decide what the desired action is, and perform that action through actuation of physical components. + +Cyber-physical systems havestrict timing constraints that must be satisfied for their correct operations.These timing constraints specify the deadline for each task, by which the task must finish its execution. In safety-critical applications like automotive systems, avionics, medical devices, any failure in this may lead to a catastrophic disaster. For instance, in the example of autonomous driving, the software must finish calculating the amount of braking or steering before it is too late to prevent a crash. It is crucial, therefore, to find the worst-case execution times (WCETs) of all tasks to ensure that all tasks can meet their deadlines.A correct-by-construction approach enables the assertion of the timing correctness at design time, before testing. diff --git a/src/content/research/reduced-bit-width-instruction-set-architecture.md b/src/content/research/reduced-bit-width-instruction-set-architecture.md new file mode 100644 index 0000000..53be846 --- /dev/null +++ b/src/content/research/reduced-bit-width-instruction-set-architecture.md @@ -0,0 +1,16 @@ +--- +title: "Reduced bit-width Instruction Set Architecture" +status: "Extended" +description: "Code size is an important constraint for many embedded systems, especially the ones in which the code is burnt on ROMs, which can be the major component on the chip. Dual instruction set, one compo..." +icon: "Binary" +order: 22 +image: "/images/research/reduced-bit-width-instruction-set-architecture.png" +--- + +## Reduced bit-width Instruction Set Architecture + +Code size is an important constraint for many embedded systems, especially the ones in which the code is burnt on ROMs, which can be the major component on the chip. Dual instruction set, one composed of full width instructions, and another composed of narrow instructions is a promising approach to reduce code size. Our research efforts are towards developing tools and techniques to compile for such reduced bit-width Instruction Set Architectures. + +Programmable RISC processors are increasingly being used to design modern embedded systems. Examples of such systems include consumer electronics items, e.g., cell phones, printers, modems etc. Using RISC processors in such systems offers the advantage of increased design flexibility, high computing power and low on-chip power consumption. However, RISC processor systems suffer from the problem of poor code density which may require more ROM for storing program code. As a large part of the IC area is devoted to the ROM this is a severe limitation for large volume, cost sensitive embedded systems. + +reduced bit-width ISA is an architectural feature in which the processor has two instruction set, one is composed of the normal 32-bit wide instructions, while the other has narrow 16-bit wide instructions. If the application can be expressed only in terms of narrow instructions, then 50% code compression can be achieved. Many embedded processors, including ARM-Thumb, MIPS 32/16 bit TinyRISC, ST100 and the ARC Tangent A5. Processors with rISA dynamically translate (or decompress, or expand) the narrow rISA instructions into corresponding normal instructions. This translation usually occurs before or during the decode stage. Typically, each rISA instruction has an equivalent instruction in the normal instruction set. This makes translation simple and can usually be done with minimal performance penalty. As the translation engine converts rISA instructions into normal instructions, no other hardware is needed to execute rISA instructions. Using rISA optimizes the fetch power of the processor also. This is because, fetch-width of the processor being the same, the processor when operating in rISA mode fetches twice as many rISA instructions (as compared to normal instructions) in each fetch operation. Thus while executing rISA instructions, the processor needs to make lesser fetch requests to the instruction memory. This results in a decrease in power and energy consumption by the instruction memory subsystem. diff --git a/src/content/research/reliability-robustness-ml.md b/src/content/research/reliability-robustness-ml.md new file mode 100644 index 0000000..65aa6c1 --- /dev/null +++ b/src/content/research/reliability-robustness-ml.md @@ -0,0 +1,17 @@ +--- +title: "Reliability for Machine Learning" +status: "Extended" +description: "Ensuring the dependability and predictable performance of machine learning systems in the presence of hardware faults and adversarial conditions." +icon: "Shield" +order: 5 +--- + +## Reliability for Machine Learning + +As machine learning models are deployed in mission-critical applications, their reliability becomes paramount. Our extended research focuses on: + +- **Fault Tolerance**: Developing techniques to detect and recover from transient and permanent hardware faults during neural network execution. +- **Software-level Solutions**: Creating robust algorithms that can tolerate underlying hardware inaccuracies without significant loss in model accuracy. +- **Adversarial Robustness**: Understanding and mitigating vulnerabilities of AI systems to intentional perturbations or unexpected inputs. + +We strive to build machine learning systems that are not just intelligent, but also thoroughly dependable. diff --git a/src/content/research/software-branch-hinting.md b/src/content/research/software-branch-hinting.md new file mode 100644 index 0000000..379a6c3 --- /dev/null +++ b/src/content/research/software-branch-hinting.md @@ -0,0 +1,16 @@ +--- +title: "Software Branch Hinting" +status: "Extended" +description: "As power-efficiency becomes the paramount concern in processor design, architectures are coming up that completely do away with hardware branch prediction, and rely solely on software branch hintin..." +icon: "GitBranch" +order: 18 +image: "/images/research/software-branch-hinting.png" +--- + +## Software Branch Hinting + +As power-efficiency becomes the paramount concern in processor design, architectures are coming up that completely do away with hardware branch prediction, and rely solely on software branch hinting. A popular example is the Synergistic Processing Unit (SPU) in the IBM Cell processor. To be able to minimize the branch penalty using branch hint instructions, in addition to estimating the branch probabilities, it is important to carefully insert branch hints. + +For software branch hinted processors, the application may contain branch hint instructions which indicate that the branch instructions at specified PC addresses will jump to specified target addresses. Just like hardware branch predictors, software branch hinting mechanism also requires a Branch Target Buffer (BTB). When a hint instruction is executed, the BTB entry is first updated, and then target instructions are loaded to the Hint Target Buffer from the specified target address.The hardware usually fetches instructions from Inline Prefetch Buffer which is constantly loaded with the sequential instructions according to PC address. When a branch instruction is fetched, the PC address is compared with the branch address in the BTB entry. If it matches, the instructions are fetched from Hint Target Buffer instead of Inline Prefetch Buffer. + +For software branch hinting to work best, there two fundamental considerations: first is to estimate the taken probabilities of branches, and the second is to find the locations in the code for branch hint instructions to minimize branch penalty. Even if we know the taken probabilities of all the branches, minimizing branch penalty by means of branch hint instructions is not trivial. The reasons derive from two constraints of the given architecture. Firstly, for a branch hint to be effective, there must be some separation between a branch and its hint. The hint instruction must be executed several instructions earlier than the branch. Second, only a limited number (one for the Cell SPU) of branch hints can be active at any given time. For example, if two branches are too closely located in the control flow, the second branch cannot have enough separation. To hint the second branch, its hint needs to be placed above the first branch, and this will overwrite the hint for the first branch.Thus, hints may conflict with each other, and reduce the achievable benefits. diff --git a/src/content/research/software-managed-manycore-smm.md b/src/content/research/software-managed-manycore-smm.md new file mode 100644 index 0000000..2409c0e --- /dev/null +++ b/src/content/research/software-managed-manycore-smm.md @@ -0,0 +1,16 @@ +--- +title: "Software Managed Manycore (SMM)" +status: "Extended" +description: "Multicore with Software Programmable Memory" +icon: "Server" +order: 17 +image: "/images/research/software-managed-manycore-smm.png" +--- + +## Software Managed Manycore (SMM) + +Multicore with Software Programmable Memory + +Multi-cores provide a way to continue increasing performance, without much increase in the power consumption of the processor. One major challenge in developing multi-core architectures is scaling the memory hierarchy. Maintaining the illusion of a single unified memory in hardware is becoming infeasible. This is because: first, that the power and performance overheads of automatic memory management in hardware (i.e. by caches) is becoming prohibitive, and second, that cache coherency protocols do not scale to hundreds and thousands of cores. + +Software Managed Manycore (SMM) architectures are scalable multi-core designs that employ Software Programmable Memory (SPM) in each core — the more power-efficient alternative of caches. The above figure shows an example of SMM architectures. SMM processors can only access code and data that are current on their local SPM. That is to say, the data movement between the close-to-processor memory and the main memory has to be done explicitly in software — typically through the use of Direct Memory Access (DMA) instructions. Our research objective is to develop compiler technology to automatically compile applications for these architectures with memory transfer requests automatically inserted at proper program points and make them usable. diff --git a/src/content/resources/ai-compilers.md b/src/content/resources/ai-compilers.md new file mode 100644 index 0000000..416b8fb --- /dev/null +++ b/src/content/resources/ai-compilers.md @@ -0,0 +1,11 @@ +--- +researchArea: "AI-driven Multi-Level Compilers" +resources: + - title: "DSP-MLIR: A Domain-Specific Language and MLIR Dialect for Digital Signal Processing" + type: "Paper" + url: "https://mpslab-asu.github.io/publications/papers/Kumar2025LCTES.pdf" + authors: "Abhinav Kumar, Atharva Khedkar, Hwisoo So, Megan Kuo, Ameya Gurjar, Partha Biswas, Aviral Shrivastava" + description: "A domain-specific language and MLIR dialect for efficient compilation of digital signal processing workloads." +--- + +Curated resources for AI-driven Multi-Level Compilers research. diff --git a/src/content/resources/intelligent-transportation.md b/src/content/resources/intelligent-transportation.md new file mode 100644 index 0000000..d005a5f --- /dev/null +++ b/src/content/resources/intelligent-transportation.md @@ -0,0 +1,16 @@ +--- +researchArea: "Intelligent Transportation Systems" +resources: + - title: "Conclave - Secure and Robust Cooperative Perception for CAVs" + type: "Paper" + url: "https://mpslab-asu.github.io/publications/papers/Andert2024DAC.pdf" + authors: "Edward Andert, Francis Mendoza, Hans Behrens, Aviral Shrivastava" + description: "A tightly coupled authentication and consensus protocol for cooperative perception in autonomous vehicle fleets." + - title: "IncidentNet: Traffic Incident Detection, Localization and Severity Estimation" + type: "Paper" + url: "https://mpslab-asu.github.io/publications/papers/Peddiraju2024ITSC.pdf" + authors: "Sai Shashank Peddiraju, Kaustubh Harapanahalli, Edward Andert, Aviral Shrivastava" + description: "A deep learning framework for traffic incident detection using sparse roadside sensors." +--- + +Curated resources for Intelligent Transportation Systems research. diff --git a/src/content/resources/ml-acceleration.md b/src/content/resources/ml-acceleration.md new file mode 100644 index 0000000..9da7eb6 --- /dev/null +++ b/src/content/resources/ml-acceleration.md @@ -0,0 +1,35 @@ +--- +researchArea: "Machine Learning Acceleration" +resources: + - title: "Explainable-DSE: Agile and Explainable Exploration of DL Accelerator Codesigns" + type: "Paper" + url: "https://mpslab-asu.github.io/publications/papers/Dave2024ASPLOS.pdf" + authors: "Shail Dave, Tony Nowatzki, Aviral Shrivastava" + description: "An agile DSE framework using bottleneck analysis for efficient hardware/software codesign of DNN accelerators." + - title: "Efficient processing of deep neural networks: A tutorial and survey" + type: "Paper" + authors: "Vivienne Sze, Yu-Hsin Chen, Tien-Ju Yang, and Joel S. Emer" + - title: "Eyeriss: A Spatial Architecture for Energy-Efficient Dataflow for Convolutional Neural Networks" + type: "Paper" + authors: "Yu-Hsin Chen, Joel Emer, and Vivienne Sze" + - title: "In-datacenter performance analysis of a tensor processing unit" + type: "Paper" + authors: "Norman P. Jouppi, Cliff Young, Nishant Patil, David Patterson, et al." + - title: "dMazeRunner: Executing Perfectly Nested Loops on Dataflow Accelerators" + type: "Paper" + authors: "Shail Dave, Youngbin Kim, Sasikanth Avancha, Kyoungwoo Lee, Aviral Shrivastava" + - title: "Timeloop: A Systematic Approach to DNN Accelerator Evaluation" + type: "Paper" + authors: "Angshuman Parashar, Priyanka Raina, Sophia Shao, et al." + - title: "Hardware Acceleration of Sparse and Irregular Tensor Computations of ML Models: A Survey and Insights" + type: "Paper" + authors: "Shail Dave, Riyadh Baghdadi, Tony Nowatzki, et al." + - title: "TVM: end-to-end optimization stack for deep learning" + type: "Paper" + authors: "Tianqi Chen, Thierry Moreau, Ziheng Jiang, et al." + - title: "Deep compression: Compressing deep neural networks with pruning, trained quantization and huffman coding" + type: "Paper" + authors: "Song Han, Huizi Mao, and William J. Dally" +--- + +Curated resources for Machine Learning Acceleration research. diff --git a/src/content/resources/quantum-ml.md b/src/content/resources/quantum-ml.md new file mode 100644 index 0000000..8e8528e --- /dev/null +++ b/src/content/resources/quantum-ml.md @@ -0,0 +1,11 @@ +--- +researchArea: "Quantum Machine Learning" +resources: + - title: "Quantum Polar Metric Learning: Efficient Classically Learned Quantum Embeddings" + type: "Paper" + url: "https://mpslab-asu.github.io/publications/papers/Sharma2023Arxiv.pdf" + authors: "Vinayak Sharma, Aviral Shrivastava" + description: "A quantum metric learning approach achieving 3X better multi-class separation with half the gates and depth." +--- + +Curated resources for Quantum Machine Learning research. diff --git a/src/data/publications.bib b/src/data/publications.bib new file mode 100644 index 0000000..6b1127a --- /dev/null +++ b/src/data/publications.bib @@ -0,0 +1,3104 @@ +@conference{Joshi2025codes, + title = {ProGIP: Protecting Gradient-based Input Perturbation Approaches for Out-of-distribution Detection From Soft Errors}, + author = {Sumedh Joshi and Hwisoo So and Aviral Shrivastava }, + url = {https://mpslab-asu.github.io/publications/papers/Joshi2025CODES.pdf, pdf https://mpslab-asu.github.io/publications/slides/Joshi2025CODES.pptx, slides}, + year = {2025}, + date = {2025-10-03}, + urldate = {2025-10-03}, + booktitle = {Proceedings of the 2025 International Conference on Hardware/Software Codesign and System Synthesis}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {Conference} +} + +@mastersthesis{Harapanahalli2025THESIS, + title = {SIGN: A Scalable Incident Detection, Localization, and Severity Estimation using Graph Neural Networks}, + author = {Kaustubh Harapanahalli}, + url = {https://mpslab-asu.github.io/publications/papers/Harapanahalli2025THESIS.pdf, pdf https://mpslab-asu.github.io/publications/slides/Harapanahalli2025THESIS.pptx, slides}, + year = {2025}, + date = {2025-07-07}, + research = {Intelligent Transportation Systems}, + pubstate = {published}, + category = {Masters Thesis} +} + +@inproceedings{Lagudu2025LCTES, + title = {LUCI: Lightweight UI Command Interface}, + author = {Guna Lagudu and Vinayak Sharma and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Lagudu2025LCTES.pdf, pdf https://mpslab-asu.github.io/publications/slides/Lagudu2025LCTES.pdf, slides}, + doi = {10.1145/3735452.3735536}, + year = {2025}, + date = {2025-06-16}, + urldate = {2025-06-16}, + booktitle = {Proceedings of Languages, Compilers, Tools and Theory of Embedded Systems (LCTES)}, + research = {}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{Kumar2025LCTES, + title = {DSP-MLIR: A Domain-Specific Language and MLIR Dialect for Digital Signal Processing}, + author = {Abhinav Kumar and Atharva Khedkar and Hwisoo So and Megan Kuo and Ameya Gurjar and Partha Biswas and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Kumar2025LCTES.pdf, pdf https://mpslab-asu.github.io/publications/slides/Kumar2025LCTES.pptx, slides}, + doi = {10.1145/3735452.3735527}, + year = {2025}, + date = {2025-06-16}, + urldate = {2025-06-16}, + booktitle = {Proceedings of Languages, Compilers, Tools and Theory of Embedded Systems (LCTES)}, + research = {}, + pubstate = {published}, + category = {Proceedings} +} + +@patent{Khayatian2025Patent, + title = {Cooperative Driving of Connected Autonomous Vehicles in Smart Cities using Responsibility-Sensitive Safety Rules}, + author = {Mohammad Khayatian and Mohammadreza Mehrabian and Harshith Alamsetti and Aviral Shrivastava }, + url = {https://patents.google.com/patent/US12246753, Google Patents}, + year = {2025}, + date = {2025-03-11}, + urldate = {2025-03-11}, + howpublished = {https://patents.google.com/patent/US12246753/}, + research = {Intelligent Transportation Systems}, + pubstate = {published}, + category = {Patent} +} + +@conference{Jagadeesha2025VLSISoC, + title = {TIPANGLE: Traffic Tracking at City Scale by Pose Estimation of Pan and Tilt Traffic Cameras on Edge Devices}, + author = {Shreehari Jagadeesha and Edward Andert and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Jagadeesha2025VLSID.pdf, pdf https://mpslab-asu.github.io/publications/slides/Jagadeesha2025VLSID.pdf, slides}, + year = {2025}, + date = {2025-01-21}, + urldate = {2025-01-21}, + booktitle = {IEEE International Conference on Very Large System Integration and Embedded Systems}, + journal = {IEEE International Conference Very Large System Integration and Embedded Systems}, + research = {Best Paper Award, Intelligent Transportation Systems}, + pubstate = {published}, + category = {Conference} +} + +@article{Kim2024Access, + title = {Adversarial Defense on Harmony: Reverse Attack for Robust Models Against Adversarial Attack}, + author = {Yebon Kim and Jinhyo Jung and Hyunjun Kim and Hwisoo So and Yohan Ko and Aviral Shrivastava and Kyoungwoo Lee and Uiwon Hwang}, + url = {https://mpslab-asu.github.io/publications/papers/Hwisoo2024IEEE.pdf, pdf}, + year = {2024}, + date = {2024-11-25}, + urldate = {2024-11-25}, + booktitle = {IEEE Access}, + journal = {IEEE Access}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {Article} +} + +@mastersthesis{Joshi2025thesis, + title = {ProGIP: Protecting Gradient-based Input Perturbation Approaches for Out-of-distribution Detection From Soft Errors}, + author = {Sumedh Joshi}, + url = {https://mpslab-asu.github.io/publications/papers/Joshi2024THESIS.pdf, pdf https://mpslab-asu.github.io/publications/slides/Joshi2024THESIS.pdf, slides}, + year = {2024}, + date = {2024-10-24}, + urldate = {2024-10-24}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {Masters Thesis} +} + +@mastersthesis{mendoza2024thesis, + title = {AEGIS: A Special-Purpose Computer Network For Strategic Cyber Defense}, + author = {Francis Mendoza}, + url = {https://mpslab-asu.github.io/publications/papers/Mendoza2024THESIS.pdf, pdf https://mpslab-asu.github.io/publications/slides/Mendoza2024THESIS.pdf, slides}, + year = {2024}, + date = {2024-09-30}, + urldate = {2024-09-30}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {Masters Thesis} +} + +@conference{Shrivastava2024Cases, + title = {Primer on Data in Quantum Machine Learning}, + author = {Aviral Shrivastava and Vinayak Sharma}, + url = {https://mpslab-asu.github.io/publications/papers/Shrivastava2024CASES.pdf, pdf https://mpslab-asu.github.io/publications/slides/Shrivastava2024CASES.pptx, slides}, + year = {2024}, + date = {2024-09-29}, + urldate = {2024-09-29}, + booktitle = { 2024 International Conference on Compilers, Architecture, and Synthesis for Embedded Systems (CASES)}, + research = {Quantum Machine Learning}, + pubstate = {published}, + category = {Conference} +} + +@mastersthesis{Kumar2024thesis, + title = {DSP-MLIR: A Compiler for Digital Signal Processing in MLIR}, + author = {Abhinav Kumar and Aviral Shrivastava }, + url = {https://mpslab-asu.github.io/publications/papers/Kumar2024THESIS.pdf, pdf https://mpslab-asu.github.io/publications/slides/Kumar2024THESIS.pptx, slides}, + year = {2024}, + date = {2024-09-23}, + urldate = {2024-09-23}, + school = {Arizona State University}, + research = {AI-driven Multi-Level Compilers}, + pubstate = {published}, + category = {Masters Thesis} +} + +@conference{Peddiraju2024ITSC, + title = {IncidentNet: Traffic Incident Detection, Localization and Severity Estimation with Sparse Sensing}, + author = {Sai Shashank Peddiraju and Kaustubh Harapanahalli and Edward Andert and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Peddiraju2024ITSC.pdf, pdf https://mpslab-asu.github.io/publications/posters/Peddiraju2024ITSC.pptx, slides}, + year = {2024}, + date = {2024-08-02}, + urldate = {2024-08-02}, + booktitle = {2024 IEEE 27th International Conference on Intelligent Transportation Systems (ITSC)}, + research = {Intelligent Transportation Systems}, + pubstate = {published}, + category = {Conference}, + code = {https://github.com/MPSLab-ASU/IncidentNet}, + website = {https://mpslab-asu.github.io/INet/} +} + +@conference{Andert2024dac, + title = {Conclave - Secure and Robust Cooperative Perception for Connected Autonomous Vehicle Using Authenticated Consensus and Trust Scoring}, + author = {Edward Andert and Francis Mendoza and Hans Behrens and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Andert2024DAC.pdf, pdf https://mpslab-asu.github.io/publications/slides/Andert2024DAC.pptx, slides}, + year = {2024}, + date = {2024-06-26}, + urldate = {2024-06-26}, + booktitle = {Proceedings of the 61st ACM/IEEE Design Automation Conference}, + research = {Intelligent Transportation Systems}, + pubstate = {published}, + category = {Conference} +} + +@conference{Hwisoo2024DAC, + title = {Maintaining Sanity: Algorithm-based Comprehensive Fault Tolerance for CNNs}, + author = {Jinhyo Jung and Hwisoo So and Woobin Ko and Sumedh Shridhar Joshi and Yebon Kim and Yohan Ko and Aviral Shrivastava and Kyoungwoo Lee}, + url = {https://mpslab-asu.github.io/publications/papers/Hwisoo2024DAC.pdf, pdf https://mpslab-asu.github.io/publications/slides/Hwisoo2024DAC.pptx, slides}, + year = {2024}, + date = {2024-06-23}, + urldate = {2024-06-23}, + booktitle = {Proceedings of the 61st ACM/IEEE Design Automation Conference}, + journal = {Proceedings of the 61st ACM/IEEE Design Automation Conference}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {Conference} +} + +@phdthesis{Dave2024THESIS, + title = {An Agile Methodology for Designing Efficient Domain-Specific Architectures}, + author = {Shail Dave}, + url = {https://mpslab-asu.github.io/publications/papers/Dave2024THESIS.pdf, pdf https://mpslab-asu.github.io/publications/slides/Dave2024THESIS.pptx, slides}, + year = {2024}, + date = {2024-06-10}, + urldate = {2024-06-10}, + research = {Machine Learning Acceleration}, + pubstate = {published}, + category = {PhD Thesis} +} + +@mastersthesis{Peddiraju2024Thesis, + title = {IncidentNet: Traffic Incident Detection, Localization and Severity Estimation with Sparse Sensing}, + author = {Sai Shashank Peddiraju}, + url = {https://mpslab-asu.github.io/publications/papers/Peddiraju2024THESIS.pdf, pdf https://mpslab-asu.github.io/publications/slides/Peddiraju2024THESIS.pptx, slides}, + year = {2024}, + date = {2024-05-14}, + urldate = {2024-05-14}, + research = {Intelligent Transportation Systems}, + pubstate = {published}, + category = {Masters Thesis} +} + +@patent{Dave2024Patent, + title = {Systems and methods for agile and explainable optimization of efficient hardware/software codesigns for domain-specific computing systems using bottleneck analysis}, + author = {Shail Dave and Aviral Shrivastava and Tony Nowatzki}, + url = {https://patents.google.com/patent/US20240134769A1, Google Patents}, + year = {2024}, + date = {2024-04-25}, + urldate = {2024-04-25}, + howpublished = {https://patents.google.com/patent/US20240134769A1/}, + research = {Machine Learning Acceleration}, + pubstate = {published}, + category = {Patent} +} + +@mastersthesis{Lagudu2024Thesis, + title = {LUCI: Multi-Application Orchestration Agent}, + author = {Guna Lagudu}, + url = {https://mpslab-asu.github.io/publications/papers/Lagudu2024THESIS.pdf, pdf https://mpslab-asu.github.io/publications/slides/Lagudu2024THESIS.pptx, slides}, + year = {2024}, + date = {2024-04-08}, + urldate = {2024-04-08}, + school = {Arizona State University}, + research = {LLM Applications}, + pubstate = {published}, + category = {Masters Thesis} +} + +@inproceedings{Dave2024ASPLOS, + title = {Explainable-DSE: An Agile and Explainable Exploration of Efficient Hardware/Software Codesigns of Deep Learning Accelerators Using Bottleneck Analysis}, + author = {Shail Dave and Tony Nowatzki and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Dave2024ASPLOS.pdf, pdf https://mpslab-asu.github.io/publications/slides/Dave2024ASPLOS.pptx, slides https://mpslab-asu.github.io/publications/posters/Dave2024ASPLOS.pdf, poster https://youtu.be/y-F1Cp66_oQ, teaser}, + year = {2024}, + date = {2024-04-02}, + urldate = {2024-04-02}, + booktitle = {Proceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS)}, + abstract = {Effective design space exploration (DSE) is paramount for hardware/software codesigns of deep learning accelerators that must meet strict execution constraints. For their vast search space, existing DSE techniques can require excessive number of trials to obtain valid and efficient solution because they rely on black-box explorations that do not reason about design inefficiencies. In this paper, we propose Explainable-DSE – a framework for DSE of DNN accelerator codesigns using bottleneck analysis. By leveraging information about execution costs from bottleneck models, our DSE is able to identify the bottlenecks and therefore the reasons for design inefficiency, and can therefore make mitigating acquisitions in further explorations. We describe the construction of such bottleneck models for DNN accelerator domain. We also propose an API for expressing such domain-specific models and integrating them into the DSE framework. Acquisitions of our DSE framework caters to multiple bottlenecks in executions of workloads like DNNs that contain different functions with diverse execution characteristics. Evaluations for recent computer vision and language models show that Explainable-DSE mostly explores effectual candidates, achieving codesigns of 6× lower latency in 47× fewer iterations vs. non-explainable techniques using evolutionary or ML-based optimizations. By taking minutes or tens of iterations, it enables opportunities for runtime DSEs.}, + note = {Won Silver Medal at ACM Student Research Competition 2022-23 (Host: ACM SIGBED)}, + research = {Machine Learning Acceleration}, + pubstate = {published}, + category = {Proceedings} +} + +@patent{balasubramanian2024patent, + title = {Systems and methods for fast-mapping of coarse-grained reconfigurable arrays}, + author = {Mahesh Balasubramanian and Aviral Shrivastava}, + url = {https://patents.google.com/patent/US20240311230A1, Google Patents}, + year = {2024}, + date = {2024-03-13}, + urldate = {2024-03-13}, + howpublished = {https://patents.google.com/patent/US20240311230A1/}, + research = {Coarse-Grained Reconfigurable Arrays}, + pubstate = {published}, + category = {Patent} +} + +@patent{balasubramanian2024patent, + title = {Systems and methods for improved mapping of computational loops on reconfigurable architectures}, + author = {Mahesh Balasubramanian and Aviral Shrivastava}, + url = {https://patents.google.com/patent/US11928468B2, Google Patents}, + year = {2024}, + date = {2024-03-12}, + urldate = {2024-03-12}, + howpublished = {https://patents.google.com/patent/US11928468B2/}, + research = {Coarse-Grained Reconfigurable Arrays}, + pubstate = {published}, + category = {Patent} +} + +@article{shrivastava2024IoTM, + title = {Design Methodology for Robust, Distributed Time-Sensitive Applications}, + author = {Aviral Shrivastava and Mohammad Khayatian and Bob Iannucci}, + url = {https://mpslab-asu.github.io/publications/papers/Shrivastava2024IEEE.pdf, pdf}, + year = {2024}, + date = {2024-01-11}, + urldate = {2024-01-11}, + journal = {IEEE Internet of Things Magazine}, + research = {Real-Time Systems, Reliability for Machine Learning}, + pubstate = {published}, + category = {article} +} + +@article{Khayatian2024TCPS, + title = {Cooperative Driving of Connected Autonomous Vehicles using Responsibility Sensitive Safety Rules: A Control Barrier Functions Approach}, + author = {Mohammad Khayatian and Mohammadreza Mehrabian and I-Ching Tseng and Chung-Wei Lin and Calin Belta and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Khayatian2024TCPS.pdf, pdf}, + year = {2024}, + date = {2024-01-01}, + urldate = {2024-01-01}, + journal = {IEEE Transactions on Cyber Physical Systems}, + volume = {8}, + issue = {1}, + research = {Intelligent Transportation Systems}, + pubstate = {published}, + category = {article} +} + +@article{Willis2024TC, + title = {Cyclebite: Extracting Task Graphs From Unstructured Compute-Programs}, + author = {Benjamin Willis and Aviral Shrivastava and Joshua Mack and Shail Dave and Chaitali Chakrabarti and John Brunhaver}, + url = {https://mpslab-asu.github.io/publications/papers/Willis2024TC.pdf, pdf}, + year = {2024}, + date = {2024-01-01}, + urldate = {2024-01-01}, + journal = {IEEE Transactions on Computers}, + research = {}, + pubstate = {published}, + category = {article} +} + +@workingpaper{sharma2023quantum, + title = {Quantum Polar Metric Learning: Efficient Classically Learned Quantum Embeddings}, + author = {Vinayak Sharma and Aviral Shrivastava }, + url = {https://mpslab-asu.github.io/publications/papers/Sharma2023Arxiv.pdf, pdf https://mpslab-asu.github.io/QPMeL/}, + doi = { https://doi.org/10.48550/arXiv.2312.01655}, + year = {2023}, + date = {2023-12-04}, + urldate = {2023-12-04}, + abstract = {Deep metric learning has recently shown extremely promising results in the classical data domain, creating well-separated feature spaces. This idea was also adapted to quantum computers via Quantum Metric Learning(QMeL). QMeL consists of a 2 step process with a classical model to compress the data to fit into the limited number of qubits, then train a Parameterized Quantum Circuit(PQC) to create better separation in Hilbert Space. However, on Noisy Intermediate Scale Quantum (NISQ) devices. QMeL solutions result in high circuit width and depth, both of which limit scalability. We propose Quantum Polar Metric Learning (QPMeL) that uses a classical model to learn the parameters of the polar form of a qubit. We then utilize a shallow PQC with Ry and Rz gates to create the state and a trainable layer of ZZ(θ)-gates to learn entanglement. The circuit also computes fidelity via a SWAP Test for our proposed Fidelity Triplet Loss function, used to train both classical and quantum components. When compared to QMeL approaches, QPMeL achieves 3X better multi-class separation, while using only 1/2 the number of gates and depth. We also demonstrate that QPMeL outperforms classical networks with similar configurations, presenting a promising avenue for future research on fully classical models with quantum loss functions.}, + howpublished = {ArXiV}, + research = {Quantum Machine Learning}, + pubstate = {published}, + category = {Working Paper} +} + +@mastersthesis{Jagadeesha2023THESIS, + title = {TIPANGLE: A Machine Learning Approach for Accurate Spatial Pan and Tilt Angle Determination of Pan Tilt Traffic Cameras}, + author = {Shreehari Jagadeesha}, + url = {https://mpslab-asu.github.io/publications/papers/Jagadeesha2023THESIS.pdf, pdf https://mpslab-asu.github.io/publications/slides/Jagadeesha2023THESIS.pptx, slides}, + year = {2023}, + date = {2023-11-10}, + urldate = {2023-11-10}, + school = {Arizona State University}, + research = {Intelligent Transportation Systems}, + pubstate = {published}, + category = {Masters Thesis} +} + +@article{so2023electronics, + title = {gemV-tool: A Comprehensive Soft Error Reliability for Machine Learning Estimation Tool for Design Space Exploration}, + author = {Hwisoo So and Yohan Ko and Jinhyo Jung and Kyoungwoo Lee and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Hwisoo2023Electronics.pdf, pdf}, + year = {2023}, + date = {2023-11-08}, + urldate = {2023-11-08}, + journal = {Electronics 2023, 12(22), 4573}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {article} +} + +@conference{Dave2023TECHCON, + title = {Automating the Architectural Execution Modeling and Characterization of Domain-Specific Architectures}, + author = {Shail Dave and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Dave2023TECHCON.pdf, pdf https://mpslab-asu.github.io/publications/posters/Dave2023TECHCON.pptx, poster}, + year = {2023}, + date = {2023-09-11}, + urldate = {2023-09-11}, + booktitle = {Proceedings of the TECHCON}, + abstract = {Domain-specific architectures (DSAs) are increasingly designed to efficiently process a variety of workloads, such as deep learning, linear algebra, and graph analytics. Most research efforts have focused on proposing new DSAs or efficiently exploring hardware/software designs of previously proposed architecture templates. Recent architectural modeling or simulation frameworks for DSAs can analyze execution costs, e.g., for a limited architectural templates for dense DNNs such as systolic arrays or a spatial architecture with an array of processing elements and 3-level memory hierarchy. However, they are manually developed by domain-experts, containing several 1000s of lines-of-code, and extending them for characterizing new architectures is infeasible, such as DSAs for sparse DNNs. Further, the lack of automated architecture-level execution modeling limits the design space of novel architectures that can be explored/optimized, affecting overall efficiency of solutions, and it delays time-to-market with low sustainability of design process. To address this issue, this paper introduces DSAProf : a framework for automated execution modeling and bottleneck characterization by a modular, dataflow-driven approach. The framework uses a flow-graph-based methodology for modeling DSAs in a modular manner via a library of architectural components and analyzing their executions. The methodology can account for analytically modeling and simulating intricacies in the presence of a variety of architectural features such as asynchronous execution of workgroups, sparse data processing, arbitrary buffer hierarchies, and multi-chip or mixed-precision modules. Preliminary evaluations of modeling previously proposed DSAs for dense/sparse deep learning demonstrate that our approach is extensible for novel DSAs and it can accurately and automatically characterize their latency and identify execution bottlenecks, without requiring designers to manually build analysis/simulator from scratch for every DSA.}, + research = {Machine Learning Acceleration}, + pubstate = {published}, + category = {conference} +} + +@article{Szeto2023TECS, + title = {B-AWARE: Blockage Aware RSU Scheduling for 5G Enabled Autonomous Vehicles}, + author = {Matthew Szeto and Edward Andert and Aviral Shrivastava and Martin Reisslein and Chung Wei Lin and Christ Richmond}, + url = {https://mpslab-asu.github.io/publications/papers/Szeto2023TECS.pdf, pdf https://mpslab-asu.github.io/publications/slides/Szeto2023THESIS.pptx, slides}, + year = {2023}, + date = {2023-09-09}, + urldate = {2023-09-09}, + journal = {ACM Transactions on Embedded Computing Systems}, + volume = {22}, + number = {154}, + issue = {5}, + pages = {1-23}, + research = {Intelligent Transportation Systems}, + pubstate = {published}, + category = {article} +} + +@article{Mehrabian2023MICPRO, + title = {A run-time verification method with consideration of uncertainties for cyber-physical systems}, + author = {Mohammadreza Mehrabian and Mohammad Khayatian and Aviral Shrivastava and Patricia Derler and Hugo Andrade}, + url = {https://mpslab-asu.github.io/publications/papers/Mehrabian2023MICPRO.pdf, pdf}, + year = {2023}, + date = {2023-06-22}, + urldate = {2023-06-22}, + journal = {Microprocessors and Microsystems}, + volume = {101}, + research = {Cyber Physical and IoT Systems}, + pubstate = {published}, + category = {article} +} + +@inproceedings{Hu2023MLSYS, + title = {GiPH: Generalizable Placement Learning for Adaptive Heterogeneous Computing}, + author = {Yi Hu and Chaoran Zhang and Edward Andert and Harshul Singh and Aviral Shrivastava and James Laudon and Yanqi Zhou and Bob Iannucci and Carlee Joe-Wong}, + url = {https://mpslab-asu.github.io/publications/papers/Hu2023MLSYS.pdf, pdf}, + year = {2023}, + date = {2023-06-04}, + urldate = {2023-06-04}, + booktitle = {Proceedings of the Sixth Conference on Machine Learning and Systems (MLSys)}, + research = {Machine Learning Acceleration, Real-Time Systems}, + pubstate = {published}, + category = {Proceedings} +} + +@mastersthesis{Szeto2023THESIS, + title = {B-AWARE: Blockage Aware RSU Scheduling for 5G Enabled Autonomous Vehicles}, + author = {Matthew Szeto}, + url = {https://mpslab-asu.github.io/publications/papers/Szeto2023THESIS.pdf, pdf https://mpslab-asu.github.io/publications/slides/Szeto2023THESIS.pptx, slides}, + year = {2023}, + date = {2023-05-08}, + urldate = {2023-05-08}, + school = {Arizona State University}, + research = {Intelligent Transportation Systems, Intelligent Transportation Systems}, + pubstate = {published}, + category = {Masters Thesis} +} + +@inproceedings{Ranjbar2023DATE, + title = {Learning-Oriented Reliability for Machine Learning Improvement of Computing Systems From Transistor to Application Level}, + author = {Behnaz Ranjbar and Florian Klemme and Paul R. Genssler and Hussam Amrouch and Jinhyo Jung and Shail Dave and Hwisoo So and Kyongwoo Lee and Aviral Shrivastava and Ji-Yung Lin and Pieter Weckx and Subrat Mishra and Francky Catthoor and Dwaipayan Biswas and Akash Kumar}, + url = {https://mpslab-asu.github.io/publications/papers/Ranjbar2023DATE.pdf, paper https://mpslab-asu.github.io/publications/slides/Ranjbar2023DATE.pptx, slides}, + year = {2023}, + date = {2023-04-17}, + urldate = {2023-04-17}, + booktitle = {Proceedings of the 26th International Conference on Design Automation and Test in Europe (DATE)}, + research = {Efficient Embedded Computing, Machine Learning Acceleration, Reliability for Machine Learning}, + pubstate = {published}, + category = {Proceedings} +} + +@article{ParkTIV2023, + title = {Blame-Free Motion Planning in Hybrid Traffic}, + author = {Sanggu Park and Edward Andert and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Park2023TIV.pdf, paper}, + year = {2023}, + date = {2023-04-05}, + urldate = {2023-04-05}, + journal = {IEEE Transactions on Intelligent Vehicles}, + pages = {1-10}, + research = {Intelligent Transportation Systems, Intelligent Transportation Systems}, + pubstate = {published}, + category = {article} +} + +@article{Didehban2023TDSC, + title = {Generic Soft Error Data and Control Flow Error Detection by Instruction Duplication}, + author = {Moslem Didehban and Hwisoo So and Prudhvi Gali and Aviral Shrivastava and Kyoungwoo Lee}, + url = {https://mpslab-asu.github.io/publications/papers/Didehban2023TDSC.pdf, paper}, + year = {2023}, + date = {2023-02-14}, + urldate = {2023-02-14}, + journal = {IEEE Transactions on Dependable and Secure Computing}, + volume = {1}, + pages = {1-16}, + abstract = {Transient faults or soft errors are considered one of the most daunting Reliability for Machine Learning challenges for microprocessors. Software solutions for soft error protection are attractive because they can provide flexible and effective error protection. For instance, nZDC [1] state-of-the-art instruction duplication error protection scheme achieves a high degree of error detection by verifying the results of memory write operations and utilizes an effective control-flow checking mechanism. However, nZDC control-flow checking mechanism is architecture-dependent and suffers from some vulnerability holes. In this work, we address these issues by substituting nZDC control-flow checking mechanism with a general (ISA-independent) scheme and propose two transformations, coarse-grained scheduling, and asymmetric control-flow signatures, for hard-to-detect control flow errors. Fault injection experiments on different hardware components of synthesizable Verilog description of an OpenRISC-based microprocessor reveal that the proposed transformation shows 85% less silent data corruptions compared to nZDC. In addition, programs protected by the proposed scheme run on average around 37% faster than nZDC-protected programs.}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {article} +} + +@article{Shrivastava2023D&T, + title = {Report on the 2022 Embedded Systems Week (ESWEEK)}, + author = {Aviral Shrivastava and Xiaobo Sharon Hu}, + url = {https://mpslab-asu.github.io/publications/papers/Shrivastava2023D&T.pdf, pdf}, + year = {2023}, + date = {2023-01-23}, + urldate = {2023-01-23}, + journal = {IEEE Design & Test}, + volume = {40}, + issue = {1}, + pages = {108-111}, + abstract = {Embedded Systems Week (ESWEEK) is the premier event covering all aspects of hardware and software design for intelligent and connected computing systems. By bringing together three leading conferences [the International Conference on Compilers, Architecture, and Synthesis for Embedded Systems (CASES); the International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS); and the International Conference on Embedded Software (EMSOFT)] and a variety of symposia, hot-topic workshops, tutorials, and education classes, ESWEEK presents to the attendees a wide range of topics unveiling state-of-the-art embedded software, embedded architectures, and embedded system designs.}, + research = {Cyber Physical and IoT Systems, Efficient Embedded Computing, Machine Learning Acceleration, Real-Time Systems, Reliability for Machine Learning}, + pubstate = {published}, + category = {article} +} + +@mastersthesis{Ta2022THESIS, + title = {COMSAT: Modified Modulo Scheduling Techniques for Acceleration on Unknown Trip Count and Early Exit Loops}, + author = {Quoc Long Vinh Ta}, + url = {https://mpslab-asu.github.io/publications/papers/Ta2022THESIS.pdf, pdf https://mpslab-asu.github.io/publications/slides/Ta2022THESIS.pptx, slides }, + year = {2022}, + date = {2022-12-08}, + urldate = {2022-12-08}, + school = {Arizona State University}, + research = {Coarse-Grained Reconfigurable Arrays}, + pubstate = {published}, + category = {Masters Thesis} +} + +@inproceedings{Andert2022ITSC, + title = {Accurate Cooperative Sensor Fusion by Parameterized Covariance Generation for Sensing and Localization Pipelines in CAVs}, + author = {Edward Andert and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Andert2022ITSC.pdf, pdf https://mpslab-asu.github.io/publications/slides/Andert2022ITSC.pptx, slides https://docs.google.com/presentation/d/1-i4m5GRfRn3lsFdo4RAhaY4qxdRgBfrX/edit?usp=sharing&ouid=101396061526471459814&rtpof=true&sd=true , slides}, + year = {2022}, + date = {2022-10-08}, + urldate = {2022-10-08}, + booktitle = {Proceedings of the IEEE 25th International Conference on Intelligent Transportation Systems (ITSC)}, + organization = {IEEE}, + research = {Intelligent Transportation Systems}, + pubstate = {published}, + category = {Proceedings} +} + +@article{Jung2022JSA, + title = {Root cause analysis of soft-error-induced failures from hardware and software perspectives}, + author = {Jinhyo Jung and Yohan Ko and Hwisoo So and Kyoungwoo Lee and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Jung2022JSA.pdf, pdf }, + year = {2022}, + date = {2022-07-08}, + urldate = {2022-07-08}, + journal = {Journal of Systems Architecture (JSA)}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {article} +} + +@article{So2022TACO, + title = {EXPERTISE: An Effective Software-level Redundant Multithreading Scheme against Hardware Faults}, + author = {Hwisoo So and Moslem Didehban and Yohan Ko and Aviral Shrivastava and Kyoungwoo Lee}, + url = {https://mpslab-asu.github.io/publications/papers/So2022TACO.pdf, paper }, + year = {2022}, + date = {2022-07-05}, + urldate = {2022-07-05}, + journal = {ACM Transactions on Architecture and Code Optimization (TACO)}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {article} +} + +@workshop{Dave2022SNN, + title = {Efficient Processing of Sparse and Compact DNN Models on Hardware Accelerators: Survey and Insights}, + author = {Shail Dave and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/posters/Dave2022SNN.pdf, poster}, + year = {2022}, + date = {2022-07-01}, + urldate = {2022-07-01}, + booktitle = {In Annual Workshop on Sparsity in Neural Networks (SparseNN)}, + research = {GPU Computing, Machine Learning Acceleration}, + pubstate = {published}, + category = {Workshop} +} + +@mastersthesis{Park2022Thesis, + title = {Blame-Free Motion Planning in Hybrid Traffic}, + author = {Sanggu Park}, + url = {https://mpslab-asu.github.io/publications/papers/Park2022THESIS.pdf, pdf https://mpslab-asu.github.io/publications/slides/Park2022THESIS.pptx, slides}, + year = {2022}, + date = {2022-05-11}, + urldate = {2022-05-11}, + school = {Arizona State University}, + research = {Intelligent Transportation Systems, Intelligent Transportation Systems}, + pubstate = {published}, + category = {Masters Thesis} +} + +@inproceedings{Dave2022VTS, + title = {Special Session: Towards an Agile Design Methodology for Efficient, Reliable, and Secure ML Systems}, + author = {Shail Dave and Alberto Marchisio and Muhammad Abdullah Hanif and Amira Guesmi and Aviral Shrivastava and Ihsen Alouani and Muhammad Shafique}, + url = {https://mpslab-asu.github.io/publications/papers/Dave2022VTS.pdf, pdf https://mpslab-asu.github.io/publications/slides/Dave2022VTS.pptx, slides}, + year = {2022}, + date = {2022-04-25}, + urldate = {2022-04-25}, + booktitle = {Proceedings of the 2022 IEEE 40th VLSI Test Symposium (VTS)}, + abstract = {The real-world use cases of Machine Learning (ML) have exploded over the past few years. However, the current computing infrastructure is insufficient to support all real-world applications and scenarios. Apart from high efficiency requirements, modern ML systems are expected to be highly reliable against hardware failures as well as secure against adversarial and IP stealing attacks. Recent developments have also highlighted various privacy concerns. Towards trustworthy ML systems, in this work we highlight different challenges faced by the embedded systems community towards enabling efficient, dependable and secure deployment of ML. To address these challenges, we present an agile design methodology to generate efficient, reliable and secure ML systems based on user-defined constraints and objectives.}, + research = {Efficient Embedded Computing, Machine Learning Acceleration, Reliability for Machine Learning}, + pubstate = {published}, + category = {Proceedings} +} + +@bachelorthesis{Cunningham2022THESIS, + title = {Making a Real-Time Operating System for the Raspberry Pi 2B}, + author = {Christian Cunningham}, + url = {https://mpslab-asu.github.io/publications/papers/Cunningham2022THESIS.pdf, thesis https://mpslab-asu.github.io/publications/papers/Cunningham2022THESIS.pptx, slides https://github.com/MPSLab-ASU/Jobbed, Code}, + year = {2022}, + date = {2022-04-09}, + urldate = {2022-04-09}, + school = {Arizona State University}, + research = {Real-Time Systems}, + pubstate = {published}, + category = {Bachelors Thesis} +} + +@inproceedings{Balasubramanian2022DATE, + title = {PathSeeker: A Fast Mapping Algorithm for CGRAs}, + author = {Mahesh Balasubramanian and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Balasubramanian2022DATE.pdf, pdf https://mpslab-asu.github.io/publications/slides/Balasubramanian2022DATE.pptx, slides}, + year = {2022}, + date = {2022-03-16}, + urldate = {2022-03-16}, + booktitle = {Proceedings of the 25th International Conference on Design Automation and Test in Europe (DATE)}, + journal = {Proceedings of the 25th International Conference on Design Automation and Test in Europe (DATE)}, + research = {Coarse-Grained Reconfigurable Arrays}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{Huang2022DATE, + title = {Compatibility Checking for Autonomous Lane-Changing Assistance Systems}, + author = {Po-Yu Huang and Kai-Wei Liu and Zong-Lun Li and Sanggu Park and Edward Andert and Chung-Wei Lin and Aviral Shrivastava }, + url = {https://mpslab-asu.github.io/publications/papers/Huang2022DATE.pdf, pdf https://mpslab-asu.github.io/publications/slides/Huang2022DATE.pptx, slides https://mpslab-asu.github.io/publications/slides/Huang2022DATE.pdf, poster}, + year = {2022}, + date = {2022-03-16}, + urldate = {2022-03-16}, + booktitle = {Proceedings of the 25th International Conference on Design Automation and Test in Europe (DATE)}, + research = {Intelligent Transportation Systems, Intelligent Transportation Systems}, + pubstate = {published}, + category = {Proceedings} +} + +@patent{Khayatian2022PATENT, + title = {Systems and methods for intersection management of connected autonomous vehicles}, + author = {Mohammad Khayatian and Aviral Shrivastava and Mohammadreza Mehrabian}, + url = {https://patents.google.com/patent/US11269330B2, Google Patents}, + year = {2022}, + date = {2022-03-08}, + urldate = {2022-03-08}, + howpublished = {https://patents.google.com/patent/US11269330B2/}, + research = {Intelligent Transportation Systems, Intelligent Transportation Systems}, + pubstate = {published}, + category = {Patent} +} + +@workshop{Dave2022LATTE, + title = {Design Space Description Language for Automated and Comprehensive Exploration of Next-Gen Hardware Accelerators}, + author = {Shail Dave and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Dave2022LATTE.pdf, pdf https://mpslab-asu.github.io/publications/slides/Dave2022LATTE.pptx, slides https://capra.cs.cornell.edu/latte22/, workshop https://youtu.be/Z5jZ2dbE0To, talk}, + year = {2022}, + date = {2022-03-01}, + urldate = {2022-03-01}, + booktitle = {Workshop on Languages, Tools, and Techniques for Accelerator Design (LATTE)}, + abstract = {Exploration of accelerators typically involves an architectural template specified in architecture description language (ADL). It can limit the design space that can be explored, reusability and automation of system stack, explainability, and exploration efficiency. We envision Design Space Description Language (DSDL) for comprehensive, reusable, explainable, and agile DSE. We describe how its flow graph abstraction enables comprehensive DSE of modular designs, with architectural components organized in various hierarchies and groups. We discuss automation of characterizing, simulating, and programming new architectures. Lastly, we describe how DSDL flow graphs facilitate bottleneck analysis, yielding explainability of costs and selected designs and super-fast exploration.}, + note = {co-located with ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS).}, + research = {Coarse-Grained Reconfigurable Arrays, Machine Learning Acceleration}, + pubstate = {published}, + category = {Workshop} +} + +@article{Khayatian2022TCPS, + title = {Plan B - Design Methodology for Cyber-Physical Systems Robust to Timing Failure}, + author = {Mohammad Khayatian and Mohammadreza Mehrabian and Edward Andert and Reese Grimsley and Kyle Liang and Yi Hu and Ian McCormack and Carlee Joe-Wong and Jonathan Aldrich and Bob Iannucci and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Khayatian2022TCPS.pdf, pdf}, + year = {2022}, + date = {2022-01-31}, + urldate = {2022-01-31}, + journal = {ACM Transactions on Cyber Physical Systems (TCPS)}, + research = {Cyber Physical and IoT Systems}, + pubstate = {published}, + category = {article} +} + +@article{So2021ELECTRONICS, + title = {Revisiting Symptom-Based Fault Tolerant Techniques against Soft Errors}, + author = {Hwisoo So and Moslem Didehban and Yohan Ko and Reiley Jeyapaul and Jongho Kim and Youngbin Kim and Kyoungwoo Lee and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/So2021ELECTRONICS.pdf, pdf}, + year = {2021}, + date = {2021-12-04}, + urldate = {2021-12-04}, + journal = {MDPI Electronics}, + volume = {10}, + number = {23}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {article} +} + +@phdthesis{Balasubramanian2021THESIS, + title = {Compiler Design for Accelerating Applications on Coarse-Grained Reconfigurable Architectures}, + author = {Mahesh Balasubramanian }, + url = {https://mpslab-asu.github.io/publications/papers/Balasubramanian2021THESIS.pdf, pdf https://mpslab-asu.github.io/publications/slides/Balasubramanian2021THESIS.pptx, slides}, + year = {2021}, + date = {2021-10-25}, + urldate = {2021-12-13}, + research = {Coarse-Grained Reconfigurable Arrays}, + pubstate = {published}, + category = {PhD Thesis} +} + +@inproceedings{Ko2021ICCD, + title = {Comprehensive Failure Analysis against Soft Errors from Hardware and Software Perspectives}, + author = {Yohan Ko and Jin Hyo Jung and Hwisoo So and Kyoungwoo Lee and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Ko2021ICCD.pdf, paper https://mpslab-asu.github.io/publications/slides/Ko2021ICCD.pptx, slides}, + year = {2021}, + date = {2021-10-24}, + urldate = {2021-10-24}, + booktitle = {Proceedings of the 2021 IEEE International Conference on Computer Design (ICCD)}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {Proceedings} +} + +@article{Dave2021PIEEE, + title = {Hardware Acceleration of Sparse and Irregular Tensor Computations of ML Models: A Survey and Insights}, + author = {Shail Dave and Riyadh Baghdadi and Tony Nowatzki and Sasikanth Avancha and Aviral Shrivastava and Baoxin Li}, + url = {https://mpslab-asu.github.io/publications/papers/Dave2021PIEEE.pdf, paper}, + year = {2021}, + date = {2021-10-01}, + urldate = {2021-10-01}, + journal = {Proceedings of the IEEE (PIEEE)}, + note = {arXiv: 2007.00864}, + research = {Coarse-Grained Reconfigurable Arrays, Machine Learning Acceleration, Power, Temperature and Variation Aware Computing}, + pubstate = {published}, + category = {article} +} + +@phdthesis{Mehrabian2021THESIS, + title = {A Methodology and Formalism to Monitor Timing Specifications Of Cyber-Physical Systems}, + author = {Mohammadreza Mehrabian}, + url = {https://mpslab-asu.github.io/publications/papers/Mehrabian2021THESIS.pdf, pdf https://mpslab-asu.github.io/publications/slides/Mehrabian2021THESIS.pptx, slides}, + year = {2021}, + date = {2021-07-06}, + urldate = {2021-07-06}, + research = {Cyber Physical and IoT Systems}, + pubstate = {published}, + category = {PhD Thesis} +} + +@phdthesis{Khayatian2021PhDThesis, + title = {Safe and Robust Cooperative Algorithms for Connected Autonomous Vehicles}, + author = {Mohammad Khayatian}, + url = {https://mpslab-asu.github.io/publications/papers/Khayatian2021Thesis.pdf, pdf https://mpslab-asu.github.io/publications/slides/Khayatian2021Thesis.pptx, slides}, + year = {2021}, + date = {2021-06-23}, + urldate = {2021-06-23}, + research = {Intelligent Transportation Systems, Intelligent Transportation Systems}, + pubstate = {published}, + category = {PhD Thesis} +} + +@inproceedings{KhayatianICCPS2021, + title = {Cooperative Driving of Connected Autonomous Vehicles Using Responsibility-Sensitive Safety (RSS) Rules}, + author = {Mohammad Khayatian and Mohammadreza Mehrabian and Harshith Allamsetti and Kai Wei and Po Yu and Chung-Wei Lin and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Khayatian2021ICCPS.pdf, paper https://mpslab-asu.github.io/publications/slides/Khayatian2021ICCPS.pptx, slide}, + year = {2021}, + date = {2021-04-10}, + urldate = {2021-04-10}, + booktitle = {Proceedings of the 12th ACM/IEEE International Conference on Cyber-Physical Systems (ICCPS)}, + journal = {ICCPS}, + research = {Intelligent Transportation Systems, Intelligent Transportation Systems}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{SoDATE2021, + title = {CHITIN: A Comprehensive In-thread Instruction Replication Technique Against Transient Faults}, + author = {Hwisoo So and Moslem Didehban and Jinhyo Jung and Aviral Shrivastava and Kyoungwoo Lee}, + url = {https://mpslab-asu.github.io/publications/papers/So2021DATE.pdf, paper https://mpslab-asu.github.io/publications/slides/So2021DATE.pptx, slides}, + year = {2021}, + date = {2021-02-01}, + urldate = {2021-02-01}, + booktitle = {Proceedings of the 24th International Conference on Design Automation and Test in Europe (DATE)}, + journal = {Proceedings of the 24th International Conference on Design Automation and Test in Europe (DATE)}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {Proceedings} +} + +@article{SinghTACO2020, + title = {SPX64: A Scratchpad Memory for General-Purpose Microprocessors}, + author = {Abhishek Singh and Shail Dave and PanteA Zardoshti and Robert Brotzman and Chao Zhang and Xiaochen Guo and Aviral Shrivastava and Gang Tan and Michael Spear}, + url = {https://mpslab-asu.github.io/publications/papers/Singh2020TACO.pdf, paper}, + year = {2021}, + date = {2021-01-18}, + journal = {ACM Transactions on Architecture and Code Optimization (TACO)}, + research = {Software Managed Manycore (SMM)}, + pubstate = {published}, + category = {article} +} + +@inproceedings{KhayatianITSC2020, + title = {R^{2}IM -- Robust and Resilient Intersection Management of Connected Autonomous Vehicles}, + author = {Mohammad Khayatian and Rachel Dedinsky and Sarthake Choudhary and Mohammadreza Mehrabian and Aviral Shrivastava}, + url = {https://MPSLab-ASU.github.io/publications/papers/Khayatian2020ITSC.pdf, paper https://MPSLab-ASU.github.io/publications/slides/Khayatian2020ITSC.pptx, slides}, + year = {2020}, + date = {2020-09-20}, + booktitle = {2020 IEEE International Conference on Intelligent Transportation System Conference (ITSC)}, + organization = {IEEE}, + research = {Intelligent Transportation Systems, Intelligent Transportation Systems}, + pubstate = {published}, + category = {Proceedings} +} + +@article{Balasubramanian2020TCAD, + title = {CRIMSON: Compute-intensive loop acceleration by Randomized Iterative Modulo Scheduling and Optimized Mapping on CGRAs}, + author = {Mahesh Balasubramanian and Aviral Shrivastava }, + url = {https://MPSLab-ASU.github.io/publications/papers/Balasubramanian2020TCAD.pdf, paper}, + year = {2020}, + date = {2020-09-01}, + journal = {IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems (TCAD)}, + research = {Coarse-Grained Reconfigurable Arrays}, + pubstate = {published}, + category = {article} +} + +@article{KhayatianTCPS2020, + title = {A Survey on Intersection Management of Connected Autonomous Vehicles}, + author = {Mohammad Khayatian and Mohammadreza Mehrabian and Edward Andert and Rachel Dedinsky and Sarthake Choudhary and Yingyan Lou and Aviral Shrivastava}, + url = {https://MPSLab-ASU.github.io/publications/papers/Khayatian2020TCPS.pdf, paper}, + year = {2020}, + date = {2020-07-20}, + journal = {ACM Transactions on Cyber-Physical Systems}, + research = {Intelligent Transportation Systems, Intelligent Transportation Systems}, + pubstate = {published}, + category = {article} +} + +@mastersthesis{Allamsetti2020thesis, + title = {Cooperative Driving of Connected Autonomous Vehicles Using Responsibility Sensitive Safety Rules}, + author = {Harshith Allamsetti}, + url = {https://MPSLab-ASU.github.io/publications/papers/Allamsetti2020THESIS.pdf, paper https://MPSLab-ASU.github.io/publications/slides/Allamsetti2020THESIS.pptx, slides}, + year = {2020}, + date = {2020-06-25}, + urldate = {2020-06-25}, + research = {Intelligent Transportation Systems, Intelligent Transportation Systems}, + pubstate = {published}, + category = {Masters Thesis} +} + +@inproceedings{BalasubramanianI2020IPDPS, + title = {Scaling of Union of Intersections for Inference of Granger Causal Networks from Observational Data}, + author = {Mahesh Balasubramanian and Trevor Ruiz and Brandon Cook and Mr Prabhat and Sharmodeep Bhattacharyya and Aviral Shrivastava and Kristofer Bouchard}, + url = {https://mpslab-asu.github.io/publications/papers/Balasubramanian2020IPDPS.pdf, paper https://mpslab-asu.github.io/publications/slides/Balasubramanian2020IPDPS.pptx, slides}, + year = {2020}, + date = {2020-05-01}, + booktitle = {Proceeding of the 34th IEEE International Parallel & Distributed Processing Symposium (IPDPS)}, + research = {Coarse-Grained Reconfigurable Arrays}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{DaveICASSP2020, + title = {dMazeRunner: Optimizing Convolutions on Dataflow Accelerators}, + author = {Shail Dave and Aviral Shrivastava and Youngbin Kim and Sasikanth Avancha and Kyoungwoo Lee}, + url = {https://mpslab-asu.github.io/publications/papers/Dave2020ICASSP.pdf, paper https://mpslab-asu.github.io/publications/slides/Dave2020ICASSP.pptx, slides https://github.com/MPSLab-ASU/dMazeRunner, code https://www.youtube.com/watch?v=21F79Taelts, video}, + year = {2020}, + date = {2020-04-09}, + urldate = {2020-04-09}, + booktitle = {ICASSP 2020 - 2020 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP)}, + note = {Invited}, + research = {Machine Learning Acceleration}, + pubstate = {published}, + category = {Proceedings} +} + +@workshop{DedinskyASD2019, + title = {A Dependable Detection Mechanism for Intersection Management of Connected Autonomous Vehicles}, + author = {Rachel Dedinsky and Mohammad Khayatian and Mohammadreza Mehrabian and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Dedinsky2019ASD.pdf, pdf http://asd.userweb.mwn.de/Archives/2019/index.html, workshop}, + year = {2019}, + date = {2019-03-28}, + urldate = {2019-03-28}, + booktitle = {Workshop on Autonomous Systems Design (ASD 2019)}, + note = {co-located with 22nd International Conference on Design Automation and Test in Europe (DATE).}, + research = {Intelligent Transportation Systems, Intelligent Transportation Systems}, + pubstate = {published}, + category = {Workshop} +} + +@mastersthesis{DedinskyMSThesis2019, + title = {R2IM: Reliable and Robust Intersection Manager Robust to Rogue Vehicles}, + author = {Rachel Dedinsky}, + url = {https://mpslab-asu.github.io/publications/papers/Dedinsky2019THESIS.pdf, paper https://mpslab-asu.github.io/publications/slides/Dedinsky2019THESIS.pptx, slides}, + year = {2019}, + date = {2019-01-01}, + school = {Arizona State University}, + research = {Intelligent Transportation Systems, Intelligent Transportation Systems}, + pubstate = {published}, + category = {Masters Thesis} +} + +@inproceedings{LinVLSID2019, + title = {Efficient Heap Data Management on Software Managed Manycore Architectures}, + author = {Jinn-Pean Lin and Jing Lu and Jian Cai and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Lin2019VLSID.pdf, paper https://mpslab-asu.github.io/publications/slides/Lin2019VLSID.pptx, slides}, + year = {2019}, + date = {2019-01-01}, + booktitle = {Proceedings of 2019 32nd International Conference on VLSI Design and 2019 18th International Conference on Embedded Systems (VLSID)}, + research = {Power, Temperature and Variation Aware Computing, Software Managed Manycore (SMM)}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{KimVLSID2019, + title = {WCET-Aware Stack Frame Management of Embedded Systems using Scratchpad Memories}, + author = {Yooseong Kim and Mohammad Khayatian and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Kim2019VLSID.pdf, paper https://mpslab-asu.github.io/publications/slides/Kim2019VLSID.pptx, slides}, + year = {2019}, + date = {2019-01-01}, + booktitle = {Proceedings of 2019 32nd International Conference on VLSI Design and 2019 18th International Conference on Embedded Systems (VLSID)}, + research = {Cyber Physical and IoT Systems, Power, Temperature and Variation Aware Computing, Real-Time Systems, Software Managed Manycore (SMM)}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{SoDATE2019, + title = {A software-level Redundant MultiThreading for Soft/Hard Error Detection and Recovery}, + author = {Hwisoo So and Moslem Didehban and Aviral Shrivastava and Kyoungwoo Lee}, + url = {https://mpslab-asu.github.io/publications/papers/So2019DATE.pdf, paper https://mpslab-asu.github.io/publications/slides/So2019DATE.pptx, slides}, + year = {2019}, + date = {2019-01-01}, + booktitle = {Proceedings of the 22nd International Conference on Design Automation and Test in Europe (DATE)}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {Proceedings} +} + +@article{DaveTECS2019, + title = {DMazeRunner: Executing Perfectly Nested Loops on Dataflow Accelerators}, + author = {Shail Dave and Youngbin Kim and Sasikanth Avancha and Kyoungwoo Lee and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Dave2019TECS.pdf, paper https://mpslab-asu.github.io/publications/slides/Dave2019TECS.pptx, slides https://mpslab-asu.github.io/publications/posters/Dave2019TECS.pdf, poster https://github.com/MPSLab-ASU/dMazeRunner, code}, + year = {2019}, + date = {2019-01-01}, + urldate = {2019-01-01}, + journal = {ACM Transactions on Embedded Computing Systems (TECS)}, + volume = {18}, + number = {5s}, + note = {Special Issue on ESWEEK 2019 - Proceedings of the International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS)}, + research = {Machine Learning Acceleration}, + pubstate = {published}, + category = {article} +} + +@article{RisheekesanTECS2019, + title = {Control Flow Checking or Not? (for Soft Errors)}, + author = {Abhishek Risheekesan and Reiley Jeyapaul and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Risheekesan2019TECS.pdf, paper}, + year = {2019}, + date = {2019-01-01}, + journal = {ACM Transactions on Embedded Computing Systems (TECS)}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {article} +} + +@phdthesis{Lu2019PhDThesis, + title = {Application-aware Performance Optimization for Software Managed Manycore Architectures}, + author = {Jing Lu}, + url = {https://mpslab-asu.github.io/publications/papers/Lu2019THESIS.pdf, paper https://mpslab-asu.github.io/publications/slides/Lu2019THESIS.pptx, slides}, + year = {2019}, + date = {2019-01-01}, + school = {Arizona State University}, + research = {Power, Temperature and Variation Aware Computing, Software Branch Hinting, Software Managed Manycore (SMM)}, + pubstate = {published}, + category = {PhD Thesis} +} + +@inproceedings{ShrivastavaDAC2019, + title = {Software Approaches for In-time Resilience}, + author = {Aviral Shrivastava and Moslem Didehban}, + url = {https://mpslab-asu.github.io/publications/papers/Shrivastava2019DAC.pdf, paper}, + year = {2019}, + date = {2019-01-01}, + booktitle = {Proceedings of the 56th Annual Design Automation Conference (DAC)}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {Proceedings} +} + +@article{KhayatianTCPS2019, + title = {Crossroads+: A Time-Aware Approach for Intersection Management of Connected Autonomous Vehicles}, + author = {Mohammad Khayatian and Yingyan Lou and Mohammadreza Mehrabian and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Khayatian2019TCPS.pdf, paper}, + year = {2019}, + date = {2019-01-01}, + journal = {ACM Transactions on Cyber-Physical Systems (TCPS)}, + research = {Intelligent Transportation Systems, Intelligent Transportation Systems}, + pubstate = {published}, + category = {article} +} + +@inproceedings{Hekmatnejad2019MEMOCODE, + title = {Encoding and Monitoring Responsibility Sensitive Safety Rules for Automated Vehicles in Signal Temporal Logic}, + author = {Mohammad Hekmatnejad and Shakiba Yaghoubi and Adel Dokhanchi and Heni Ben Amor and Aviral Shrivastava and Lina Karam and Georgios Fainekos}, + url = {https://mpslab-asu.github.io/publications/papers/Hekmatnejad2019MEMOCODE.pdf, paper https://mpslab-asu.github.io/publications/slides/Hekmatnejad2019MEMOCODE.pdf, slides}, + year = {2019}, + date = {2019-01-01}, + urldate = {2019-01-01}, + booktitle = {Proceedings of the 2019 17th ACM/IEEE International Conference on Formal Methods and Models for System Design (MEMOCODE)}, + research = {Cyber Physical and IoT Systems}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{KimICCD2019, + title = {Static Function Prefetching for Efficient Code Management on Scratchpad Memory}, + author = {Youngbin Kim and Kyoungwoo Lee and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Kim2019ICCD.pdf, paper https://mpslab-asu.github.io/publications/slides/Kim2019ICCD.pptx, slides}, + year = {2019}, + date = {2019-01-01}, + booktitle = {Proceedings of the 2019 IEEE International Conference on Computer Design (ICCD)}, + research = {Power, Temperature and Variation Aware Computing, Software Managed Manycore (SMM)}, + pubstate = {published}, + category = {Proceedings} +} + +@workshop{DaveDATEDEMO2018, + title = {CCF: A CGRA Compilation Framework}, + author = {Shail Dave and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Dave2018DATEDEMO.pdf, pdf https://youtu.be/iGV1lHsjy4w, talk https://github.com/MPSLab-ASU/CCF, code}, + year = {2018}, + date = {2018-03-21}, + booktitle = {University Booth at the 21st International Conference on Design Automation and Test in Europe (DATE) }, + research = {}, + pubstate = {published}, + category = {Workshop} +} + +@inproceedings{BalasubramanianDATE2018, + title = {LASER: A Hardware/Software Approach to Accelerate Complicated Loops on CGRAs}, + author = {Mahesh Balasubramanian and Shail Dave and Aviral Shrivastava and Reiley Jeyapaul}, + url = {https://mpslab-asu.github.io/publications/papers/Balasubramanian2018DATE.pdf, paper https://mpslab-asu.github.io/publications/slides/Balasubramanian2018DATE.pptx, slides}, + year = {2018}, + date = {2018-01-01}, + booktitle = {Proceedings of the 21st International Conference on Design Automation and Test in Europe (DATE)}, + research = {Coarse-Grained Reconfigurable Arrays}, + pubstate = {published}, + category = {Proceedings} +} + +@article{DidehbanTR2018, + title = {A Compiler Technique for Processor-Wide Protection From Soft Errors in Multithreaded Environments}, + author = {Moslem Didehban and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Didehban2018TR.pdf, paper}, + year = {2018}, + date = {2018-01-01}, + journal = {IEEE Transactions on Reliability for Machine Learning}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {article} +} + +@inproceedings{KhayatianRTSS2018, + title = {RIM: Robust Intersection Management for Connected Autonomous Vehicles}, + author = {Mohammad Khayatian and Mohammadreza Mehrabian and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Khayatian2018RTSS.pdf, paper https://mpslab-asu.github.io/publications/slides/Khayatian2018RTSS.pptx, slides}, + year = {2018}, + date = {2018-01-01}, + booktitle = {Proceedings of the 39th IEEE Real-Time Systems Symposium (RTSS)}, + research = {Intelligent Transportation Systems, Intelligent Transportation Systems}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{MehrabianDAC2018, + title = {TMA: An Efficient Timestamp-Based Monitoring Approach to Test Timing Constraints of Cyber-Physical Systems}, + author = {Mohammadreza Mehrabian and Mohammad Khayatian and Ahmed Moussa and Aviral Shrivastava and Ya-Shian Li and Patricia Derler and Edward Griffor and Hugo A Andrade and Marc Weiss and John Eidson}, + url = {https://mpslab-asu.github.io/publications/papers/Mehrabian2018DAC.pdf, paper https://mpslab-asu.github.io/publications/slides/Mehrabian2018DAC.pptx, slides}, + year = {2018}, + date = {2018-01-01}, + booktitle = {Proceedings of the 55th Annual Design Automation Conference (DAC)}, + research = {Cyber Physical and IoT Systems}, + pubstate = {published}, + category = {Proceedings} +} + +@phdthesis{Didehban2018PhDThesis, + title = {Software Techniques For Dependable Execution}, + author = {Moslem Didehban}, + url = {https://mpslab-asu.github.io/publications/papers/Didehban2018THESIS.pdf, paper https://mpslab-asu.github.io/publications/slides/Didehban2018THESIS.pptx, slides}, + year = {2018}, + date = {2018-01-01}, + school = {Arizona State University}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {PhD Thesis} +} + +@inproceedings{DaveDAC2018, + title = {RAMP: Resource-Aware Mapping for CGRAs}, + author = {Shail Dave and Mahesh Balasubramanian and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Dave2018DAC.pdf, paper https://mpslab-asu.github.io/publications/slides/Dave2018DAC.pptx, slides https://mpslab-asu.github.io/publications/posters/Dave2018DAC.pdf, poster }, + year = {2018}, + date = {2018-01-01}, + urldate = {2018-01-01}, + booktitle = {Proceedings of the 55th Annual Design Automation Conference (DAC)}, + research = {Coarse-Grained Reconfigurable Arrays}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{ShrivastavaDAC2017, + title = {A Testbed to Verify the Timing Behavior of Cyber-Physical Systems}, + author = {Aviral Shrivastava and Mohammadreza Mehrabian and Mohammad Khayatian and Patricia Derler and Hugo A Andrade and Kevin Stanton and Ya-Shian Li-Baboud and Edward Griffor and Marc Weiss and John Eidson}, + url = {https://mpslab-asu.github.io/publications/papers/Shrivastava2017DAC.pdf, paper }, + year = {2017}, + date = {2017-01-01}, + booktitle = {Proceedings of The 54th Annual Design Automation Conference (DAC)}, + research = {Cyber Physical and IoT Systems}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{DidehbanICCAD2017, + title = {NEMESIS: A Software Approach for Computing in Presence of Soft Errors}, + author = {Moslem Didehban and Aviral Shrivastava and Dheeraj Lokam}, + url = {https://mpslab-asu.github.io/publications/papers/Didehban2017ICCAD.pdf, paper https://mpslab-asu.github.io/publications/slides/Didehban2017ICCAD.pptx, slides}, + year = {2017}, + date = {2017-01-01}, + booktitle = {Proceedings of the IEEE/ACM International Conference on Computer-Aided Design (ICCAD)}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{CaiDATE2017, + title = {Reducing Code Management Overhead in Software-Managed Multicores}, + author = {Jian Cai and Yooseong Kim and Youngbin Kim and Aviral Shrivastava and Kyoungwoo Lee}, + url = {https://mpslab-asu.github.io/publications/papers/Cai2017DATE.pdf, paper https://mpslab-asu.github.io/publications/slides/Cai2017DATE.pptx, slides}, + year = {2017}, + date = {2017-01-01}, + booktitle = {Proceedings of the 2017 International Conference on Design Automation and Test in Europe (DATE)}, + research = {Power, Temperature and Variation Aware Computing, Software Managed Manycore (SMM)}, + pubstate = {published}, + category = {Proceedings} +} + +@mastersthesis{AndertMSTHESIS2017, + title = {Crossroads - A Time-Sensitive Autonomous Intersection Management Technique}, + author = {Edward Andert}, + url = {https://www.youtube.com/watch?v=pX5TjijLP9o&feature=youtu.be, video https://mpslab-asu.github.io/publications/papers/Andert2017THESIS.pdf, paper https://mpslab-asu.github.io/publications/slides/Andert2017THESIS.pptx, slides }, + year = {2017}, + date = {2017-01-01}, + school = {Arizona State University}, + research = {Intelligent Transportation Systems, Intelligent Transportation Systems}, + pubstate = {published}, + category = {Masters Thesis} +} + +@inproceedings{DidehbanDAC2017, + title = {An Integrated Safe and Fast Recovery Scheme from Soft Errors}, + author = {Moslem Didehban and Dheeraj Lokam and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Didehban2017DAC.pdf, paper https://mpslab-asu.github.io/publications/slides/Didehban2017DAC.pptx, slides}, + year = {2017}, + date = {2017-01-01}, + booktitle = {Proceedings of The 54th Annual Design Automation Conference (DAC)}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{AndertDAC2017, + title = {Crossroads - A Time-Sensitive Autonomous Intersection Management Technique}, + author = {Edward Andert and Mohammad Khayatian and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Andert2017DAC.pdf, paper https://mpslab-asu.github.io/publications/slides/Andert2017DAC.pptx, slides}, + year = {2017}, + date = {2017-01-01}, + booktitle = {Proceedings of The 54th Annual Design Automation Conference (DAC)}, + note = {Best Paper Award Candidate}, + research = {Intelligent Transportation Systems, Intelligent Transportation Systems}, + pubstate = {published}, + category = {Proceedings} +} + +@article{KoTECS2017, + title = {Protecting Caches from Soft Errors: A Microarchitect's Perspective}, + author = {Yohan Ko and Reiley Jeyapaul and Youngbin Kim and Kyoungwoo Lee and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Ko2017TECS.pdf, paper }, + year = {2017}, + date = {2017-01-01}, + journal = {ACM Transactions on Embedded Computing Systems (TECS)}, + volume = {16}, + number = {4}, + pages = {93:1-93:28}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {article} +} + +@phdthesis{KimPHDTHESIS2017, + title = {WCET-Aware Scratchpad Memory Management for Hard Real-Time Systems}, + author = {Yooseong Kim}, + url = {https://mpslab-asu.github.io/publications/papers/Kim2017THESIS.pdf, paper https://mpslab-asu.github.io/publications/slides/Kim2017THESIS.pptx, slides}, + year = {2017}, + date = {2017-01-01}, + school = {Arizona State University}, + note = {Outstanding Computer Science Graduating PhD Student of the Year Award}, + research = {Cyber Physical and IoT Systems, Power, Temperature and Variation Aware Computing, Real-Time Systems, Software Managed Manycore (SMM)}, + pubstate = {published}, + category = {PhD Thesis} +} + +@article{KimTECS2017, + title = {WCET-Aware Function-Level Dynamic Code Management on Scratchpad Memory}, + author = {Yooseong Kim and David Broman and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Kim2017TECS.pdf, paper}, + year = {2017}, + date = {2017-01-01}, + journal = {ACM Transactions on Embedded Computing Systems (TECS)}, + volume = {16}, + number = {4}, + pages = {112:1-112:26}, + research = {Cyber Physical and IoT Systems, Power, Temperature and Variation Aware Computing, Real-Time Systems, Software Managed Manycore (SMM)}, + pubstate = {published}, + category = {article} +} + +@article{MehrabianTECS2017, + title = {Timestamp Temporal Logic (TTL) for Time Testing of Cyber-Physical Systems}, + author = {Mohammadreza Mehrabian and Mohammad Khayatian and Aviral Shrivastava and John Eidson and Patricia Derler and Hugo A Andrade and Ya-Shian Li-Baboud and Edward Griffor and Marc Weiss and Kevin Stanton}, + url = {https://mpslab-asu.github.io/publications/papers/Mehrabian2017TECS.pdf, paper https://mpslab-asu.github.io/publications/slides/Mehrabian2017TECS.pptx, slides}, + year = {2017}, + date = {2017-01-01}, + journal = {ACM Transactions on Embedded Computing Systems (TECS)}, + volume = {16}, + number = {169}, + series = {5s}, + note = {Special Issue on ESWEEK 2017 - Proceedings of the International Conference on Embedded Software (EMSOFT)}, + research = {Cyber Physical and IoT Systems}, + pubstate = {published}, + category = {article} +} + +@mastersthesis{LinMSThesis2017, + title = {Optimizing Heap Data Management on Software Managed Many-core Architectures}, + author = {Jinn-Pean Lin}, + url = {https://mpslab-asu.github.io/publications/papers/Lin2017THESIS.pdf, paper https://mpslab-asu.github.io/publications/slides/Lin2017THESIS.pptx, slides}, + year = {2017}, + date = {2017-01-01}, + school = {Arizona State University}, + research = {Power, Temperature and Variation Aware Computing, Software Managed Manycore (SMM)}, + pubstate = {published}, + category = {Masters Thesis} +} + +@phdthesis{CaiPHDTHESIS2017, + title = {Scratchpad Management in Software Managed Manycore Architectures}, + author = {Jian Cai}, + url = {https://mpslab-asu.github.io/publications/papers/Cai2017THESIS.pdf, paper https://mpslab-asu.github.io/publications/slides/Cai2017THESIS.pptx, slides}, + year = {2017}, + date = {2017-01-01}, + school = {Arizona State University}, + research = {Power, Temperature and Variation Aware Computing, Software Managed Manycore (SMM)}, + pubstate = {published}, + category = {PhD Thesis} +} + +@inproceedings{CaiASAP2016, + title = {Efficient Pointer Management of Stack Data for Software Managed Multicores}, + author = {Jian Cai and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Cai2016ASAP.pdf, paper https://mpslab-asu.github.io/publications/slides/Cai2016ASAP.pptx, slides}, + year = {2016}, + date = {2016-01-01}, + booktitle = {Proceedings of the International Conference on Application Specific Systems, Architectures and Processors (ASAP)}, + research = {Power, Temperature and Variation Aware Computing, Software Managed Manycore (SMM)}, + pubstate = {published}, + category = {Proceedings} +} + +@article{ShrivastavaIET2016, + title = {Automatic Management of Software Programmable Memories in Manycore Architectures}, + author = {Aviral Shrivastava and Nikil Dutt and Jian Cai and Majid Shoushtari and Bryan Donyanavard and Hossein Tajik}, + url = {https://mpslab-asu.github.io/publications/papers/Shrivastava2016IET.pdf, paper }, + year = {2016}, + date = {2016-01-01}, + journal = {IET Computers & Digital Techniques}, + research = {Power, Temperature and Variation Aware Computing, Software Managed Manycore (SMM)}, + pubstate = {published}, + category = {article} +} + +@inproceedings{DidehbanDAC2016, + title = {NZDC: A Compiler technique for near Zero Silent data Corruption}, + author = {Moslem Didehban and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Didehban2016DAC.pdf, paper https://mpslab-asu.github.io/publications/slides/Didehban2016DAC.pptx, slides}, + year = {2016}, + date = {2016-01-01}, + booktitle = {Proceedings of The 53rd Annual Design Automation Conference (DAC)}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {Proceedings} +} + +@mastersthesis{LokamMSTHESIS2016, + title = {InCheck - An Integrated Recovery Methodology for Fine-grained Soft-Error Detection Schemes}, + author = {Dheeraj Lokam}, + url = {https://mpslab-asu.github.io/publications/papers/Lokam2016THESIS.pdf, paper https://mpslab-asu.github.io/publications/slides/Lokam2016THESIS.pptx, slides}, + year = {2016}, + date = {2016-01-01}, + school = {Arizona State University}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {Masters Thesis} +} + +@article{JeyapaulVLSI2016, + title = {Systematic Methodology for the Quantitative Analysis of Pipeline-Register Reliability for Machine Learning}, + author = {Reiley Jeyapaul and Roberto Flores and Alfonso Avila and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Jeyapaul2016TVLSI.pdf, paper}, + year = {2016}, + date = {2016-01-01}, + journal = {IEEE Transactions on Very Large Scale Integration (VLSI) Systems}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {article} +} + +@inproceedings{ShrivastavaCODESISSS2016, + title = {Time in Cyber-Physical Systems}, + author = {Aviral Shrivastava and Patricia Derler and Ya-Shian Li and Kevin Stanton and Mohammad Khayatian and Hugo A Andrade and Marc Weiss and John Eidson and Sundeep Chandhoke}, + url = {https://mpslab-asu.github.io/publications/papers/Shrivastava2016CODES.pdf, paper }, + year = {2016}, + date = {2016-01-01}, + booktitle = {Proceedings of the international symposium on Hardware/Software Codesign and System Synthesis (CODES+ISSS)}, + research = {Cyber Physical and IoT Systems}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{KimICCAD2016, + title = {Splitting Functions in Code Management on Scratchpad Memories}, + author = {Youngbin Kim and Jian Cai and Yooseong Kim and Kyoungwoo Lee and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Kim2016ICCAD.pdf, paper https://mpslab-asu.github.io/publications/slides/Kim2016ICCAD.pptx, slides}, + year = {2016}, + date = {2016-01-01}, + booktitle = {Proceedings of the IEEE/ACM International Conference on Computer-Aided Design (ICCAD)}, + research = {Power, Temperature and Variation Aware Computing, Software Managed Manycore (SMM)}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{TanikellaASAP2016, + title = {GemV: A Validated Toolset for the Early Exploration of System Reliability for Machine Learning}, + author = {Srinivas Karthik Tanikella and Yohan Ko and Reiley Jeyapaul and Kyoungwoo Lee and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Tanikella2016ASAP.pdf, paper https://mpslab-asu.github.io/publications/slides/Tanikella2016ASAP.pptx, slides}, + year = {2016}, + date = {2016-01-01}, + booktitle = {Proceedings of the International Conference on Application Specific Systems, Architectures and Processors (ASAP)}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {Proceedings} +} + +@mastersthesis{TanikellaMSTHESIS2016, + title = {GemV: A Validated Micro-architecture Vulnerability Estimation Tool}, + author = {Srinivas Karthik Tanikella}, + url = {https://mpslab-asu.github.io/publications/papers/Tanikella2016THESIS.pdf, paper }, + year = {2016}, + date = {2016-01-01}, + school = {Arizona State University}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {Masters Thesis} +} + +@inproceedings{CaiVLSID2016, + title = {Software Coherence Management on Non-Coherent Cache Multi-cores}, + author = {Jian Cai and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Cai2016VLSID.pdf, paper https://mpslab-asu.github.io/publications/slides/Cai2016VLSID.pptx, slides}, + year = {2016}, + date = {2016-01-01}, + booktitle = {Proceedings of 29th International Conference on VLSI Design (VLSID)}, + note = {(Best Student Paper Award)}, + research = {Power, Temperature and Variation Aware Computing, Software Managed Manycore (SMM)}, + pubstate = {published}, + category = {Proceedings} +} + +@patent{BaiPATENT2015, + title = {Stack data management for software managed multi-core processors}, + author = {Ke Bai and Aviral Shrivastava and Jing Lu}, + year = {2015}, + date = {2015-01-01}, + howpublished = {http://www.google.com/patents/US9015689}, + research = {Power, Temperature and Variation Aware Computing, Software Managed Manycore (SMM)}, + pubstate = {published}, + category = {Patent} +} + +@inproceedings{AndradeRECONFIG2015, + title = {Towards a Reconfigurable Distributed Testbed to Enable Advanced Research and Development of Timing and Synchronization in Cyber-Physical Systems}, + author = {Hugo A Andrade and Patricia Derler and John Eidson and Ya-Shian Li-Baboud and Aviral Shrivastava and Kevin Stanton and Marc Weiss}, + url = {https://mpslab-asu.github.io/publications/papers/Andrade2015RECONFIG.pdf, paper }, + year = {2015}, + date = {2015-01-01}, + booktitle = {International Conference on ReConFigurable Computing and FPGAs (ReConFig)}, + research = {Cyber Physical and IoT Systems}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{RuCASES2015, + title = {Optimization of Multi-Channel BCH Error Decoding for Common Cases}, + author = {Russell Dill and Aviral Shrivastava and Hyunok Oh}, + url = {https://mpslab-asu.github.io/publications/papers/Dill2015CASES.pdf, paper https://mpslab-asu.github.io/publications/slides/Dill2015CASES.pptx, slides}, + year = {2015}, + date = {2015-01-01}, + booktitle = {In Proceedings of the 2014 international conference on Compilers, architecture, and synthesis for embedded systems (CASES)}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{HokeunRTAS2015, + title = {A Predictable and Command-Level Priority-Based DRAM Controller for Mixed-Criticality Systems}, + author = {Hokeun Kim and David Broman and Edward A Lee and Michael Zimmer and Aviral Shrivastava and Junkwang Oh}, + url = {https://mpslab-asu.github.io/publications/papers/Kim2015RTAS.pdf, paper https://mpslab-asu.github.io/publications/slides/Kim2015RTAS.pdf, slides}, + year = {2015}, + date = {2015-01-01}, + booktitle = {Real-Time and Embedded Technology and Applications Symposium (RTAS)}, + research = {Cyber Physical and IoT Systems, Real-Time Systems}, + pubstate = {published}, + category = {Proceedings} +} + +@mastersthesis{DillMASTERTHESIS2015, + title = {Optimization of Multi-Channel BCH Error Decoding for Common Cases}, + author = {Russell Dill}, + url = {https://mpslab-asu.github.io/publications/papers/Dill2015THESIS.pdf, paper https://mpslab-asu.github.io/publications/slides/Dill2015THESIS.pptx, slides}, + year = {2015}, + date = {2015-01-01}, + school = {Arizona State University}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {Masters Thesis} +} + +@article{PagerTECS2015, + title = {A Software Scheme for Multithreading on CGRAs}, + author = {Jared Pager and Reiley Jeyapaul and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Pager2015TECS.pdf, paper}, + year = {2015}, + date = {2015-01-01}, + journal = {ACM Transactions on Embedded Computing Systems (TECS)}, + research = {Coarse-Grained Reconfigurable Arrays}, + pubstate = {published}, + category = {article} +} + +@inproceedings{RadhikaDATE2015, + title = {Path Selection Based Acceleration of Conditionals in CGRAs}, + author = {Shri Hari Rajendran Radhika and Aviral Shrivastava and Mahdi Hamzeh}, + url = {https://mpslab-asu.github.io/publications/papers/Radhika2015DATE.pdf, paper https://mpslab-asu.github.io/publications/slides/Radhika2015DATE.slides, slides}, + year = {2015}, + date = {2015-01-01}, + booktitle = {Proceedings of the 2015 International Conference on Design Automation and Test in Europe (DATE)}, + research = {Coarse-Grained Reconfigurable Arrays}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{RawatDATE2015, + title = {Enabling Multi-threaded Applications on Hybrid Shared Memory Manycore Architectures}, + author = {Tushar Rawat and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Rawat2015DATE.pdf, paper https://mpslab-asu.github.io/publications/slides/Rawat2015DATE.pptx, slides}, + year = {2015}, + date = {2015-01-01}, + booktitle = {Proceedings of the 2015 International Conference on Design Automation and Test in Europe (DATE)}, + research = {Power, Temperature and Variation Aware Computing, Software Managed Manycore (SMM)}, + pubstate = {published}, + category = {Proceedings} +} + +@article{LuTECS2015, + title = {Efficient Code Assignment Techniques for Local Memory on Software Managed Multicores}, + author = {Jing Lu and Ke Bai and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Lu2015TECS.pdf, paper}, + year = {2015}, + date = {2015-01-01}, + journal = {ACM Transactions on Embedded Computing Systems (TECS)}, + research = {Power, Temperature and Variation Aware Computing, Software Managed Manycore (SMM)}, + pubstate = {published}, + category = {article} +} + +@inproceedings{YohanDAC2015, + title = {Guidelines to Design Parity Protected Write-back L1 Data Cache}, + author = {Yohan Ko and Reiley Jeyapaul and Youngbin Kim and Kyoungwoo Lee and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Ko2015DAC.pdf, paper https://mpslab-asu.github.io/publications/slides/Ko2015DAC.pptx, slides}, + year = {2015}, + date = {2015-01-01}, + booktitle = {Proceedings of The 52nd Annual Design Automation Conference (DAC)}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{ShrivastavaCASA2014, + title = {Control Flow Checking or Not?(for Soft Errors)}, + author = {Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Shrivastava2014CASA.pdf, paper}, + year = {2014}, + date = {2014-05-01}, + booktitle = {2014 Conference on Computer Animation and Social Agents}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {Proceedings} +} + +@phdthesis{BaiPHDTHESIS2014, + title = {Compiler and Runtime for Memory Management on Software Managed Manycore Processors}, + author = {Ke Bai}, + url = {https://mpslab-asu.github.io/publications/papers/Bai2014THESIS.pdf, paper https://mpslab-asu.github.io/publications/slides/Bai2014THESIS.pptx, slides}, + year = {2014}, + date = {2014-02-01}, + urldate = {2014-02-01}, + school = {Arizona State University}, + research = {Power, Temperature and Variation Aware Computing, Software Managed Manycore (SMM)}, + pubstate = {published}, + category = {PhD Thesis} +} + +@article{JeyapaulTPDS2013, + title = {UnSync-CMP: Multicore CMP Architecture for Energy Efficient Soft Error Reliability for Machine Learning}, + author = {Reiley Jeyapaul and Abhishek Risheekesan and Aviral Shrivastava and Kyoungwoo Lee}, + url = {https://mpslab-asu.github.io/publications/papers/Jeyapaul2014TPDS.pdf, paper}, + year = {2014}, + date = {2014-01-01}, + journal = {Transactions on Parallel and Distributed Systems}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {article} +} + +@inproceedings{KimRTAS2014, + title = {WCET-Aware Dynamic Code Management on Scratchpads for Software-Managed Multicores}, + author = {Yooseong Kim and David Broman and Jian Cai and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Kim2014RTAS.pdf, paper https://mpslab-asu.github.io/publications/slides/Kim2014RTAS.pptx, slides}, + year = {2014}, + date = {2014-01-01}, + booktitle = {Proceedings of the 20th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS)}, + research = {Cyber Physical and IoT Systems, Power, Temperature and Variation Aware Computing, Real-Time Systems, Software Managed Manycore (SMM)}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{HoltonCASES2014, + title = {Construction of GCCFG for Inter-procedural Optimizations in Software Managed Manycore (SMM) Architectures}, + author = {Bryce Holton and Ke Bai and Aviral Shrivastava and Harini Ramaprasad}, + url = {https://mpslab-asu.github.io/publications/papers/Holton2014CASES.pdf, paper https://mpslab-asu.github.io/publications/slides/Holton2014CASES.pptx, slides}, + year = {2014}, + date = {2014-01-01}, + booktitle = {Proceedings of the 2014 international conference on Compilers, architecture, and synthesis for embedded systems (CASES)}, + research = {Power, Temperature and Variation Aware Computing, Software Managed Manycore (SMM)}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{ShrivastavaDAC2014, + title = {Quantitative Analysis of Control Flow Checking Mechanisms for Soft Errors}, + author = {Aviral Shrivastava and Abhishek Risheekesan and Reiley Jeyapaul and Carole-Jean Wu}, + url = {https://mpslab-asu.github.io/publications/papers/Shrivastava2014DAC.pdf, paper https://mpslab-asu.github.io/publications/slides/Shrivastava2014DAC.pptx, slides}, + year = {2014}, + date = {2014-01-01}, + booktitle = {Proceedings of the The 51st Annual Design Automation Conference (DAC)}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{HamzehDAC2014, + title = {Branch-Aware Loop Mapping on CGRAs}, + author = {Mahdi Hamzeh and Aviral Shrivastava and Sarma Vrudhula}, + url = {https://mpslab-asu.github.io/publications/papers/Hamzeh2014DAC.pdf, paper https://mpslab-asu.github.io/publications/slides/Hamzeh2014DAC.pptx, slides}, + year = {2014}, + date = {2014-01-01}, + booktitle = {Proceedings of the The 51st Annual Design Automation Conference on (DAC), 2014}, + research = {Coarse-Grained Reconfigurable Arrays}, + pubstate = {published}, + category = {Proceedings} +} + +@mastersthesis{RawatMASTERTHESIS2014, + title = {Enabling Multithreaded Applications on Hybrid Shared Memory Many-core Architectures}, + author = {Tushar Rawat}, + url = {https://mpslab-asu.github.io/publications/papers/Rawat2014THESIS.pdf, paper https://mpslab-asu.github.io/publications/slides/Rawat2014THESIS.pptx, slides}, + year = {2014}, + date = {2014-01-01}, + school = {Arizona State University}, + research = {Power, Temperature and Variation Aware Computing, Software Managed Manycore (SMM)}, + pubstate = {published}, + category = {Masters Thesis} +} + +@mastersthesis{RadhikaMASTERTHESIS2014, + title = {Path Selection Based Branching for Coarse Grained Reconfigurable Arrays}, + author = {Shri Hari Rajendran Radhika}, + url = {https://mpslab-asu.github.io/publications/papers/Radhika2014THESIS.pdf, paper}, + year = {2014}, + date = {2014-01-01}, + school = {Arizona State University}, + research = {Coarse-Grained Reconfigurable Arrays}, + pubstate = {published}, + category = {Masters Thesis} +} + +@mastersthesis{SalujaMASTERTHESIS2014, + title = {Register File Organization for Coarse-Grained Reconfigurable Architectures: Compiler-Microarchitecture Perspective}, + author = {Dipal Saluja}, + url = {https://mpslab-asu.github.io/publications/papers/Saluja2014THESIS.pdf, paper https://mpslab-asu.github.io/publications/slides/Saluja2014THESIS.pptx, slides}, + year = {2014}, + date = {2014-01-01}, + school = {Arizona State University}, + research = {Coarse-Grained Reconfigurable Arrays}, + pubstate = {published}, + category = {Masters Thesis} +} + +@mastersthesis{HoltonMASTERTHESIS2014, + title = {Construction of GCCFG for Inter-procedural Optimizations in Software Managed Manycore (SMM)}, + author = {Bryce Holton}, + url = {https://mpslab-asu.github.io/publications/papers/Holton2014THESIS.pdf, paper}, + year = {2014}, + date = {2014-01-01}, + school = {Arizona State University}, + research = {Power, Temperature and Variation Aware Computing, Software Managed Manycore (SMM)}, + pubstate = {published}, + category = {Masters Thesis} +} + +@article{LeeTECS2013, + title = {Software-Based Register File Vulnerability Reduction for Embedded Processors}, + author = {Jongeun Lee and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Lee2013TECS.pdf, paper}, + year = {2013}, + date = {2013-11-01}, + journal = {ACM Transactions on Embedded Computing Systems}, + volume = {13}, + number = {1}, + pages = {38:1-38:20}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {article} +} + +@article{JeyapaulTODAES2013, + title = {Enabling Energy Efficient Reliability for Machine Learning in Embedded Systems Through Smart Cache Cleaning}, + author = {Reiley Jeyapaul and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Jeyapaul2013TODAES.pdf, paper}, + year = {2013}, + date = {2013-10-01}, + journal = {Transactions on Design Automation of Electronic Systems}, + volume = {18}, + number = {4}, + pages = {53:1-53:25}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {article} +} + +@article{KimTECS2013, + title = {Memory Performance Estimation of CUDA Programs}, + author = {Yooseong Kim and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Kim2013TECS.pdf, paper}, + year = {2013}, + date = {2013-09-01}, + journal = {ACM Transactions on Embedded Computing Systems}, + volume = {13}, + number = {21}, + pages = {21:1-21:22}, + research = {GPU Computing}, + pubstate = {published}, + category = {article} +} + +@article{BaiTECS2013, + title = {A Software-Only Scheme for Managing Heap Data on Limited Local Memory (LLM) Multicore Processors}, + author = {Ke Bai and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Bai2013TECS.pdf, paper}, + year = {2013}, + date = {2013-08-01}, + journal = {ACM TECS: ACM Transactions on Embedded Computing Systems}, + volume = {13}, + number = {1}, + pages = {5:1-5:18}, + research = {Power, Temperature and Variation Aware Computing, Software Managed Manycore (SMM)}, + pubstate = {published}, + category = {article} +} + +@mastersthesis{RhisheekesanMASTERTHESIS2013, + title = {Quantitative Evaluation of Control-flow based Soft Error Protection Mechanisms}, + author = {Abhishek Risheekesan}, + url = {https://mpslab-asu.github.io/publications/papers/Risheekesan2013THESIS.pdf, paper}, + year = {2013}, + date = {2013-03-01}, + school = {Arizona State University}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {Masters Thesis} +} + +@inproceedings{BaiDATE2013, + title = {Automatic and Efficient Heap Data Management for Limited Local Memory Multicore Architectures}, + author = {Ke Bai and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Bai2013DATE.pdf, paper https://mpslab-asu.github.io/publications/slides/Bai2013DATE.pptx, slides}, + year = {2013}, + date = {2013-01-01}, + booktitle = {Proceedings of the 2013 International Conference on Design Automation and Test in Europe (DATE)}, + research = {Power, Temperature and Variation Aware Computing, Software Managed Manycore (SMM)}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{LuDAC2013, + title = {SSDM: Smart Stack Data Management for Software Managed Multicores (SMMs)}, + author = {Jing Lu and Ke Bai and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Lu2013DAC.pdf, paper https://mpslab-asu.github.io/publications/slides/Lu2013DAC.pptx, slides}, + year = {2013}, + date = {2013-01-01}, + booktitle = {Proceedings of the 50th Design Automation Conference (DAC)}, + research = {Power, Temperature and Variation Aware Computing, Software Managed Manycore (SMM)}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{BaiCODESISSS2013, + title = {CMSM: An Efficient and Effective Code Management for Software Managed Multicores}, + author = {Ke Bai and Jing Lu and Aviral Shrivastava and Bryce Holton}, + url = {https://mpslab-asu.github.io/publications/papers/Bai2013CODES.pdf, paper https://mpslab-asu.github.io/publications/slides/Bai2013CODES.pptx, slides}, + year = {2013}, + date = {2013-01-01}, + booktitle = {Proceedings of the international symposium on Hardware/Software Codesign and System Synthesis (CODES+ISSS)}, + research = {Power, Temperature and Variation Aware Computing, Software Managed Manycore (SMM)}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{MahdiDAC2013, + title = {REGIMap: Register-aware Application Mapping on Coarse-grained Reconfigurable Architectures (CGRAs)}, + author = {Mahdi Hamzeh and Aviral Shrivastava and Sarma Vrudhula}, + url = {https://mpslab-asu.github.io/publications/papers/Hamzeh2013DAC.pdf, paper https://mpslab-asu.github.io/publications/slides/Hamzeh2013DAC.pptx, slides}, + year = {2013}, + date = {2013-01-01}, + booktitle = {Proceedings of the 50th Annual Design Automation Conference (DAC)}, + research = {Coarse-Grained Reconfigurable Arrays}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{BromanESLSYN2013, + title = {Precision Timed Infrastructure: Design Challenges}, + author = {David Broman and Michael Zimmer and Yooseong Kim and Hokeun Kim and Jian Cai and Aviral Shrivastava and Stephen A Edwards and Edward A Lee}, + url = {https://mpslab-asu.github.io/publications/papers/Broman2013ESLSYN.pdf, paper}, + year = {2013}, + date = {2013-01-01}, + booktitle = {Proceedings of the Electronic System Level Synthesis Conference (ESLsyn 2013)}, + research = {Cyber Physical and IoT Systems, Real-Time Systems}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{LeeVLSID2013, + title = {Power-Efficient Protection from Soft Errors}, + author = {Kyoungwoo Lee and Aviral Shrivastava and Reiley Jeyapaul}, + url = {https://mpslab-asu.github.io/publications/papers/Lee2013VLSID.pdf, paper}, + year = {2013}, + date = {2013-01-01}, + booktitle = {2013 26th International Conference on VLSI Design (VLSID 2013)}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {Proceedings} +} + +@article{HongTVLSI2012, + title = {Return Data Interleaving for Multi-channel Embedded CMP Systems}, + author = {Fei Hong and Aviral Shrivastava and Jongeun Lee}, + url = {https://mpslab-asu.github.io/publications/papers/Hong2012TVLSI.pdf}, + year = {2012}, + date = {2012-07-01}, + journal = {IEEE TVLSI: IEEE Transactions on Very Large Scale Integrated circuits}, + volume = {20}, + number = {7}, + pages = {1351-1354}, + research = {Efficient Embedded Computing}, + pubstate = {published}, + category = {article} +} + +@phdthesis{JeyapaulPHDTHESIS2012, + title = {Smart Compilers for Reliable and Power-efficient Embedded Computing}, + author = {Reiley Jeyapaul}, + url = {https://mpslab-asu.github.io/publications/papers/Jeyapaul2012THESIS.pdf https://mpslab-asu.github.io/publications/slides/Jeyapaul2012THESIS.pptx}, + year = {2012}, + date = {2012-05-01}, + school = {Arizona State University}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {PhD Thesis} +} + +@article{LeeTECS2012, + title = {PICA: Processor Idle Cycle Aggregation for Energy-Efficient Embedded Systems}, + author = {Jongeun Lee and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Lee2012TECS.pdf}, + year = {2012}, + date = {2012-01-01}, + journal = {ACM TECS: ACM Transactions on Embedded Computing Systems}, + volume = {11}, + number = {2}, + pages = {26:1-26:27}, + research = {Power, Temperature and Variation Aware Computing, Processor Idle Cycle Aggregation}, + pubstate = {published}, + category = {article} +} + +@inproceedings{MahdiDAC2012, + title = {EPIMap: Using Epimorphism to Map Applications on CGRAs}, + author = {Mahdi Hamzeh and Aviral Shrivastava and Sarma Vrudhula}, + url = {https://mpslab-asu.github.io/publications/papers/Hamzeh2012DAC.pdf https://mpslab-asu.github.io/publications/slides/Hamzeh2012DAC.pptx}, + year = {2012}, + date = {2012-01-01}, + booktitle = {Proceedings of the 49th Design Automation Conference (DAC)}, + research = {Coarse-Grained Reconfigurable Arrays}, + pubstate = {published}, + category = {Proceedings} +} + +@mastersthesis{DiMASTERTHESIS2012, + title = {STL on Limited Local Memory (LLM) Multi-core Processors}, + author = {Di Lu}, + url = {https://mpslab-asu.github.io/publications/papers/Lu2012THESIS.pdf https://mpslab-asu.github.io/publications/slides/Lu2012THESIS.pptx}, + year = {2012}, + date = {2012-01-01}, + school = {School of Computing, Informatics, and Decision Systems Engineering (CIDSE)}, + research = {Power, Temperature and Variation Aware Computing, Software Managed Manycore (SMM)}, + pubstate = {published}, + category = {Masters Thesis} +} + +@inproceedings{LeeCODESISSS2012, + title = {Soft Errors: The Hardware-Software Interface}, + author = {Kyoungwoo Lee and Aviral Shrivastava and Reiley Jeyapaul}, + year = {2012}, + date = {2012-01-01}, + booktitle = {Proceedings of the eighth IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis}, + pages = {577--578}, + booktitle = {ACM}, + address = {New York, NY, USA}, + series = {CODES+ISSS '12}, + crossref = {978-1-4503-1426-8}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{PiotrVLSI2012, + title = {Design of an RNS Reverse Converter for a New Five-Moduli Special Set}, + author = {Piotr Patronik and Krzysztof Berezowski and Janusz Biernat and Stanislaw J Piestrak and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Patronik2014GLSVLSI.pdf}, + year = {2012}, + date = {2012-01-01}, + urldate = {2012-01-01}, + pages = {67-70}, + booktitle = {Proceedings of the great lakes symposium on VLSI}, + research = {Efficient Embedded Computing}, + pubstate = {published}, + category = {Proceedings} +} + +@article{FeiVLSI2011, + title = {Return Data Interleaving for Multi-Channel Embedded CMPs Systems}, + author = {Fei Hong and Aviral Shrivastava and Jongeun Lee}, + url = {https://mpslab-asu.github.io/publications/papers/Hong2011TVLSI.pdf}, + year = {2011}, + date = {2011-06-01}, + journal = {IEEE Transactions on Very Large Scale Integration (VLSI) Systems}, + number = {12769237}, + pages = {1351-1354}, + research = {Efficient Embedded Computing}, + pubstate = {published}, + category = {article} +} + +@article{LeeTVLSI2011, + title = {Static Analysis of Register File Vulnerability}, + author = {Jongeun Lee and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Lee2011TVLSI.pdf}, + year = {2011}, + date = {2011-04-01}, + journal = {IEEE TVLSI: IEEE Transactions on Very Large Scale Integrated circuits}, + volume = {30}, + number = {4}, + pages = {606-616}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {article} +} + +@inproceedings{AarulVLSI2011, + title = {LA-LRU: A Latency-Aware Replacement Policy for Variation Tolerant Caches}, + author = {Aarul Jain and Aviral Shrivastava and Chaitali Chakrabarti}, + url = {https://mpslab-asu.github.io/publications/papers/Jain2011VLSID.pdf https://mpslab-asu.github.io/publications/slides/Jain2011VLSID.pptx}, + year = {2011}, + date = {2011-01-01}, + booktitle = {Proceedings of the 24th International Conference on VLSI Design}, + pages = {298-303}, + booktitle = {IEEE Computer Society}, + research = {Power, Temperature and Variation Aware Computing}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{PiotrISLPED2011, + title = {Fast and Energy-Efficient Constant-Coefficient FIR Filters Using Residue Number System}, + author = {Piotr Patronik and Krzysztof Berezowski and Stanislaw Piestrak and Janusz Biernat and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Patronik2011ISLPED.pdf}, + year = {2011}, + date = {2011-01-01}, + booktitle = {Proceedings of the International Symposium on Low Power Electronics and Design (ISLPED)}, + research = {Power, Temperature and Variation Aware Computing}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{KimDAC2011, + title = {CuMAPz: A tool to Analyze Memory Access Patterns in CUDA}, + author = {Yooseong Kim and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Kim2011DAC.pdf https://mpslab-asu.github.io/publications/slides/Kim2011DAC.pptx}, + year = {2011}, + date = {2011-01-01}, + booktitle = {Proceedings of the 48th Design Automation Conference (DAC)}, + pages = {128-133}, + research = {GPU Computing}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{JeyapaulICPP2011, + title = {UnSync: A Soft-Error Resilient Redundant Multicore Architecture}, + author = {Reiley Jeyapaul and Fei Hong and Aviral Shrivastava and Abhishek Risheekesan and Kyoungwoo Lee}, + url = {https://mpslab-asu.github.io/publications/papers/Jeyapaul2011ICPP.pdf https://mpslab-asu.github.io/publications/slides/Jeyapaul2011ICPP.pptx}, + year = {2011}, + date = {2011-01-01}, + booktitle = {Proceedings of the International Conference on Parallel Processing (ICPP)}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{ShrivastavaICPP2011, + title = {Enabling Multithreading on CGRAs}, + author = {Aviral Shrivastava and Jared Pager and Reiley Jeyapaul and Mahdi Hamzeh and Sarma Vrudhula}, + url = {https://mpslab-asu.github.io/publications/papers/Shrivastava2011ICPP.pdf https://mpslab-asu.github.io/publications/slides/Shrivastava2011ICPP.pptx}, + year = {2011}, + date = {2011-01-01}, + booktitle = {Proceedings of the International Conference on Parallel Processing (ICPP)}, + research = {Coarse-Grained Reconfigurable Arrays}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{BaiASAP2011, + title = {Stack Data Management for Limited Local Memory (LLM) Multi-core Processors}, + author = {Ke Bai and Aviral Shrivastava and Saleel Kudchadker}, + url = {https://mpslab-asu.github.io/publications/papers/Bai2011ASAP.pdf https://mpslab-asu.github.io/publications/slides/Bai2011ASAP.slides}, + year = {2011}, + date = {2011-01-01}, + booktitle = {Proceedings of the International Conference on Application Specific Systems, Architectures and Processors (ASAP)}, + research = {Power, Temperature and Variation Aware Computing, Software Managed Manycore (SMM)}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{BaiCASES2011, + title = {Vector class on limited local memory (LLM) multi-core processors}, + author = {Ke Bai and Di Lu and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Bai2011CASES.pdf https://mpslab-asu.github.io/publications/slides/Bai2011CASES.pptx}, + year = {2011}, + date = {2011-01-01}, + booktitle = {Proceedings of the 14th international conference on Compilers,architectures and synthesis for embedded systems (CASES)}, + pages = {215--224}, + booktitle = {ACM}, + address = {New York, NY, USA}, + series = {CASES '11}, + note = {ISBN 978-1-4503-0713-0}, + research = {Power, Temperature and Variation Aware Computing, Software Managed Manycore (SMM)}, + pubstate = {published}, + category = {Proceedings} +} + +@article{KimTODAES2011, + title = {Memory Access Optimization in compilation for Coarse Grain Reconfigurable Architectures}, + author = {Yongjoo Kim and Jongeun Lee and Aviral Shrivastava and Yunheung Paek}, + url = {https://mpslab-asu.github.io/publications/papers/Kim2011TODAES.pdf}, + year = {2011}, + date = {2011-01-01}, + journal = {ACM TODAES: ACM Transactions on Design Automation of Electronic Systems}, + volume = {11}, + number = {3}, + pages = {42:1-42:27}, + research = {Coarse-Grained Reconfigurable Arrays}, + pubstate = {published}, + category = {article} +} + +@article{KimTCAD2011, + title = {High Throughput Data Mapping for Coarse-Grained Reconfigurable Architectures}, + author = {Yongjoo Kim and Jongeun Lee and Aviral Shrivastava and Yunheung Paek}, + url = {https://mpslab-asu.github.io/publications/papers/Kim2011TCAD.pdf}, + year = {2011}, + date = {2011-01-01}, + journal = {IEEE TCAD: IEEE Transactions on Computer Aided Design}, + volume = {30}, + number = {11}, + pages = {1599 - 1609}, + research = {Coarse-Grained Reconfigurable Arrays}, + pubstate = {published}, + category = {article} +} + +@mastersthesis{PagerMASTERTHESIS2011, + title = {Improving CGRA Utilization by Enabling Multi-threading for Power-efficient Embedded Systems}, + author = {Jared Pager}, + url = {https://mpslab-asu.github.io/publications/papers/Pager2011THESIS.pdf https://mpslab-asu.github.io/publications/slides/Pager2011THESIS.pptx}, + year = {2011}, + date = {2011-01-01}, + school = {School of Computing, Informatics, and Decision Systems Engineering (CIDSE)}, + research = {Coarse-Grained Reconfigurable Arrays}, + pubstate = {published}, + category = {Masters Thesis} +} + +@inproceedings{LuCODESISSS2011, + title = {Branch Penalty Reduction on IBM Cell SPUs via Software Branch Hinting}, + author = {Jing Lu and Yooseong Kim and Aviral Shrivastava and Chuan Huang}, + url = {https://mpslab-asu.github.io/publications/papers/Lu2011CODES.pdf https://mpslab-asu.github.io/publications/slides/Lu2011CODES.pptx}, + year = {2011}, + date = {2011-01-01}, + booktitle = {Proceedings of CODES+ISSS}, + pages = {355-364}, + research = {Power, Temperature and Variation Aware Computing, Software Branch Hinting}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{JeyapaulCASES2011, + title = {Smart Cache Cleaning: Energy efficient vulnerability reduction in embedded processors}, + author = {Reiley Jeyapaul and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Jeyapaul2011CASES.pdf https://mpslab-asu.github.io/publications/slides/Jeyapaul2011CASES.pptx}, + year = {2011}, + date = {2011-01-01}, + booktitle = {Proceedings of the 14th international conference on Compilers, architectures and synthesis for embedded systems}, + pages = {105--114}, + booktitle = {ACM}, + series = {CASES '11}, + key = {978-1-4503-0713-0}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {Proceedings} +} + +@article{LeeTODAES2010, + title = {Partitioning Techniques for Partially Protected Caches in Resource-Constrained Embedded Systems}, + author = {Kyoungwoo Lee and Aviral Shrivastava and Ilya Issenin and Nikil Dutt and Nalini Venkatasubramanian}, + url = {https://mpslab-asu.github.io/publications/papers/Lee2010TODAES.pdf}, + year = {2010}, + date = {2010-10-01}, + journal = {ACM TODAES: ACM Transactions on Design Automation of Embedded Systems}, + volume = {15}, + number = {4}, + pages = {30:1-30:30}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {article} +} + +@inproceedings{AaCODESISSS2010, + title = {Compilation Techniques for CGRAs: Exploring All Parallelization Approaches}, + author = {Tom Vander Aa and Praveen Raghavan and Scott Mahlke and Bjorn De Sutter and Aviral Shrivastava and Frank Hannig}, + url = {https://mpslab-asu.github.io/publications/papers/Vanderaa2010CODES.pdf}, + year = {2010}, + date = {2010-10-01}, + pages = {185-186}, + booktitle = {Hardware/Software Codesign and System Synthesis (CODES+ISSS)}, + research = {Coarse-Grained Reconfigurable Arrays}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{JungASAP2010, + title = {Dynamic code mapping for limited local memory systems}, + author = {Seungchul Jung and Aviral Shrivastava and Ke Bai}, + url = {https://mpslab-asu.github.io/publications/papers/Jung2010ASAP.pdf https://mpslab-asu.github.io/publications/slides/Jung2010ASAP.pptx}, + year = {2010}, + date = {2010-07-01}, + booktitle = {Proceedings of the International Conference on Application-specific Systems Architectures and Processors (ASAP)}, + note = {ISSN 1063-6268}, + research = {Power, Temperature and Variation Aware Computing, Software Managed Manycore (SMM)}, + pubstate = {published}, + category = {Proceedings} +} + +@article{LeeTCAD2010, + title = {A Compiler-Microarchitecture Hybrid Approach to Soft Error Reduction for Register Files}, + author = {Jongeun Lee and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Lee2010TCAD.pdf}, + year = {2010}, + date = {2010-07-01}, + journal = {IEEE TCAD: IEEE Transactions on Computer Aided Design}, + volume = {29}, + number = {7}, + pages = {1018-1027}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {article} +} + +@inproceedings{ShrivastavaLCTES2010, + title = {Cache Vulnerability Equations for protecting data in embedded processor caches from soft errors}, + author = {Aviral Shrivastava and Jongeun Lee and Reiley Jeyapaul}, + url = {https://mpslab-asu.github.io/publications/papers/Shrivastava2010LCTES.pdf https://mpslab-asu.github.io/publications/slides/Shrivastava2010LCTES.slides}, + year = {2010}, + date = {2010-01-01}, + journal = {SIGPLAN}, + volume = {45}, + number = {4}, + pages = {143-152}, + booktitle = {Proceedings of the ACM SIGPLAN/SIGBED 2010 conference on Languages, compilers, and tools for embedded systems}, + note = {ISSN 0362-1340}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{JeyapaulSCOPES2010, + title = {B2P2: bounds based procedure placement for instruction TLB power reduction in embedded systems}, + author = {Reiley Jeyapaul and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Jeyapaul2010SCOPES.pdf https://mpslab-asu.github.io/publications/slides/Jeyapaul2010SCOPES.pptx}, + year = {2010}, + date = {2010-01-01}, + booktitle = {Proceedings of the 13th International Workshop on Software & Compilers for Embedded Systems(SCOPES)}, + pages = {2:1-2:10}, + series = {SCOPES '10}, + note = {ISBN 978-1-4503-0084-1}, + research = {Power, Temperature and Variation Aware Computing}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{KimLCTES2010, + title = {Operation and data mapping for CGRAs with multi-bank memory}, + author = {Yongjoo Kim and Jongeun Lee and Aviral Shrivastava and Jonghee Yoon and Yunheung Paek}, + url = {https://mpslab-asu.github.io/publications/papers/Kim2010LCTES.pdf https://mpslab-asu.github.io/publications/slides/Kim2010LCTES.slides}, + year = {2010}, + date = {2010-01-01}, + booktitle = {Proceedings of the 2010 International Conference on Languages Compilers and Tools for Embedded Systems (LCTES)}, + volume = {45}, + number = {4}, + pages = {17-26}, + note = {ISSN 0362-1340}, + research = {Coarse-Grained Reconfigurable Arrays}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{KimHIPEAC2010, + title = {Memory-Aware Application Mapping on Coarse Grain Reconfigurable Arrays}, + author = {Yongjoo Kim and Jongeun Lee and Aviral Shrivastava and Jonghee Yoon and Yunheung Paek}, + url = {https://mpslab-asu.github.io/publications/papers/Kim2010HIPEAC.pdf}, + year = {2010}, + date = {2010-01-01}, + booktitle = {Proceedings of the 2010 International Conference on High-Performance Embedded Architectures and Compilers (HIPEAC)}, + volume = {45}, + number = {4}, + pages = {17-26}, + note = {ISSN 0362-1340}, + research = {Coarse-Grained Reconfigurable Arrays}, + pubstate = {published}, + category = {Proceedings} +} + +@article{ShrivastavaTVLSI2010, + title = {Reducing Functional Unit Power Consumption and its Variation using Leakage Sensors}, + author = {Aviral Shrivastava and Deepa Kannan and Sarvesh Bhardwaj and Sarma Vrudhula}, + url = {https://mpslab-asu.github.io/publications/papers/Shrivastava2010TVLSI.pdf}, + year = {2010}, + date = {2010-01-01}, + journal = {IEEE TVLSI : IEEE Transactions on Very Large Scale Integration Systems}, + volume = {18}, + number = {6}, + pages = {988-997}, + research = {Power, Temperature and Variation Aware Computing}, + pubstate = {published}, + category = {article} +} + +@inproceedings{BoydDATE2011, + title = {Power-Accuracy Tradeoffs in Human Activity Transition Detection}, + author = {Jeffrey Boyd and Hari Sundaram and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Boyd2010DATE.pdf https://mpslab-asu.github.io/publications/slides/Boyd2010DATE.pptx}, + year = {2010}, + date = {2010-01-01}, + booktitle = {Proceedings of the 2010 International Conference on Design Automation and Test in Europe (DATE)}, + research = {Power, Temperature and Variation Aware Computing}, + pubstate = {published}, + category = {Proceedings} +} + +@book{PandaSPRINGER2010, + title = {Power-Efficient System Design}, + author = {Preeti Ranjan Panda and Aviral Shrivastava and B V N Silpa and Krishnaiah Gummidipudi}, + url = {http://www.springer.com/us/book/9781441963871}, + year = {2010}, + date = {2010-01-01}, + booktitle = {Springer}, + edition = {1st edition}, + research = {Power, Temperature and Variation Aware Computing}, + pubstate = {published}, + category = {book} +} + +@mastersthesis{SaleelMASTERTHESIS2010, + title = {Managing Stack Data on Limited Local Memory Multi-core Processors}, + author = {Saleel Kudchadker}, + url = {https://mpslab-asu.github.io/publications/papers/Kudchadker2010THESIS.pdf https://mpslab-asu.github.io/publications/slides/Kudchadker2010THESIS.slides}, + year = {2010}, + date = {2010-01-01}, + school = {School of Computing, Informatics, and Decision Systems Engineering (CIDSE)}, + research = {Power, Temperature and Variation Aware Computing, Software Managed Manycore (SMM)}, + pubstate = {published}, + category = {Masters Thesis} +} + +@mastersthesis{FeiMASTERTHESIS2010, + title = {UnSync: A Soft-Error Resilient Redundant CMP Architecture}, + author = {Fei Hong}, + url = {https://mpslab-asu.github.io/publications/papers/Hong2010THESIS.pdf}, + year = {2010}, + date = {2010-01-01}, + school = {School of Computing, Informatics, and Decision Systems Engineering (CIDSE)}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {Masters Thesis} +} + +@inproceedings{BaiCODESISSS2010, + title = {Heap Data Management for Limited Local Memory (LLM) Multi-core Processors}, + author = {Ke Bai and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Bai2010CODES.pdf https://mpslab-asu.github.io/publications/slides/Bai2010CODES.pptx}, + year = {2010}, + date = {2010-01-01}, + booktitle = {Proceedings of the 23th international symposium on System Synthesis (CODES+ISSS)}, + pages = {317-326}, + booktitle = {ACM Press}, + address = {New York, NY, USA}, + note = {ISBN}, + research = {Power, Temperature and Variation Aware Computing, Software Managed Manycore (SMM)}, + pubstate = {published}, + category = {Proceedings} +} + +@mastersthesis{JungMASTERTHESIS2010, + title = {Dynamic Code Mapping for Limited Local Memory Systems}, + author = {Seungchul Jung}, + url = {https://mpslab-asu.github.io/publications/papers/Jung2010THESIS.pdf https://mpslab-asu.github.io/publications/slides/Jung2010THESIS.pptx}, + year = {2010}, + date = {2010-01-01}, + school = {School of Computing, Informatics, and Decision Systems Engineering (CIDSE)}, + research = {Power, Temperature and Variation Aware Computing, Software Managed Manycore (SMM)}, + pubstate = {published}, + category = {Masters Thesis} +} + +@article{JeyapaulVLSID2010, + title = {Code Transformations for TLB Power Reduction}, + author = {Reiley Jeyapaul and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Jeyapaul2010IJPP.pdf}, + year = {2010}, + date = {2010-01-01}, + journal = {International Journal of Parallel Programming}, + volume = {38}, + number = {3-4}, + pages = {254-276}, + booktitle = {Springer US}, + note = {ISSN 0885-7458}, + research = {Power, Temperature and Variation Aware Computing}, + pubstate = {published}, + category = {article} +} + +@inbook{PandaBOOK2010, + title = {Basic Low Power Digital Design}, + author = {Preeti Ranjan Panda and B V N Silpa and Aviral Shrivastava and Krishnaiah Gummidipudi}, + year = {2010}, + date = {2010-01-01}, + booktitle = {Power-efficient System Design}, + number = {978-1-4419-6387-1}, + pages = {11-39}, + booktitle = {Springer US}, + chapter = {2}, + research = {Power, Temperature and Variation Aware Computing}, + pubstate = {published}, + category = {Book} +} + +@inbook{PandaBook2010_2, + title = {Power Aware Operating Systems, Compilers, and Application Software}, + author = {Preeti Ranjan Panda and B V N Silpa and Aviral Shrivastava and Krishnaiah Gummidipudi}, + year = {2010}, + date = {2010-01-01}, + booktitle = {Power-efficient System Design}, + number = {978-1-4419-6387-1}, + pages = {139-181}, + booktitle = {Springer US}, + chapter = {5}, + research = {Power, Temperature and Variation Aware Computing}, + pubstate = {published}, + category = {Book} +} + +@inproceedings{ChokshiCASES2009, + title = {Exploiting residue number system for power-efficient digital signal processing in embedded processors}, + author = {Rooju Chokshi and Krzysztof Berezowski and Aviral Shrivastava and Stanislaw Piestrak}, + url = {https://mpslab-asu.github.io/publications/papers/Chokshi2009CASES.pdf https://mpslab-asu.github.io/publications/slides/Chokshi2009CASES.pptx}, + year = {2009}, + date = {2009-01-01}, + booktitle = {CASES '09: Proceedings of the 2009 international conference on Compilers, architecture, and synthesis for embedded systems}, + pages = {19-28}, + note = {ISBN 978-1-60558-626-7}, + research = {Power, Temperature and Variation Aware Computing}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{LeeLCTES2009, + title = {A compiler optimization to reduce soft errors in register files}, + author = {Jongeun Lee and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Lee2009LCTES.pdf https://mpslab-asu.github.io/publications/slides/Lee2009LCTES.slides}, + year = {2009}, + date = {2009-01-01}, + booktitle = {LCTES '09: Proceedings of the 2009 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems}, + pages = {41-49}, + note = {ISBN 978-1-60558-356-3}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{SoaresVLSISOC2009, + title = {Adaptive Reduced Bit-width Instruction Set Architecture (adapt-rISA)}, + author = {Sandro Neves Soares and Ashok Halambi and Aviral Shrivastava and Flavio Rech Wagner and Nikil Dutt}, + url = {https://mpslab-asu.github.io/publications/papers/Soares2009VLSISOC.pdf https://mpslab-asu.github.io/publications/slides/Soares2009VLSISOC.slides}, + year = {2009}, + date = {2009-01-01}, + booktitle = {VLSI-SOC 2009 :Proceedings of the 17th IFIP/IEEE International Conference on Very Large Scale Integreation}, + research = {Power, Temperature and Variation Aware Computing, Reduced bit-width Instruction Set Architecture}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{MylavarapuDATE2009, + title = {FSAF: File system aware flash translation layer for NAND Flash Memories}, + author = {Sai Krishna Mylavarapu and Siddharth Choudhuri and Aviral Shrivastava and Jongeun Lee and T Givargis}, + url = {https://mpslab-asu.github.io/publications/papers/Mylavarapu2009DATE.pdf https://mpslab-asu.github.io/publications/slides/Mylavarapu2009DATE.slides}, + year = {2009}, + date = {2009-01-01}, + booktitle = {Design, Automation Test in Europe Conference Exhibition (DATE)}, + note = {ISSN 1530-1591}, + research = {Efficient Embedded Computing}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{LeeDATE2009, + title = {Static analysis to mitigate soft errors in register files}, + author = {Jongeun Lee and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Lee2009DATE.pdf https://mpslab-asu.github.io/publications/slides/Lee2009DATE.slides}, + year = {2009}, + date = {2009-01-01}, + booktitle = {Design, Automation Test in Europe Conference Exhibition (DATE)}, + note = {ISSN 1530-1591}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{KannanASPDAC2009, + title = {A software solution for dynamic stack management on scratch pad memory}, + author = {Arun Kannan and Aviral Shrivastava and Amit Pabalkar and Jongeun Lee}, + url = {https://mpslab-asu.github.io/publications/papers/Kannan2009ASPDAC.pdf https://mpslab-asu.github.io/publications/slides/Kannan2009ASPDAC.slides}, + year = {2009}, + date = {2009-01-01}, + booktitle = {ASP-DAC '09: Proceedings of the 2009 Conference on Asia and South Pacific Design Automation}, + pages = {612-617}, + note = {ISBN 978-1-4244-2748-2}, + research = {Power, Temperature and Variation Aware Computing, Software Managed Manycore (SMM)}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{LeeASPDAC2009, + title = {Compiler-managed register file protection for energy-efficient soft error reduction}, + author = {Jongeun Lee and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Lee2009ASPDAC.pdf https://mpslab-asu.github.io/publications/slides/Lee2009ASPDAC.slides}, + year = {2009}, + date = {2009-01-01}, + booktitle = {ASP-DAC '09: Proceedings of the 2009 Conference on Asia and South Pacific Design Automation}, + pages = {618-623}, + note = {ISBN 978-1-4244-2748-2}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{JeyapaulVLSI2009, + title = {Code Transformations for TLB Power Reduction}, + author = {Reiley Jeyapaul and Sandeep Marathe and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Jeyapaul2009VLSID.pdf https://mpslab-asu.github.io/publications/slides/Jeyapaul2009VLSID.slides}, + year = {2009}, + date = {2009-01-01}, + booktitle = {VLSID '09: Proceedings of the International Conference on VLSI Design}, + pages = {413-418}, + note = {ISBN 978-0-7695-3506-7}, + research = {Power, Temperature and Variation Aware Computing}, + pubstate = {published}, + category = {Proceedings} +} + +@mastersthesis{ArunMASTERTHESIS2009, + title = {A Software-Only Solution for Stack Management on Systems with Scratch Pad Memory}, + author = {Arun Kannan}, + url = {https://mpslab-asu.github.io/publications/papers/Kannan2009THESIS.pdf https://mpslab-asu.github.io/publications/slides/Kannan2009THESIS.slides}, + year = {2009}, + date = {2009-01-01}, + school = {School of Computing, Informatics, and Decision Systems Engineering (CIDSE)}, + research = {Power, Temperature and Variation Aware Computing, Software Managed Manycore (SMM)}, + pubstate = {published}, + category = {Masters Thesis} +} + +@article{ShrivastavaTCAD2009, + title = {A Software-only solution to use Scratch Pads for Stack Data}, + author = {Aviral Shrivastava and Arun Kannan and Jongeun Lee}, + url = {https://mpslab-asu.github.io/publications/papers/Shrivastava2009TCADA.pdf}, + year = {2009}, + date = {2009-01-01}, + journal = {IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems}, + volume = {28}, + number = {11}, + pages = {1719-1728}, + note = {ISSN 0278-0070}, + research = {Power, Temperature and Variation Aware Computing, Software Managed Manycore (SMM)}, + pubstate = {published}, + category = {article} +} + +@article{ShrivastavaTCADCIL2009, + title = {Compiler-in-the-Loop Design Space Exploration Framework for Energy Reduction in Horizontally Partitioned Cache Architectures}, + author = {Aviral Shrivastava and Ilya Issenin and Nikil Dutt}, + url = {https://mpslab-asu.github.io/publications/papers/Shrivastava2009TCADB.pdf}, + year = {2009}, + date = {2009-01-01}, + journal = {IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems}, + volume = {28}, + number = {3}, + pages = {461-466}, + note = {ISSN 0278-0070}, + research = {Power, Temperature and Variation Aware Computing}, + pubstate = {published}, + category = {article} +} + +@article{YoonTVLSI2009, + title = {A Graph Drawing Based Spatial Mapping Algorithm for Coarse-Grained Reconfigurable Architectures}, + author = {Jonghee Yoon and Aviral Shrivastava and Sanghyun Park and Minwook Ahn and Yunheung Paek}, + url = {https://mpslab-asu.github.io/publications/papers/Yoon2009TVLSI.pdf}, + year = {2009}, + date = {2009-01-01}, + journal = {IEEE Transactions on Very Large Scale Integrated Circuits}, + volume = {17}, + number = {11}, + pages = {1565-1579}, + note = {ISSN 1063-8210}, + research = {Coarse-Grained Reconfigurable Arrays}, + pubstate = {published}, + category = {article} +} + +@article{LeeTVLSI2009, + title = {Partially Protected Caches to Reduce Failures due to Soft Errors in Multimedia Applications}, + author = {Kyoungwoo Lee and Aviral Shrivastava and Ilya Issenin and Nikil Dutt and Nalini Venkatasubramanian}, + url = {https://mpslab-asu.github.io/publications/papers/Lee2009TVLSI.pdf}, + year = {2009}, + date = {2009-01-01}, + journal = {IEEE Transactions on VLSI}, + volume = {17}, + number = {9}, + pages = {1343-1348}, + note = {ISSN 1063-8210}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {article} +} + +@mastersthesis{AmitMASTERTHESIS2009, + title = {A Dynamic Code Mapping Technique for Scratch Pad Memories in Embedded Systems}, + author = {Amit Pabalkar}, + url = {https://mpslab-asu.github.io/publications/papers/Pabalkar2009THESIS.pdf https://mpslab-asu.github.io/publications/slides/Pabalkar2009THESIS.slides}, + year = {2009}, + date = {2009-01-01}, + school = {School of Computing, Informatics, and Decision Systems Engineering (CIDSE)}, + research = {Power, Temperature and Variation Aware Computing, Software Managed Manycore (SMM)}, + pubstate = {published}, + category = {Masters Thesis} +} + +@mastersthesis{RoojuMASTERTHESIS2009, + title = {Residue number system enhancements for programmable processors}, + author = {Rooju Chokshi}, + url = {https://mpslab-asu.github.io/publications/papers/Chokshi2009THESIS.pdf https://mpslab-asu.github.io/publications/slides/Chokshi2009THESIS.slides}, + year = {2009}, + date = {2009-01-01}, + school = {School of Computing, Informatics, and Decision Systems Engineering (CIDSE)}, + research = {Power, Temperature and Variation Aware Computing}, + pubstate = {published}, + category = {Masters Thesis} +} + +@mastersthesis{SaiMASTERTHESIS2009, + title = {Improving Application Response Times of Nand Flash based Systems}, + author = {Sai Krishna Mylavarapu}, + url = {https://mpslab-asu.github.io/publications/papers/Mylavarapu2009THESIS.pdf https://mpslab-asu.github.io/publications/slides/Mylavarapu2009THESIS.slides}, + year = {2009}, + date = {2009-01-01}, + school = {School of Computing, Informatics, and Decision Systems Engineering (CIDSE)}, + research = {Efficient Embedded Computing}, + pubstate = {published}, + category = {Masters Thesis} +} + +@techreport{LeeTECHREPORT2008, + title = {Cross-Layer Interactions of Error Control Schemes in Mobile Multimedia Systems}, + author = {Kyoungwoo Lee and Aviral Shrivastava and Minyoung Kim and Nikil Dutt and Nalini Venkatasubramanian}, + url = {https://mpslab-asu.github.io/publications/papers/Lee2008REPORTA.pdf}, + year = {2008}, + date = {2008-07-01}, + institution = {University of California, Irvine}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {Tech Report} +} + +@article{ParkTCAD2008, + title = {Register File Power Reduction Using Bypass Sensitive Compiler}, + author = {Sanghyun Park and Aviral Shrivastava and Nikil Dutt and Alexandru Nicolau and Yunheung Paek and Eugene Earlie}, + url = {https://mpslab-asu.github.io/publications/papers/Park2008TCAD.pdf}, + year = {2008}, + date = {2008-06-01}, + journal = {IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems}, + volume = {27}, + number = {6}, + pages = {1155-1159}, + note = {ISSN 0278-0070}, + research = {Bypass Aware Compiler, Power, Temperature and Variation Aware Computing}, + pubstate = {published}, + category = {article} +} + +@techreport{LeeTECHREPORT2008_2, + title = {Partially Protected Caches to Reduce Failures due to Soft Errors in Mission-Critical Multimedia Systems}, + author = {Kyoungwoo Lee and Aviral Shrivastava and Ilya Issenin and Nikil Dutt and Nalini Venkatasubramanian}, + year = {2008}, + date = {2008-06-01}, + institution = {University of California, Irvine}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {Tech Report} +} + +@inproceedings{LeeCODESISSS2008, + title = {Static analysis of processor stall cycle aggregation}, + author = {Jongeun Lee and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Lee2008CODES.pdf https://mpslab-asu.github.io/publications/slides/Lee2008CODES.slides}, + year = {2008}, + date = {2008-01-01}, + booktitle = {CODES/ISSS '08: Proceedings of the international conference on Hardware/Software codesign and system synthesis}, + pages = {25-30}, + note = {ISBN 978-1-60558-470-6}, + research = {Power, Temperature and Variation Aware Computing, Processor Idle Cycle Aggregation}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{PabalkarHIPC2008, + title = {SDRM: Simultaneous Determination of Regions and Function-to-Region Mapping for Scratchpad Memories}, + author = {Amit Pabalkar and Aviral Shrivastava and Arun Kannan and Jongeun Lee}, + url = {https://mpslab-asu.github.io/publications/papers/Pabalkar2008HIPC.pdf https://mpslab-asu.github.io/publications/slides/Pabalkar2008HIPC.slides}, + year = {2008}, + date = {2008-01-01}, + booktitle = {HIPC 2008 :International Conference on High Performance Computing}, + pages = {569-582}, + research = {Power, Temperature and Variation Aware Computing, Software Managed Manycore (SMM)}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{LeeMM2008, + title = {Mitigating the impact of hardware defects on multimedia applications: a cross-layer approach}, + author = {Kyoungwoo Lee and Aviral Shrivastava and Minyoung Kim and Nikil Dutt and Nalini Venkatasubramanian}, + url = {https://mpslab-asu.github.io/publications/papers/Lee2008MM.pdf https://mpslab-asu.github.io/publications/slides/Lee2008MM.slides}, + year = {2008}, + date = {2008-01-01}, + booktitle = {MM '08: Proceeding of the 16th ACM international conference on Multimedia}, + pages = {319-328}, + note = {ISBN 978-1-60558-303-7}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{ParkDATE2008, + title = {Hiding cache miss penalty using priority-based execution for embedded processors}, + author = {Sanghyun Park and Aviral Shrivastava and Yunheung Paek}, + year = {2008}, + date = {2008-01-01}, + booktitle = {DATE '08: Proceedings of the conference on Design, automation and test in Europe}, + note = {ISBN 978-3-9810801-3-1}, + research = {Efficient Embedded Computing}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{YoonDAC2008, + title = {SPKM: a novel graph drawing based algorithm for application mapping onto coarse-grained reconfigurable architectures}, + author = {Jonghee Yoon and Aviral Shrivastava and Sanghyun Park and Minwook Ahn and Reiley Jeyapaul and Yunheung Paek}, + url = {https://mpslab-asu.github.io/publications/papers/Yoon2008ASPDAC.pdf https://mpslab-asu.github.io/publications/slides/Yoon2008ASPDAC.slides}, + year = {2008}, + date = {2008-01-01}, + booktitle = {ASP-DAC '08: Proceedings of the conference on Asia and South Pacific design automation}, + pages = {776-782}, + note = {ISBN 978-1-4244-1922-7 (Best Paper Award Candidate)}, + research = {Coarse-Grained Reconfigurable Arrays}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{ShrivastavaDAC2008, + title = {A compiler-in-the-loop framework to explore horizontally partitioned cache architectures}, + author = {Aviral Shrivastava and Ilya Issenin and Nikil Dutt}, + url = {https://mpslab-asu.github.io/publications/papers/Shrivastava2008ASPDAC.pdf https://mpslab-asu.github.io/publications/slides/Shrivastava2008ASPDAC.slides}, + year = {2008}, + date = {2008-01-01}, + booktitle = {ASP-DAC '08: Proceedings of the conference on Asia and South Pacific design automation}, + pages = {328-333}, + note = {ISBN 978-1-4244-1922-7}, + research = {Efficient Embedded Computing}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{KannanVLSID2008, + title = {PTSMT: A Tool for Cross-Level Power, Performance, and Thermal Exploration of SMT Processors}, + author = {Deepa Kannan and Aseem Gupta and Aviral Shrivastava and Nikil Dutt and Fadi J Kurdahi}, + url = {https://mpslab-asu.github.io/publications/papers/Kannan2008VLSIDA.pdf https://mpslab-asu.github.io/publications/slides/Kannan2008VLSIDA.slides}, + year = {2008}, + date = {2008-01-01}, + booktitle = {VLSID '08: Proceedings of the 21st International Conference on VLSI Design}, + pages = {421-427}, + note = {ISBN 0-7695-3083-4}, + research = {Power, Temperature and Variation Aware Computing}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{KannanVLSI2008, + title = {Temperature and Process Variations aware Power Gating of Functional Units}, + author = {Deepa Kannan and Aviral Shrivastava and Vipin Mohan and Sarvesh Bhardwaj and Sarma Vrudhula}, + url = {https://mpslab-asu.github.io/publications/papers/Kannan2008VLSIDB.pdf}, + year = {2008}, + date = {2008-01-01}, + booktitle = {VLSID '08: Proceedings of the 21st International Conference on VLSI Design}, + pages = {515-520}, + note = {ISBN 0-7695-3083-4}, + research = {Power, Temperature and Variation Aware Computing}, + pubstate = {published}, + category = {Proceedings} +} + +@incollection{MishraPDL2008, + title = {ADL-Driven Methodologies for Design Automation of Programmable Architectures}, + author = {Prabhat Mishra and Aviral Shrivastava}, + url = {http://dl.acm.org/citation.cfm?id=1481522}, + year = {2008}, + date = {2008-01-01}, + booktitle = {Processor Description Languages: Applications and Methodologies}, + series = {Systems on Silicon}, + research = {Efficient Embedded Computing}, + pubstate = {published}, + category = {Collection} +} + +@article{LeeDESDMR2008, + title = {Data Partitioning Techniques for Partially Protected Caches to Reduce Soft Error Induced Failures}, + author = {Kyoungwoo Lee and Aviral Shrivastava and Nikil Dutt and Nalini Venkatasubramanian}, + url = {https://mpslab-asu.github.io/publications/papers/Lee2008DESD.pdf https://mpslab-asu.github.io/publications/slides/Lee2008DESD.slides}, + year = {2008}, + date = {2008-01-01}, + booktitle = {DIPES 2008 :IFIP Conference on Distributed and Parallel Embedded Systems}, + journal = {Distributed Embedded Systems: Design, Middleware and Resources}, + volume = {271}, + pages = {213-225}, + note = {10.1007/978-0-387-09661-2_21}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {article} +} + +@inproceedings{KannanVLSID2008_2, + title = {Power Reduction of Functional Units Considering Temperature and Process Variations}, + author = {Deepa Kannan and Aviral Shrivastava and Sarvesh Bhardwaj and Sarma Vrudhula}, + url = {https://mpslab-asu.github.io/publications/papers/Kannan2008VLSIDC.pdf https://mpslab-asu.github.io/publications/slides/Kannan2008VLSIDC.slides}, + year = {2008}, + date = {2008-01-01}, + booktitle = {VLSID'08: Proceedings of the 21st International Conference on VLSI Design}, + pages = {533--539}, + booktitle = {IEEE Computer Society}, + address = {Washington, DC, USA}, + note = {ISBN 0-7695-3083-4}, + research = {Power, Temperature and Variation Aware Computing}, + pubstate = {published}, + category = {Proceedings} +} + +@mastersthesis{JeyapaulMASTERTHESIS2008, + title = {Static Analysis to Mitigate Soft Error Failures in Processors}, + author = {Reiley Jeyapaul}, + url = {https://mpslab-asu.github.io/publications/papers/Jeyapaul2008THESIS.pdf https://mpslab-asu.github.io/publications/slides/Jeyapaul2008THESIS.pptx}, + year = {2008}, + date = {2008-01-01}, + school = {Arizona State University}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {Masters Thesis} +} + +@inbook{MishraBOOK2008, + title = {ADL-driven Methodologies for Design Automation of Embedded Processors}, + author = {Prabhat Mishra and Aviral Shrivastava}, + year = {2008}, + date = {2008-01-01}, + booktitle = {Processor Description Languages}, + pages = {13-33}, + booktitle = {Elsevier Inc.}, + chapter = {2}, + research = {Efficient Embedded Computing}, + pubstate = {published}, + category = {Book} +} + +@inproceedings{LeeACMMM2008, + title = {Mitigating the Impact of Hardware Defects on Multimedia Applications � A Cross-Layer Approach}, + author = {Kyoungwoo Lee and Aviral Shrivastava and Minyoung Kim and Nikil Dutt and Nalini Venkatasubramanian}, + url = {https://mpslab-asu.github.io/publications/papers/Lee2008MM.pdf https://mpslab-asu.github.io/publications/slides/Lee2008MM.slides}, + year = {2008}, + date = {2008-01-01}, + booktitle = {ACM International Conference on Multimedia}, + booktitle = {ACM}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{BakerCODESISSS2007, + title = {Smart driver for power reduction in next generation bistable electrophoretic display technology}, + author = {Michael A Baker and Aviral Shrivastava and Karam S Chatha}, + url = {https://mpslab-asu.github.io/publications/papers/Baker2007CODES.pdf https://mpslab-asu.github.io/publications/slides/Baker2007CODES.slides}, + year = {2007}, + date = {2007-01-01}, + booktitle = {CODES+ISSS '07: Proceedings of international conference on Hardware/software codesign and system synthesis}, + pages = {197-202}, + note = {ISBN 978-1-59593-824-4}, + research = {Power, Temperature and Variation Aware Computing}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{YoonWASP2007, + title = {Power Conscious Mapping onto Coarse-Grained Reconfigurable Architectures using Graph Drawing based Algorithm}, + author = {Jonghee Yoon and Aviral Shrivastava and Sanghyun Park and Minwook Ahn and Yunheung Paek}, + url = {https://mpslab-asu.github.io/publications/slides/Yoon2007WASP.slides}, + year = {2007}, + date = {2007-01-01}, + booktitle = {WASP '07: Workshop on Application Specific Processors}, + research = {Coarse-Grained Reconfigurable Arrays}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{ZhuDATE2007, + title = {Interactive presentation: Functional and timing validation of partially bypassed processor pipelines}, + author = {Qiang Zhu and Aviral Shrivastava and Nikil Dutt}, + url = {https://mpslab-asu.github.io/publications/papers/Zhu2007DATE.pdf https://mpslab-asu.github.io/publications/slides/Zhu2007DATE.slides}, + year = {2007}, + date = {2007-01-01}, + booktitle = {DATE '07: Proceedings of the conference on Design, automation and test in Europe}, + pages = {1164-1169}, + note = {ISBN 978-3-9810801-2-4}, + research = {Bypass Aware Compiler, Power, Temperature and Variation Aware Computing}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{MisraICC2007, + title = {Robust Localization in Wireless Sensor Networks through the Revocation of Malicious Anchors}, + author = {Satyajayant Misra and Guoliang Xue and Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Misra2007ICC.pdf https://mpslab-asu.github.io/publications/slides/Misra2007ICC.slides}, + year = {2007}, + date = {2007-01-01}, + booktitle = {ICC '07. IEEE International Conference on Communications}, + pages = {3057-3062}, + research = {Efficient Embedded Computing}, + pubstate = {published}, + category = {Proceedings} +} + +@incollection{ShrivastavaTCDHOAMCG22007, + title = {Compiler Aided Design of Embedded Computers}, + author = {Aviral Shrivastava and Nikil Dutt}, + url = {https://www.crcpress.com/The-Compiler-Design-Handbook-Optimizations-and-Machine-Code-Generation/Srikant-Shankar/9781420043822}, + year = {2007}, + date = {2007-01-01}, + booktitle = {The Compiler Design Handbook: Optimizations and Machine Code Generation:2nd Edition}, + research = {Efficient Embedded Computing}, + pubstate = {published}, + category = {Collection} +} + +@article{ParkTCAD2007, + title = {Automatic Design Space Exploration of Register Bypasses in Embedded Processors}, + author = {Sanghyun Park and Aviral Shrivastava and Eugene Earlie and Nikil Dutt and Alexandru Nicolau and Yunheung Paek}, + url = {https://mpslab-asu.github.io/publications/papers/Park2007TCAD.pdf}, + year = {2007}, + date = {2007-01-01}, + journal = {IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems}, + volume = {26}, + number = {12}, + pages = {2102-2115}, + note = {ISSN 0278-0070}, + research = {Efficient Embedded Computing}, + pubstate = {published}, + category = {article} +} + +@inproceedings{YoonVLSI2007, + title = {Efficient Mapping onto Coarse-Grained Reconfigurable Architectures using Graph Drawing based Algorithm}, + author = {Jonghee Yoon and Aviral Shrivastava and Sanghyun Park and Minwook Ahn and Reiley Jeyapaul and Yunheung Paek}, + url = {https://mpslab-asu.github.io/publications/papers/Yoon2007VLSID.pdf https://mpslab-asu.github.io/publications/slides/Yoon2007VLSID.slides}, + year = {2007}, + date = {2007-01-01}, + booktitle = {2007 International Conference on VLSI Design (VLSID 2007)}, + booktitle = {IEEE}, + research = {Coarse-Grained Reconfigurable Arrays}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{LeeCASES2006, + title = {Mitigating soft error failures for multimedia applications by selective data protection}, + author = {Kyoungwoo Lee and Aviral Shrivastava and Ilya Issenin and Nikil Dutt and Nalini Venkatasubramanian}, + url = {https://mpslab-asu.github.io/publications/papers/Lee2006CASES.pdf https://mpslab-asu.github.io/publications/slides/Lee2006CASES.slides}, + year = {2006}, + date = {2006-01-01}, + booktitle = {CASES '06: Proceedings of the international conference on Compilers, architecture and synthesis for embedded systems}, + pages = {411-420}, + note = {ISBN 1-59593-543-6}, + research = {Reliability for Machine Learning}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{ParkLCTES2006, + title = {Bypass Aware Instruction Scheduling for Register File Power Reduction}, + author = {Sanghyun Park and Aviral Shrivastava and Nikil Dutt and Alexandru Nicolau and Yunheung Paek and Eugene Earlie}, + url = {https://mpslab-asu.github.io/publications/papers/Park2006LCTES.pdf https://mpslab-asu.github.io/publications/slides/Park2006LCTES.slides}, + year = {2006}, + date = {2006-01-01}, + booktitle = {Proceedings of the conference on Language, Compilers and Tool support for Embedded Systems}, + pages = {173-181}, + note = {ISBN 0362-1340}, + research = {Bypass Aware Compiler, Power, Temperature and Variation Aware Computing}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{ParkDATE2006, + title = {Automatic Generation of Operation Tables for Fast Exploration of Bypasses in Embedded Processors}, + author = {Sanghyun Park and Eugene Earlie and Aviral Shrivastava and Alexandru Nicolau and Nikil Dutt and Yunheung Paek}, + url = {https://mpslab-asu.github.io/publications/papers/Park2006DATE.pdf https://mpslab-asu.github.io/publications/slides/Park2006DATE.slides}, + year = {2006}, + date = {2006-01-01}, + booktitle = {DATE '06: Proceedings of the conference on Design, automation and test in Europe}, + pages = {1197-1202}, + note = {ISBN 3-9810801-0-6}, + research = {Bypass Aware Compiler, Power, Temperature and Variation Aware Computing}, + pubstate = {published}, + category = {Proceedings} +} + +@article{MishraTODAES2006, + title = {Architecture description language (ADL)-driven software toolkit generation for architectural exploration of programmable SOCs}, + author = {Prabhat Mishra and Aviral Shrivastava and Nikil Dutt}, + url = {https://mpslab-asu.github.io/publications/papers/Mishra2006TOADAES.pdf}, + year = {2006}, + date = {2006-01-01}, + journal = {ACM Transactions on Design Automation of Electronic Systems}, + volume = {11}, + number = {3}, + pages = {626-658}, + note = {ISSN 1084-4309}, + research = {Efficient Embedded Computing}, + pubstate = {published}, + category = {article} +} + +@article{ShrivastavaTVLSI2006, + title = {Retargetable pipeline hazard detection for partially bypassed processors}, + author = {Aviral Shrivastava and Eugene Earlie and Nikil Dutt and Alexandru Nicolau}, + url = {https://mpslab-asu.github.io/publications/papers/Shrivastava2006TVLSI.pdf}, + year = {2006}, + date = {2006-01-01}, + booktitle = {IEEE Transactions on Very Large Scale Integration (VLSI) Systems}, + volume = {14}, + pages = {791-801}, + note = {ISBN 1063-8210}, + research = {Efficient Embedded Computing}, + pubstate = {published}, + category = {article} +} + +@article{ShrivastavaTODAES2006, + title = {Compilation framework for code size reduction using reduced bit-width ISAs (rSAs)}, + author = {Aviral Shrivastava and Partha Biswas and Ashok Halambi and Nikil Dutt and Alexandru Nicolau}, + url = {https://mpslab-asu.github.io/publications/papers/Shrivastava2006TODAES.pdf}, + year = {2006}, + date = {2006-01-01}, + journal = {ACM Transactions on Design Automation of Electronic Systems}, + volume = {11}, + number = {1}, + pages = {123-146}, + note = {ISSN 1084-4309}, + research = {Power, Temperature and Variation Aware Computing, Reduced bit-width Instruction Set Architecture}, + pubstate = {published}, + category = {article} +} + +@phdthesis{ShrivastavaPHDTHESIS2006, + title = {Compiler-in-Loop Exploration of Programmable Embedded Systems}, + author = {Aviral Shrivastava}, + url = {https://mpslab-asu.github.io/publications/papers/Shrivastava2006THESIS.pdf https://mpslab-asu.github.io/publications/slides/Shrivastava2006THESIS.slides}, + year = {2006}, + date = {2006-01-01}, + school = {Donald Bren School of Information and Computer Sciences}, + research = {Efficient Embedded Computing}, + pubstate = {published}, + category = {PhD Thesis} +} + +@inproceedings{ShrivastavaCASES2005, + title = {Compilation techniques for energy reduction in horizontally partitioned cache architectures}, + author = {Aviral Shrivastava and Ilya Issenin and Nikil Dutt}, + url = {https://mpslab-asu.github.io/publications/papers/Shrivastava2005CASES.pdf https://mpslab-asu.github.io/publications/slides/Shrivastava2005CASES.slides}, + year = {2005}, + date = {2005-01-01}, + booktitle = {CASES '05: Proceedings of the 2005 international conference on Compilers, architectures and synthesis for embedded systems}, + pages = {90-96}, + note = {ISBN 1-59593-149-X}, + research = {Power, Temperature and Variation Aware Computing}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{ShrivastavaCODESISSS2005, + title = {Aggregating processor free time for energy reduction}, + author = {Aviral Shrivastava and Eugene Earlie and Nikil Dutt and Alexandru Nicolau}, + url = {https://mpslab-asu.github.io/publications/papers/Shrivastava2005CODES.pdf https://mpslab-asu.github.io/publications/slides/Shrivastava2005CODES.slides}, + year = {2005}, + date = {2005-01-01}, + booktitle = {CODES+ISSS '05: Proceedings of the international conference on Hardware/software codesign and system synthesis}, + pages = {154-159}, + note = {ISBN 1-59593-161-9}, + research = {Power, Temperature and Variation Aware Computing, Processor Idle Cycle Aggregation}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{ShrivastavaDATE2005, + title = {PBExplore: A Framework for Compiler-in-the-Loop Exploration of Partial Bypassing in Embedded Processors}, + author = {Aviral Shrivastava and Nikil Dutt and Alexandru Nicolau and Eugene Earlie}, + url = {https://mpslab-asu.github.io/publications/papers/Shrivastava2005DATE.pdf https://mpslab-asu.github.io/publications/slides/Shrivastava2005DATE.slides}, + year = {2005}, + date = {2005-01-01}, + booktitle = {DATE '05: Proceedings of the conference on Design, Automation and Test in Europe}, + research = {Bypass Aware Compiler, Power, Temperature and Variation Aware Computing}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{ShrivastavaTECHCONSRC2005, + title = {Compiler-in-the-Loop ADL-driven Early Architectural Exploration}, + author = {Aviral Shrivastava and Nikil Dutt and Alexandru Nicolau and Eugene Earlie}, + url = {https://mpslab-asu.github.io/publications/papers/Shrivastava2005TECHCON.pdf https://mpslab-asu.github.io/publications/slides/Shrivastava2005TECHCON.slides}, + year = {2005}, + date = {2005-01-01}, + booktitle = {TECHCON 2005: Semiconductor Research Corporation}, + research = {Efficient Embedded Computing}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{ShrivastavaCODES2004, + title = {Operation tables for scheduling in the presence of incomplete bypassing.}, + author = {Aviral Shrivastava and Eugene Earlie and Nikil Dutt and Alexandru Nicolau}, + url = {https://mpslab-asu.github.io/publications/papers/Shrivastava2004CODES.pdf https://mpslab-asu.github.io/publications/slides/Shrivastava2004CODES.slides}, + year = {2004}, + date = {2004-01-01}, + booktitle = {CODES+ISSS}, + pages = {194-199}, + research = {Bypass Aware Compiler, Power, Temperature and Variation Aware Computing}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{ShrivastavaASPDAC2004, + title = {Energy efficient code generation exploiting reduced bit-width instruction set architectures (rISA)}, + author = {Aviral Shrivastava and Nikil Dutt}, + url = {https://mpslab-asu.github.io/publications/papers/Shrivastava2004ASPDAC.pdf https://mpslab-asu.github.io/publications/slides/Shrivastava2004ASPDAC.slides}, + year = {2004}, + date = {2004-01-01}, + booktitle = {ASP-DAC '04: Proceedings of the 2004 conference on Asia South Pacific design automation}, + pages = {475-477}, + note = {ISBN 0-7803-8175-0}, + research = {Power, Temperature and Variation Aware Computing, Reduced bit-width Instruction Set Architecture}, + pubstate = {published}, + category = {Proceedings} +} + +@techreport{PasrichaTECHREPORT2003, + title = {A Framework for GUI-driven Design Space Exploration of a MIPS4K-like processor}, + author = {Sudeep Pasricha and Partha Biswas and Prabhat Mishra and Aviral Shrivastava and Atri Mandal and Nikil Dutt and Alexandru Nicolau}, + url = {https://mpslab-asu.github.io/publications/papers/Pasricha2003REPORT.pdf}, + year = {2003}, + date = {2003-04-01}, + institution = {University of California, Irvine}, + research = {Efficient Embedded Computing}, + pubstate = {published}, + category = {Tech Report} +} + +@inproceedings{HalambiISSS2002, + title = {A design space exploration framework for reduced bit-width instruction set architecture (rISA) design}, + author = {Ashok Halambi and Aviral Shrivastava and Partha Biswas and Nikil Dutt and Alexandru Nicolau}, + url = {https://mpslab-asu.github.io/publications/papers/Halambi2002ISSS.pdf https://mpslab-asu.github.io/publications/slides/Halambi2002ISSS.slides}, + year = {2002}, + date = {2002-01-01}, + booktitle = {ISSS '02: Proceedings of the 15th international symposium on System Synthesis}, + pages = {120-125}, + note = {ISBN 1-58113-576-9}, + research = {Power, Temperature and Variation Aware Computing, Reduced bit-width Instruction Set Architecture}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{HalambiDATE2002, + title = {An Efficient Compiler Technique for Code Size Reduction Using Reduced Bit-Width ISAs}, + author = {Ashok Halambi and Aviral Shrivastava and Partha Biswas and Nikil Dutt and Alexandru Nicolau}, + url = {https://mpslab-asu.github.io/publications/papers/Halambi2002DATE.pdf https://mpslab-asu.github.io/publications/slides/Halambi2002DATE.slides}, + year = {2002}, + date = {2002-01-01}, + booktitle = {DATE '02: Proceedings of the conference on Design, automation and test in Europe}, + pages = {402}, + research = {Power, Temperature and Variation Aware Computing, Reduced bit-width Instruction Set Architecture}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{HalambiSCOPES2001, + title = {A customizable compiler framework for embedded systems}, + author = {Ashok Halambi and Aviral Shrivastava and Nikil Dutt and Alexandru Nicolau}, + url = {https://mpslab-asu.github.io/publications/papers/Halambi2001SCOPES.pdf}, + year = {2001}, + date = {2001-01-01}, + booktitle = {In SCOPES}, + booktitle = {Springer}, + research = {Efficient Embedded Computing}, + pubstate = {published}, + category = {Proceedings} +} + +@inproceedings{ShrivastavaVLSI2000, + title = {Optimal Hardware/Software Partitioning for Concurrent Specification Using Dynamic Programming}, + author = {Aviral Shrivastava and Mohit Kumar and Sanjiv Kapoor and Shashi Kumar and M Balakrishnan}, + url = {https://mpslab-asu.github.io/publications/papers/Shrivastava2000VLSID.pdf}, + year = {2000}, + date = {2000-01-01}, + booktitle = {VLSID '00: Proceedings of the 13th International Conference on VLSI Design}, + pages = {110}, + note = {ISBN 0-7695-0487-6}, + research = {Efficient Embedded Computing}, + pubstate = {published}, + category = {Proceedings} +} + diff --git a/src/data/software.json b/src/data/software.json new file mode 100644 index 0000000..bbec19f --- /dev/null +++ b/src/data/software.json @@ -0,0 +1,79 @@ +[ + { + "name": "DSP-MLIR", + "url": "https://github.com/MPSLab-ASU/DSP_MLIR", + "description": "Digital Signal Processing Compiler in MLIR", + "researchGroup": "MLIR", + "image": "/images/software/dsp-mlir.png" + }, + { + "name": "nZDC", + "url": "https://github.com/MPSLab-ASU/nZDC-Compiler", + "description": "LLVM based compiler for near zero silent data corruption.", + "researchGroup": "MLIR", + "image": "/images/software/nzdc.png" + }, + { + "name": "LLVM-r", + "url": "https://github.com/MPSLab-ASU/LLVM-r", + "description": "Resilience-aware LLVM based compiler with instruction-based duplication for error protection.", + "researchGroup": "MLIR", + "image": "/images/software/llvm-r.png" + }, + { + "name": "Expert", + "url": "https://github.com/MPSLab-ASU/EXPERT---Redundant-MultiThreding", + "description": "Error detection support with redundant multi-threading.", + "researchGroup": "MLIR", + "image": "/images/software/expert.png" + }, + { + "name": "GemV", + "url": "https://github.com/MPSLab-ASU/gemV", + "description": "Micro-architecture vulnerability estimation tool (based on gem5 simulator). For a brief summary of error resilience tools, please visit this page .", + "researchGroup": "MLIR", + "image": "/images/software/gemv.png" + }, + { + "name": "dMazeRunner", + "url": "https://github.com/MPSLab-ASU/dMazeRunner", + "description": "Dataflow optimization infrastructure for coarse-grain programmable accelerators.", + "researchGroup": "Machine Learning Accelerators", + "image": "/images/software/dmazerunner.png" + }, + { + "name": "DiRAC", + "url": "https://github.com/MPSLab-ASU/DiRAC", + "description": "Architecture template and cycle-level microarchitecture simulator for dataflow accelerators.", + "researchGroup": "Machine Learning Accelerators", + "image": "/images/software/dirac.png" + }, + { + "name": "CCF", + "url": "https://github.com/MPSLab-ASU/ccf", + "description": "CGRA compilation and simulation framework.", + "researchGroup": "Accelerated Computing", + "image": "/images/software/ccf.png" + }, + { + "name": "SMM toolchain", + "url": "https://github.com/cmlasu/smm_frameworks", + "description": "Toolchain for application execution on SMM architectures.", + "researchGroup": "Software Managed Manycores", + "image": "/images/software/smm-toolchain.png" + }, + { + "name": "TMA", + "url": "https://github.com/cmlasu/tma", + "description": "Timestamp based monitoring tool for CPS applications.", + "researchGroup": "Cyber-Physical & IoT Systems", + "image": "/images/software/tma.png" + }, + { + "name": "Jobbed", + "url": "https://github.com/MPSLab-ASU/Jobbed", + "description": "RTOS for the Raspberry Pi 2B", + "researchGroup": "Cyber-Physical & IoT Systems", + "image": "/images/software/jobbed.png" + } +] \ No newline at end of file diff --git a/src/data/sponsors.json b/src/data/sponsors.json new file mode 100644 index 0000000..86024d4 --- /dev/null +++ b/src/data/sponsors.json @@ -0,0 +1,57 @@ +[ + { + "name": "NSF", + "logo": "/images/sponsors/logo-nsf.jpg", + "url": "" + }, + { + "name": "Intel", + "logo": "/images/sponsors/intlogo.jpg", + "url": "" + }, + { + "name": "Semiconductor Research Corporation", + "logo": "/images/sponsors/semiconductor-research-corporation-wikipedia.png", + "url": "" + }, + { + "name": "NVIDIA", + "logo": "/images/sponsors/nvidia-logo.jpg", + "url": "" + }, + { + "name": "NIST", + "logo": "/images/sponsors/nist.png", + "url": "http://www.nist.gov/" + }, + { + "name": "Department of Energy", + "logo": "/images/sponsors/new-doe-logo-color-web.jpg", + "url": "http://www.energy.gov/" + }, + { + "name": "Raytheon", + "logo": "/images/sponsors/rtn-logo.gif", + "url": "" + }, + { + "name": "Science Foundation Arizona", + "logo": "/images/sponsors/logosfaz.gif", + "url": "" + }, + { + "name": "Microsoft Research", + "logo": "/images/sponsors/logo-msr.png", + "url": "" + }, + { + "name": "SignHear", + "logo": "/images/sponsors/signhear-logo.png", + "url": "" + }, + { + "name": "Semiconductor Design Center", + "logo": "/images/sponsors/sdc-color.gif", + "url": "" + } +] \ No newline at end of file diff --git a/src/env.d.ts b/src/env.d.ts new file mode 100644 index 0000000..acef35f --- /dev/null +++ b/src/env.d.ts @@ -0,0 +1,2 @@ +/// +/// diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro new file mode 100644 index 0000000..59b998c --- /dev/null +++ b/src/layouts/Layout.astro @@ -0,0 +1,37 @@ +--- +import '../styles/main.scss'; + +interface Props { + title: string; + description?: string; +} + +const { title, description = 'MPS Lab — Making Programming Simple at Arizona State University' } = Astro.props; +--- + + + + + + + + + {title} | MPS Lab @ ASU + + + + + +
+ +
+ + + diff --git a/src/pages/contact.astro b/src/pages/contact.astro new file mode 100644 index 0000000..2bbd314 --- /dev/null +++ b/src/pages/contact.astro @@ -0,0 +1,128 @@ +--- +import Footer from "../components/astro/Footer.astro"; +import Navbar from "../components/astro/Navbar.astro"; +import Layout from "../layouts/Layout.astro"; +--- + + + + +
+
+
+

+ Contact Us +

+

+ Interested in our research or looking to collaborate? Get in touch + with MPS Lab. +

+
+ +
+ +
+
+

Lab Director

+
+

Dr. Aviral Shrivastava

+

Professor, School of Computing & Augmented Intelligence

+

+ + aviral.shrivastava@asu.edu + +

+
+
+ +
+

Lab Location

+
+

MPS Lab

+

School of Computing & Augmented Intelligence

+

Arizona State University

+

+ Centerpoint Building, Office 203-15 +

+

660 S. Mill Ave

+

Tempe, AZ 85281

+
+
+ +
+

Useful Links

+ +
+
+ + +
+
+

Send a Message

+

+ Use the form below to reach out to us. We typically respond within + 2–3 business days. +

+ +
+
+ + + +

+ Google Form will be embedded here. +

+

+ For now, please email us directly at + aviral.shrivastava@asu.edu +

+
+
+
+
+
+
+
+ +