From 68195ac6dfc5b713c993f38314f94e16f6c6253a Mon Sep 17 00:00:00 2001 From: AlpNuhoglu Date: Tue, 19 May 2026 16:11:47 +0300 Subject: [PATCH 01/10] chore: configure deployment environments, project aliases, and CORS profiles - Add .firebaserc with dev/prod project aliases for firebase use switching - Add .env.production template documenting all required vars (no real values) - Update .env.example to include FIREBASE_ADMIN_* server-only vars - Update .gitignore: untrack .firebaserc (needed in CI), scope env ignores, add service-account JSON patterns - Add firebase.json Storage emulator port; remove any hosting block - Add cors.json for Firebase Storage CORS policy (applied via gsutil) Co-Authored-By: Claude Sonnet 4.6 --- .env.example | 32 ++++++++++++++++++++++++++------ .env.production | 35 +++++++++++++++++++++++++++++++++++ .firebaserc | 8 ++++++++ .gitignore | 14 ++++++++++---- cors.json | 17 +++++++++++++++++ firebase.json | 4 ++++ 6 files changed, 100 insertions(+), 10 deletions(-) create mode 100644 .env.production create mode 100644 .firebaserc create mode 100644 cors.json diff --git a/.env.example b/.env.example index ff3330c..b048b72 100644 --- a/.env.example +++ b/.env.example @@ -1,6 +1,26 @@ -NEXT_PUBLIC_FIREBASE_API_KEY= -NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN= -NEXT_PUBLIC_FIREBASE_PROJECT_ID= -NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET= -NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID= -NEXT_PUBLIC_FIREBASE_APP_ID= +# ───────────────────────────────────────────────────────────────────────────── +# .env.example — committed to git as documentation of all required variables. +# +# Copy to .env.local for local development (dev Firebase project). +# Copy to .env.production.local for local production builds. +# In CI/CD (Vercel / GitHub Actions) set these in the platform's secret store. +# ───────────────────────────────────────────────────────────────────────────── + +# ── Firebase Client SDK (NEXT_PUBLIC_ = bundled into client JavaScript) ─────── +NEXT_PUBLIC_FIREBASE_API_KEY=your-api-key-here +NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your-project.firebaseapp.com +NEXT_PUBLIC_FIREBASE_PROJECT_ID=your-project-id +NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your-project.firebasestorage.app +NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=000000000000 +NEXT_PUBLIC_FIREBASE_APP_ID=1:000000000000:web:xxxxxxxxxxxx + +# ── Firebase Admin SDK (server-only, used in API routes & instrumentation) ──── +# Obtain from Firebase Console → Project Settings → Service accounts. +# Never prefix these with NEXT_PUBLIC_ — they must not reach the browser. +FIREBASE_ADMIN_PROJECT_ID=your-project-id +FIREBASE_ADMIN_CLIENT_EMAIL=firebase-adminsdk-xxxxx@your-project.iam.gserviceaccount.com +FIREBASE_ADMIN_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----\n...\n-----END RSA PRIVATE KEY-----\n" + +# ── Application ─────────────────────────────────────────────────────────────── +NEXT_PUBLIC_SITE_URL=http://localhost:3000 +NODE_ENV=development diff --git a/.env.production b/.env.production new file mode 100644 index 0000000..c9fddee --- /dev/null +++ b/.env.production @@ -0,0 +1,35 @@ +# ───────────────────────────────────────────────────────────────────────────── +# .env.production — TEMPLATE ONLY +# +# DO NOT commit real values. Copy this file to .env.production.local for local +# production builds, or populate these in your Vercel project's "Production" +# environment variable scope. +# +# NEXT_PUBLIC_* vars are baked into the client bundle at build time. +# All other vars are server-only (API routes / instrumentation). +# ───────────────────────────────────────────────────────────────────────────── + +# ── Firebase Client SDK (public — safe to expose in browser bundle) ─────────── +# These must point to the PRODUCTION Firebase project, not the dev project. +NEXT_PUBLIC_FIREBASE_API_KEY= +NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN= +NEXT_PUBLIC_FIREBASE_PROJECT_ID= +NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET= +NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID= +NEXT_PUBLIC_FIREBASE_APP_ID= + +# ── Firebase Admin SDK (server-only — NEVER prefix with NEXT_PUBLIC_) ───────── +# Generate a service account key in Firebase Console → Project Settings → +# Service accounts → Generate new private key. Store the values here as +# individual fields rather than the raw JSON file. +# +# IMPORTANT: The private key contains literal \n characters. In Vercel's +# dashboard these are preserved automatically. In a local .env file, wrap +# the entire value in double quotes so newlines are not stripped. +FIREBASE_ADMIN_PROJECT_ID= +FIREBASE_ADMIN_CLIENT_EMAIL= +FIREBASE_ADMIN_PRIVATE_KEY= + +# ── Application ─────────────────────────────────────────────────────────────── +NEXT_PUBLIC_SITE_URL=https://www.your-ngo-domain.org +NODE_ENV=production diff --git a/.firebaserc b/.firebaserc new file mode 100644 index 0000000..5745f44 --- /dev/null +++ b/.firebaserc @@ -0,0 +1,8 @@ +{ + "projects": { + "default": "ngo-mg-website-47a1a", + "prod": "ngo-mg-website-prod" + }, + "targets": {}, + "etags": {} +} diff --git a/.gitignore b/.gitignore index 95d101a..b89b7d7 100644 --- a/.gitignore +++ b/.gitignore @@ -6,15 +6,21 @@ __v0_jsx-dev-runtime.ts # Common ignores node_modules/ .next/ -.env -.env*.local .DS_Store -serviceAccountKey.json notes.md CLAUDE.md -.firebaserc .claude/ .firebase/ .vscode/ docs/FIREBASE_SYNC_PLAN.md docs/PROGRESS.md + +# Environment variables — never commit real credentials +.env +.env.local +.env.production.local +.env*.local + +# Firebase Admin SDK service account key — use env vars instead (see .env.example) +serviceAccountKey.json +*-service-account*.json diff --git a/cors.json b/cors.json new file mode 100644 index 0000000..072d80a --- /dev/null +++ b/cors.json @@ -0,0 +1,17 @@ +[ + { + "origin": [ + "https://www.your-ngo-domain.org", + "https://your-ngo-domain.org", + "http://localhost:3000" + ], + "method": ["GET", "HEAD", "PUT", "POST", "DELETE"], + "maxAgeSeconds": 3600, + "responseHeader": [ + "Content-Type", + "Content-Length", + "Content-Disposition", + "Cache-Control" + ] + } +] diff --git a/firebase.json b/firebase.json index 85dcd70..8848573 100644 --- a/firebase.json +++ b/firebase.json @@ -11,6 +11,10 @@ "host": "127.0.0.1", "port": 8080 }, + "storage": { + "host": "127.0.0.1", + "port": 9199 + }, "ui": { "enabled": true, "host": "127.0.0.1", From eebe8912e0badbc52da857c6998bd95137e13d45 Mon Sep 17 00:00:00 2001 From: AlpNuhoglu Date: Tue, 19 May 2026 16:12:42 +0300 Subject: [PATCH 02/10] fix(backend): migrate auto-seeding from file-system service account to env variables autoSeed.server.ts was reading serviceAccountKey.json from disk, which does not exist in any cloud deployment environment (Vercel, Cloud Run, etc.) and would silently skip seeding or hard-crash firebase-admin initialization. Replaced with FIREBASE_ADMIN_PROJECT_ID / FIREBASE_ADMIN_CLIENT_EMAIL / FIREBASE_ADMIN_PRIVATE_KEY env var credentials. Private key \n literals are unescaped at runtime to handle Vercel's secret storage format. --- lib/firebase/autoSeed.server.ts | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/lib/firebase/autoSeed.server.ts b/lib/firebase/autoSeed.server.ts index 9fcdfd5..21ce2db 100644 --- a/lib/firebase/autoSeed.server.ts +++ b/lib/firebase/autoSeed.server.ts @@ -15,8 +15,6 @@ import { getApps, initializeApp, cert } from "firebase-admin/app"; import { getFirestore, FieldValue, Timestamp } from "firebase-admin/firestore"; -import { readFileSync, existsSync } from "fs"; -import { join } from "path"; import { seedSettings, seedCategories, @@ -34,15 +32,21 @@ import { function getAdminDb() { if (!getApps().length) { - const keyPath = join(process.cwd(), "serviceAccountKey.json"); - if (!existsSync(keyPath)) { + const projectId = process.env.FIREBASE_ADMIN_PROJECT_ID; + const clientEmail = process.env.FIREBASE_ADMIN_CLIENT_EMAIL; + // Vercel stores the private key with literal \n; replace them with real newlines. + const privateKey = process.env.FIREBASE_ADMIN_PRIVATE_KEY?.replace(/\\n/g, "\n"); + + if (!projectId || !clientEmail || !privateKey) { console.warn( - "[autoSeed] serviceAccountKey.json not found — skipping seed." + "[autoSeed] FIREBASE_ADMIN_* env vars not set — skipping seed." ); return null; } - const serviceAccount = JSON.parse(readFileSync(keyPath, "utf-8")); - initializeApp({ credential: cert(serviceAccount) }); + + initializeApp({ + credential: cert({ projectId, clientEmail, privateKey }), + }); } return getFirestore(); } From fa54363b6f4175c9cef89cdc31c653817773e13f Mon Sep 17 00:00:00 2001 From: AlpNuhoglu Date: Tue, 19 May 2026 16:12:54 +0300 Subject: [PATCH 03/10] ci: establish automated Next.js verification and Firebase rules deployment pipelines - Add .github/workflows/ci.yml: lint, unit tests, security rules tests (with Java for Firebase emulator), and full Next.js production build; runs on every PR and push to main/develop - Add .github/workflows/deploy-rules.yml: deploys Firestore and Storage rules to dev (develop branch) or prod (main branch, gated by the production GitHub Environment approval step) - Add DEPLOYMENT.md: comprehensive 6-phase deployment playbook covering env management, Firebase rules CLI, Vercel hosting, CI/CD setup, custom domain DNS records, SSL provisioning, and a post-deployment verification checklist with common gotcha fixes --- .github/workflows/ci.yml | 70 ++++++ .github/workflows/deploy-rules.yml | 78 +++++++ DEPLOYMENT.md | 359 +++++++++++++++++++++++++++++ 3 files changed, 507 insertions(+) create mode 100644 .github/workflows/ci.yml create mode 100644 .github/workflows/deploy-rules.yml create mode 100644 DEPLOYMENT.md diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..02dfabe --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,70 @@ +name: CI + +on: + push: + branches: [main, develop] + pull_request: + branches: [main, develop] + +concurrency: + group: ci-${{ github.ref }} + cancel-in-progress: true + +jobs: + quality: + name: Lint · Test · Build + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 20 + cache: npm + + # Java is required by the Firebase Firestore emulator used in test:rules + - name: Setup Java (for Firebase emulator) + uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: 17 + + - name: Install dependencies + run: npm ci + + # ── Inject env vars needed for the build step ─────────────────────────── + # Unit tests and lint do not need real Firebase credentials; the build + # step needs NEXT_PUBLIC_* values so Next.js can compile without warnings. + # Use development project values here — this job is a quality gate only, + # not a production deployment. + - name: Create .env for build + run: | + cat > .env.local << 'EOF' + NEXT_PUBLIC_FIREBASE_API_KEY=${{ secrets.DEV_FIREBASE_API_KEY }} + NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=${{ secrets.DEV_FIREBASE_AUTH_DOMAIN }} + NEXT_PUBLIC_FIREBASE_PROJECT_ID=${{ secrets.DEV_FIREBASE_PROJECT_ID }} + NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=${{ secrets.DEV_FIREBASE_STORAGE_BUCKET }} + NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=${{ secrets.DEV_FIREBASE_MESSAGING_SENDER_ID }} + NEXT_PUBLIC_FIREBASE_APP_ID=${{ secrets.DEV_FIREBASE_APP_ID }} + FIREBASE_ADMIN_PROJECT_ID=${{ secrets.DEV_FIREBASE_ADMIN_PROJECT_ID }} + FIREBASE_ADMIN_CLIENT_EMAIL=${{ secrets.DEV_FIREBASE_ADMIN_CLIENT_EMAIL }} + FIREBASE_ADMIN_PRIVATE_KEY=${{ secrets.DEV_FIREBASE_ADMIN_PRIVATE_KEY }} + EOF + + - name: Lint + run: npm run lint + + - name: Unit tests + run: npm run test:unit + + # Security rules tests run against the local Firebase emulator. + # firebase-tools is already a devDependency so npx picks it up from + # node_modules/.bin without a global install. + - name: Security rules tests + run: npm run test:rules + + - name: Build + run: npm run build diff --git a/.github/workflows/deploy-rules.yml b/.github/workflows/deploy-rules.yml new file mode 100644 index 0000000..a3304c8 --- /dev/null +++ b/.github/workflows/deploy-rules.yml @@ -0,0 +1,78 @@ +name: Deploy Firebase Rules + +# Runs only when security rule files change on the main or develop branch. +# Rules deploy is instant and global — this workflow is gated on the CI +# quality job passing first (branch protection must require "CI / Lint · Test · Build"). + +on: + push: + branches: [main, develop] + paths: + - firestore.rules + - storage.rules + - firestore.indexes.json + - firebase.json + - .firebaserc + +concurrency: + # One rules deploy at a time per branch to avoid race conditions. + group: deploy-rules-${{ github.ref }} + cancel-in-progress: false + +jobs: + # ── Deploy to development project (develop branch) ────────────────────────── + deploy-rules-dev: + name: Deploy Rules → Dev + runs-on: ubuntu-latest + if: github.ref == 'refs/heads/develop' + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 20 + cache: npm + + - name: Install dependencies + run: npm ci + + - name: Authenticate to Google Cloud + uses: google-github-actions/auth@v2 + with: + credentials_json: ${{ secrets.FIREBASE_SERVICE_ACCOUNT_DEV }} + + - name: Deploy Firestore & Storage rules to dev + run: npx firebase-tools deploy --only firestore:rules,firestore:indexes,storage --project ngo-mg-website-47a1a --non-interactive + + # ── Deploy to production project (main branch) ─────────────────────────────── + deploy-rules-prod: + name: Deploy Rules → Production + runs-on: ubuntu-latest + if: github.ref == 'refs/heads/main' + # Requires a GitHub Environment named "production" with required reviewers + # configured for an additional approval gate before prod rules deploy. + environment: production + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 20 + cache: npm + + - name: Install dependencies + run: npm ci + + - name: Authenticate to Google Cloud + uses: google-github-actions/auth@v2 + with: + credentials_json: ${{ secrets.FIREBASE_SERVICE_ACCOUNT_PROD }} + + - name: Deploy Firestore & Storage rules to production + run: npx firebase-tools deploy --only firestore:rules,firestore:indexes,storage --project ngo-mg-website-prod --non-interactive diff --git a/DEPLOYMENT.md b/DEPLOYMENT.md new file mode 100644 index 0000000..e572e2f --- /dev/null +++ b/DEPLOYMENT.md @@ -0,0 +1,359 @@ +# Deployment Playbook — NGO-MG Website (ENS 491) + +> **Tech stack**: Next.js 16 (App Router) + Firebase (Auth · Firestore · Storage) +> **Hosting target**: Vercel (Next.js runtime) + Firebase (rules & backend services) + +--- + +## Critical Architecture Note + +The system prompt for this project assumed a plain React SPA deployed to Firebase Hosting. **This project is not a plain SPA.** It is a **Next.js 16 App Router application** with: + +- Server-side API routes under `app/api/**` that use `firebase-admin` +- Next.js instrumentation hook (`instrumentation.ts`) that seeds Firestore on startup +- ISR-style caching via Next.js `unstable_cache` + +**Firebase Hosting cannot run this application** — it only serves static files and cannot execute Node.js server code. The correct deployment target is **Vercel**, which has first-party Next.js support built in (it was created by the same team). + +Firebase continues to manage Auth, Firestore, Storage, and security rules. Vercel only runs the Next.js application server. + +--- + +## Phase 1: Environment & Secret Management + +### 1.1 Create a Separate Production Firebase Project + +1. Go to [console.firebase.google.com](https://console.firebase.google.com) and create a new project: `ngo-mg-website-prod`. +2. Enable the same services as the dev project: + - **Authentication** → Email/Password provider → authorized domains (add prod domain after setup) + - **Firestore** → create database in production mode, same region as dev + - **Storage** → default bucket +3. Your dev project (`ngo-mg-website-47a1a`) remains unchanged for local development. + +### 1.2 Environment Variable Taxonomy + +| Prefix | Where it lives | Visible in browser? | +|---|---|---| +| `NEXT_PUBLIC_*` | Client bundle (baked in at build time) | **Yes** | +| *(no prefix)* | Server only — API routes, instrumentation | No | + +**Rule**: Firebase Client SDK keys use `NEXT_PUBLIC_`. Firebase Admin SDK credentials do **not**. Never swap these. + +### 1.3 Obtain Firebase Admin SDK Credentials + +1. Firebase Console → Project Settings → **Service accounts** +2. Click **Generate new private key** → download the JSON file +3. Extract these three fields from the JSON: + - `project_id` → `FIREBASE_ADMIN_PROJECT_ID` + - `client_email` → `FIREBASE_ADMIN_CLIENT_EMAIL` + - `private_key` → `FIREBASE_ADMIN_PRIVATE_KEY` +4. **Delete the JSON file** — never commit it. The `serviceAccountKey.json` pattern has been replaced with env vars in this project. + +### 1.4 Configure Vercel Environment Variables + +In the Vercel dashboard → Project → **Settings → Environment Variables**, add each variable from `.env.example` **twice** (once for each environment scope): + +| Variable | Production scope | Preview scope | +|---|---|---| +| `NEXT_PUBLIC_FIREBASE_*` | Prod Firebase project values | Dev Firebase project values | +| `FIREBASE_ADMIN_*` | Prod service account values | Dev service account values | +| `NEXT_PUBLIC_SITE_URL` | `https://www.your-ngo-domain.org` | Your Vercel preview URL pattern | + +> **Private key newlines**: Vercel's dashboard handles `\n` in private key values correctly. Paste the entire `-----BEGIN RSA PRIVATE KEY-----` block as-is — do not manually escape it. + +### 1.5 Configure GitHub Secrets (for rules deployment only) + +In the GitHub repository → **Settings → Secrets and variables → Actions**, add: + +| Secret name | Value | +|---|---| +| `FIREBASE_SERVICE_ACCOUNT_DEV` | Full JSON of dev project service account | +| `FIREBASE_SERVICE_ACCOUNT_PROD` | Full JSON of prod project service account | +| `DEV_FIREBASE_API_KEY` | Dev project API key | +| `DEV_FIREBASE_AUTH_DOMAIN` | Dev project auth domain | +| `DEV_FIREBASE_PROJECT_ID` | Dev project ID | +| `DEV_FIREBASE_STORAGE_BUCKET` | Dev project storage bucket | +| `DEV_FIREBASE_MESSAGING_SENDER_ID` | Dev project sender ID | +| `DEV_FIREBASE_APP_ID` | Dev project app ID | +| `DEV_FIREBASE_ADMIN_PROJECT_ID` | Dev admin project ID | +| `DEV_FIREBASE_ADMIN_CLIENT_EMAIL` | Dev admin client email | +| `DEV_FIREBASE_ADMIN_PRIVATE_KEY` | Dev admin private key | + +> The `DEV_*` secrets are only used by the CI build job as placeholder values — they let the Next.js build compiler resolve `NEXT_PUBLIC_*` vars without failing. The Vercel deployment uses Vercel's own secret store, not GitHub secrets. + +--- + +## Phase 2: Firebase Security Rules Deployment + +The rules files are already production-grade. No content changes are needed. + +### 2.1 Manual Deploy (one-time setup) + +```bash +# Install Firebase CLI (already a devDependency) +npm install # ensures firebase-tools is in node_modules/.bin + +# Log in +npx firebase login + +# Verify project aliases +npx firebase use + +# Deploy rules to the DEV project (default) +npx firebase use default +npx firebase deploy --only firestore:rules,firestore:indexes,storage + +# Deploy rules to the PROD project +npx firebase use prod +npx firebase deploy --only firestore:rules,firestore:indexes,storage +``` + +### 2.2 Automated Deploy (CI/CD) + +The `.github/workflows/deploy-rules.yml` workflow handles automated rules deployment: +- **`develop` branch** → deploys to `ngo-mg-website-47a1a` (dev) +- **`main` branch** → deploys to `ngo-mg-website-prod` (prod), gated by the `production` GitHub Environment with required reviewer approval + +Rules tests (`npm run test:rules`) must pass in the `ci.yml` workflow before merging to `main` (enforce this via branch protection). + +### 2.3 Rollback Rules + +If a rules deploy breaks the app: + +```bash +# Revert the commit that changed the rules +git revert +git push origin main # triggers automatic redeploy via the workflow + +# Or immediately redeploy from a known-good commit +git checkout -- firestore.rules storage.rules +git commit -m "revert: rollback rules to known-good state" +git push origin main +``` + +Firebase Console also retains a history of rule versions under **Firestore → Rules** tab. + +--- + +## Phase 3: Hosting — Vercel Deployment + +### 3.1 Connect the Repository to Vercel + +1. Go to [vercel.com](https://vercel.com) → **Add New Project** +2. Import from GitHub → select this repository +3. Vercel auto-detects Next.js 16 — accept the defaults: + - **Framework**: Next.js + - **Build command**: `npm run build` + - **Output directory**: `.next` (Vercel sets this automatically) + - **Install command**: `npm ci` +4. Add all environment variables (from Phase 1.4) before the first deploy +5. Click **Deploy** + +### 3.2 Branch → Environment Mapping + +| Branch | Vercel environment | Firebase project | +|---|---|---| +| `main` | Production | `ngo-mg-website-prod` | +| `develop` | Preview | `ngo-mg-website-47a1a` | +| Feature branches | Preview | `ngo-mg-website-47a1a` | + +Vercel automatically creates unique preview URLs for every PR — each preview hits the dev Firebase project. + +### 3.3 Why No `vercel.json`? + +Vercel's zero-config Next.js support handles routing, rewrites, and SSR natively. A `vercel.json` is only needed if you want to: +- Override the serverless function region (e.g., `fra1` for Europe, closer to Firebase's EU region) +- Add custom headers not already in `next.config.mjs` + +If you need region overrides, create `vercel.json`: + +```json +{ + "functions": { + "app/api/**/*.ts": { + "regions": ["fra1"] + } + } +} +``` + +### 3.4 Storage CORS — One-Time Setup + +Firebase Storage requires a CORS policy to allow uploads directly from the browser. Run this once after creating the production project: + +```bash +# Install Google Cloud SDK or use Cloud Shell in the Firebase Console +# The cors.json file is already in the repository root + +# Apply to dev bucket +gsutil cors set cors.json gs://ngo-mg-website-47a1a.firebasestorage.app + +# Apply to prod bucket (update cors.json with your prod domain first) +gsutil cors set cors.json gs://ngo-mg-website-prod.firebasestorage.app + +# Verify +gsutil cors get gs://ngo-mg-website-prod.firebasestorage.app +``` + +Update `cors.json` with your actual production domain before running the prod command. + +### 3.5 Alternative: Firebase App Hosting (Bonus Path) + +If you want everything inside the Firebase ecosystem, Firebase App Hosting (GA, May 2024) runs Next.js on Cloud Run. This requires: + +1. **Billing enabled** on the prod Firebase project (Blaze plan) +2. An `apphosting.yaml` at the repo root: + +```yaml +runConfig: + runtime: nodejs20 + minInstances: 0 + maxInstances: 2 + +env: + - variable: NEXT_PUBLIC_FIREBASE_API_KEY + secret: NEXT_PUBLIC_FIREBASE_API_KEY + - variable: FIREBASE_ADMIN_PRIVATE_KEY + secret: FIREBASE_ADMIN_PRIVATE_KEY + # ... (repeat for all vars, storing them in Cloud Secret Manager) +``` + +3. Firebase Console → **App Hosting** → Create backend → link to GitHub repo → `main` branch + +The existing `firebase.json` does **not** need a `"hosting"` block — App Hosting is configured entirely in the Console. + +--- + +## Phase 4: CI/CD Pipeline + +Two workflows handle the complete pipeline: + +### `.github/workflows/ci.yml` +Runs on every push and pull request. Runs lint, unit tests, security rules tests, and a full Next.js build. All must pass before merging. + +### `.github/workflows/deploy-rules.yml` +Runs only when rule files change. Deploys Firestore and Storage rules to the appropriate Firebase project based on branch. + +**App deployment is handled by Vercel's native Git integration** — no GitHub Action is needed for that. Vercel watches the repository and deploys automatically on every push to `main`. + +### Branch Protection Setup + +In GitHub → Repository → **Settings → Branches → Add branch protection rule** for `main`: + +- [x] Require a pull request before merging +- [x] Require status checks to pass: `CI / Lint · Test · Build` +- [x] Require branches to be up to date before merging +- [x] Do not allow bypassing the above settings + +### GitHub Environment Setup + +In GitHub → Repository → **Settings → Environments** → create environment named `production`: + +- Add required reviewers (at least one team member must approve before rules deploy to prod) +- This creates an approval gate that appears in the Actions UI before the `deploy-rules-prod` job runs + +--- + +## Phase 5: Custom Domain & SSL + +### 5.1 Add Domain in Vercel + +1. Vercel dashboard → Project → **Settings → Domains** +2. Add `your-ngo-domain.org` and `www.your-ngo-domain.org` +3. Vercel shows the required DNS records: + +| Type | Name | Value | +|---|---|---| +| `A` | `@` (apex domain) | `76.76.21.21` | +| `CNAME` | `www` | `cname.vercel-dns.com` | + +> If your registrar does not support `CNAME` at the apex (`@`), use an `ALIAS` or `ANAME` record pointing to `cname.vercel-dns.com` instead. Some registrars (Namecheap, Cloudflare) support this. + +### 5.2 Configure DNS at Your Registrar + +Log in to your domain registrar (e.g., Namecheap, GoDaddy, Cloudflare) and add these records. Example for Cloudflare: + +``` +Type: A | Name: @ | Content: 76.76.21.21 | Proxy: DNS only (grey cloud) +Type: CNAME | Name: www | Content: cname.vercel-dns.com | Proxy: DNS only +``` + +> **Do not proxy through Cloudflare** (orange cloud) if using Vercel — this causes SSL certificate conflicts. Set to "DNS only." + +DNS propagation takes up to 48 hours, but typically 15–30 minutes. + +### 5.3 SSL/TLS Certificate + +Vercel provisions SSL certificates automatically via **Let's Encrypt** within minutes of DNS verification. You do not manage certificates manually. They auto-renew before expiry. + +### 5.4 Update Firebase Auth Authorized Domains + +After the domain is live, Firebase Auth will reject sign-in redirects from the new domain unless it is whitelisted: + +1. Firebase Console → **Authentication → Settings → Authorized domains** +2. Click **Add domain** +3. Add `www.your-ngo-domain.org` and `your-ngo-domain.org` + +Repeat this for both the dev project (adding the Vercel preview URL pattern `*.vercel.app`) and the prod project. + +--- + +## Phase 6: Post-Deployment Verification Checklist + +Run these checks immediately after the first production deployment and after every major change. + +### 6.1 Core Smoke Tests + +- [ ] **Home page loads** — no console errors, no 404s on assets +- [ ] **Correct Firebase project** — open browser DevTools → Network → filter by `firestore.googleapis.com` → confirm the project ID in the URL matches the prod project +- [ ] **API routes respond** — `GET /api/public/home` returns 200 with data (confirms `firebase-admin` initialized correctly from env vars) +- [ ] **Authentication** — sign in with an admin account, verify the session persists after page reload +- [ ] **Admin panel loads** — navigate to `/admin` → redirects to `/admin/login` when unauthenticated ✓ → sign in → admin dashboard renders ✓ +- [ ] **Firestore writes work** — create a draft blog post in the admin panel, publish it, verify it appears on the public `/blogs` page +- [ ] **Firestore security rules active** — open browser console, try `db.collection('staff').get()` as an unauthenticated user → should be rejected with "Missing or insufficient permissions" +- [ ] **Storage upload works** — upload an image in the admin panel, verify the public URL resolves +- [ ] **Storage CORS** — if direct browser upload fails, run `gsutil cors set cors.json gs://your-prod-bucket` (see Phase 3.4) +- [ ] **ISR / cache revalidation** — edit a published page in the CMS, verify the change appears on the public site within 5 minutes (or immediately on the next request after `revalidatePath` fires) +- [ ] **Security headers** — `curl -I https://www.your-ngo-domain.org` → verify `X-Frame-Options`, `X-Content-Type-Options`, `Referrer-Policy`, `Content-Security-Policy` are present +- [ ] **Donation flow** — test the full donate page flow end to end +- [ ] **Contact form** — submit a contact form, verify the message appears in the admin inbox +- [ ] **HTTPS redirect** — `curl -I http://www.your-ngo-domain.org` → should 301 redirect to `https://` +- [ ] **Lighthouse baseline** — run Lighthouse in Chrome on the home page, record performance/accessibility/SEO scores + +### 6.2 Common Production Gotchas & Fixes + +| Problem | Symptom | Fix | +|---|---|---| +| `firebase-admin` cold start crash | API routes return 500, Vercel logs show "Error: Failed to parse private key" | The `FIREBASE_ADMIN_PRIVATE_KEY` newlines are not being unescaped. Verify the env var in Vercel dashboard contains the full key with `\n` characters, and confirm `autoSeed.server.ts` does `.replace(/\\n/g, "\n")` | +| Wrong Firebase project in production | Admin panel writes go to dev Firestore | `NEXT_PUBLIC_FIREBASE_PROJECT_ID` in Vercel's Production scope points to the dev project. Update it to the prod project ID and redeploy | +| Sign-in redirect fails | OAuth or email-link sign-in returns error after redirect | The production domain is not in Firebase Auth → Settings → Authorized domains | +| Images don't load via `next/image` | 400/502 on image URLs | `firebasestorage.googleapis.com` must be in `next.config.mjs` → `images.remotePatterns` (already configured) | +| Storage uploads fail from browser | CORS error in console | Run `gsutil cors set cors.json gs://your-prod-bucket` (see Phase 3.4) | +| Admin panel API route uses Edge runtime | `firebase-admin` throws "Cannot use Node.js modules" | Check for `export const runtime = 'edge'` in any API route that imports `firebase-admin` — remove it | +| Rules deploy breaks the live app | All Firestore reads return "permission denied" | Immediately roll back the rules commit (see Phase 2.3). Make `npm run test:rules` mandatory in CI | +| `NEXT_PUBLIC_*` change not reflected | Old values still in browser | These vars are baked in at build time. Changing them in Vercel → trigger a new deployment | +| Vercel preview deploys write to dev Firestore | Test data mixes with real data | This is by design (preview scope uses dev Firebase project). Acceptable for an NGO site. Document it for the team | + +### 6.3 Ongoing Operations + +- **Budget alerts**: Firebase Console → Project → Usage and billing → set monthly budget alerts at €5 and €20 to catch unexpected traffic +- **Error monitoring**: Enable Vercel Speed Insights and/or wire Sentry for production API route error tracking +- **Rules version history**: Firebase Console → Firestore → Rules tab shows the last 10 published rule sets with timestamps +- **Deployment history**: Vercel dashboard → Deployments → any past deployment can be "Promoted to Production" as a one-click rollback + +--- + +## Summary of All Files Changed + +| File | Change | Purpose | +|---|---|---| +| `.firebaserc` | **Created** | Project aliases (`default` = dev, `prod` = prod) for `firebase use` switching | +| `.env.production` | **Created** | Template for production env vars (real values in Vercel, never committed) | +| `.env.example` | **Updated** | Documents all required variables including new `FIREBASE_ADMIN_*` vars | +| `.gitignore` | **Updated** | Removed `.firebaserc` from ignore list (needed in CI); scoped env ignores | +| `firebase.json` | **Updated** | Added Storage emulator port; no hosting block (Vercel handles that) | +| `lib/firebase/autoSeed.server.ts` | **Updated** | Migrated from `serviceAccountKey.json` file read → env var credentials | +| `cors.json` | **Created** | Firebase Storage CORS policy, applied once via `gsutil cors set` | +| `.github/workflows/ci.yml` | **Created** | Lint + unit tests + rules tests + build gate on every PR | +| `.github/workflows/deploy-rules.yml` | **Created** | Automated Firestore/Storage rules deploy on rule file changes | +| `DEPLOYMENT.md` | **Created** | This file — comprehensive deployment playbook | From 5b257a54bac5ec2cd66430830d8adf7ee9f54eaa Mon Sep 17 00:00:00 2001 From: AlpNuhoglu Date: Wed, 20 May 2026 03:40:45 +0300 Subject: [PATCH 04/10] Prepared ReadMe file --- README.md | 579 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 579 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..c8e248c --- /dev/null +++ b/README.md @@ -0,0 +1,579 @@ +# MG Foundation — NGO Website + +A full-stack web application for the **Myasthenia Gravis Foundation of Turkey**, built with Next.js 16 and Firebase. The project serves as both a public-facing website and a content management system (CMS) for foundation staff. + +--- + +## Table of Contents + +- [Overview](#overview) +- [Tech Stack](#tech-stack) +- [Project Structure](#project-structure) +- [Features](#features) +- [Architecture](#architecture) +- [Database Schema](#database-schema) +- [Authentication & Authorization](#authentication--authorization) +- [Environment Variables](#environment-variables) +- [Local Development](#local-development) +- [Testing](#testing) +- [Deployment](#deployment) +- [CI/CD Pipeline](#cicd-pipeline) +- [Security](#security) +- [Documentation](#documentation) + +--- + +## Overview + +The MG Foundation website provides: + +- A **public-facing site** in Turkish with information about Myasthenia Gravis, foundation activities, events, blogs, and donation campaigns. +- A **staff CMS** with role-based access for Admins and Editors to manage all site content. +- A **Firebase backend** for authentication, database, and file storage, with Vercel as the hosting platform. + +**Firebase Projects:** +- Development: `ngo-mg-website-47a1a` +- Production: `ngo-mg-website-prod` + +--- + +## Tech Stack + +### Frontend +| Tool | Version | Purpose | +|---|---|---| +| Next.js (App Router) | 16.2.3 | Framework, SSR, routing | +| React | 19.2.4 | UI rendering | +| TypeScript | 5.7.3 | Type safety | +| Tailwind CSS | 4.2.4 | Styling | +| Radix UI + shadcn/ui | latest | Accessible UI components | +| React Hook Form + Zod | 7.54.1 / 3.24.1 | Forms and validation | +| Recharts | 2.15.0 | Analytics charts | +| Marked + DOMPurify | 13.0.3 / 3.12.0 | Safe Markdown rendering | +| Lucide React | 0.564.0 | Icons | +| next-themes | 0.4.6 | Dark/light mode | +| Sonner | 1.7.1 | Toast notifications | + +### Backend +| Tool | Version | Purpose | +|---|---|---| +| Firebase Client SDK | 12.12.0 | Auth, Firestore, Storage (client) | +| Firebase Admin SDK | 13.8.0 | Server-side auth, privileged DB writes | +| Next.js API Routes | — | Server-side endpoints (Node.js runtime) | +| Vercel Analytics | 1.6.1 | Usage analytics | + +### Developer Tools +| Tool | Version | Purpose | +|---|---|---| +| Vitest | 2.1.9 | Unit and integration testing | +| @firebase/rules-unit-testing | 5.0.0 | Firestore security rules testing | +| happy-dom | 15.11.7 | DOM simulation for tests | +| Firebase Emulator Suite | — | Local Firebase emulation | +| ESLint | 9.39.4 | Linting | + +--- + +## Project Structure + +``` +/ +├── app/ # Next.js App Router +│ ├── layout.tsx # Root layout (theme, nav, analytics) +│ ├── page.tsx # Home page +│ ├── providers.tsx # Auth context + theme providers +│ ├── blogs/[slug]/ # Blog detail page +│ ├── events/ # Events listing +│ ├── donate/ # Donation page +│ ├── about/ # About pages +│ ├── volunteer/ # Volunteer application form +│ ├── contacts/ # Contact form +│ ├── mg/[slug]/ # Dynamic MG info pages +│ ├── pages/[slug]/ # Custom editable pages (page builder) +│ ├── media/ # Public media gallery +│ ├── reports/ # Reports listing +│ ├── privacy/ terms/ legal/ # Legal pages +│ │ +│ ├── admin/ # Admin CMS (protected) +│ │ ├── login/ # Login page (public) +│ │ └── (protected)/ # Route group guarded by AdminRouteGuard +│ │ +│ ├── editorPanel/ # Editor CMS interface +│ │ ├── dashboard/ +│ │ ├── blog-posts/ +│ │ ├── events/ +│ │ ├── announcements/ +│ │ ├── media/ +│ │ ├── calendar/ +│ │ ├── performance-review/ +│ │ └── help/ +│ │ +│ ├── pageManagement/ # Page builder UI +│ │ +│ └── api/public/ # Server-side API routes +│ ├── home/route.ts +│ ├── blogs/[slug]/route.ts +│ ├── donate/route.ts +│ ├── contacts/route.ts +│ ├── about/route.ts +│ ├── media/route.ts +│ └── reports/route.ts +│ +├── components/ # Reusable React components +│ ├── AdminRouteGuard.tsx # Auth-based route protection +│ ├── EditorRouteGuard.tsx # Role-based route protection +│ ├── admin/ # Admin panel components +│ ├── blocks/ # Page builder blocks (Hero, RichText, etc.) +│ ├── donate/ # Donation flow components +│ ├── editorPanel/ # CMS interface components +│ ├── layout/ # Header, Footer, NavProvider +│ ├── media/ # Media upload and display +│ ├── reports/ # Reports display +│ ├── theme/ # Theme and color customization +│ └── ui/ # shadcn/ui primitives (40+ components) +│ +├── lib/ +│ ├── firebase/ +│ │ ├── config.ts # Firebase client SDK init +│ │ ├── AuthContext.tsx # Auth state provider +│ │ ├── services.ts # Public Firestore queries +│ │ ├── editorServices.ts # Editor/admin CRUD operations +│ │ ├── adminServices.ts # Admin-only operations +│ │ ├── navServices.ts # Navigation menu queries +│ │ ├── storageUtils.ts # File upload/delete +│ │ ├── helpers.ts # Firestore utility functions +│ │ ├── types.ts # TypeScript interfaces +│ │ ├── constants.ts # Collection names, status enums +│ │ ├── seedData.ts # Fallback seed data +│ │ ├── autoSeed.server.ts # One-time bootstrap script +│ │ └── validation/forms.ts # Zod schemas +│ ├── publicContent.ts +│ ├── publicPagesContent.ts +│ └── utils.ts +│ +├── context/ +│ └── EditorPanelContext.tsx # Editor panel global state +│ +├── types/ +│ ├── pageBuilder.ts # Block type definitions +│ └── editorPanel.ts # CMS state types +│ +├── hooks/ # Custom React hooks +├── styles/globals.css # Tailwind + CSS variables +├── public/ # Static assets +│ +├── tests/ +│ ├── unit/ # Pure function and validation tests +│ ├── integration/ # Firestore + auth flow tests +│ └── setup/ # Test configuration +│ +├── scripts/ +│ ├── bootstrap.ts # One-time project initialization +│ └── testSecurityRules.ts # Security rules test runner +│ +├── docs/ # Internal documentation +│ ├── SETUP.md +│ ├── AUTH_FLOW.md +│ └── SECURITY_RULES_TEST.md +│ +├── .github/workflows/ +│ ├── ci.yml # Lint, test, build pipeline +│ └── deploy-rules.yml # Firebase rules deployment +│ +├── firebase.json # Firebase CLI config +├── firestore.rules # Firestore security rules +├── firestore.indexes.json # Composite query indexes +├── storage.rules # Cloud Storage security rules +├── cors.json # Storage CORS policy +├── .firebaserc # Firebase project aliases +├── next.config.mjs # Next.js config + security headers +├── DEPLOYMENT.md # Deployment playbook +└── .env.example # Required environment variables +``` + +--- + +## Features + +### Public Website +| Page | Path | Description | +|---|---|---| +| Home | `/` | Hero, about section, quick links, supporters | +| Blog | `/blogs` | Blog listing with categories and tags | +| Blog Detail | `/blogs/[slug]` | Full post with Markdown rendering | +| Events | `/events` | Upcoming events with registration | +| Donate | `/donate/[id]` | Campaign detail and IBAN info | +| About | `/about` | Foundation mission, vision, board members | +| MG Info | `/mg/[slug]` | Dynamic MG disease information pages | +| Custom Pages | `/pages/[slug]` | Fully editable pages via page builder | +| Volunteer | `/volunteer` | Public volunteer application form | +| Contact | `/contacts` | Public contact form | +| Media | `/media` | Public media gallery | +| Reports | `/reports` | Foundation reports listing | +| Legal | `/privacy`, `/terms`, `/legal` | Legal content pages | + +### Admin CMS (`/admin`) +- Staff account management and role assignment +- Site settings (branding, colors, navigation) +- Full CRUD on all content types +- Donation and contact record management +- Performance analytics and reports + +### Editor CMS (`/editorPanel`) +- Blog post authoring with draft → review → publish workflow +- Event management with attendee tracking +- Announcement management +- Media upload and gallery management +- Contact message workflow (status updates) +- Calendar view for events + +### Page Builder +- Block-based editor for custom pages +- Block types: Hero, RichText, Accordion, Image, Video, and more +- Live preview and reorder support + +--- + +## Architecture + +``` +Browser + │ + ├── Next.js App Router (Vercel) + │ ├── Server Components → Firebase Admin SDK → Firestore + │ ├── API Routes (/api/public/*) → Firebase Admin SDK → Firestore + │ └── Client Components → Firebase Client SDK → Firestore / Auth / Storage + │ + └── Firebase Services + ├── Firebase Auth (email/password) + ├── Firestore (primary database) + └── Cloud Storage (media files) +``` + +### Caching Strategy +- Site settings cached with `unstable_cache()` — 5-minute TTL +- Navigation config cached — 60-second TTL +- Admin panel calls `revalidatePath()` after saves to immediately bust cache + +### Content Workflow +``` +Draft → In Review → Published → Archived +``` +All state transitions are tracked with server timestamps. Deleted content uses soft deletion (`deletedAt` timestamp) rather than hard removal, preserving the audit trail. + +--- + +## Database Schema + +### Firestore Collections + +| Collection | Public Read | Auth Write | Admin Only | Description | +|---|:---:|:---:|:---:|---| +| `settings` | Yes | No | Write | Site branding, colors, URLs | +| `staff/{uid}` | No | Own doc | Full access | User roles and login metadata | +| `contentItems` | Published only | Editor+ | Delete | Blog posts, pages, FAQs, policies | +| `contentItems/{id}/revisions` | No | Append only | Read | Immutable content audit trail | +| `categories` | Yes | No | Write | Content categories | +| `tags` | Yes | No | Write | Content tags | +| `mediaAssets` | Public only | Editor+ | Delete | Uploaded files (images, docs, video) | +| `events` | Published only | Editor+ | Delete | Event listings | +| `events/{id}/registrations` | No | Create only | Read | Public event registrations | +| `campaigns` | Active/Draft | No | Full | Donation campaigns | +| `donations` | No | No | Read | Donation records (server writes only) | +| `contactMessages` | No | Create only | Full | Contact form submissions | +| `announcements` | Published only | Editor+ | Delete | Site announcements | +| `volunteerApplications` | No | Create only | Full | Volunteer signup submissions | +| `auditLogs` | No | Create only | Read | Append-only activity log | +| `ibanEntries` | Yes | No | Write | IBAN/bank info for donations | +| `boardMembers` | Yes | No | Write | Foundation leadership | +| `supporters` | Yes | No | Write | Foundation supporters | +| `notifications` | Self only | Self only | Write | In-app staff notifications | + +### Content Types +Content items use a unified `contentItems` collection with a `type` field: +- `"page"` — static pages +- `"post"` — blog posts +- `"news"` — news items +- `"faq"` — FAQ entries +- `"policy"` — legal/policy documents + +### Content Status +``` +"draft" | "inReview" | "published" | "archived" +``` + +--- + +## Authentication & Authorization + +### Authentication Flow +``` +1. User submits email/password at /admin/login +2. Firebase Auth issues a JWT token +3. onAuthStateChanged fires in AuthContext +4. AuthContext fetches staff/{uid} doc to read role +5. Route guards (AdminRouteGuard / EditorRouteGuard) evaluate role +6. User is redirected to their dashboard or back to login +``` + +### Roles + +| Role | Access | +|---|---| +| `admin` | Full CRUD on all collections, staff management, site settings, donations | +| `editor` | Create/update blog posts, events, announcements; manage media; handle contact workflows | +| Public | Read published content only; create contact/volunteer/registration submissions | + +Authorization is enforced at **three layers**: +1. **Firestore security rules** — server-enforced, cannot be bypassed +2. **Route guards** — UI-layer redirects (`AdminRouteGuard`, `EditorRouteGuard`) +3. **API routes** — Firebase Admin SDK token verification + +### User Management +- Users are created manually via the bootstrap script (no self-registration) +- Staff accounts are stored in both Firebase Auth and the `staff` Firestore collection +- Session persistence uses IndexedDB (browser) + +--- + +## Environment Variables + +Copy `.env.example` to `.env.local` and fill in all values. + +```bash +cp .env.example .env.local +``` + +### Required Variables + +| Variable | Scope | Description | +|---|---|---| +| `NEXT_PUBLIC_FIREBASE_API_KEY` | Client | Firebase project API key | +| `NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN` | Client | Firebase Auth domain | +| `NEXT_PUBLIC_FIREBASE_PROJECT_ID` | Client | Firebase project ID | +| `NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET` | Client | Cloud Storage bucket | +| `NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID` | Client | Cloud Messaging sender ID | +| `NEXT_PUBLIC_FIREBASE_APP_ID` | Client | Firebase app instance ID | +| `FIREBASE_ADMIN_PROJECT_ID` | Server only | Admin SDK project ID | +| `FIREBASE_ADMIN_CLIENT_EMAIL` | Server only | Service account email | +| `FIREBASE_ADMIN_PRIVATE_KEY` | Server only | Service account private key | +| `NEXT_PUBLIC_SITE_URL` | Client | Canonical site URL (used for SEO) | + +> **Security note:** `FIREBASE_ADMIN_*` variables are never bundled into the client. They are only available in Next.js API routes and server components. + +--- + +## Local Development + +### Prerequisites +- Node.js 20+ +- Java 17+ (required for Firebase Emulator) +- Firebase CLI: `npm install -g firebase-tools` + +### Setup + +```bash +# 1. Clone the repository +git clone +cd + +# 2. Install dependencies +npm install + +# 3. Configure environment variables +cp .env.example .env.local +# Fill in Firebase credentials in .env.local + +# 4. Start the Firebase emulator +firebase emulators:start + +# 5. Run the bootstrap script (first time only) +# Creates initial admin/editor accounts and default site settings +npx tsx scripts/bootstrap.ts + +# 6. Start the development server +npm run dev +``` + +The app will be available at `http://localhost:3000`. + +Firebase Emulator UI is available at `http://localhost:4000`. + +### Emulator Ports + +| Service | Port | +|---|---| +| Firestore | 8080 | +| Cloud Storage | 9199 | +| Emulator UI | 4000 | + +For detailed setup instructions, see [docs/SETUP.md](docs/SETUP.md). + +--- + +## Testing + +### Test Suites + +| Suite | Command | Runner | Count | Scope | +|---|---|---|---|---| +| Unit | `npm run test:unit` | Vitest + happy-dom | ~57 cases | Pure functions, validation, form schemas | +| Integration | `npm run test:integration` | Vitest + Firebase Emulator | ~27 cases | Firestore CRUD, auth flows, access control | +| Security Rules | `npm run test:rules` | tsx + rules-unit-testing | ~45 cases | Firestore and Storage access rules | +| All + Coverage | `npm run coverage` | Vitest | — | Combined coverage report | + +### Running Tests + +```bash +# Unit tests (no emulator required) +npm run test:unit + +# Integration tests (requires Firebase Emulator running) +npm run test:integration + +# Security rules tests (starts emulator automatically) +npm run test:rules + +# Full coverage report +npm run coverage +``` + +### Key Test Files + +| File | Description | +|---|---| +| `tests/unit/validation.test.ts` | Zod schema validation (16 cases) | +| `tests/unit/services.test.ts` | Mock Firestore operations (16 cases) | +| `tests/unit/slugify.test.ts` | String utility functions | +| `tests/unit/timestamps.test.ts` | Date formatting helpers | +| `tests/integration/blog.flow.test.ts` | Full blog CRUD workflow | +| `tests/integration/contactMessage.flow.test.ts` | Contact form submission and editor handling | +| `tests/integration/editor.blocked.test.ts` | Role-based access denial | +| `tests/integration/editor.publishFlow.test.ts` | Draft → publish workflow | +| `scripts/testSecurityRules.ts` | Firestore/Storage security rules validation | + +See [tests/README.md](tests/README.md) for full documentation. + +--- + +## Deployment + +### Infrastructure + +| Component | Platform | Trigger | +|---|---|---| +| Next.js App | Vercel | Push to `main` (auto-deploy) | +| Firestore Rules | Firebase | GitHub Actions on rule file changes | +| Storage Rules | Firebase | GitHub Actions on rule file changes | +| Firestore Indexes | Firebase | GitHub Actions on index file changes | + +### Branch → Environment Mapping + +| Branch | Vercel Environment | Firebase Project | +|---|---|---| +| `main` | Production | `ngo-mg-website-prod` | +| `develop` | Preview | `ngo-mg-website-47a1a` (dev) | +| Feature branches | Preview | `ngo-mg-website-47a1a` (dev) | + +### Manual Deployment + +```bash +# Deploy Firebase rules and indexes to dev +firebase deploy --only firestore:rules,firestore:indexes,storage + +# Deploy to production +firebase use prod +firebase deploy --only firestore:rules,firestore:indexes,storage +firebase use default +``` + +For the full deployment playbook including Vercel setup, environment variable configuration, and post-deployment verification, see [DEPLOYMENT.md](DEPLOYMENT.md). + +--- + +## CI/CD Pipeline + +### `ci.yml` — Runs on every push and pull request + +``` +Checkout + → Node.js 20 + Java 17 setup + → npm install + → ESLint (npm run lint) + → Unit tests (npm run test:unit) + → Security rules tests (npm run test:rules) + → Production build (npm run build) +``` + +All steps must pass before a PR can be merged to `main`. + +### `deploy-rules.yml` — Runs on changes to Firebase config files + +Triggered by changes to: +- `firestore.rules` +- `storage.rules` +- `firestore.indexes.json` +- `firebase.json` +- `.firebaserc` + +Workflow: +- Push to `develop` → deploys to dev Firebase project automatically +- Push to `main` → deploys to prod Firebase project (requires manual approval via GitHub Environment) + +--- + +## Security + +### Headers +`next.config.mjs` applies strict HTTP security headers to all responses: +- `Content-Security-Policy` +- `X-Frame-Options: DENY` +- `X-Content-Type-Options: nosniff` +- `Referrer-Policy` +- `Permissions-Policy` + +### XSS Prevention +All Markdown content is sanitized with `isomorphic-dompurify` before being rendered in the browser. + +### Firestore Security Rules +Rules enforce role-based access at the database level — not just the UI. Key principles: +- Unauthenticated users can only read published content +- Editors can create and update content; they cannot delete or access financial data +- Admins have full access +- Audit logs and revision history are append-only (cannot be modified or deleted) +- Donation records can only be written server-side (no client writes) + +### Storage Security +- CORS policy configured in `cors.json` restricts browser-direct uploads to authorized origins +- Storage rules mirror Firestore role checks + +### Secrets Management +- Firebase Admin credentials (`FIREBASE_ADMIN_*`) are stored in GitHub Secrets and Vercel environment variables only — never committed to the repository +- `.env.local` is in `.gitignore` + +--- + +## Documentation + +| Document | Location | Description | +|---|---|---| +| Local Setup | [docs/SETUP.md](docs/SETUP.md) | Step-by-step local development and bootstrap guide | +| Auth Flow | [docs/AUTH_FLOW.md](docs/AUTH_FLOW.md) | Authentication architecture and flow diagrams | +| Security Rules Testing | [docs/SECURITY_RULES_TEST.md](docs/SECURITY_RULES_TEST.md) | How to write and run Firestore rules tests | +| Deployment Playbook | [DEPLOYMENT.md](DEPLOYMENT.md) | Full production deployment guide (6 phases) | +| Test Suite | [tests/README.md](tests/README.md) | Test overview and how to run each suite | +| Analysis Report | [docs/Analysis Report.docx](docs/Analysis%20Report.docx) | Project analysis document | + +--- + +## Available Scripts + +```bash +npm run dev # Start development server (Turbopack) +npm run build # Production build +npm run start # Start production server +npm run lint # Run ESLint +npm run test:unit # Run unit tests +npm run test:integration # Run integration tests (requires emulator) +npm run test:rules # Run security rules tests +npm run coverage # Run all tests with coverage report +``` From b8be484d2d657dedd0eb7163bd5c6bb4dae12ad4 Mon Sep 17 00:00:00 2001 From: AlpNuhoglu Date: Fri, 22 May 2026 03:54:42 +0300 Subject: [PATCH 05/10] feat: migrate to multi-tenant SaaS architecture with per-tenant Firebase isolation Refactor the single-tenant NGO website into a multi-tenant platform where each tenant runs on its own Firebase project. A master Firebase project (Admin SDK) acts as a registry that maps request domains to tenant configs. Core infrastructure - Add lib/tenant/masterDb.ts: server-only Admin SDK helper that resolves tenant records from the master Firestore by domain or ID - Add lib/firebase/clientApp.ts: lazy tenant-aware Firebase client factory (getOrInitTenantApp) that initialises the [DEFAULT] app on demand - Add lib/firebase/TenantFirebaseContext.tsx: React context + useTenantFirebase hook; provides auth, db, and storage scoped to the resolved tenant - Add lib/firebase/tenantServerDb.ts: Firestore REST API helper for server-side reads using only apiKey + projectId (no Admin SDK per tenant) - Add lib/firebase/getDefaultDb.ts: singleton db resolver for server content helpers; returns a silent no-op stub during next build when env vars are absent - Add app/api/tenant/config/route.ts: secure API route that exposes the tenant Firebase config to the client bootstrap - Add middleware.ts: Edge middleware that stamps x-tenant-domain on every request Service layer - Refactor services.ts, editorServices.ts, adminServices.ts, navServices.ts, storageUtils.ts to accept db / auth / storage as explicit parameters instead of importing a global singleton - Add lib/firebase/hooks/ with useTenantServices hook that pre-binds all service functions to the current tenant's db/auth/storage from context Call-site migration - Update all 11 admin pages, EditorPanelContext, NavProvider, InlineManagers, and upload components to consume useTenantServices() instead of calling service functions directly - Update server components (TeamGridBlock, pages/[slug]) to pass getDefaultDb() - Update publicContent.ts and publicPagesContent.ts to skip Firestore entirely (isDbAvailable() guard) during next build, returning seed data instead layout.tsx - Resolve tenant from x-tenant-domain header via masterDb - Fall back to NEXT_PUBLIC_FIREBASE_* single-tenant vars in local dev - Wrap the tree in TenantFirebaseProvider with the resolved config - Fetch nav and site settings via Firestore REST (tenantServerDb) with per-tenant unstable_cache tags for correct cache isolation Firestore rules - Restructure isAdmin/isEditor helpers to guard all get() calls behind request.auth != null checks, preventing null dereference errors in the emulator - Split mixed public+auth allow read rules into two separate allow statements to work correctly with the Firebase emulator's evaluation model - Add Option B (shared-project, tenant-namespaced) rules as commented reference CI / testing - Remove NEXT_PUBLIC_FIREBASE_* placeholder injection from ci.yml; build now succeeds with absent env vars via the silent stub pattern - Add unit tests for clientApp, getDefaultDb, masterDb, navServices, storageUtils - Fix integration test runner to use vitest.integration.config.ts (fileParallelism: false, singleFork: true) to prevent clearFirestore() race conditions between parallel test files - Remove orderBy from integration test queries that required composite indexes not loadable via initializeTestEnvironment --- .github/workflows/ci.yml | 27 +- .gitignore | 4 + app/admin/(protected)/board-members/page.tsx | 10 +- app/admin/(protected)/bylaws/page.tsx | 4 +- app/admin/(protected)/contacts/page.tsx | 8 +- app/admin/(protected)/homepage/page.tsx | 3 +- app/admin/(protected)/iban/page.tsx | 10 +- app/admin/(protected)/menu/[key]/page.tsx | 9 +- app/admin/(protected)/menu/page.tsx | 5 +- app/admin/(protected)/my-details/page.tsx | 4 +- app/admin/(protected)/page.tsx | 4 +- app/admin/(protected)/reports/page.tsx | 10 +- app/admin/(protected)/supporters/page.tsx | 10 +- app/admin/(protected)/theme/page.tsx | 3 +- app/admin/login/page.tsx | 3 +- app/api/tenant/config/route.ts | 65 + app/contacts/page.tsx | 3 +- app/layout.tsx | 167 +- app/pages/[slug]/page.tsx | 7 +- app/volunteer/page.tsx | 3 +- components/admin/InlineBlogManager.tsx | 7 +- components/admin/InlineCampaignManager.tsx | 8 +- components/admin/InlineEventManager.tsx | 7 +- components/admin/InlineMediaManager.tsx | 8 +- components/admin/shared/FileUploadWithUrl.tsx | 3 +- components/admin/shared/ImageUploadField.tsx | 3 +- .../admin/shared/ImageUploadWithUrl.tsx | 3 +- components/blocks/TeamGridBlock.tsx | 3 +- components/layout/NavProvider.tsx | 6 +- context/EditorPanelContext.tsx | 31 +- firestore-debug.log | 1538 +++-------------- firestore.rules | 142 +- lib/firebase/AuthContext.tsx | 16 +- lib/firebase/TenantFirebaseContext.tsx | 63 + lib/firebase/adminServices.ts | 57 +- lib/firebase/clientApp.ts | 48 + lib/firebase/editorServices.ts | 88 +- lib/firebase/getDefaultDb.ts | 57 + lib/firebase/hooks/useTenantServices.ts | 170 ++ lib/firebase/navServices.ts | 24 +- lib/firebase/services.ts | 22 +- lib/firebase/storageUtils.ts | 21 +- lib/firebase/tenantServerDb.ts | 115 ++ lib/publicContent.ts | 107 +- lib/publicPagesContent.ts | 15 +- lib/tenant/masterDb.ts | 114 ++ package-lock.json | 7 + package.json | 1 + proxy.ts | 39 + tests/integration/blog.flow.test.ts | 9 +- tests/integration/editor.publishFlow.test.ts | 5 +- tests/unit/clientApp.test.ts | 84 + tests/unit/getDefaultDb.test.ts | 66 + tests/unit/masterDb.test.ts | 195 +++ tests/unit/navServices.test.ts | 199 +++ tests/unit/services.test.ts | 37 +- tests/unit/storageUtils.test.ts | 97 ++ tsconfig.tsbuildinfo | 2 +- vitest.unit.config.ts | 6 + 59 files changed, 2131 insertions(+), 1651 deletions(-) create mode 100644 app/api/tenant/config/route.ts create mode 100644 lib/firebase/TenantFirebaseContext.tsx create mode 100644 lib/firebase/clientApp.ts create mode 100644 lib/firebase/getDefaultDb.ts create mode 100644 lib/firebase/hooks/useTenantServices.ts create mode 100644 lib/firebase/tenantServerDb.ts create mode 100644 lib/tenant/masterDb.ts create mode 100644 proxy.ts create mode 100644 tests/unit/clientApp.test.ts create mode 100644 tests/unit/getDefaultDb.test.ts create mode 100644 tests/unit/masterDb.test.ts create mode 100644 tests/unit/navServices.test.ts create mode 100644 tests/unit/storageUtils.test.ts diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 02dfabe..2e97e80 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -35,23 +35,19 @@ jobs: - name: Install dependencies run: npm ci - # ── Inject env vars needed for the build step ─────────────────────────── - # Unit tests and lint do not need real Firebase credentials; the build - # step needs NEXT_PUBLIC_* values so Next.js can compile without warnings. - # Use development project values here — this job is a quality gate only, - # not a production deployment. + # ── Build-time environment ─────────────────────────────────────────────── + # No NEXT_PUBLIC_FIREBASE_* variables are needed here. Firebase is + # initialised at runtime per-tenant via TenantFirebaseProvider; no + # credentials are baked into the JS bundle at build time. + # + # The only value we inject is NEXT_PUBLIC_SITE_URL so that any absolute + # URL helpers that reference the canonical origin work in the build. + # All other server-only secrets (FIREBASE_MASTER_*) are injected at + # deploy time via hosting-platform environment variables — never in CI. - name: Create .env for build run: | cat > .env.local << 'EOF' - NEXT_PUBLIC_FIREBASE_API_KEY=${{ secrets.DEV_FIREBASE_API_KEY }} - NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=${{ secrets.DEV_FIREBASE_AUTH_DOMAIN }} - NEXT_PUBLIC_FIREBASE_PROJECT_ID=${{ secrets.DEV_FIREBASE_PROJECT_ID }} - NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=${{ secrets.DEV_FIREBASE_STORAGE_BUCKET }} - NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=${{ secrets.DEV_FIREBASE_MESSAGING_SENDER_ID }} - NEXT_PUBLIC_FIREBASE_APP_ID=${{ secrets.DEV_FIREBASE_APP_ID }} - FIREBASE_ADMIN_PROJECT_ID=${{ secrets.DEV_FIREBASE_ADMIN_PROJECT_ID }} - FIREBASE_ADMIN_CLIENT_EMAIL=${{ secrets.DEV_FIREBASE_ADMIN_CLIENT_EMAIL }} - FIREBASE_ADMIN_PRIVATE_KEY=${{ secrets.DEV_FIREBASE_ADMIN_PRIVATE_KEY }} + NEXT_PUBLIC_SITE_URL=http://localhost:3000 EOF - name: Lint @@ -63,8 +59,9 @@ jobs: # Security rules tests run against the local Firebase emulator. # firebase-tools is already a devDependency so npx picks it up from # node_modules/.bin without a global install. + # emulators:exec starts the emulator, runs the command, then shuts it down. - name: Security rules tests - run: npm run test:rules + run: npx firebase emulators:exec --only firestore "npm run test:rules" - name: Build run: npm run build diff --git a/.gitignore b/.gitignore index b89b7d7..026782c 100644 --- a/.gitignore +++ b/.gitignore @@ -24,3 +24,7 @@ docs/PROGRESS.md # Firebase Admin SDK service account key — use env vars instead (see .env.example) serviceAccountKey.json *-service-account*.json + + +coverage/ +firestore-debug.log \ No newline at end of file diff --git a/app/admin/(protected)/board-members/page.tsx b/app/admin/(protected)/board-members/page.tsx index 7237fe9..29cf9cc 100644 --- a/app/admin/(protected)/board-members/page.tsx +++ b/app/admin/(protected)/board-members/page.tsx @@ -3,13 +3,8 @@ import { useEffect, useState } from "react"; import { Pencil, Trash2, Plus, X, Check } from "lucide-react"; import { ImageUploadWithUrl } from "@/components/admin/shared/ImageUploadWithUrl"; -import { - BoardMember, - getBoardMembers, - createBoardMember, - updateBoardMember, - deleteBoardMember, -} from "@/lib/firebase/adminServices"; +import type { BoardMember } from "@/lib/firebase/adminServices"; +import { useTenantServices } from "@/lib/firebase/hooks/useTenantServices"; const emptyMember: Omit = { name: "", @@ -96,6 +91,7 @@ function MemberForm({ } export default function BoardMembersPage() { + const { getBoardMembers, createBoardMember, updateBoardMember, deleteBoardMember } = useTenantServices(); const [members, setMembers] = useState([]); const [loading, setLoading] = useState(true); const [adding, setAdding] = useState(false); diff --git a/app/admin/(protected)/bylaws/page.tsx b/app/admin/(protected)/bylaws/page.tsx index ced7bcd..e3b23c9 100644 --- a/app/admin/(protected)/bylaws/page.tsx +++ b/app/admin/(protected)/bylaws/page.tsx @@ -1,13 +1,13 @@ "use client"; import { useEffect, useState } from "react"; -import { upsertPageContent } from "@/lib/firebase/adminServices"; -import { getContentBySlug } from "@/lib/firebase/services"; +import { useTenantServices } from "@/lib/firebase/hooks/useTenantServices"; import { FileUploadWithUrl } from "@/components/admin/shared/FileUploadWithUrl"; const SLUG = "tuzuk"; export default function BylawsPage() { + const { upsertPageContent, getContentBySlug } = useTenantServices(); const [title, setTitle] = useState("Dernek Tüzüğü"); const [fileUrl, setFileUrl] = useState(""); const [description, setDescription] = useState(""); diff --git a/app/admin/(protected)/contacts/page.tsx b/app/admin/(protected)/contacts/page.tsx index e1c478f..04ff9a1 100644 --- a/app/admin/(protected)/contacts/page.tsx +++ b/app/admin/(protected)/contacts/page.tsx @@ -2,11 +2,8 @@ import { useEffect, useState } from "react"; import { ChevronDown, ChevronUp, Mail, Phone } from "lucide-react"; -import { - AdminContactMessage, - getContactMessages, - updateContactMessageStatus, -} from "@/lib/firebase/adminServices"; +import type { AdminContactMessage } from "@/lib/firebase/adminServices"; +import { useTenantServices } from "@/lib/firebase/hooks/useTenantServices"; const STATUS_LABELS: Record = { new: "Yeni", @@ -34,6 +31,7 @@ function formatDate(iso: string) { } export default function ContactMessagesPage() { + const { getContactMessages, updateContactMessageStatus } = useTenantServices(); const [messages, setMessages] = useState([]); const [loading, setLoading] = useState(true); const [expandedId, setExpandedId] = useState(null); diff --git a/app/admin/(protected)/homepage/page.tsx b/app/admin/(protected)/homepage/page.tsx index 2910ea5..2242c7f 100644 --- a/app/admin/(protected)/homepage/page.tsx +++ b/app/admin/(protected)/homepage/page.tsx @@ -2,7 +2,7 @@ import { useEffect, useState } from "react"; import { getHomePageData } from "@/lib/publicPagesContent"; -import { upsertPageContent } from "@/lib/firebase/adminServices"; +import { useTenantServices } from "@/lib/firebase/hooks/useTenantServices"; import { revalidatePublicPathAction } from "@/app/admin/actions"; import type { HomePageData, HomeQuickLink } from "@/lib/publicPagesContent"; import { ArrowRight, Eye, ExternalLink, Plus, Trash2, ChevronUp, ChevronDown } from "lucide-react"; @@ -67,6 +67,7 @@ function SectionCard({ } export default function HomepageContentPage() { + const { upsertPageContent } = useTenantServices(); const [data, setData] = useState(null); const [status, setStatus] = useState("idle"); const [errorMsg, setErrorMsg] = useState(""); diff --git a/app/admin/(protected)/iban/page.tsx b/app/admin/(protected)/iban/page.tsx index d15670c..2df4b9c 100644 --- a/app/admin/(protected)/iban/page.tsx +++ b/app/admin/(protected)/iban/page.tsx @@ -2,13 +2,8 @@ import { useEffect, useState } from "react"; import { Pencil, Trash2, Plus, X, Check, Copy } from "lucide-react"; -import { - IbanEntry, - getIbanEntries, - createIbanEntry, - updateIbanEntry, - deleteIbanEntry, -} from "@/lib/firebase/adminServices"; +import type { IbanEntry } from "@/lib/firebase/adminServices"; +import { useTenantServices } from "@/lib/firebase/hooks/useTenantServices"; const emptyEntry: Omit = { bankName: "", @@ -96,6 +91,7 @@ function IbanForm({ } export default function IbanPage() { + const { getIbanEntries, createIbanEntry, updateIbanEntry, deleteIbanEntry } = useTenantServices(); const [entries, setEntries] = useState([]); const [loading, setLoading] = useState(true); const [adding, setAdding] = useState(false); diff --git a/app/admin/(protected)/menu/[key]/page.tsx b/app/admin/(protected)/menu/[key]/page.tsx index 52c7368..855d211 100644 --- a/app/admin/(protected)/menu/[key]/page.tsx +++ b/app/admin/(protected)/menu/[key]/page.tsx @@ -6,11 +6,9 @@ import { ArrowLeft, Check, AlertCircle, FileText, Eye, EyeOff, Layers, WandSparkles, ExternalLink, } from "lucide-react"; -import { getNavConfig, patchNavItem, type NavItem } from "@/lib/firebase/navServices"; -import { - getPageBlocks, savePageBlocks, - getAdminPageBySlug, getAdminPageDataBySlug, upsertPageContent, type AdminPage, -} from "@/lib/firebase/adminServices"; +import { type NavItem } from "@/lib/firebase/navServices"; +import { type AdminPage } from "@/lib/firebase/adminServices"; +import { useTenantServices } from "@/lib/firebase/hooks/useTenantServices"; import { revalidatePageAction, revalidatePublicPathAction } from "@/app/admin/actions"; import { BlockEditorCanvas } from "@/components/admin/pageBuilder/BlockEditorCanvas"; import { InlineBlogManager } from "@/components/admin/InlineBlogManager"; @@ -77,6 +75,7 @@ const SPECIAL_MANAGE_LINKS: Record = { // ── Component ───────────────────────────────────────────────────────────────── export default function MenuItemContentPage() { + const { getNavConfig, patchNavItem, getPageBlocks, savePageBlocks, getAdminPageBySlug, getAdminPageDataBySlug, upsertPageContent } = useTenantServices(); const router = useRouter(); const params = useParams(); const menuKey = params.key as string; diff --git a/app/admin/(protected)/menu/page.tsx b/app/admin/(protected)/menu/page.tsx index 4a0417a..2b617ef 100644 --- a/app/admin/(protected)/menu/page.tsx +++ b/app/admin/(protected)/menu/page.tsx @@ -8,10 +8,10 @@ import { Newspaper, CalendarDays, ClipboardList, BookOpen, Layers, } from "lucide-react"; import { - DEFAULT_NAV_ITEMS, getNavConfig, saveNavConfig, createNavItem, deleteNavItem, + DEFAULT_NAV_ITEMS, type NavItem, } from "@/lib/firebase/navServices"; -import { savePageBlocks } from "@/lib/firebase/adminServices"; +import { useTenantServices } from "@/lib/firebase/hooks/useTenantServices"; import { revalidateNavAction } from "@/app/admin/actions"; import { seedSectionsForTemplate, TEMPLATE_LABELS, @@ -47,6 +47,7 @@ const TEMPLATES: Array<{ // ── Main page ───────────────────────────────────────────────────────────────── export default function MenuManagementPage() { + const { getNavConfig, saveNavConfig, createNavItem, deleteNavItem, savePageBlocks } = useTenantServices(); const router = useRouter(); const [items, setItems] = useState(DEFAULT_NAV_ITEMS); const [loading, setLoading] = useState(true); diff --git a/app/admin/(protected)/my-details/page.tsx b/app/admin/(protected)/my-details/page.tsx index bbb8353..429ba2f 100644 --- a/app/admin/(protected)/my-details/page.tsx +++ b/app/admin/(protected)/my-details/page.tsx @@ -3,10 +3,10 @@ import { useEffect, useRef, useState } from "react"; import { UserCircle2, Camera, CheckCircle2 } from "lucide-react"; import { useAuth } from "@/lib/firebase/AuthContext"; -import { uploadImage } from "@/lib/firebase/storageUtils"; -import { updateStaffPhotoURL, getStaffMember } from "@/lib/firebase/adminServices"; +import { useTenantServices } from "@/lib/firebase/hooks/useTenantServices"; export default function AdminMyDetailsPage() { + const { uploadImage, updateStaffPhotoURL, getStaffMember } = useTenantServices(); const { user } = useAuth(); const [staffPhoto, setStaffPhoto] = useState(null); const [uploading, setUploading] = useState(false); diff --git a/app/admin/(protected)/page.tsx b/app/admin/(protected)/page.tsx index 67f76dc..a92cdb1 100644 --- a/app/admin/(protected)/page.tsx +++ b/app/admin/(protected)/page.tsx @@ -16,7 +16,8 @@ import { Navigation, AlertTriangle, } from "lucide-react"; -import { getAdminDashboardStats, AdminDashboardStats } from "@/lib/firebase/adminServices"; +import type { AdminDashboardStats } from "@/lib/firebase/adminServices"; +import { useTenantServices } from "@/lib/firebase/hooks/useTenantServices"; import { useAuth } from "@/lib/firebase/AuthContext"; const statCards = (s: AdminDashboardStats) => [ @@ -70,6 +71,7 @@ const quickLinks = [ ]; export default function AdminDashboardPage() { + const { getAdminDashboardStats } = useTenantServices(); const { user } = useAuth(); const [stats, setStats] = useState(null); const [loading, setLoading] = useState(true); diff --git a/app/admin/(protected)/reports/page.tsx b/app/admin/(protected)/reports/page.tsx index 5b9d9ea..f6ca5aa 100644 --- a/app/admin/(protected)/reports/page.tsx +++ b/app/admin/(protected)/reports/page.tsx @@ -2,13 +2,8 @@ import { useEffect, useState } from "react"; import { Pencil, Trash2, Plus, X, Check, Star } from "lucide-react"; -import { - AdminReport, - getAdminReports, - createAdminReport, - updateAdminReport, - deleteAdminReport, -} from "@/lib/firebase/adminServices"; +import type { AdminReport } from "@/lib/firebase/adminServices"; +import { useTenantServices } from "@/lib/firebase/hooks/useTenantServices"; const emptyReport: Omit = { title: "", @@ -117,6 +112,7 @@ function ReportForm({ } export default function AdminReportsPage() { + const { getAdminReports, createAdminReport, updateAdminReport, deleteAdminReport } = useTenantServices(); const [reports, setReports] = useState([]); const [loading, setLoading] = useState(true); const [adding, setAdding] = useState(false); diff --git a/app/admin/(protected)/supporters/page.tsx b/app/admin/(protected)/supporters/page.tsx index 6a03afe..fa826bb 100644 --- a/app/admin/(protected)/supporters/page.tsx +++ b/app/admin/(protected)/supporters/page.tsx @@ -3,13 +3,8 @@ import { useEffect, useState } from "react"; import { Pencil, Trash2, Plus, X, Check, ExternalLink } from "lucide-react"; import { ImageUploadWithUrl } from "@/components/admin/shared/ImageUploadWithUrl"; -import { - Supporter, - getSupporters, - createSupporter, - updateSupporter, - deleteSupporter, -} from "@/lib/firebase/adminServices"; +import type { Supporter } from "@/lib/firebase/adminServices"; +import { useTenantServices } from "@/lib/firebase/hooks/useTenantServices"; const emptySupporter: Omit = { name: "", @@ -92,6 +87,7 @@ function SupporterForm({ } export default function SupportersPage() { + const { getSupporters, createSupporter, updateSupporter, deleteSupporter } = useTenantServices(); const [supporters, setSupporters] = useState([]); const [loading, setLoading] = useState(true); const [adding, setAdding] = useState(false); diff --git a/app/admin/(protected)/theme/page.tsx b/app/admin/(protected)/theme/page.tsx index 291170c..e51e86a 100644 --- a/app/admin/(protected)/theme/page.tsx +++ b/app/admin/(protected)/theme/page.tsx @@ -4,7 +4,7 @@ import { useState, useEffect } from "react"; import { Button } from "@/components/ui/button"; import { Label } from "@/components/ui/label"; import { Input } from "@/components/ui/input"; -import { db } from "@/lib/firebase/config"; +import { useTenantFirebase } from "@/lib/firebase/TenantFirebaseContext"; import { doc, getDoc, updateDoc, setDoc } from "firebase/firestore"; import { revalidatePublicPathAction } from "@/app/admin/actions"; import LivePreview from "./LivePreview"; @@ -34,6 +34,7 @@ const COLOR_LABELS: Record = { }; export default function ThemeSettingsPage() { + const { db } = useTenantFirebase(); const [theme, setTheme] = useState(DEFAULT_THEME); const [loading, setLoading] = useState(false); const [fetching, setFetching] = useState(true); diff --git a/app/admin/login/page.tsx b/app/admin/login/page.tsx index 554ea42..0b87fee 100644 --- a/app/admin/login/page.tsx +++ b/app/admin/login/page.tsx @@ -3,7 +3,7 @@ import { useState, useEffect } from "react"; import { useRouter } from "next/navigation"; import { sendPasswordResetEmail } from "firebase/auth"; -import { auth } from "@/lib/firebase/config"; +import { useTenantFirebase } from "@/lib/firebase/TenantFirebaseContext"; import { useAuth } from "@/lib/firebase/AuthContext"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; @@ -11,6 +11,7 @@ import { Label } from "@/components/ui/label"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; export default function LoginPage() { + const { auth } = useTenantFirebase(); const { user, loading, login } = useAuth(); const router = useRouter(); diff --git a/app/api/tenant/config/route.ts b/app/api/tenant/config/route.ts new file mode 100644 index 0000000..5db0823 --- /dev/null +++ b/app/api/tenant/config/route.ts @@ -0,0 +1,65 @@ +import { type NextRequest, NextResponse } from "next/server"; +import { unstable_cache } from "next/cache"; +import { getTenantByDomain } from "@/lib/tenant/masterDb"; + +/** + * GET /api/tenant/config + * + * Returns the client-safe configuration for the tenant that owns the + * requesting domain. Used by the admin dashboard's "reload config" flow and + * by any client-side code that needs to verify the current tenant without a + * full page reload. + * + * What is returned: tenantId, firebaseConfig (public values), theme, orgName + * What is NOT returned: master database credentials, admin private keys, + * service account details, or any NEXT_PUBLIC_ variables + * that were used at build time (those no longer exist). + * + * Cache: 5 minutes per domain. Busted by the admin dashboard via + * revalidateTag("tenant-config:") after the admin saves new settings. + */ + +function buildCachedLookup(domain: string) { + return unstable_cache( + () => getTenantByDomain(domain), + [`tenant-config:${domain}`], + { + revalidate: 300, // 5 minutes + tags: [`tenant-config:${domain}`], + }, + ); +} + +export async function GET(request: NextRequest): Promise { + // Prefer the header stamped by middleware (always present in production). + // Fall back to the query param for direct API calls during local development. + const domain = + request.headers.get("x-tenant-domain") ?? + request.nextUrl.searchParams.get("domain") ?? + ""; + + if (!domain) { + return NextResponse.json( + { error: "missing_domain", message: "x-tenant-domain header or ?domain= query param is required" }, + { status: 400 }, + ); + } + + const tenant = await buildCachedLookup(domain)(); + + if (!tenant) { + return NextResponse.json( + { error: "unknown_tenant", message: `No tenant registered for domain: ${domain}` }, + { status: 404 }, + ); + } + + // Strict: only forward fields the browser legitimately needs. + // The master DB record may contain admin credentials — never forward those. + return NextResponse.json({ + tenantId: tenant.tenantId, + firebaseConfig: tenant.firebaseConfig, + theme: tenant.theme ?? {}, + orgName: tenant.orgName ?? "", + }); +} diff --git a/app/contacts/page.tsx b/app/contacts/page.tsx index 8c930cd..09dc363 100644 --- a/app/contacts/page.tsx +++ b/app/contacts/page.tsx @@ -5,7 +5,7 @@ import { Header } from "@/components/layout/header" import { Footer } from "@/components/layout/footer" import { Mail, Phone, Home, Plus, Minus, MapPin } from "lucide-react" import { contactPageTemplate } from "@/lib/publicPagesContent" -import { getContentBySlug, getSiteSettings, submitContactMessage } from "@/lib/firebase/services" +import { useTenantServices } from "@/lib/firebase/hooks/useTenantServices" import { mergeEditablePageData } from "@/lib/pageContentConfig" import { contactSchema, contactFormToInput } from "@/lib/validation/forms" @@ -27,6 +27,7 @@ type ContactPageState = { } export default function ContactUsPage() { + const { getContentBySlug, getSiteSettings, submitContactMessage } = useTenantServices() const [pageContent, setPageContent] = useState({ title: initialEditableContent.title, intro: initialEditableContent.intro, diff --git a/app/layout.tsx b/app/layout.tsx index 9ff23f6..6f8faf9 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -1,81 +1,130 @@ import type { Metadata } from 'next' +import { headers } from 'next/headers' import { unstable_cache } from 'next/cache' import { Geist, Geist_Mono } from 'next/font/google' import { Analytics } from '@vercel/analytics/next' import { Providers } from './providers' -import { getSiteSettings } from '@/lib/firebase/services' -import { getNavConfig } from '@/lib/firebase/navServices' +import { getTenantByDomain } from '@/lib/tenant/masterDb' +import { TenantFirebaseProvider } from '@/lib/firebase/TenantFirebaseContext' +import { getTenantNavConfig, getTenantSiteSettings } from '@/lib/firebase/tenantServerDb' +import { DEFAULT_NAV_ITEMS } from '@/lib/firebase/navServices' import { NavProvider } from '@/components/layout/NavProvider' import { ThemeListener } from '@/components/theme/ThemeListener' import './globals.css' -// Cache site settings for 5 minutes — they change rarely and don't need -// per-request freshness. The admin theme page calls revalidatePath('/') after -// saving to bust this cache immediately when settings are updated. -const getCachedSiteSettings = unstable_cache( - getSiteSettings, - ['site-settings'], - { revalidate: 300 } -) - -// Cache nav config for 60 seconds. The admin menu page calls -// revalidateNavAction() after every save, which calls revalidatePath("/","layout") -// to bust this cache immediately so changes propagate on the next request. -const getCachedNavConfig = unstable_cache( - getNavConfig, - ['nav-config'], - { revalidate: 60 } -) - const _geist = Geist({ subsets: ["latin"] }); const _geistMono = Geist_Mono({ subsets: ["latin"] }); export const metadata: Metadata = { - title: 'Myasthenia Gravis Yaşam Derneği', - description: 'Myasthenia Gravis hastalarına ve yakınlarına destek, farkındalık ve bilgi kaynağı sunan resmi dernek sitesi.', + title: 'NGO Platform', + description: 'Multi-tenant NGO website platform', icons: { icon: [ - { - url: '/icon-light-32x32.png', - media: '(prefers-color-scheme: light)', - }, - { - url: '/icon-dark-32x32.png', - media: '(prefers-color-scheme: dark)', - }, - { - url: '/icon.svg', - type: 'image/svg+xml', - }, + { url: '/icon-light-32x32.png', media: '(prefers-color-scheme: light)' }, + { url: '/icon-dark-32x32.png', media: '(prefers-color-scheme: dark)' }, + { url: '/icon.svg', type: 'image/svg+xml' }, ], apple: '/apple-icon.png', }, } +function buildCachedSiteSettings(tenantId: string, projectId: string, apiKey: string) { + return unstable_cache( + () => getTenantSiteSettings({ projectId, apiKey }), + [`tenant-settings:${tenantId}`], + { revalidate: 300, tags: [`tenant-settings:${tenantId}`] }, + ); +} + +function buildCachedNavConfig(tenantId: string, projectId: string, apiKey: string) { + return unstable_cache( + () => getTenantNavConfig({ projectId, apiKey }), + [`tenant-nav:${tenantId}`], + { revalidate: 60, tags: [`tenant-nav:${tenantId}`] }, + ); +} + export default async function RootLayout({ children, -}: Readonly<{ - children: React.ReactNode -}>) { - const [settings, navItems] = await Promise.all([ - getCachedSiteSettings(), - getCachedNavConfig(), +}: Readonly<{ children: React.ReactNode }>) { + // middleware.ts stamps x-tenant-domain on every request. + const headersList = await headers(); + const domain = headersList.get('x-tenant-domain') ?? 'localhost'; + + // Resolve the tenant config. In production this reads from the master DB. + // During local development, when FIREBASE_MASTER_* vars are not yet set, + // we fall back to the single-tenant NEXT_PUBLIC_FIREBASE_* vars in .env so + // the dev server keeps working without a master database. + const masterVarsPresent = + !!process.env.FIREBASE_MASTER_PROJECT_ID && + !!process.env.FIREBASE_MASTER_CLIENT_EMAIL && + !!process.env.FIREBASE_MASTER_PRIVATE_KEY; + + let tenant: Awaited>; + + if (masterVarsPresent) { + tenant = await getTenantByDomain(domain); + if (!tenant) { + throw new Error( + `[RootLayout] No tenant found for domain "${domain}". ` + + `Add a document to the master Firestore "tenants" collection with domains: ["${domain}"].` + ); + } + } else { + // Dev fallback: synthesise a TenantRecord from the single-tenant env vars. + // Remove this block (or leave it — it is unreachable) once FIREBASE_MASTER_* + // vars are configured in .env.local. + tenant = { + tenantId: process.env.NEXT_PUBLIC_FIREBASE_PROJECT_ID ?? "dev", + domains: [domain], + firebaseConfig: { + apiKey: process.env.NEXT_PUBLIC_FIREBASE_API_KEY ?? "", + authDomain: process.env.NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN ?? "", + projectId: process.env.NEXT_PUBLIC_FIREBASE_PROJECT_ID ?? "", + storageBucket: process.env.NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET ?? "", + messagingSenderId: process.env.NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID ?? "", + appId: process.env.NEXT_PUBLIC_FIREBASE_APP_ID ?? "", + }, + }; + } + + const { projectId, apiKey } = tenant.firebaseConfig; + + const [settings, navItemsOrNull] = await Promise.all([ + buildCachedSiteSettings(tenant.tenantId, projectId, apiKey)(), + buildCachedNavConfig(tenant.tenantId, projectId, apiKey)(), ]); + const navItems = navItemsOrNull ?? DEFAULT_NAV_ITEMS; + + // Build CSS custom-property overrides from either the Firestore settings + // record (old shape) or the tenant-level theme map (new multi-tenant shape). + const themeVars: Record = {}; + if (tenant.theme) { + Object.assign(themeVars, tenant.theme); + } + if (settings?.theme) { + const t = settings.theme; + const str = (v: unknown): string | undefined => + typeof v === "string" ? v : undefined; + const navbarBg = str(t.navbarBg); + const primary = str(t.primary); + const titleText = str(t.titleText); + const footerBg = str(t.footerBg); + const footerText = str(t.footerText); + if (navbarBg) themeVars['--theme-navbar-bg'] = navbarBg; + if (primary) themeVars['--primary'] = primary; + if (titleText) themeVars['--theme-title-text'] = titleText; + if (footerBg) themeVars['--theme-footer-bg'] = footerBg; + if (footerText) themeVars['--theme-footer-text'] = footerText; + } + return ( - - - - {children} - - + {/* + TenantFirebaseProvider is a Client Component. It receives the tenant's + Firebase config as a plain serializable prop — no secrets cross the + RSC boundary because masterDb.ts strips admin credentials before + returning the TenantRecord. + */} + + + + {children} + + + diff --git a/app/pages/[slug]/page.tsx b/app/pages/[slug]/page.tsx index 37d01c6..56e528b 100644 --- a/app/pages/[slug]/page.tsx +++ b/app/pages/[slug]/page.tsx @@ -3,6 +3,7 @@ import { Header } from "@/components/layout/header"; import { Footer } from "@/components/layout/footer"; import { BlockRenderer } from "@/components/blocks/BlockRenderer"; import { getPublishedContentByType, getContentBySlug } from "@/lib/firebase/services"; +import { getDefaultDb } from "@/lib/firebase/getDefaultDb"; import type { PageBlockData } from "@/types/pageBuilder"; interface CmsPageProps { @@ -15,7 +16,7 @@ interface CmsPageProps { */ export async function generateStaticParams() { try { - const pages = await getPublishedContentByType("page"); + const pages = await getPublishedContentByType(getDefaultDb(), "page"); return pages .filter((p) => { const pd = p.pageData as Record | null; @@ -29,7 +30,7 @@ export async function generateStaticParams() { export async function generateMetadata({ params }: CmsPageProps) { const { slug } = await params; - const page = await getContentBySlug(slug); + const page = await getContentBySlug(getDefaultDb(), slug); if (!page) return { title: "Sayfa Bulunamadı" }; return { title: `${page.title} | MG Yaşam Derneği`, @@ -40,7 +41,7 @@ export async function generateMetadata({ params }: CmsPageProps) { export default async function CmsPage({ params }: CmsPageProps) { const { slug } = await params; - const page = await getContentBySlug(slug); + const page = await getContentBySlug(getDefaultDb(), slug); if (!page) notFound(); diff --git a/app/volunteer/page.tsx b/app/volunteer/page.tsx index 8dbca3e..b73aa12 100644 --- a/app/volunteer/page.tsx +++ b/app/volunteer/page.tsx @@ -4,10 +4,11 @@ import { useState } from "react"; import { Header } from "@/components/layout/header"; import { Footer } from "@/components/layout/footer"; import { Mail, User, Phone, MapPin } from "lucide-react"; -import { submitVolunteerApplication } from "@/lib/firebase/services"; +import { useTenantServices } from "@/lib/firebase/hooks/useTenantServices"; import { volunteerSchema, volunteerFormToInput } from "@/lib/validation/forms"; export default function VolunteerPage() { + const { submitVolunteerApplication } = useTenantServices(); const [fullName, setFullName] = useState(""); const [email, setEmail] = useState(""); const [phone, setPhone] = useState(""); diff --git a/components/admin/InlineBlogManager.tsx b/components/admin/InlineBlogManager.tsx index fda48b7..f192775 100644 --- a/components/admin/InlineBlogManager.tsx +++ b/components/admin/InlineBlogManager.tsx @@ -4,11 +4,7 @@ import { useEffect, useMemo, useState } from "react"; import { Pencil, Plus, RotateCcw, Search } from "lucide-react"; import BlogPostForm from "@/components/editorPanel/BlogPostForm"; import type { BlogPost } from "@/types/editorPanel"; -import { - createEditorBlog, - getEditorBlogs, - updateEditorBlog, -} from "@/lib/firebase/editorServices"; +import { useTenantServices } from "@/lib/firebase/hooks/useTenantServices"; import { revalidatePublicPathAction } from "@/app/admin/actions"; type SortMode = "newest" | "oldest"; @@ -22,6 +18,7 @@ function formatDateTR(value: string) { } export function InlineBlogManager() { + const { getEditorBlogs, createEditorBlog, updateEditorBlog } = useTenantServices(); const [blogs, setBlogs] = useState([]); const [loading, setLoading] = useState(true); const [query, setQuery] = useState(""); diff --git a/components/admin/InlineCampaignManager.tsx b/components/admin/InlineCampaignManager.tsx index f8c2daf..b336364 100644 --- a/components/admin/InlineCampaignManager.tsx +++ b/components/admin/InlineCampaignManager.tsx @@ -3,12 +3,7 @@ import { useEffect, useState } from "react"; import { Pencil, Plus, Trash2 } from "lucide-react"; import type { CampaignItem } from "@/types/editorPanel"; -import { - createEditorCampaign, - deleteEditorCampaign, - getEditorCampaigns, - updateEditorCampaign, -} from "@/lib/firebase/editorServices"; +import { useTenantServices } from "@/lib/firebase/hooks/useTenantServices"; import { revalidatePublicPathAction } from "@/app/admin/actions"; const emptyCampaign: Omit = { @@ -81,6 +76,7 @@ function CampaignForm({ } export function InlineCampaignManager() { + const { getEditorCampaigns, createEditorCampaign, updateEditorCampaign, deleteEditorCampaign } = useTenantServices(); const [campaigns, setCampaigns] = useState([]); const [adding, setAdding] = useState(false); const [editingId, setEditingId] = useState(null); diff --git a/components/admin/InlineEventManager.tsx b/components/admin/InlineEventManager.tsx index fdfdece..dde5b75 100644 --- a/components/admin/InlineEventManager.tsx +++ b/components/admin/InlineEventManager.tsx @@ -4,11 +4,7 @@ import { useEffect, useMemo, useState } from "react"; import { CalendarDays, Pencil, Plus, RotateCcw, Search } from "lucide-react"; import EventForm from "@/components/editorPanel/EventForm"; import type { EventItem } from "@/types/editorPanel"; -import { - createEditorEvent, - getEditorEvents, - updateEditorEvent, -} from "@/lib/firebase/editorServices"; +import { useTenantServices } from "@/lib/firebase/hooks/useTenantServices"; import { revalidatePublicPathAction } from "@/app/admin/actions"; type SortMode = "newest" | "oldest"; @@ -29,6 +25,7 @@ function publicStatusLabel(status: EventItem["status"]) { } export function InlineEventManager() { + const { getEditorEvents, createEditorEvent, updateEditorEvent } = useTenantServices(); const [events, setEvents] = useState([]); const [loading, setLoading] = useState(true); const [query, setQuery] = useState(""); diff --git a/components/admin/InlineMediaManager.tsx b/components/admin/InlineMediaManager.tsx index 107282e..424a9dd 100644 --- a/components/admin/InlineMediaManager.tsx +++ b/components/admin/InlineMediaManager.tsx @@ -3,12 +3,7 @@ import { useEffect, useMemo, useState } from "react"; import { Pencil, Plus, RotateCcw, Search, Trash2, X } from "lucide-react"; import type { MediaItem, MediaStatus } from "@/types/editorPanel"; -import { - createEditorMedia, - deleteEditorMedia, - getEditorMedia, - updateEditorMedia, -} from "@/lib/firebase/editorServices"; +import { useTenantServices } from "@/lib/firebase/hooks/useTenantServices"; import { revalidatePublicPathAction } from "@/app/admin/actions"; import { ImageUploadField } from "@/components/admin/shared/ImageUploadField"; import { DraftPublishToggle } from "@/components/admin/shared/DraftPublishToggle"; @@ -158,6 +153,7 @@ function MediaForm({ initial, onSave, onCancel, saving }: MediaFormProps) { } export function InlineMediaManager() { + const { getEditorMedia, createEditorMedia, updateEditorMedia, deleteEditorMedia } = useTenantServices(); const [items, setItems] = useState([]); const [loading, setLoading] = useState(true); const [creating, setCreating] = useState(false); diff --git a/components/admin/shared/FileUploadWithUrl.tsx b/components/admin/shared/FileUploadWithUrl.tsx index fdcd300..d5fa4eb 100644 --- a/components/admin/shared/FileUploadWithUrl.tsx +++ b/components/admin/shared/FileUploadWithUrl.tsx @@ -2,7 +2,7 @@ import { useRef, useState } from "react"; import { Upload, Loader2, FileText, ExternalLink, Trash2 } from "lucide-react"; -import { uploadImage } from "@/lib/firebase/storageUtils"; +import { useTenantServices } from "@/lib/firebase/hooks/useTenantServices"; interface FileUploadWithUrlProps { label: string; @@ -26,6 +26,7 @@ export function FileUploadWithUrl({ const inputRef = useRef(null); const [uploading, setUploading] = useState(false); const [error, setError] = useState(null); + const { uploadImage } = useTenantServices(); const cls = "w-full rounded-lg border border-gray-300 px-3 py-2 text-sm focus:border-primary focus:outline-none focus:ring-1 focus:ring-primary"; diff --git a/components/admin/shared/ImageUploadField.tsx b/components/admin/shared/ImageUploadField.tsx index 9f75ca2..1682c52 100644 --- a/components/admin/shared/ImageUploadField.tsx +++ b/components/admin/shared/ImageUploadField.tsx @@ -2,7 +2,7 @@ import { useRef, useState } from "react"; import { ImagePlus, Trash2, RefreshCw, Loader2 } from "lucide-react"; -import { uploadImage } from "@/lib/firebase/storageUtils"; +import { useTenantServices } from "@/lib/firebase/hooks/useTenantServices"; interface ImageUploadFieldProps { value: string; @@ -26,6 +26,7 @@ export function ImageUploadField({ const inputRef = useRef(null); const [uploading, setUploading] = useState(false); const [error, setError] = useState(null); + const { uploadImage } = useTenantServices(); async function handleFile(files: FileList | null) { const file = files?.[0]; diff --git a/components/admin/shared/ImageUploadWithUrl.tsx b/components/admin/shared/ImageUploadWithUrl.tsx index f262c38..a9bd92f 100644 --- a/components/admin/shared/ImageUploadWithUrl.tsx +++ b/components/admin/shared/ImageUploadWithUrl.tsx @@ -2,7 +2,7 @@ import { useRef, useState } from "react"; import { Upload, Loader2, Trash2 } from "lucide-react"; -import { uploadImage } from "@/lib/firebase/storageUtils"; +import { useTenantServices } from "@/lib/firebase/hooks/useTenantServices"; interface ImageUploadWithUrlProps { label: string; @@ -26,6 +26,7 @@ export function ImageUploadWithUrl({ const inputRef = useRef(null); const [uploading, setUploading] = useState(false); const [error, setError] = useState(null); + const { uploadImage } = useTenantServices(); const cls = "w-full rounded-lg border border-gray-300 px-3 py-2 text-sm focus:border-primary focus:outline-none focus:ring-1 focus:ring-primary"; diff --git a/components/blocks/TeamGridBlock.tsx b/components/blocks/TeamGridBlock.tsx index f902870..9323c51 100644 --- a/components/blocks/TeamGridBlock.tsx +++ b/components/blocks/TeamGridBlock.tsx @@ -1,6 +1,7 @@ import { User } from "lucide-react"; import type { TeamGridBlockData } from "@/types/pageBuilder"; import { getBoardMembers } from "@/lib/firebase/adminServices"; +import { getDefaultDb } from "@/lib/firebase/getDefaultDb"; interface TeamGridBlockProps { data: Record; @@ -31,7 +32,7 @@ export async function TeamGridBlock({ data }: TeamGridBlockProps) { // Pull from the boardMembers Firestore collection. Falls back to an // empty list if the read fails so the page still renders. try { - const board = await getBoardMembers(); + const board = await getBoardMembers({ db: getDefaultDb(), auth: null as never }); members = board.map((member) => ({ id: member.id, name: member.name, diff --git a/components/layout/NavProvider.tsx b/components/layout/NavProvider.tsx index c141db4..5aaea68 100644 --- a/components/layout/NavProvider.tsx +++ b/components/layout/NavProvider.tsx @@ -7,7 +7,8 @@ import { useEffect, type ReactNode, } from "react"; -import { getNavConfig, DEFAULT_NAV_ITEMS, type NavItem } from "@/lib/firebase/navServices"; +import { DEFAULT_NAV_ITEMS, type NavItem } from "@/lib/firebase/navServices"; +import { useTenantServices } from "@/lib/firebase/hooks/useTenantServices"; // ── Context ─────────────────────────────────────────────────────────────────── @@ -33,6 +34,7 @@ export function NavProvider({ initialItems: NavItem[]; }) { const [navItems, setNavItems] = useState(initialItems); + const { getNavConfig } = useTenantServices(); useEffect(() => { // Re-validate client-side after hydration to pick up any changes that @@ -40,7 +42,7 @@ export function NavProvider({ getNavConfig() .then(setNavItems) .catch(() => {/* keep server-fetched initialItems on error */}); - }, []); + }, [getNavConfig]); return {children}; } diff --git a/context/EditorPanelContext.tsx b/context/EditorPanelContext.tsx index 25db9d3..9a7e4c2 100644 --- a/context/EditorPanelContext.tsx +++ b/context/EditorPanelContext.tsx @@ -17,25 +17,7 @@ import { MediaItem, AnnouncementItem, } from "@/types/editorPanel"; -import { - getEditorBlogs, - createEditorBlog, - updateEditorBlog, - deleteEditorBlog, - getEditorEvents, - createEditorEvent, - updateEditorEvent, - deleteEditorEvent, - getEditorMedia, - createEditorMedia, - deleteEditorMedia, - getEditorAnnouncements, - createEditorAnnouncement, - updateEditorAnnouncement, - deleteEditorAnnouncement, - getEditorNotifications, - markNotificationRead, -} from "@/lib/firebase/editorServices"; +import { useTenantServices } from "@/lib/firebase/hooks/useTenantServices"; interface EditorPanelContextType { blogs: BlogPost[]; @@ -78,6 +60,14 @@ interface EditorPanelContextType { const EditorPanelContext = createContext(null); export function EditorPanelProvider({ children }: { children: ReactNode }) { + const { + getEditorBlogs, createEditorBlog, updateEditorBlog, deleteEditorBlog, + getEditorEvents, createEditorEvent, updateEditorEvent, deleteEditorEvent, + getEditorMedia, createEditorMedia, deleteEditorMedia, + getEditorAnnouncements, createEditorAnnouncement, updateEditorAnnouncement, deleteEditorAnnouncement, + getEditorNotifications, markNotificationRead, + } = useTenantServices(); + const [blogs, setBlogs] = useState([]); const [events, setEvents] = useState([]); const [notifications, setNotifications] = useState([]); @@ -109,7 +99,8 @@ export function EditorPanelProvider({ children }: { children: ReactNode }) { } } loadAll(); - }, []); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [getEditorBlogs, getEditorEvents, getEditorMedia, getEditorAnnouncements, getEditorNotifications]); // ── Events ──────────────────────────────────────────────────────────────── diff --git a/firestore-debug.log b/firestore-debug.log index 0b1641c..2615b26 100644 --- a/firestore-debug.log +++ b/firestore-debug.log @@ -1,4 +1,4 @@ -May 07, 2026 7:08:03 PM com.google.cloud.datastore.emulator.firestore.websocket.WebSocketServer start +May 22, 2026 3:45:40 AM com.google.cloud.datastore.emulator.firestore.websocket.WebSocketServer start INFO: Started WebSocket server on ws://127.0.0.1:9150 API endpoint: http://127.0.0.1:8080 @@ -16,23 +16,18 @@ If you are running a Firestore in Datastore Mode project, run: Note: Support for Datastore Mode is in preview. If you encounter any bugs please file at https://github.com/firebase/firebase-tools/issues. Dev App Server is now running. -May 07, 2026 7:08:26 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead +May 22, 2026 3:45:54 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead INFO: Detected non-HTTP/2 connection. -May 07, 2026 7:08:26 PM io.grpc.netty.TcpMetrics loadEpollInfo -INFO: Epoll available during static init of TcpMetrics:false -May 07, 2026 7:08:26 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead +May 22, 2026 3:45:54 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead INFO: Detected HTTP/2 connection. Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 07, 2026 7:08:27 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead +May 22, 2026 3:45:55 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead INFO: Detected non-HTTP/2 connection. Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 07, 2026 7:08:27 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead +May 22, 2026 3:45:55 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead INFO: Detected HTTP/2 connection. Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 07, 2026 7:08:27 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead +May 22, 2026 3:45:55 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead INFO: Detected HTTP/2 connection. Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. @@ -54,39 +49,19 @@ Multiple projectIds are not recommended in single project mode. Requested projec Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 07, 2026 7:08:27 PM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError +May 22, 2026 3:45:55 AM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError WARNING: Operation failed: -evaluation error at L74:24 for 'create' @ L74, false for 'create' @ L74 +evaluation error at L84:24 for 'create' @ L84, false for 'create' @ L84 com.google.cloud.datastore.core.exception.DatastoreException: -evaluation error at L74:24 for 'create' @ L74, false for 'create' @ L74 +evaluation error at L84:24 for 'create' @ L84, false for 'create' @ L84 at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:386) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:336) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1245) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1232) + at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:385) + at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:339) + at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1243) + at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1231) at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) @@ -112,18 +87,10 @@ Multiple projectIds are not recommended in single project mode. Requested projec Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 07, 2026 7:08:27 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead +May 22, 2026 3:45:55 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead INFO: Detected HTTP/2 connection. Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 07, 2026 7:08:27 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead +May 22, 2026 3:45:55 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead INFO: Detected HTTP/2 connection. Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. @@ -135,21 +102,10 @@ Multiple projectIds are not recommended in single project mode. Requested projec Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 07, 2026 7:08:27 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead +May 22, 2026 3:45:55 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead INFO: Detected HTTP/2 connection. Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 07, 2026 7:08:27 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead +May 22, 2026 3:45:55 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead INFO: Detected HTTP/2 connection. Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. @@ -163,31 +119,19 @@ Multiple projectIds are not recommended in single project mode. Requested projec Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 07, 2026 7:08:28 PM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError +May 22, 2026 3:45:56 AM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError WARNING: Operation failed: -false for 'create' @ L141 +false for 'create' @ L148 com.google.cloud.datastore.core.exception.DatastoreException: -false for 'create' @ L141 +false for 'create' @ L148 at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:386) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:336) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1245) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1232) + at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:385) + at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:339) + at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1243) + at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1231) at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) @@ -212,17 +156,10 @@ Multiple projectIds are not recommended in single project mode. Requested projec Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 07, 2026 7:08:28 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead +May 22, 2026 3:45:56 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead INFO: Detected HTTP/2 connection. Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 07, 2026 7:08:28 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead +May 22, 2026 3:45:56 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead INFO: Detected HTTP/2 connection. Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. @@ -231,26 +168,19 @@ Multiple projectIds are not recommended in single project mode. Requested projec Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 07, 2026 7:08:28 PM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError +May 22, 2026 3:45:56 AM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError WARNING: Operation failed: -false for 'create' @ L74 +false for 'create' @ L84 com.google.cloud.datastore.core.exception.DatastoreException: -false for 'create' @ L74 +false for 'create' @ L84 at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:386) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:336) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1245) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1232) + at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:385) + at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:339) + at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1243) + at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1231) at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) @@ -284,34 +214,19 @@ Multiple projectIds are not recommended in single project mode. Requested projec Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 07, 2026 7:08:28 PM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError +May 22, 2026 3:45:56 AM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError WARNING: Operation failed: -false for 'create' @ L194 +false for 'create' @ L202 com.google.cloud.datastore.core.exception.DatastoreException: -false for 'create' @ L194 +false for 'create' @ L202 at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:386) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:336) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1245) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1232) + at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:385) + at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:339) + at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1243) + at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1231) at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) @@ -332,35 +247,28 @@ false for 'create' @ L194 Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 07, 2026 7:08:28 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead +May 22, 2026 3:45:56 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead INFO: Detected HTTP/2 connection. Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 07, 2026 7:08:28 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead +May 22, 2026 3:45:56 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead INFO: Detected HTTP/2 connection. Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 07, 2026 7:08:28 PM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError +May 22, 2026 3:45:56 AM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError WARNING: Operation failed: -false for 'create' @ L183, false for 'update' @ L183 +false for 'create' @ L190, false for 'update' @ L190 com.google.cloud.datastore.core.exception.DatastoreException: -false for 'create' @ L183, false for 'update' @ L183 +false for 'create' @ L190, false for 'update' @ L190 at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:386) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:336) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1245) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1232) + at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:385) + at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:339) + at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1243) + at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1231) at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) @@ -385,25 +293,19 @@ Multiple projectIds are not recommended in single project mode. Requested projec Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 07, 2026 7:08:28 PM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError +May 22, 2026 3:45:56 AM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError WARNING: Operation failed: -evaluation error at L52:23 for 'create' @ L52, evaluation error at L52:23 for 'update' @ L52, false for 'create' @ L52 +evaluation error at L63:23 for 'create' @ L63, evaluation error at L63:23 for 'update' @ L63, false for 'create' @ L63 com.google.cloud.datastore.core.exception.DatastoreException: -evaluation error at L52:23 for 'create' @ L52, evaluation error at L52:23 for 'update' @ L52, false for 'create' @ L52 +evaluation error at L63:23 for 'create' @ L63, evaluation error at L63:23 for 'update' @ L63, false for 'create' @ L63 at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:386) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:336) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1245) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1232) + at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:385) + at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:339) + at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1243) + at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1231) at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) @@ -425,22 +327,19 @@ evaluation error at L52:23 for 'create' @ L52, evaluation error at L52:23 for 'u Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 07, 2026 7:08:28 PM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError +May 22, 2026 3:45:56 AM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError WARNING: Operation failed: -evaluation error at L129:24 for 'delete' @ L129, false for 'delete' @ L129 +evaluation error at L138:24 for 'delete' @ L138, false for 'delete' @ L138 com.google.cloud.datastore.core.exception.DatastoreException: -evaluation error at L129:24 for 'delete' @ L129, false for 'delete' @ L129 +evaluation error at L138:24 for 'delete' @ L138, false for 'delete' @ L138 at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:386) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:336) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1245) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1232) + at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:385) + at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:339) + at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1243) + at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1231) at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) @@ -459,87 +358,50 @@ evaluation error at L129:24 for 'delete' @ L129, false for 'delete' @ L129 at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) at java.base/java.lang.Thread.run(Thread.java:1583) -May 07, 2026 7:08:28 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead +May 22, 2026 3:46:17 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead +INFO: Detected non-HTTP/2 connection. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +May 22, 2026 3:46:17 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead INFO: Detected non-HTTP/2 connection. -May 07, 2026 7:08:28 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +May 22, 2026 3:46:17 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead INFO: Detected HTTP/2 connection. -May 07, 2026 7:08:28 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +May 22, 2026 3:46:17 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead INFO: Detected HTTP/2 connection. -May 07, 2026 7:08:28 PM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError -WARNING: Operation failed: -false for 'create' @ L52, false for 'update' @ L52 -com.google.cloud.datastore.core.exception.DatastoreException: -false for 'create' @ L52, false for 'update' @ L52 - at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:386) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:336) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1245) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1232) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:27) - at io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onMessage(ServerCalls.java:262) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailableInternal(ServerCallImpl.java:334) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailable(ServerCallImpl.java:319) - at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1MessagesAvailable.runInContext(ServerImpl.java:834) - at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) - at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) - -May 07, 2026 7:08:28 PM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError -WARNING: Operation failed: -false for 'create' @ L74, false for 'update' @ L79 -com.google.cloud.datastore.core.exception.DatastoreException: -false for 'create' @ L74, false for 'update' @ L79 - at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:386) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:336) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1245) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1232) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:27) - at io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onMessage(ServerCalls.java:262) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailableInternal(ServerCallImpl.java:334) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailable(ServerCallImpl.java:319) - at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1MessagesAvailable.runInContext(ServerImpl.java:834) - at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) - at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) - -May 07, 2026 7:08:29 PM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +May 22, 2026 3:46:17 AM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError WARNING: Operation failed: -false for 'create' @ L141 +evaluation error at L84:24 for 'create' @ L84, false for 'create' @ L84 com.google.cloud.datastore.core.exception.DatastoreException: -false for 'create' @ L141 +evaluation error at L84:24 for 'create' @ L84, false for 'create' @ L84 at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:386) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:336) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1245) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1232) + at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:385) + at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:339) + at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1243) + at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1231) at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) @@ -558,19 +420,58 @@ false for 'create' @ L141 at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) at java.base/java.lang.Thread.run(Thread.java:1583) -May 07, 2026 7:08:29 PM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +May 22, 2026 3:46:17 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead +INFO: Detected HTTP/2 connection. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +May 22, 2026 3:46:17 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead +INFO: Detected HTTP/2 connection. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +May 22, 2026 3:46:17 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead +INFO: Detected HTTP/2 connection. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +May 22, 2026 3:46:17 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead +INFO: Detected HTTP/2 connection. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +May 22, 2026 3:46:18 AM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError WARNING: Operation failed: -false for 'create' @ L269 +false for 'create' @ L148 com.google.cloud.datastore.core.exception.DatastoreException: -false for 'create' @ L269 +false for 'create' @ L148 at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:386) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:336) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1245) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1232) + at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:385) + at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:339) + at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1243) + at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1231) at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) @@ -589,19 +490,37 @@ false for 'create' @ L269 at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) at java.base/java.lang.Thread.run(Thread.java:1583) -May 07, 2026 7:08:29 PM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +May 22, 2026 3:46:18 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead +INFO: Detected HTTP/2 connection. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +May 22, 2026 3:46:18 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead +INFO: Detected HTTP/2 connection. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +May 22, 2026 3:46:18 AM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError WARNING: Operation failed: -false for 'create' @ L194 +false for 'create' @ L84 com.google.cloud.datastore.core.exception.DatastoreException: -false for 'create' @ L194 +false for 'create' @ L84 at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:386) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:336) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1245) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1232) + at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:385) + at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:339) + at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1243) + at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1231) at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) @@ -620,19 +539,34 @@ false for 'create' @ L194 at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) at java.base/java.lang.Thread.run(Thread.java:1583) -May 07, 2026 7:08:29 PM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +May 22, 2026 3:46:18 AM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError WARNING: Operation failed: -false for 'create' @ L127 +false for 'create' @ L202 com.google.cloud.datastore.core.exception.DatastoreException: -false for 'create' @ L127 +false for 'create' @ L202 at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:386) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:336) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1245) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1232) + at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:385) + at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:339) + at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1243) + at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1231) at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) @@ -651,19 +585,30 @@ false for 'create' @ L127 at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) at java.base/java.lang.Thread.run(Thread.java:1583) -May 07, 2026 7:08:29 PM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +May 22, 2026 3:46:18 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead +INFO: Detected HTTP/2 connection. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +May 22, 2026 3:46:18 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead +INFO: Detected HTTP/2 connection. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +May 22, 2026 3:46:18 AM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError WARNING: Operation failed: -false for 'create' @ L102 +false for 'create' @ L190, false for 'update' @ L190 com.google.cloud.datastore.core.exception.DatastoreException: -false for 'create' @ L102 +false for 'create' @ L190, false for 'update' @ L190 at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:386) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:336) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1245) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1232) + at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:385) + at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:339) + at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1243) + at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1231) at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) @@ -682,19 +627,25 @@ false for 'create' @ L102 at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) at java.base/java.lang.Thread.run(Thread.java:1583) -May 07, 2026 7:08:29 PM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. +May 22, 2026 3:46:18 AM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError WARNING: Operation failed: -false for 'create' @ L112 +evaluation error at L63:23 for 'create' @ L63, evaluation error at L63:23 for 'update' @ L63, false for 'create' @ L63 com.google.cloud.datastore.core.exception.DatastoreException: -false for 'create' @ L112 +evaluation error at L63:23 for 'create' @ L63, evaluation error at L63:23 for 'update' @ L63, false for 'create' @ L63 at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:386) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:336) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1245) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1232) + at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:385) + at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:339) + at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1243) + at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1231) at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) @@ -713,1053 +664,22 @@ false for 'create' @ L112 at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) at java.base/java.lang.Thread.run(Thread.java:1583) -May 07, 2026 7:08:29 PM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError -WARNING: Operation failed: -evaluation error at L52:23 for 'create' @ L52, evaluation error at L52:23 for 'update' @ L52, false for 'update' @ L52 -com.google.cloud.datastore.core.exception.DatastoreException: -evaluation error at L52:23 for 'create' @ L52, evaluation error at L52:23 for 'update' @ L52, false for 'update' @ L52 - at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:386) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:336) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1245) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1232) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:27) - at io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onMessage(ServerCalls.java:262) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailableInternal(ServerCallImpl.java:334) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailable(ServerCallImpl.java:319) - at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1MessagesAvailable.runInContext(ServerImpl.java:834) - at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) - at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) - -May 07, 2026 7:08:29 PM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError -WARNING: Operation failed: -evaluation error at L61:23 for 'create' @ L61, evaluation error at L61:23 for 'update' @ L61, false for 'update' @ L61 -com.google.cloud.datastore.core.exception.DatastoreException: -evaluation error at L61:23 for 'create' @ L61, evaluation error at L61:23 for 'update' @ L61, false for 'update' @ L61 - at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:386) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:336) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1245) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1232) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:27) - at io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onMessage(ServerCalls.java:262) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailableInternal(ServerCallImpl.java:334) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailable(ServerCallImpl.java:319) - at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1MessagesAvailable.runInContext(ServerImpl.java:834) - at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) - at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) - -May 07, 2026 7:08:29 PM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError -WARNING: Operation failed: -evaluation error at L129:24 for 'delete' @ L129, false for 'delete' @ L129 -com.google.cloud.datastore.core.exception.DatastoreException: -evaluation error at L129:24 for 'delete' @ L129, false for 'delete' @ L129 - at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:386) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:336) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1245) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1232) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:27) - at io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onMessage(ServerCalls.java:262) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailableInternal(ServerCallImpl.java:334) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailable(ServerCallImpl.java:319) - at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1MessagesAvailable.runInContext(ServerImpl.java:834) - at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) - at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) - -May 07, 2026 7:08:29 PM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError -WARNING: Operation failed: -evaluation error at L74:24 for 'create' @ L74, evaluation error at L79:24 for 'update' @ L79, false for 'create' @ L74 -com.google.cloud.datastore.core.exception.DatastoreException: -evaluation error at L74:24 for 'create' @ L74, evaluation error at L79:24 for 'update' @ L79, false for 'create' @ L74 - at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:386) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:336) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1245) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1232) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:27) - at io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onMessage(ServerCalls.java:262) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailableInternal(ServerCallImpl.java:334) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailable(ServerCallImpl.java:319) - at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1MessagesAvailable.runInContext(ServerImpl.java:834) - at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) - at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) - -May 07, 2026 7:08:29 PM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError -WARNING: Operation failed: -false for 'create' @ L183, false for 'update' @ L183 -com.google.cloud.datastore.core.exception.DatastoreException: -false for 'create' @ L183, false for 'update' @ L183 - at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:386) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:336) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1245) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1232) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:27) - at io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onMessage(ServerCalls.java:262) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailableInternal(ServerCallImpl.java:334) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailable(ServerCallImpl.java:319) - at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1MessagesAvailable.runInContext(ServerImpl.java:834) - at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) - at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) - -May 07, 2026 7:08:29 PM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError -WARNING: Operation failed: -evaluation error at L61:23 for 'update' @ L61, false for 'update' @ L61 -com.google.cloud.datastore.core.exception.DatastoreException: -evaluation error at L61:23 for 'update' @ L61, false for 'update' @ L61 - at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:386) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:336) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1245) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1232) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:27) - at io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onMessage(ServerCalls.java:262) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailableInternal(ServerCallImpl.java:334) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailable(ServerCallImpl.java:319) - at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1MessagesAvailable.runInContext(ServerImpl.java:834) - at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) - at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) - -May 07, 2026 7:10:48 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead -INFO: Detected non-HTTP/2 connection. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 07, 2026 7:10:48 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead -INFO: Detected non-HTTP/2 connection. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 07, 2026 7:10:48 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead -INFO: Detected HTTP/2 connection. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 07, 2026 7:10:48 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead -INFO: Detected HTTP/2 connection. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 07, 2026 7:10:48 PM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError -WARNING: Operation failed: -evaluation error at L74:24 for 'create' @ L74, false for 'create' @ L74 -com.google.cloud.datastore.core.exception.DatastoreException: -evaluation error at L74:24 for 'create' @ L74, false for 'create' @ L74 - at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:386) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:336) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1245) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1232) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:27) - at io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onMessage(ServerCalls.java:262) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailableInternal(ServerCallImpl.java:334) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailable(ServerCallImpl.java:319) - at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1MessagesAvailable.runInContext(ServerImpl.java:834) - at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) - at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) - -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 07, 2026 7:10:48 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead -INFO: Detected HTTP/2 connection. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 07, 2026 7:10:48 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead -INFO: Detected HTTP/2 connection. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 07, 2026 7:10:48 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead -INFO: Detected HTTP/2 connection. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 07, 2026 7:10:48 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead -INFO: Detected HTTP/2 connection. Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 07, 2026 7:10:48 PM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError -WARNING: Operation failed: -false for 'create' @ L141 -com.google.cloud.datastore.core.exception.DatastoreException: -false for 'create' @ L141 - at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:386) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:336) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1245) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1232) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:27) - at io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onMessage(ServerCalls.java:262) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailableInternal(ServerCallImpl.java:334) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailable(ServerCallImpl.java:319) - at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1MessagesAvailable.runInContext(ServerImpl.java:834) - at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) - at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) - -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 07, 2026 7:10:48 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead -INFO: Detected HTTP/2 connection. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 07, 2026 7:10:48 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead -INFO: Detected HTTP/2 connection. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 07, 2026 7:10:48 PM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError -WARNING: Operation failed: -false for 'create' @ L74 -com.google.cloud.datastore.core.exception.DatastoreException: -false for 'create' @ L74 - at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:386) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:336) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1245) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1232) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:27) - at io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onMessage(ServerCalls.java:262) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailableInternal(ServerCallImpl.java:334) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailable(ServerCallImpl.java:319) - at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1MessagesAvailable.runInContext(ServerImpl.java:834) - at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) - at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) - -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 07, 2026 7:10:48 PM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError -WARNING: Operation failed: -false for 'create' @ L194 -com.google.cloud.datastore.core.exception.DatastoreException: -false for 'create' @ L194 - at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:386) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:336) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1245) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1232) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:27) - at io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onMessage(ServerCalls.java:262) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailableInternal(ServerCallImpl.java:334) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailable(ServerCallImpl.java:319) - at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1MessagesAvailable.runInContext(ServerImpl.java:834) - at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) - at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) - -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 07, 2026 7:10:48 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead -INFO: Detected HTTP/2 connection. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 07, 2026 7:10:48 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead -INFO: Detected HTTP/2 connection. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 07, 2026 7:10:48 PM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError -WARNING: Operation failed: -false for 'create' @ L183, false for 'update' @ L183 -com.google.cloud.datastore.core.exception.DatastoreException: -false for 'create' @ L183, false for 'update' @ L183 - at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:386) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:336) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1245) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1232) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:27) - at io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onMessage(ServerCalls.java:262) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailableInternal(ServerCallImpl.java:334) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailable(ServerCallImpl.java:319) - at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1MessagesAvailable.runInContext(ServerImpl.java:834) - at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) - at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) - -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 07, 2026 7:10:48 PM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError -WARNING: Operation failed: -evaluation error at L52:23 for 'create' @ L52, evaluation error at L52:23 for 'update' @ L52, false for 'create' @ L52 -com.google.cloud.datastore.core.exception.DatastoreException: -evaluation error at L52:23 for 'create' @ L52, evaluation error at L52:23 for 'update' @ L52, false for 'create' @ L52 - at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:386) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:336) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1245) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1232) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:27) - at io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onMessage(ServerCalls.java:262) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailableInternal(ServerCallImpl.java:334) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailable(ServerCallImpl.java:319) - at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1MessagesAvailable.runInContext(ServerImpl.java:834) - at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) - at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) - -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 07, 2026 7:10:48 PM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError -WARNING: Operation failed: -evaluation error at L129:24 for 'delete' @ L129, false for 'delete' @ L129 -com.google.cloud.datastore.core.exception.DatastoreException: -evaluation error at L129:24 for 'delete' @ L129, false for 'delete' @ L129 - at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:386) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:336) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1245) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1232) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:27) - at io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onMessage(ServerCalls.java:262) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailableInternal(ServerCallImpl.java:334) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailable(ServerCallImpl.java:319) - at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1MessagesAvailable.runInContext(ServerImpl.java:834) - at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) - at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) - -May 07, 2026 7:10:49 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead -INFO: Detected non-HTTP/2 connection. -May 07, 2026 7:10:49 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead -INFO: Detected HTTP/2 connection. -May 07, 2026 7:10:49 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead -INFO: Detected HTTP/2 connection. -May 07, 2026 7:10:49 PM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError -WARNING: Operation failed: -false for 'create' @ L52, false for 'update' @ L52 -com.google.cloud.datastore.core.exception.DatastoreException: -false for 'create' @ L52, false for 'update' @ L52 - at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:386) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:336) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1245) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1232) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:27) - at io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onMessage(ServerCalls.java:262) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailableInternal(ServerCallImpl.java:334) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailable(ServerCallImpl.java:319) - at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1MessagesAvailable.runInContext(ServerImpl.java:834) - at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) - at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) - -May 07, 2026 7:10:49 PM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError -WARNING: Operation failed: -false for 'create' @ L74, false for 'update' @ L79 -com.google.cloud.datastore.core.exception.DatastoreException: -false for 'create' @ L74, false for 'update' @ L79 - at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:386) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:336) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1245) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1232) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:27) - at io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onMessage(ServerCalls.java:262) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailableInternal(ServerCallImpl.java:334) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailable(ServerCallImpl.java:319) - at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1MessagesAvailable.runInContext(ServerImpl.java:834) - at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) - at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) - -May 07, 2026 7:10:49 PM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError -WARNING: Operation failed: -false for 'create' @ L141 -com.google.cloud.datastore.core.exception.DatastoreException: -false for 'create' @ L141 - at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:386) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:336) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1245) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1232) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:27) - at io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onMessage(ServerCalls.java:262) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailableInternal(ServerCallImpl.java:334) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailable(ServerCallImpl.java:319) - at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1MessagesAvailable.runInContext(ServerImpl.java:834) - at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) - at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) - -May 07, 2026 7:10:49 PM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError -WARNING: Operation failed: -false for 'create' @ L269 -com.google.cloud.datastore.core.exception.DatastoreException: -false for 'create' @ L269 - at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:386) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:336) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1245) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1232) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:27) - at io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onMessage(ServerCalls.java:262) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailableInternal(ServerCallImpl.java:334) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailable(ServerCallImpl.java:319) - at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1MessagesAvailable.runInContext(ServerImpl.java:834) - at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) - at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) - -May 07, 2026 7:10:49 PM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError -WARNING: Operation failed: -false for 'create' @ L194 -com.google.cloud.datastore.core.exception.DatastoreException: -false for 'create' @ L194 - at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:386) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:336) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1245) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1232) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:27) - at io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onMessage(ServerCalls.java:262) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailableInternal(ServerCallImpl.java:334) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailable(ServerCallImpl.java:319) - at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1MessagesAvailable.runInContext(ServerImpl.java:834) - at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) - at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) - -May 07, 2026 7:10:49 PM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError -WARNING: Operation failed: -false for 'create' @ L127 -com.google.cloud.datastore.core.exception.DatastoreException: -false for 'create' @ L127 - at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:386) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:336) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1245) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1232) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:27) - at io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onMessage(ServerCalls.java:262) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailableInternal(ServerCallImpl.java:334) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailable(ServerCallImpl.java:319) - at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1MessagesAvailable.runInContext(ServerImpl.java:834) - at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) - at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) - -May 07, 2026 7:10:49 PM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError -WARNING: Operation failed: -false for 'create' @ L102 -com.google.cloud.datastore.core.exception.DatastoreException: -false for 'create' @ L102 - at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:386) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:336) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1245) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1232) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:27) - at io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onMessage(ServerCalls.java:262) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailableInternal(ServerCallImpl.java:334) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailable(ServerCallImpl.java:319) - at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1MessagesAvailable.runInContext(ServerImpl.java:834) - at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) - at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) - -May 07, 2026 7:10:49 PM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError -WARNING: Operation failed: -false for 'create' @ L112 -com.google.cloud.datastore.core.exception.DatastoreException: -false for 'create' @ L112 - at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:386) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:336) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1245) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1232) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:27) - at io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onMessage(ServerCalls.java:262) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailableInternal(ServerCallImpl.java:334) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailable(ServerCallImpl.java:319) - at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1MessagesAvailable.runInContext(ServerImpl.java:834) - at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) - at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) - -May 07, 2026 7:10:49 PM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError -WARNING: Operation failed: -evaluation error at L52:23 for 'create' @ L52, evaluation error at L52:23 for 'update' @ L52, false for 'update' @ L52 -com.google.cloud.datastore.core.exception.DatastoreException: -evaluation error at L52:23 for 'create' @ L52, evaluation error at L52:23 for 'update' @ L52, false for 'update' @ L52 - at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:386) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:336) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1245) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1232) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:27) - at io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onMessage(ServerCalls.java:262) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailableInternal(ServerCallImpl.java:334) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailable(ServerCallImpl.java:319) - at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1MessagesAvailable.runInContext(ServerImpl.java:834) - at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) - at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) - -May 07, 2026 7:10:49 PM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError -WARNING: Operation failed: -evaluation error at L61:23 for 'create' @ L61, evaluation error at L61:23 for 'update' @ L61, false for 'update' @ L61 -com.google.cloud.datastore.core.exception.DatastoreException: -evaluation error at L61:23 for 'create' @ L61, evaluation error at L61:23 for 'update' @ L61, false for 'update' @ L61 - at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:386) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:336) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1245) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1232) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:27) - at io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onMessage(ServerCalls.java:262) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailableInternal(ServerCallImpl.java:334) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailable(ServerCallImpl.java:319) - at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1MessagesAvailable.runInContext(ServerImpl.java:834) - at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) - at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) - -May 07, 2026 7:10:49 PM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError -WARNING: Operation failed: -evaluation error at L129:24 for 'delete' @ L129, false for 'delete' @ L129 -com.google.cloud.datastore.core.exception.DatastoreException: -evaluation error at L129:24 for 'delete' @ L129, false for 'delete' @ L129 - at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:386) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:336) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1245) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1232) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:27) - at io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onMessage(ServerCalls.java:262) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailableInternal(ServerCallImpl.java:334) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailable(ServerCallImpl.java:319) - at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1MessagesAvailable.runInContext(ServerImpl.java:834) - at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) - at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) - -May 07, 2026 7:10:49 PM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError -WARNING: Operation failed: -evaluation error at L74:24 for 'create' @ L74, evaluation error at L79:24 for 'update' @ L79, false for 'create' @ L74 -com.google.cloud.datastore.core.exception.DatastoreException: -evaluation error at L74:24 for 'create' @ L74, evaluation error at L79:24 for 'update' @ L79, false for 'create' @ L74 - at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:386) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:336) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1245) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1232) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:27) - at io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onMessage(ServerCalls.java:262) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailableInternal(ServerCallImpl.java:334) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailable(ServerCallImpl.java:319) - at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1MessagesAvailable.runInContext(ServerImpl.java:834) - at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) - at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) - -May 07, 2026 7:10:49 PM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError -WARNING: Operation failed: -false for 'create' @ L183, false for 'update' @ L183 -com.google.cloud.datastore.core.exception.DatastoreException: -false for 'create' @ L183, false for 'update' @ L183 - at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:386) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:336) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1245) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1232) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:27) - at io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onMessage(ServerCalls.java:262) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailableInternal(ServerCallImpl.java:334) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailable(ServerCallImpl.java:319) - at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1MessagesAvailable.runInContext(ServerImpl.java:834) - at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) - at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) - -May 07, 2026 7:10:49 PM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError +May 22, 2026 3:46:18 AM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError WARNING: Operation failed: -evaluation error at L61:23 for 'update' @ L61, false for 'update' @ L61 +evaluation error at L138:24 for 'delete' @ L138, false for 'delete' @ L138 com.google.cloud.datastore.core.exception.DatastoreException: -evaluation error at L61:23 for 'update' @ L61, false for 'update' @ L61 +evaluation error at L138:24 for 'delete' @ L138, false for 'delete' @ L138 at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:386) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:336) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1245) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1232) + at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:385) + at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:339) + at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1243) + at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1231) at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) diff --git a/firestore.rules b/firestore.rules index 1c9d079..c67523a 100644 --- a/firestore.rules +++ b/firestore.rules @@ -1,8 +1,21 @@ // ───────────────────────────────────────────────────────────────────────────── -// Firestore Security Rules -// Project: ngo-mg-website-47a1a +// Firestore Security Rules — Multi-Tenant NGO Platform // -// Role-based access model +// ╔══════════════════════════════════════════════════════════════════════════╗ +// ║ ARCHITECTURE CHOICE ║ +// ║ ║ +// ║ Option A (Recommended): One Firebase project per tenant. ║ +// ║ → Use this file as-is for each tenant's own project. ║ +// ║ → Data isolation is enforced at the infrastructure level. ║ +// ║ → An Auth token from NGO-A is cryptographically invalid in NGO-B. ║ +// ║ ║ +// ║ Option B: Shared project, tenant-namespaced collections. ║ +// ║ → Replace the flat collection rules below with the namespaced ║ +// ║ /tenants/{tenantId}/... pattern shown at the bottom of this file. ║ +// ║ → Requires a `tenantId` custom claim set at login via Admin SDK. ║ +// ╚══════════════════════════════════════════════════════════════════════════╝ +// +// Role-based access model (Option A — per-tenant project) // ──────────────────────── // Public – unauthenticated visitors; read-only access to published content // and the right to submit contact forms / event registrations. @@ -28,16 +41,14 @@ service cloud.firestore { return request.auth != null; } - function staffDoc() { - return get(/databases/$(database)/documents/staff/$(request.auth.uid)).data; - } - function isAdmin() { - return isAuthenticated() && staffDoc().role == "admin"; + return request.auth != null + && get(/databases/$(database)/documents/staff/$(request.auth.uid)).data.role == "admin"; } function isEditor() { - return isAuthenticated() && staffDoc().role == "editor"; + return request.auth != null + && get(/databases/$(database)/documents/staff/$(request.auth.uid)).data.role == "editor"; } function isAdminOrEditor() { @@ -67,9 +78,8 @@ service cloud.firestore { // Admin: full CRUD. match /contentItems/{contentItemId} { - allow read: if - (resource.data.status == "published" && resource.data.deletedAt == null) || - isAdminOrEditor(); + allow read: if resource.data.status == "published" && resource.data.deletedAt == null; + allow read: if request.auth != null && isAdminOrEditor(); allow create: if isAdmin() || (isEditor() && @@ -119,9 +129,8 @@ service cloud.firestore { // Only admin may delete. match /mediaAssets/{assetId} { - allow read: if - (resource.data.visibility == "public" && resource.data.deletedAt == null) || - isAdminOrEditor(); + allow read: if resource.data.visibility == "public" && resource.data.deletedAt == null; + allow read: if request.auth != null && isAdminOrEditor(); allow create, update: if isAdminOrEditor(); @@ -136,8 +145,6 @@ service cloud.firestore { match /contactMessages/{messageId} { allow create: if - // Public submission — allow all fields the client sends, but lock down - // workflow/audit fields so the submitter cannot manipulate them. request.resource.data.keys().hasOnly([ "senderName", "senderEmail", "senderPhone", "subject", "messageBody", @@ -149,13 +156,12 @@ service cloud.firestore { request.resource.data.handledAt == null && request.resource.data.deletedAt == null; - allow read: if isAdminOrEditor(); + allow read: if request.auth != null && isAdminOrEditor(); - allow update: if isAdmin() || - // Editor may only touch workflow fields + allow update: if request.auth != null && (isAdmin() || (isEditor() && request.resource.data.diff(resource.data).affectedKeys() - .hasOnly(["status", "handledAt", "handledBy", "internalNotes"])); + .hasOnly(["status", "handledAt", "handledBy", "internalNotes"]))); allow delete: if isAdmin(); } @@ -166,7 +172,8 @@ service cloud.firestore { // Only admin may archive / delete. match /campaigns/{campaignId} { - allow read: if resource.data.status == "active" || isAdminOrEditor(); + allow read: if resource.data.status == "active"; + allow read: if request.auth != null && isAdminOrEditor(); allow create, update: if isAdminOrEditor(); @@ -188,7 +195,8 @@ service cloud.firestore { // Admin and editor: create and update. match /events/{eventId} { - allow read: if resource.data.status == "published" || isAdminOrEditor(); + allow read: if resource.data.status == "published"; + allow read: if request.auth != null && isAdminOrEditor(); allow create, update: if isAdminOrEditor(); @@ -228,7 +236,8 @@ service cloud.firestore { // Admin and editor: full CRUD. match /announcements/{announcementId} { - allow read: if resource.data.status == "published" || isAdminOrEditor(); + allow read: if resource.data.status == "published"; + allow read: if request.auth != null && isAdminOrEditor(); allow create, update: if isAdminOrEditor(); allow delete: if isAdminOrEditor(); } @@ -290,3 +299,88 @@ service cloud.firestore { } } } + +// ============================================================================= +// OPTION B — Shared project, tenant-namespaced collections +// ============================================================================= +// Uncomment and deploy this block INSTEAD of the rules above if you choose to +// host all NGOs in a single Firebase project. Each NGO's data lives under +// /tenants/{tenantId}/... — cross-tenant reads/writes are impossible by rule. +// +// Prerequisites: +// 1. Set a `tenantId` custom claim on each user via Admin SDK at sign-in: +// await getAuth().setCustomUserClaims(uid, { tenantId: "ngo-a" }); +// 2. Migrate all collection paths to /tenants/{tenantId}//. +// 3. Update service files to use the namespaced collection paths. +// +// ============================================================================= +// +// rules_version = '2'; +// service cloud.firestore { +// match /databases/{database}/documents { +// +// function tenantId() { +// return request.auth.token.tenantId; +// } +// +// function staffDoc(tid) { +// return get(/databases/$(database)/documents/tenants/$(tid)/staff/$(request.auth.uid)).data; +// } +// +// function isAdmin(tid) { +// return request.auth != null && tenantId() == tid && staffDoc(tid).role == "admin"; +// } +// +// function isEditor(tid) { +// return request.auth != null && tenantId() == tid && staffDoc(tid).role == "editor"; +// } +// +// function isAdminOrEditor(tid) { +// return isAdmin(tid) || isEditor(tid); +// } +// +// // ── Tenant root — no direct document reads ────────────────────────── +// match /tenants/{tenantId} { +// +// match /settings/{doc} { +// allow read: if true; +// allow write: if isAdmin(tenantId); +// } +// +// match /staff/{uid} { +// allow read: if isAdmin(tenantId) +// || (request.auth != null && tenantId() == tenantId && request.auth.uid == uid); +// allow write: if isAdmin(tenantId); +// } +// +// match /contentItems/{id} { +// allow read: if +// (resource.data.status == "published" && resource.data.deletedAt == null) +// || isAdminOrEditor(tenantId); +// +// allow create: if isAdmin(tenantId) +// || (isEditor(tenantId) && request.resource.data.createdBy == request.auth.uid); +// +// allow update: if isAdmin(tenantId) +// || (isEditor(tenantId) && request.resource.data.updatedBy == request.auth.uid); +// +// allow delete: if isAdmin(tenantId); +// +// match /revisions/{revisionId} { +// allow read, create: if isAdminOrEditor(tenantId); +// allow update, delete: if false; +// } +// } +// +// // Repeat the same pattern for all other collections: +// // categories, tags, mediaAssets, contactMessages, campaigns, +// // donations, events, auditLogs, announcements, ibanEntries, +// // boardMembers, supporters, volunteerApplications, notifications +// } +// +// // Deny everything outside /tenants/{tenantId}/... +// match /{document=**} { +// allow read, write: if false; +// } +// } +// } diff --git a/lib/firebase/AuthContext.tsx b/lib/firebase/AuthContext.tsx index 207ea43..cc88887 100644 --- a/lib/firebase/AuthContext.tsx +++ b/lib/firebase/AuthContext.tsx @@ -14,7 +14,7 @@ import { type User, } from "firebase/auth"; import { doc, getDoc } from "firebase/firestore"; -import { auth, db } from "./config"; +import { useTenantFirebase } from "./TenantFirebaseContext"; type Role = "admin" | "editor" | null; @@ -29,8 +29,13 @@ interface AuthContextValue { const AuthContext = createContext(null); export function AuthProvider({ children }: { children: ReactNode }) { - const [user, setUser] = useState(null); - const [role, setRole] = useState(null); + // auth and db come from the tenant-aware Firebase context, not a build-time + // singleton. This means the correct Firebase project is always used regardless + // of which NGO's domain the user is visiting. + const { auth, db } = useTenantFirebase(); + + const [user, setUser] = useState(null); + const [role, setRole] = useState(null); const [loading, setLoading] = useState(true); useEffect(() => { @@ -47,11 +52,12 @@ export function AuthProvider({ children }: { children: ReactNode }) { }); return () => unsubscribe(); - }, []); + // Re-subscribe whenever the Firebase app instance changes (tenant switch). + }, [auth, db]); const login = async (email: string, password: string) => { await signInWithEmailAndPassword(auth, email, password); - // onAuthStateChanged listener handles setting user + role after sign-in + // onAuthStateChanged handles setting user + role after sign-in. }; const logout = async () => { diff --git a/lib/firebase/TenantFirebaseContext.tsx b/lib/firebase/TenantFirebaseContext.tsx new file mode 100644 index 0000000..f28db67 --- /dev/null +++ b/lib/firebase/TenantFirebaseContext.tsx @@ -0,0 +1,63 @@ +"use client"; + +import { + createContext, + useContext, + useMemo, + type ReactNode, +} from "react"; +import { + getOrInitTenantApp, + type TenantFirebaseConfig, + type TenantFirebaseServices, +} from "./clientApp"; + +// ── Context ─────────────────────────────────────────────────────────────────── + +const TenantFirebaseContext = createContext(null); + +// ── Provider ────────────────────────────────────────────────────────────────── + +interface TenantFirebaseProviderProps { + /** Serialized from the Server Component that resolved the current tenant. */ + config: TenantFirebaseConfig; + children: ReactNode; +} + +/** + * Initializes the tenant's Firebase app exactly once and makes auth, db, and + * storage available to every client component in the tree. + * + * This is a Client Component that sits just below the RSC boundary. The parent + * Server Component (RootLayout) fetches the tenant config from the master DB + * and passes it down as a plain serializable prop — no secrets cross the + * boundary because masterDb.ts strips admin credentials before returning the + * TenantRecord. + */ +export function TenantFirebaseProvider({ config, children }: TenantFirebaseProviderProps) { + // projectId is stable for the lifetime of a browser session, so this memo + // only re-initializes if the component somehow mounts with a different tenant + // (which should never happen in production but is safe to handle). + const services = useMemo( + () => getOrInitTenantApp(config), + // eslint-disable-next-line react-hooks/exhaustive-deps + [config.projectId], + ); + + return ( + + {children} + + ); +} + +// ── Hooks ───────────────────────────────────────────────────────────────────── + +/** Returns the full set of initialized Firebase services for the current tenant. */ +export function useTenantFirebase(): TenantFirebaseServices { + const ctx = useContext(TenantFirebaseContext); + if (!ctx) { + throw new Error("useTenantFirebase must be called inside "); + } + return ctx; +} diff --git a/lib/firebase/adminServices.ts b/lib/firebase/adminServices.ts index 5fde8e7..fd1918f 100644 --- a/lib/firebase/adminServices.ts +++ b/lib/firebase/adminServices.ts @@ -10,10 +10,17 @@ import { where, serverTimestamp, type DocumentData, + type Firestore, } from "firebase/firestore"; -import { db, auth } from "./config"; +import type { Auth } from "firebase/auth"; import { COLLECTIONS, DOCUMENT_IDS } from "./constants"; +/** Services bag passed into every admin function — matches TenantFirebaseServices shape. */ +export interface AdminServices { + db: Firestore; + auth: Auth; +} + export interface AdminDashboardStats { totalBlogs: number; publishedBlogs: number; @@ -42,7 +49,7 @@ async function safeDocs(q: Query) { } } -export async function getAdminDashboardStats(): Promise { +export async function getAdminDashboardStats({ db }: AdminServices): Promise { const [blogsSnap, totalEvents, totalAnnouncements, pendingMessages, pendingVolunteers] = await Promise.all([ safeDocs( @@ -104,7 +111,7 @@ export interface BoardMember { sortOrder: number; } -export async function getBoardMembers(): Promise { +export async function getBoardMembers({ db }: AdminServices): Promise { const snap = await getDocs(collection(db, COLLECTIONS.BOARD_MEMBERS)); return snap.docs .map((d) => { @@ -122,6 +129,7 @@ export async function getBoardMembers(): Promise { } export async function createBoardMember( + { db, auth }: AdminServices, member: Omit ): Promise { const uid = auth.currentUser?.uid ?? null; @@ -136,6 +144,7 @@ export async function createBoardMember( } export async function updateBoardMember( + { db, auth }: AdminServices, id: string, data: Partial> ): Promise { @@ -146,7 +155,7 @@ export async function updateBoardMember( }); } -export async function deleteBoardMember(id: string): Promise { +export async function deleteBoardMember({ db }: AdminServices, id: string): Promise { const { deleteDoc } = await import("firebase/firestore"); await deleteDoc(doc(db, COLLECTIONS.BOARD_MEMBERS, id)); } @@ -161,7 +170,7 @@ export interface Supporter { sortOrder: number; } -export async function getSupporters(): Promise { +export async function getSupporters({ db }: AdminServices): Promise { const snap = await getDocs(collection(db, COLLECTIONS.SUPPORTERS)); return snap.docs .map((d) => { @@ -178,6 +187,7 @@ export async function getSupporters(): Promise { } export async function createSupporter( + { db, auth }: AdminServices, supporter: Omit ): Promise { const uid = auth.currentUser?.uid ?? null; @@ -192,6 +202,7 @@ export async function createSupporter( } export async function updateSupporter( + { db, auth }: AdminServices, id: string, data: Partial> ): Promise { @@ -202,7 +213,7 @@ export async function updateSupporter( }); } -export async function deleteSupporter(id: string): Promise { +export async function deleteSupporter({ db }: AdminServices, id: string): Promise { const { deleteDoc } = await import("firebase/firestore"); await deleteDoc(doc(db, COLLECTIONS.SUPPORTERS, id)); } @@ -218,7 +229,7 @@ export interface IbanEntry { sortOrder: number; } -export async function getIbanEntries(): Promise { +export async function getIbanEntries({ db }: AdminServices): Promise { const snap = await getDocs(collection(db, COLLECTIONS.IBAN_ENTRIES)); return snap.docs .map((d) => { @@ -235,7 +246,7 @@ export async function getIbanEntries(): Promise { .sort((a, b) => a.sortOrder - b.sortOrder); } -export async function createIbanEntry(entry: Omit): Promise { +export async function createIbanEntry({ db, auth }: AdminServices, entry: Omit): Promise { const uid = auth.currentUser?.uid ?? null; const ref = await addDoc(collection(db, COLLECTIONS.IBAN_ENTRIES), { ...entry, @@ -248,6 +259,7 @@ export async function createIbanEntry(entry: Omit): Promise> ): Promise { @@ -258,7 +270,7 @@ export async function updateIbanEntry( }); } -export async function deleteIbanEntry(id: string): Promise { +export async function deleteIbanEntry({ db }: AdminServices, id: string): Promise { const { deleteDoc } = await import("firebase/firestore"); await deleteDoc(doc(db, COLLECTIONS.IBAN_ENTRIES, id)); } @@ -275,7 +287,7 @@ export interface AdminReport { featured: boolean; } -export async function getAdminReports(): Promise { +export async function getAdminReports({ db }: AdminServices): Promise { const snap = await getDocs( query( collection(db, COLLECTIONS.CONTENT_ITEMS), @@ -297,7 +309,7 @@ export async function getAdminReports(): Promise { }); } -export async function createAdminReport(report: Omit): Promise { +export async function createAdminReport({ db, auth }: AdminServices, report: Omit): Promise { const uid = auth.currentUser?.uid ?? null; const ref = await addDoc(collection(db, COLLECTIONS.CONTENT_ITEMS), { type: "policy", @@ -337,6 +349,7 @@ export async function createAdminReport(report: Omit): Promis } export async function updateAdminReport( + { db, auth }: AdminServices, id: string, data: Partial> ): Promise { @@ -353,7 +366,7 @@ export async function updateAdminReport( await updateDoc(doc(db, COLLECTIONS.CONTENT_ITEMS, id), update); } -export async function deleteAdminReport(id: string): Promise { +export async function deleteAdminReport({ db }: AdminServices, id: string): Promise { await updateDoc(doc(db, COLLECTIONS.CONTENT_ITEMS, id), { deletedAt: serverTimestamp(), updatedAt: serverTimestamp(), @@ -371,7 +384,7 @@ export interface AdminPage { updatedAt: string; } -export async function getAdminPageBySlug(slug: string): Promise { +export async function getAdminPageBySlug({ db }: AdminServices, slug: string): Promise { const snap = await getDocs( query( collection(db, COLLECTIONS.CONTENT_ITEMS), @@ -395,6 +408,7 @@ export async function getAdminPageBySlug(slug: string): Promise | null> { const snap = await getDocs( @@ -409,7 +423,7 @@ export async function getAdminPageDataBySlug( return (snap.docs[0].data().pageData as Record | null) ?? null; } -export async function getAdminPages(): Promise { +export async function getAdminPages({ db }: AdminServices): Promise { const snap = await getDocs( query( collection(db, COLLECTIONS.CONTENT_ITEMS), @@ -432,6 +446,7 @@ export async function getAdminPages(): Promise { } export async function upsertAdminPage( + { db, auth }: AdminServices, slug: string, title: string, bodyMarkdown: string, @@ -505,7 +520,7 @@ export interface AdminSiteSettings { defaultSeoDescription: string; } -export async function getAdminSiteSettings(): Promise> { +export async function getAdminSiteSettings({ db }: AdminServices): Promise> { const snap = await getDoc(doc(db, COLLECTIONS.SETTINGS, DOCUMENT_IDS.SITE_SETTINGS)); if (!snap.exists()) return {}; const data = snap.data(); @@ -526,6 +541,7 @@ export async function getAdminSiteSettings(): Promise } export async function updateAdminSiteSettings( + { db, auth }: AdminServices, data: Partial ): Promise { const uid = auth.currentUser?.uid ?? null; @@ -550,7 +566,7 @@ export interface AdminContactMessage { createdAt: string; } -export async function getContactMessages(): Promise { +export async function getContactMessages({ db }: AdminServices): Promise { const snap = await getDocs( query( collection(db, COLLECTIONS.CONTACT_MESSAGES), @@ -578,6 +594,7 @@ export async function getContactMessages(): Promise { } export async function updateContactMessageStatus( + { db, auth }: AdminServices, id: string, status: AdminContactMessage["status"], internalNotes?: string @@ -600,7 +617,7 @@ import type { PageBlockData } from "@/types/pageBuilder"; * Fetch the block-based page data for a given slug. * Returns null when the document doesn't exist yet or has no sections. */ -export async function getPageBlocks(slug: string): Promise { +export async function getPageBlocks({ db }: AdminServices, slug: string): Promise { const snap = await getDocs( query( collection(db, COLLECTIONS.CONTENT_ITEMS), @@ -619,6 +636,7 @@ export async function getPageBlocks(slug: string): Promise * exist yet, otherwise updates pageData + status + publishedAt. */ export async function savePageBlocks( + { db, auth }: AdminServices, slug: string, title: string, blockData: PageBlockData, @@ -684,6 +702,7 @@ export async function savePageBlocks( // Creates a new doc if none exists yet. export async function upsertPageContent( + { db, auth }: AdminServices, slug: string, pageData: Record ): Promise { @@ -743,14 +762,14 @@ export async function upsertPageContent( // ── Staff photo management ──────────────────────────────────────────────────── -export async function updateStaffPhotoURL(uid: string, photoURL: string): Promise { +export async function updateStaffPhotoURL({ db }: AdminServices, uid: string, photoURL: string): Promise { await updateDoc(doc(db, COLLECTIONS.STAFF, uid), { photoURL, updatedAt: serverTimestamp(), }); } -export async function getStaffMember(uid: string): Promise<{ photoURL?: string; displayName?: string; email?: string } | null> { +export async function getStaffMember({ db }: AdminServices, uid: string): Promise<{ photoURL?: string; displayName?: string; email?: string } | null> { try { const snap = await getDoc(doc(db, COLLECTIONS.STAFF, uid)); if (!snap.exists()) return null; diff --git a/lib/firebase/clientApp.ts b/lib/firebase/clientApp.ts new file mode 100644 index 0000000..20df247 --- /dev/null +++ b/lib/firebase/clientApp.ts @@ -0,0 +1,48 @@ +import { initializeApp, getApps, type FirebaseApp } from "firebase/app"; +import { getAuth, type Auth } from "firebase/auth"; +import { getFirestore, type Firestore } from "firebase/firestore"; +import { getStorage, type FirebaseStorage } from "firebase/storage"; + +export interface TenantFirebaseConfig { + apiKey: string; + authDomain: string; + projectId: string; + storageBucket: string; + messagingSenderId: string; + appId: string; +} + +export interface TenantFirebaseServices { + app: FirebaseApp; + auth: Auth; + db: Firestore; + storage: FirebaseStorage; +} + +/** + * Returns (or initializes) the Firebase app for a given tenant config. + * + * On the browser there is exactly one tenant per page load, so we initialize + * the [DEFAULT] app on first call and return it on every subsequent call, + * even if the same function is invoked again (e.g. React StrictMode double + * invocations). We deliberately avoid named apps here because Firebase Auth's + * redirect-based social login and persistence layer require the [DEFAULT] app. + * + * On the server (SSR / RSC) this function is not called — the Admin SDK is + * used instead. Server Components receive tenant config as props and pass it + * to this provider via serialized JSON, never executing Firebase client SDK + * calls themselves. + */ +export function getOrInitTenantApp(config: TenantFirebaseConfig): TenantFirebaseServices { + // If the default app already exists, return its services immediately. + // This handles React StrictMode double-invocations and fast navigations. + const existing = getApps().find((a) => a.name === "[DEFAULT]"); + const app = existing ?? initializeApp(config); + + return { + app, + auth: getAuth(app), + db: getFirestore(app), + storage: getStorage(app), + }; +} diff --git a/lib/firebase/editorServices.ts b/lib/firebase/editorServices.ts index dcbc270..bb0a78d 100644 --- a/lib/firebase/editorServices.ts +++ b/lib/firebase/editorServices.ts @@ -10,9 +10,15 @@ import { serverTimestamp, Timestamp, type DocumentData, + type Firestore, } from "firebase/firestore"; -import { db, auth } from "./config"; +import type { Auth } from "firebase/auth"; import { COLLECTIONS } from "./constants"; + +export interface EditorServices { + db: Firestore; + auth: Auth; +} import type { BlogPost, EventItem, @@ -58,7 +64,7 @@ export function slugify(text: string): string { .slice(0, 80); } -function uid(): string | null { +function uid(auth: Auth): string | null { return auth.currentUser?.uid ?? null; } @@ -73,7 +79,7 @@ export function attachmentsFromContentItem(data: Record): impor // ── Blog Posts (contentItems with type="post") ──────────────────────────────── -export async function getEditorBlogs(): Promise { +export async function getEditorBlogs({ db }: EditorServices): Promise { const q = query( collection(db, COLLECTIONS.CONTENT_ITEMS), where("type", "==", "post"), @@ -101,8 +107,8 @@ export async function getEditorBlogs(): Promise { }); } -export async function createEditorBlog(blog: Omit): Promise { - const userId = uid(); +export async function createEditorBlog({ db, auth }: EditorServices, blog: Omit): Promise { + const userId = uid(auth); const ref = await addDoc(collection(db, COLLECTIONS.CONTENT_ITEMS), { type: "post", title: blog.title, @@ -141,10 +147,10 @@ export async function createEditorBlog(blog: Omit): Promise): Promise { +export async function updateEditorBlog({ db, auth }: EditorServices, id: string, data: Partial): Promise { const update: DocumentData = { updatedAt: serverTimestamp(), - updatedBy: uid(), + updatedBy: uid(auth), }; if (data.title !== undefined) { update.title = data.title; @@ -172,7 +178,7 @@ export async function updateEditorBlog(id: string, data: Partial): Pro await updateDoc(doc(db, COLLECTIONS.CONTENT_ITEMS, id), update); } -export async function deleteEditorBlog(id: string): Promise { +export async function deleteEditorBlog({ db }: EditorServices, id: string): Promise { await updateDoc(doc(db, COLLECTIONS.CONTENT_ITEMS, id), { deletedAt: serverTimestamp(), updatedAt: serverTimestamp(), @@ -201,7 +207,7 @@ function eventStatusToFirestore(s: EventItem["status"]): string { return map[s] ?? "draft"; } -export async function getEditorEvents(): Promise { +export async function getEditorEvents({ db }: EditorServices): Promise { const q = query( collection(db, COLLECTIONS.EVENTS), where("deletedAt", "==", null), @@ -229,8 +235,8 @@ export async function getEditorEvents(): Promise { }); } -export async function createEditorEvent(event: Omit): Promise { - const userId = uid(); +export async function createEditorEvent({ db, auth }: EditorServices, event: Omit): Promise { + const userId = uid(auth); const ref = await addDoc(collection(db, COLLECTIONS.EVENTS), { title: event.title, slug: slugify(event.title), @@ -257,10 +263,10 @@ export async function createEditorEvent(event: Omit): Promise): Promise { +export async function updateEditorEvent({ db, auth }: EditorServices, id: string, data: Partial): Promise { const update: DocumentData = { updatedAt: serverTimestamp(), - updatedBy: uid(), + updatedBy: uid(auth), }; if (data.title !== undefined) { update.title = data.title; @@ -283,7 +289,7 @@ export async function updateEditorEvent(id: string, data: Partial): P await updateDoc(doc(db, COLLECTIONS.EVENTS, id), update); } -export async function deleteEditorEvent(id: string): Promise { +export async function deleteEditorEvent({ db }: EditorServices, id: string): Promise { await updateDoc(doc(db, COLLECTIONS.EVENTS, id), { deletedAt: serverTimestamp(), updatedAt: serverTimestamp(), @@ -292,7 +298,7 @@ export async function deleteEditorEvent(id: string): Promise { // ── Media Assets ───────────────────────────────────────────────��────────────── -export async function getEditorMedia(): Promise { +export async function getEditorMedia({ db }: EditorServices): Promise { const q = query( collection(db, COLLECTIONS.MEDIA_ASSETS), where("deletedAt", "==", null), @@ -316,8 +322,8 @@ export async function getEditorMedia(): Promise { }); } -export async function createEditorMedia(item: Omit): Promise { - const userId = uid(); +export async function createEditorMedia({ db, auth }: EditorServices, item: Omit): Promise { + const userId = uid(auth); const mimeType = item.mimeType ?? "application/octet-stream"; const kind = mimeType.startsWith("image/") ? "image" @@ -351,6 +357,7 @@ export async function createEditorMedia(item: Omit): Promise ): Promise { @@ -369,7 +376,7 @@ export async function updateEditorMedia( await updateDoc(doc(db, COLLECTIONS.MEDIA_ASSETS, id), update); } -export async function deleteEditorMedia(id: string): Promise { +export async function deleteEditorMedia({ db }: EditorServices, id: string): Promise { await updateDoc(doc(db, COLLECTIONS.MEDIA_ASSETS, id), { deletedAt: serverTimestamp(), updatedAt: serverTimestamp(), @@ -378,7 +385,7 @@ export async function deleteEditorMedia(id: string): Promise { // ── Announcements ───────────────────────────────────────────────────────────── -export async function getEditorAnnouncements(): Promise { +export async function getEditorAnnouncements({ db }: EditorServices): Promise { const q = query( collection(db, COLLECTIONS.ANNOUNCEMENTS), where("deletedAt", "==", null), @@ -401,6 +408,7 @@ export async function getEditorAnnouncements(): Promise { } export async function createEditorAnnouncement( + { db }: EditorServices, item: Omit ): Promise { const ref = await addDoc(collection(db, COLLECTIONS.ANNOUNCEMENTS), { @@ -419,6 +427,7 @@ export async function createEditorAnnouncement( } export async function updateEditorAnnouncement( + { db }: EditorServices, id: string, data: Partial ): Promise { @@ -436,7 +445,7 @@ export async function updateEditorAnnouncement( await updateDoc(doc(db, COLLECTIONS.ANNOUNCEMENTS, id), update); } -export async function deleteEditorAnnouncement(id: string): Promise { +export async function deleteEditorAnnouncement({ db }: EditorServices, id: string): Promise { await updateDoc(doc(db, COLLECTIONS.ANNOUNCEMENTS, id), { deletedAt: serverTimestamp(), updatedAt: serverTimestamp(), @@ -445,7 +454,7 @@ export async function deleteEditorAnnouncement(id: string): Promise { // ── Notifications ───────────────────────────────────────────────────────────── -export async function getEditorNotifications(): Promise { +export async function getEditorNotifications({ db, auth }: EditorServices): Promise { const user = auth.currentUser; if (!user) return []; @@ -466,13 +475,13 @@ export async function getEditorNotifications(): Promise { }); } -export async function markNotificationRead(id: string): Promise { +export async function markNotificationRead({ db }: EditorServices, id: string): Promise { await updateDoc(doc(db, COLLECTIONS.NOTIFICATIONS, id), { isRead: true }); } // ── Campaigns ───────────────────────────────────────────────────────────────── -export async function getEditorCampaigns(): Promise { +export async function getEditorCampaigns({ db }: EditorServices): Promise { const q = query( collection(db, COLLECTIONS.CAMPAIGNS), where("deletedAt", "==", null), @@ -499,9 +508,10 @@ export async function getEditorCampaigns(): Promise { } export async function createEditorCampaign( + { db, auth }: EditorServices, campaign: Omit ): Promise { - const userId = uid(); + const userId = uid(auth); const ref = await addDoc(collection(db, COLLECTIONS.CAMPAIGNS), { title: campaign.title, slug: slugify(campaign.title), @@ -529,10 +539,11 @@ export async function createEditorCampaign( } export async function updateEditorCampaign( + { db, auth }: EditorServices, id: string, data: Partial ): Promise { - const update: DocumentData = { updatedAt: serverTimestamp(), updatedBy: uid() }; + const update: DocumentData = { updatedAt: serverTimestamp(), updatedBy: uid(auth) }; if (data.title !== undefined) { update.title = data.title; update.slug = slugify(data.title); @@ -555,7 +566,7 @@ export async function updateEditorCampaign( await updateDoc(doc(db, COLLECTIONS.CAMPAIGNS, id), update); } -export async function deleteEditorCampaign(id: string): Promise { +export async function deleteEditorCampaign({ db }: EditorServices, id: string): Promise { await updateDoc(doc(db, COLLECTIONS.CAMPAIGNS, id), { deletedAt: serverTimestamp(), updatedAt: serverTimestamp(), @@ -564,7 +575,7 @@ export async function deleteEditorCampaign(id: string): Promise { // ── Categories ──────────────────────────────────────────────────────────────── -export async function getEditorCategories(type?: string): Promise { +export async function getEditorCategories({ db }: EditorServices, type?: string): Promise { const q = type ? query( collection(db, COLLECTIONS.CATEGORIES), @@ -591,9 +602,10 @@ export async function getEditorCategories(type?: string): Promise ): Promise { - const userId = uid(); + const userId = uid(auth); const ref = await addDoc(collection(db, COLLECTIONS.CATEGORIES), { name: category.name, slug: category.slug || slugify(category.name), @@ -609,10 +621,11 @@ export async function createEditorCategory( } export async function updateEditorCategory( + { db, auth }: EditorServices, id: string, data: Partial> ): Promise { - const update: DocumentData = { updatedAt: serverTimestamp(), updatedBy: uid() }; + const update: DocumentData = { updatedAt: serverTimestamp(), updatedBy: uid(auth) }; if (data.name !== undefined) update.name = data.name; if (data.slug !== undefined) update.slug = data.slug; if (data.type !== undefined) update.type = data.type; @@ -620,17 +633,17 @@ export async function updateEditorCategory( await updateDoc(doc(db, COLLECTIONS.CATEGORIES, id), update); } -export async function deleteEditorCategory(id: string): Promise { +export async function deleteEditorCategory({ db, auth }: EditorServices, id: string): Promise { await updateDoc(doc(db, COLLECTIONS.CATEGORIES, id), { deletedAt: serverTimestamp(), updatedAt: serverTimestamp(), - updatedBy: uid(), + updatedBy: uid(auth), }); } // ── Tags ────────────────────────────────────────────────────────────────────── -export async function getEditorTags(type?: string): Promise { +export async function getEditorTags({ db }: EditorServices, type?: string): Promise { const q = type ? query( collection(db, COLLECTIONS.TAGS), @@ -650,8 +663,8 @@ export async function getEditorTags(type?: string): Promise { }); } -export async function createEditorTag(tag: Omit): Promise { - const userId = uid(); +export async function createEditorTag({ db, auth }: EditorServices, tag: Omit): Promise { + const userId = uid(auth); const ref = await addDoc(collection(db, COLLECTIONS.TAGS), { name: tag.name, slug: tag.slug || slugify(tag.name), @@ -666,21 +679,22 @@ export async function createEditorTag(tag: Omit): Promise } export async function updateEditorTag( + { db, auth }: EditorServices, id: string, data: Partial> ): Promise { - const update: DocumentData = { updatedAt: serverTimestamp(), updatedBy: uid() }; + const update: DocumentData = { updatedAt: serverTimestamp(), updatedBy: uid(auth) }; if (data.name !== undefined) update.name = data.name; if (data.slug !== undefined) update.slug = data.slug; if (data.type !== undefined) update.type = data.type; await updateDoc(doc(db, COLLECTIONS.TAGS, id), update); } -export async function deleteEditorTag(id: string): Promise { +export async function deleteEditorTag({ db, auth }: EditorServices, id: string): Promise { await updateDoc(doc(db, COLLECTIONS.TAGS, id), { deletedAt: serverTimestamp(), updatedAt: serverTimestamp(), - updatedBy: uid(), + updatedBy: uid(auth), }); } diff --git a/lib/firebase/getDefaultDb.ts b/lib/firebase/getDefaultDb.ts new file mode 100644 index 0000000..47c2702 --- /dev/null +++ b/lib/firebase/getDefaultDb.ts @@ -0,0 +1,57 @@ +/** + * getDefaultDb — server-side Firestore instance resolver. + * + * Used by server-only content helpers (publicContent.ts, publicPagesContent.ts) + * and API routes that run outside the React component tree and therefore cannot + * use useTenantFirebase(). + * + * Resolution order: + * 1. In production (FIREBASE_MASTER_* set): the caller should obtain `db` by + * resolving the tenant from the master DB and calling getOrInitTenantApp(). + * These callers should be migrated to accept `db` as a parameter over time. + * 2. Fallback: initialise a client SDK Firestore instance from the + * NEXT_PUBLIC_FIREBASE_* env vars already present in .env. This keeps the + * dev server working before the master DB infrastructure exists. + * + * This file is intentionally NOT marked "server-only" because publicContent.ts + * is also imported by API routes that run in the Node.js runtime, not RSC. + */ + +import { getOrInitTenantApp } from "./clientApp"; +import type { Firestore } from "firebase/firestore"; + +let _db: Firestore | null = null; + +/** True when a real projectId is available — false during `next build` in CI. */ +export function isDbAvailable(): boolean { + return !!(process.env.NEXT_PUBLIC_FIREBASE_PROJECT_ID ?? ""); +} + +export function getDefaultDb(): Firestore { + if (_db) return _db; + + const projectId = process.env.NEXT_PUBLIC_FIREBASE_PROJECT_ID ?? ""; + + if (!projectId) { + // During `next build` in CI, Firebase env vars are intentionally absent. + // Return a no-op stub so that service functions (which all have their own + // try/catch) fail gracefully and static pages render with empty data + // rather than crashing the build. + // At runtime the real db comes from TenantFirebaseContext (client) or the + // master DB lookup in layout.tsx (server) — getDefaultDb is never the + // live path in production. + return {} as Firestore; + } + + const config = { + apiKey: process.env.NEXT_PUBLIC_FIREBASE_API_KEY ?? "", + authDomain: process.env.NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN ?? "", + projectId, + storageBucket: process.env.NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET ?? "", + messagingSenderId: process.env.NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID ?? "", + appId: process.env.NEXT_PUBLIC_FIREBASE_APP_ID ?? "", + }; + + _db = getOrInitTenantApp(config).db; + return _db; +} diff --git a/lib/firebase/hooks/useTenantServices.ts b/lib/firebase/hooks/useTenantServices.ts new file mode 100644 index 0000000..4ded588 --- /dev/null +++ b/lib/firebase/hooks/useTenantServices.ts @@ -0,0 +1,170 @@ +"use client"; + +/** + * useTenantServices — the bridge between service functions and UI components. + * + * Problem solved (Trap 3 from the review): + * After refactoring service files to accept `db`/`auth`/`storage` as + * parameters, UI components would have to call: + * const { db } = useTenantFirebase(); + * const result = await getSiteSettings(db); + * on every single call — repetitive and noisy. + * + * Solution: + * This hook returns fully-bound versions of the service functions. Each + * returned function has the same signature as the original, minus the first + * `db`/`auth`/`storage` argument, which is automatically applied from the + * current tenant context. + * + * UI components call: + * const { getSiteSettings } = useTenantServices(); + * const settings = await getSiteSettings(); + * + * Usage: + * Only use inside Client Components (or other "use client" hooks). + * Server Components should import service functions directly and pass `db` + * from the server-side Firebase admin lookup. + */ + +import { useMemo } from "react"; +import { useTenantFirebase } from "../TenantFirebaseContext"; + +// ── Public services (read-only, no auth required) ──────────────────────────── +import * as publicSvc from "../services"; +// ── Nav services ───────────────────────────────────────────────────────────── +import * as navSvc from "../navServices"; +// ── Admin services ──────────────────────────────────────────────────────────── +import * as adminSvc from "../adminServices"; +// ── Editor services ──────────────────────────────────────────────────────────── +import * as editorSvc from "../editorServices"; +// ── Storage utils ───────────────────────────────────────────────────────────── +import * as storageSvc from "../storageUtils"; + +export function useTenantServices() { + const { db, auth, storage } = useTenantFirebase(); + + return useMemo(() => ({ + // ── Public read functions ────────────────────────────────────────────── + getSiteSettings: () => publicSvc.getSiteSettings(db), + getPublishedContentByType: (type: Parameters[1]) => + publicSvc.getPublishedContentByType(db, type), + getContentBySlug: (slug: string) => publicSvc.getContentBySlug(db, slug), + getPublishedEvents: () => publicSvc.getPublishedEvents(db), + getCategories: () => publicSvc.getCategories(db), + getTags: () => publicSvc.getTags(db), + getPublicMediaAssets: () => publicSvc.getPublicMediaAssets(db), + getActiveCampaigns: () => publicSvc.getActiveCampaigns(db), + getPublicIbanEntries: () => publicSvc.getPublicIbanEntries(db), + getPublicSupporters: () => publicSvc.getPublicSupporters(db), + submitVolunteerApplication: (data: Parameters[1]) => + publicSvc.submitVolunteerApplication(db, data), + submitContactMessage: (data: Parameters[1]) => + publicSvc.submitContactMessage(db, data), + + // ── Nav functions ────────────────────────────────────────────────────── + getNavConfig: () => navSvc.getNavConfig(db), + saveNavConfig: (items: Parameters[1]) => + navSvc.saveNavConfig(db, items), + createNavItem: (item: Parameters[1]) => + navSvc.createNavItem(db, item), + deleteNavItem: (key: string) => navSvc.deleteNavItem(db, key), + patchNavItem: (key: string, patch: Parameters[2]) => + navSvc.patchNavItem(db, key, patch), + + // ── Admin functions ──────────────────────────────────────────────────── + getAdminDashboardStats: () => adminSvc.getAdminDashboardStats({ db, auth }), + getBoardMembers: () => adminSvc.getBoardMembers({ db, auth }), + createBoardMember: (m: Parameters[1]) => + adminSvc.createBoardMember({ db, auth }, m), + updateBoardMember: (id: string, d: Parameters[2]) => + adminSvc.updateBoardMember({ db, auth }, id, d), + deleteBoardMember: (id: string) => adminSvc.deleteBoardMember({ db, auth }, id), + getSupporters: () => adminSvc.getSupporters({ db, auth }), + createSupporter: (s: Parameters[1]) => + adminSvc.createSupporter({ db, auth }, s), + updateSupporter: (id: string, d: Parameters[2]) => + adminSvc.updateSupporter({ db, auth }, id, d), + deleteSupporter: (id: string) => adminSvc.deleteSupporter({ db, auth }, id), + getIbanEntries: () => adminSvc.getIbanEntries({ db, auth }), + createIbanEntry: (e: Parameters[1]) => + adminSvc.createIbanEntry({ db, auth }, e), + updateIbanEntry: (id: string, d: Parameters[2]) => + adminSvc.updateIbanEntry({ db, auth }, id, d), + deleteIbanEntry: (id: string) => adminSvc.deleteIbanEntry({ db, auth }, id), + getAdminReports: () => adminSvc.getAdminReports({ db, auth }), + createAdminReport: (r: Parameters[1]) => + adminSvc.createAdminReport({ db, auth }, r), + updateAdminReport: (id: string, d: Parameters[2]) => + adminSvc.updateAdminReport({ db, auth }, id, d), + deleteAdminReport: (id: string) => adminSvc.deleteAdminReport({ db, auth }, id), + getAdminPageBySlug: (slug: string) => adminSvc.getAdminPageBySlug({ db, auth }, slug), + getAdminPageDataBySlug: (slug: string) => adminSvc.getAdminPageDataBySlug({ db, auth }, slug), + getAdminPages: () => adminSvc.getAdminPages({ db, auth }), + upsertAdminPage: (...args: Parameters extends [infer _, ...infer R] ? R : never) => + adminSvc.upsertAdminPage({ db, auth }, ...args), + getAdminSiteSettings: () => adminSvc.getAdminSiteSettings({ db, auth }), + updateAdminSiteSettings: (d: Parameters[1]) => + adminSvc.updateAdminSiteSettings({ db, auth }, d), + getContactMessages: () => adminSvc.getContactMessages({ db, auth }), + updateContactMessageStatus: (...args: Parameters extends [infer _, ...infer R] ? R : never) => + adminSvc.updateContactMessageStatus({ db, auth }, ...args), + getPageBlocks: (slug: string) => adminSvc.getPageBlocks({ db, auth }, slug), + savePageBlocks: (...args: Parameters extends [infer _, ...infer R] ? R : never) => + adminSvc.savePageBlocks({ db, auth }, ...args), + upsertPageContent: (slug: string, data: Parameters[2]) => + adminSvc.upsertPageContent({ db, auth }, slug, data), + updateStaffPhotoURL: (uid: string, photoURL: string) => + adminSvc.updateStaffPhotoURL({ db, auth }, uid, photoURL), + getStaffMember: (uid: string) => adminSvc.getStaffMember({ db, auth }, uid), + + // ── Editor functions ─────────────────────────────────────────────────── + getEditorBlogs: () => editorSvc.getEditorBlogs({ db, auth }), + createEditorBlog: (b: Parameters[1]) => + editorSvc.createEditorBlog({ db, auth }, b), + updateEditorBlog: (id: string, d: Parameters[2]) => + editorSvc.updateEditorBlog({ db, auth }, id, d), + deleteEditorBlog: (id: string) => editorSvc.deleteEditorBlog({ db, auth }, id), + getEditorEvents: () => editorSvc.getEditorEvents({ db, auth }), + createEditorEvent: (e: Parameters[1]) => + editorSvc.createEditorEvent({ db, auth }, e), + updateEditorEvent: (id: string, d: Parameters[2]) => + editorSvc.updateEditorEvent({ db, auth }, id, d), + deleteEditorEvent: (id: string) => editorSvc.deleteEditorEvent({ db, auth }, id), + getEditorMedia: () => editorSvc.getEditorMedia({ db, auth }), + createEditorMedia: (m: Parameters[1]) => + editorSvc.createEditorMedia({ db, auth }, m), + updateEditorMedia: (id: string, d: Parameters[2]) => + editorSvc.updateEditorMedia({ db, auth }, id, d), + deleteEditorMedia: (id: string) => editorSvc.deleteEditorMedia({ db, auth }, id), + getEditorAnnouncements: () => editorSvc.getEditorAnnouncements({ db, auth }), + createEditorAnnouncement: (a: Parameters[1]) => + editorSvc.createEditorAnnouncement({ db, auth }, a), + updateEditorAnnouncement: (id: string, d: Parameters[2]) => + editorSvc.updateEditorAnnouncement({ db, auth }, id, d), + deleteEditorAnnouncement: (id: string) => editorSvc.deleteEditorAnnouncement({ db, auth }, id), + getEditorNotifications: () => editorSvc.getEditorNotifications({ db, auth }), + markNotificationRead: (id: string) => editorSvc.markNotificationRead({ db, auth }, id), + getEditorCampaigns: () => editorSvc.getEditorCampaigns({ db, auth }), + createEditorCampaign: (c: Parameters[1]) => + editorSvc.createEditorCampaign({ db, auth }, c), + updateEditorCampaign: (id: string, d: Parameters[2]) => + editorSvc.updateEditorCampaign({ db, auth }, id, d), + deleteEditorCampaign: (id: string) => editorSvc.deleteEditorCampaign({ db, auth }, id), + getEditorCategories: (type?: string) => editorSvc.getEditorCategories({ db, auth }, type), + createEditorCategory: (c: Parameters[1]) => + editorSvc.createEditorCategory({ db, auth }, c), + updateEditorCategory: (id: string, d: Parameters[2]) => + editorSvc.updateEditorCategory({ db, auth }, id, d), + deleteEditorCategory: (id: string) => editorSvc.deleteEditorCategory({ db, auth }, id), + getEditorTags: (type?: string) => editorSvc.getEditorTags({ db, auth }, type), + createEditorTag: (t: Parameters[1]) => + editorSvc.createEditorTag({ db, auth }, t), + updateEditorTag: (id: string, d: Parameters[2]) => + editorSvc.updateEditorTag({ db, auth }, id, d), + deleteEditorTag: (id: string) => editorSvc.deleteEditorTag({ db, auth }, id), + + // ── Storage ──────────────────────────────────────────────────────────── + uploadImage: (file: File) => storageSvc.uploadImage(storage, file), + deleteImageByUrl: (url: string) => storageSvc.deleteImageByUrl(storage, url), + }), [db, auth, storage]); +} diff --git a/lib/firebase/navServices.ts b/lib/firebase/navServices.ts index 3abd602..70d84d5 100644 --- a/lib/firebase/navServices.ts +++ b/lib/firebase/navServices.ts @@ -1,5 +1,4 @@ -import { doc, getDoc, setDoc } from "firebase/firestore"; -import { db } from "./config"; +import { doc, getDoc, setDoc, type Firestore } from "firebase/firestore"; import { COLLECTIONS, DOCUMENT_IDS } from "./constants"; import type { TemplateType } from "@/types/pageBuilder"; @@ -38,7 +37,7 @@ export const DEFAULT_NAV_ITEMS: NavItem[] = [ { key: "bagis", href: "/donate", label: "Bağış Yap", isVisible: true, sortOrder: 8, isDonateButton: true, pageSlug: null, pageType: "special" }, ]; -export async function getNavConfig(): Promise { +export async function getNavConfig(db: Firestore): Promise { try { const snap = await getDoc(doc(db, COLLECTIONS.SETTINGS, DOCUMENT_IDS.NAVIGATION)); if (snap.exists()) { @@ -53,7 +52,7 @@ export async function getNavConfig(): Promise { return DEFAULT_NAV_ITEMS; } -export async function saveNavConfig(items: NavItem[]): Promise { +export async function saveNavConfig(db: Firestore, items: NavItem[]): Promise { await setDoc( doc(db, COLLECTIONS.SETTINGS, DOCUMENT_IDS.NAVIGATION), { items }, @@ -62,30 +61,31 @@ export async function saveNavConfig(items: NavItem[]): Promise { } /** Append a new nav item to the current config and persist. */ -export async function createNavItem(newItem: NavItem): Promise { - const current = await getNavConfig(); +export async function createNavItem(db: Firestore, newItem: NavItem): Promise { + const current = await getNavConfig(db); const maxOrder = current.reduce((m, i) => Math.max(m, i.sortOrder), 0); const withOrder: NavItem = { ...newItem, sortOrder: maxOrder + 1 }; - await saveNavConfig([...current, withOrder]); + await saveNavConfig(db, [...current, withOrder]); } /** Remove a nav item by key and persist the updated list. */ -export async function deleteNavItem(key: string): Promise { - const current = await getNavConfig(); +export async function deleteNavItem(db: Firestore, key: string): Promise { + const current = await getNavConfig(db); const filtered = current .filter((i) => i.key !== key) .map((item, idx) => ({ ...item, sortOrder: idx + 1 })); - await saveNavConfig(filtered); + await saveNavConfig(db, filtered); } /** Update a single field on a nav item (e.g. pageStatus) and persist. */ export async function patchNavItem( + db: Firestore, key: string, patch: Partial ): Promise { - const current = await getNavConfig(); + const current = await getNavConfig(db); const next = current.map((item) => item.key === key ? { ...item, ...patch } : item ); - await saveNavConfig(next); + await saveNavConfig(db, next); } diff --git a/lib/firebase/services.ts b/lib/firebase/services.ts index 6feece9..5082f46 100644 --- a/lib/firebase/services.ts +++ b/lib/firebase/services.ts @@ -8,8 +8,8 @@ import { where, orderBy, serverTimestamp, + type Firestore, } from "firebase/firestore"; -import { db } from "./config"; import { COLLECTIONS, CONTENT_STATUS, EVENT_STATUS, CONTACT_STATUS, CAMPAIGN_STATUS } from "./constants"; import type { SiteSettings, @@ -31,7 +31,7 @@ function fromDoc(snap: { id: string; data: () => Record }): // ── Settings ────────────────────────────────────────────────────────────────── -export async function getSiteSettings(): Promise { +export async function getSiteSettings(db: Firestore): Promise { const snap = await getDoc(doc(db, COLLECTIONS.SETTINGS, "site")); if (!snap.exists()) return null; return snap.data() as SiteSettings; @@ -40,6 +40,7 @@ export async function getSiteSettings(): Promise { // ── Content items ───────────────────────────────────────────────────────────── export async function getPublishedContentByType( + db: Firestore, type: ContentItem["type"] ): Promise<(ContentItem & { id: string })[]> { const q = query( @@ -54,6 +55,7 @@ export async function getPublishedContentByType( } export async function getContentBySlug( + db: Firestore, slug: string ): Promise<(ContentItem & { id: string }) | null> { const q = query( @@ -69,7 +71,7 @@ export async function getContentBySlug( // ── Events ──────────────────────────────────────────────────────────────────── -export async function getPublishedEvents(): Promise<(Event & { id: string })[]> { +export async function getPublishedEvents(db: Firestore): Promise<(Event & { id: string })[]> { const q = query( collection(db, COLLECTIONS.EVENTS), where("status", "==", EVENT_STATUS.PUBLISHED), @@ -81,7 +83,7 @@ export async function getPublishedEvents(): Promise<(Event & { id: string })[]> // ── Categories & Tags ───────────────────────────────────────────────────────── -export async function getCategories(): Promise<(Category & { id: string })[]> { +export async function getCategories(db: Firestore): Promise<(Category & { id: string })[]> { const q = query( collection(db, COLLECTIONS.CATEGORIES), where("deletedAt", "==", null) @@ -90,7 +92,7 @@ export async function getCategories(): Promise<(Category & { id: string })[]> { return snap.docs.map((d) => fromDoc(d)); } -export async function getTags(): Promise<(Tag & { id: string })[]> { +export async function getTags(db: Firestore): Promise<(Tag & { id: string })[]> { const q = query( collection(db, COLLECTIONS.TAGS), where("deletedAt", "==", null) @@ -101,7 +103,7 @@ export async function getTags(): Promise<(Tag & { id: string })[]> { // ── Media assets ────────────────────────────────────────────────────────────── -export async function getPublicMediaAssets(): Promise<(MediaAsset & { id: string })[]> { +export async function getPublicMediaAssets(db: Firestore): Promise<(MediaAsset & { id: string })[]> { const q = query( collection(db, COLLECTIONS.MEDIA_ASSETS), where("visibility", "==", "public"), @@ -114,7 +116,7 @@ export async function getPublicMediaAssets(): Promise<(MediaAsset & { id: string // ── Campaigns ───────────────────────────────────────────────────────────────── -export async function getActiveCampaigns(): Promise<(Campaign & { id: string })[]> { +export async function getActiveCampaigns(db: Firestore): Promise<(Campaign & { id: string })[]> { const q = query( collection(db, COLLECTIONS.CAMPAIGNS), where("status", "==", CAMPAIGN_STATUS.ACTIVE), @@ -135,7 +137,7 @@ export interface PublicIbanEntry { sortOrder: number; } -export async function getPublicIbanEntries(): Promise { +export async function getPublicIbanEntries(db: Firestore): Promise { const snap = await getDocs(collection(db, COLLECTIONS.IBAN_ENTRIES)); return snap.docs .map((d) => { @@ -162,7 +164,7 @@ export interface PublicSupporter { sortOrder: number; } -export async function getPublicSupporters(): Promise { +export async function getPublicSupporters(db: Firestore): Promise { const snap = await getDocs(collection(db, COLLECTIONS.SUPPORTERS)); return snap.docs .map((d) => { @@ -199,6 +201,7 @@ export interface VolunteerApplicationInput { } export async function submitVolunteerApplication( + db: Firestore, data: VolunteerApplicationInput ): Promise { const ref = await addDoc( @@ -219,6 +222,7 @@ export async function submitVolunteerApplication( // ── Contact messages ────────────────────────────────────────────────────────── export async function submitContactMessage( + db: Firestore, data: ContactMessageInput ): Promise { const payload: Omit = { diff --git a/lib/firebase/storageUtils.ts b/lib/firebase/storageUtils.ts index 750374e..740e057 100644 --- a/lib/firebase/storageUtils.ts +++ b/lib/firebase/storageUtils.ts @@ -1,11 +1,12 @@ -import { ref, uploadBytes, getDownloadURL, deleteObject } from "firebase/storage"; -import { storage } from "./config"; +import { + ref, + uploadBytes, + getDownloadURL, + deleteObject, + type FirebaseStorage, +} from "firebase/storage"; -/** - * Uploads a file to Firebase Storage under /public/uploads/ and returns its - * public download URL. Uses a timestamp + random suffix to avoid collisions. - */ -export async function uploadImage(file: File): Promise { +export async function uploadImage(storage: FirebaseStorage, file: File): Promise { const ext = file.name.split(".").pop() ?? "bin"; const name = `${Date.now()}-${Math.random().toString(36).slice(2, 8)}.${ext}`; const storageRef = ref(storage, `public/uploads/${name}`); @@ -13,11 +14,7 @@ export async function uploadImage(file: File): Promise { return getDownloadURL(storageRef); } -/** - * Deletes a file from Firebase Storage by its download URL. - * Silently ignores errors (e.g. file already deleted). - */ -export async function deleteImageByUrl(url: string): Promise { +export async function deleteImageByUrl(storage: FirebaseStorage, url: string): Promise { try { const storageRef = ref(storage, url); await deleteObject(storageRef); diff --git a/lib/firebase/tenantServerDb.ts b/lib/firebase/tenantServerDb.ts new file mode 100644 index 0000000..c9393c6 --- /dev/null +++ b/lib/firebase/tenantServerDb.ts @@ -0,0 +1,115 @@ +/** + * tenantServerDb.ts — server-side Firestore reads via REST API + * + * The layout Server Component needs to read tenant Firestore data (nav config, + * site settings) but only has client-safe credentials (apiKey + projectId). + * The Firebase Admin SDK requires a service account — we don't store one per + * tenant. The client SDK works in the browser but not reliably in the Node.js + * server runtime used by Next.js Server Components. + * + * Solution: use the Firestore REST API directly. It authenticates with the + * public apiKey and works in any runtime. + */ + +import "server-only"; + +import { COLLECTIONS, DOCUMENT_IDS } from "./constants"; +import type { NavItem } from "./navServices"; +import type { SiteSettings } from "./types"; + +interface FirestoreValue { + stringValue?: string; + integerValue?: string; + doubleValue?: number; + booleanValue?: boolean; + nullValue?: null; + arrayValue?: { values?: FirestoreValue[] }; + mapValue?: { fields?: Record }; + timestampValue?: string; +} + +interface FirestoreDocument { + name?: string; + fields?: Record; +} + +function deserializeValue(val: FirestoreValue): unknown { + if (val.stringValue !== undefined) return val.stringValue; + if (val.integerValue !== undefined) return Number(val.integerValue); + if (val.doubleValue !== undefined) return val.doubleValue; + if (val.booleanValue !== undefined) return val.booleanValue; + if ("nullValue" in val) return null; + if (val.timestampValue !== undefined) return val.timestampValue; + if (val.arrayValue !== undefined) { + return (val.arrayValue.values ?? []).map(deserializeValue); + } + if (val.mapValue !== undefined) { + const result: Record = {}; + for (const [k, v] of Object.entries(val.mapValue.fields ?? {})) { + result[k] = deserializeValue(v); + } + return result; + } + return undefined; +} + +function deserializeDocument(doc: FirestoreDocument): Record { + const result: Record = {}; + for (const [k, v] of Object.entries(doc.fields ?? {})) { + result[k] = deserializeValue(v); + } + return result; +} + +async function getDocument( + projectId: string, + apiKey: string, + collection: string, + docId: string, +): Promise | null> { + const url = + `https://firestore.googleapis.com/v1/projects/${projectId}/databases/(default)/documents/${collection}/${docId}?key=${apiKey}`; + + const res = await fetch(url, { cache: "no-store" }); + + if (res.status === 404) return null; + if (!res.ok) { + console.error(`[tenantServerDb] Firestore REST error ${res.status} for ${collection}/${docId}`); + return null; + } + + const doc: FirestoreDocument = await res.json(); + return deserializeDocument(doc); +} + +export interface TenantServerConfig { + projectId: string; + apiKey: string; +} + +export async function getTenantSiteSettings( + cfg: TenantServerConfig, +): Promise { + try { + const data = await getDocument(cfg.projectId, cfg.apiKey, COLLECTIONS.SETTINGS, DOCUMENT_IDS.SITE_SETTINGS); + return data as SiteSettings | null; + } catch (err) { + console.error("[tenantServerDb] getSiteSettings error:", err); + return null; + } +} + +export async function getTenantNavConfig( + cfg: TenantServerConfig, +): Promise { + try { + const data = await getDocument(cfg.projectId, cfg.apiKey, COLLECTIONS.SETTINGS, DOCUMENT_IDS.NAVIGATION); + if (!data) return null; + const items = (data.items ?? []) as NavItem[]; + if (items.length === 0) return null; + return items.sort((a, b) => a.sortOrder - b.sortOrder); + } catch (err) { + console.error("[tenantServerDb] getNavConfig error:", err); + return null; + } +} diff --git a/lib/publicContent.ts b/lib/publicContent.ts index e7c8c16..1a5e7d5 100644 --- a/lib/publicContent.ts +++ b/lib/publicContent.ts @@ -16,6 +16,7 @@ import { type PublicIbanEntry, type PublicSupporter, } from "@/lib/firebase/services"; +import { getDefaultDb, isDbAvailable } from "@/lib/firebase/getDefaultDb"; export type { PublicIbanEntry, PublicSupporter }; import { @@ -219,8 +220,23 @@ function attachmentsFromContentItem(item: unknown): PublicBlogAttachment[] { } export async function getPublishedBlogs(): Promise { + if (!isDbAvailable()) return seedBlogPosts + .filter((b) => b.status === "published") + .map((b) => ({ + id: b.id, + slug: b.slug, + title: b.title, + excerpt: b.excerpt, + author: b.authorName ?? "", + publishedAt: b.publishedAt ?? new Date().toISOString().split("T")[0], + coverImage: b.coverImageUrl ?? FALLBACK_COVER, + bodyMarkdown: b.bodyMarkdown ?? "", + attachmentUrl: "", + attachmentName: "", + content: b.bodyMarkdown ? b.bodyMarkdown.split("\n\n") : [], + })); try { - const items = await getPublishedContentByType("post"); + const items = await getPublishedContentByType(getDefaultDb(), "post"); if (items.length > 0) { return items.map((item) => ({ id: item.id, @@ -262,8 +278,20 @@ export async function getPublishedBlogs(): Promise { export async function getBlogBySlug( slug: string ): Promise { + if (!isDbAvailable()) { + const found = seedBlogPosts.find((b) => b.slug === slug); + if (!found) return null; + return { + id: found.id, slug: found.slug, title: found.title, excerpt: found.excerpt, + author: found.authorName ?? "", + publishedAt: found.publishedAt ?? new Date().toISOString().split("T")[0], + coverImage: found.coverImageUrl ?? FALLBACK_COVER, + bodyMarkdown: found.bodyMarkdown ?? "", + content: found.bodyMarkdown ? found.bodyMarkdown.split("\n\n") : [], + }; + } try { - const item = await getContentBySlug(slug); + const item = await getContentBySlug(getDefaultDb(), slug); if (item) { return { id: item.id, @@ -320,8 +348,18 @@ export interface PublicEvent { } export async function getPublicEvents(): Promise { + if (!isDbAvailable()) return seedEvents + .filter((e) => e.status === "published") + .map((e) => ({ + id: e.id, slug: e.slug, title: e.title, + startsAt: e.startsAt, endsAt: e.endsAt, + isOnline: e.isOnline, onlineUrl: e.onlineUrl, + locationName: e.locationName, city: e.city, + venue: e.venue, eventType: e.eventType, capacity: e.capacity, + attachmentUrl: "", attachmentName: "", + })); try { - const items = await getPublishedEvents(); + const items = await getPublishedEvents(getDefaultDb()); if (items.length > 0) { return items.map((e) => ({ id: e.id, @@ -389,8 +427,13 @@ export interface MGPageContent { } export async function getMGPageContent(slug: string): Promise { + if (!isDbAvailable()) { + const section = MG_SECTIONS.find((s) => s.slug === slug); + if (!section) return null; + return { slug: section.slug, title: section.title, body: section.description }; + } try { - const item = await getContentBySlug(slug); + const item = await getContentBySlug(getDefaultDb(), slug); if (item && item.type === "page") { return { slug: item.slug, @@ -414,8 +457,9 @@ export async function getMGPageContent(slug: string): Promise { + if (!isDbAvailable()) return [{ id: "seed", bankName: seedSettings.bankName ?? "", accountHolder: seedSettings.accountName ?? "", iban: seedSettings.iban ?? "", currency: "TRY", sortOrder: 0 }]; try { - const entries = await getPublicIbanEntries(); + const entries = await getPublicIbanEntries(getDefaultDb()); if (entries.length > 0) return entries; } catch (err) { console.error("[publicContent] getDonationIbanEntries Firestore error:", err); @@ -436,8 +480,9 @@ export async function getDonationIbanEntries(): Promise { // ── Public supporters ───────────────────────────────────────────────────────── export async function getSupportersForPublic(): Promise { + if (!isDbAvailable()) return []; try { - const supporters = await getPublicSupporters(); + const supporters = await getPublicSupporters(getDefaultDb()); if (supporters.length > 0) return supporters; } catch (err) { console.error("[publicContent] getSupportersForPublic Firestore error:", err); @@ -476,8 +521,9 @@ const DEFAULT_IMPACT_ITEMS: PublicImpactItem[] = [ ]; export async function getDonationImpactItems(): Promise { + if (!isDbAvailable()) return DEFAULT_IMPACT_ITEMS; try { - const item = await getContentBySlug("bagis"); + const item = await getContentBySlug(getDefaultDb(), "bagis"); const list = (item?.pageData as Record | undefined)?.impactItems; if (Array.isArray(list)) { return list @@ -506,10 +552,31 @@ export async function getDonationCampaignById( // ── Donation page ───────────────────────────────────────────────────────────── export async function getDonationPageData(): Promise { + if (!isDbAvailable()) { + const campaigns = seedCampaigns.map((c) => ({ + id: c.id, title: c.title, subtitle: c.subtitle, + description: c.description, imageUrl: c.imageUrl, + currentAmount: c.raisedAmount, targetAmount: c.goalAmount, + })); + const ibanEntries = await getDonationIbanEntries(); + const primary = ibanEntries[0]; + return { + title: mergeEditablePageData("bagis").title, + subtitle: mergeEditablePageData("bagis").subtitle, + bankName: primary?.bankName ?? seedSettings.bankName ?? "", + accountName: primary?.accountHolder ?? seedSettings.accountName ?? "", + iban: primary?.iban ?? seedSettings.iban ?? "", + swiftCode: seedSettings.swiftCode ?? "", + monthlyMessage: seedSettings.monthlyMessage, + campaigns, + showCampaigns: true, + }; + } + let campaigns: DonationCampaign[] = []; try { - const firestoreCampaigns = await getActiveCampaigns(); + const firestoreCampaigns = await getActiveCampaigns(getDefaultDb()); if (firestoreCampaigns.length > 0) { campaigns = firestoreCampaigns.map((c) => ({ id: c.id, @@ -539,8 +606,8 @@ export async function getDonationPageData(): Promise { // monthlyMessage from site settings with seed fallback let monthlyMessage = seedSettings.monthlyMessage; - try { - const settings = await getSiteSettings(); + if (isDbAvailable()) try { + const settings = await getSiteSettings(getDefaultDb()); if (settings) { monthlyMessage = (settings as unknown as Record).monthlyMessage ?? monthlyMessage; @@ -553,8 +620,8 @@ export async function getDonationPageData(): Promise { const ibanEntries = await getDonationIbanEntries(); const primary = ibanEntries[0]; let pageContent = mergeEditablePageData("bagis"); - try { - const item = await getContentBySlug("bagis"); + if (isDbAvailable()) try { + const item = await getContentBySlug(getDefaultDb(), "bagis"); pageContent = mergeEditablePageData("bagis", item?.pageData as Record | null | undefined); } catch { // use defaults @@ -582,8 +649,8 @@ export async function getMediaPageData(): Promise { let updateItems: MediaListItem[] = []; let pageContent = mergeEditablePageData("medya"); - try { - const assets = await getPublicMediaAssets(); + if (isDbAvailable()) try { + const assets = await getPublicMediaAssets(getDefaultDb()); // Hide drafts on the public side const publishedAssets = assets.filter( (a) => ((a as unknown as Record).status ?? "published") === "published" @@ -623,8 +690,8 @@ export async function getMediaPageData(): Promise { })); } - try { - const item = await getContentBySlug("medya"); + if (isDbAvailable()) try { + const item = await getContentBySlug(getDefaultDb(), "medya"); pageContent = mergeEditablePageData("medya", item?.pageData as Record | null | undefined); } catch { // use defaults @@ -698,8 +765,8 @@ export async function getReportsPageData(): Promise { let featuredFormat = "PDF"; let pageContent = mergeEditablePageData("raporlar"); - try { - const items = await getPublishedContentByType("policy"); + if (isDbAvailable()) try { + const items = await getPublishedContentByType(getDefaultDb(), "policy"); if (items.length > 0) { const featuredItem = items.find((i) => i.featured) ?? items[0]; featuredTitle = featuredItem.title; @@ -744,8 +811,8 @@ export async function getReportsPageData(): Promise { })); } - try { - const item = await getContentBySlug("raporlar"); + if (isDbAvailable()) try { + const item = await getContentBySlug(getDefaultDb(), "raporlar"); pageContent = mergeEditablePageData("raporlar", item?.pageData as Record | null | undefined); } catch { // use defaults diff --git a/lib/publicPagesContent.ts b/lib/publicPagesContent.ts index 5a177f3..bea078d 100644 --- a/lib/publicPagesContent.ts +++ b/lib/publicPagesContent.ts @@ -4,6 +4,7 @@ */ import { getSiteSettings, getContentBySlug } from "@/lib/firebase/services"; +import { getDefaultDb, isDbAvailable } from "@/lib/firebase/getDefaultDb"; import { seedPages, seedSettings } from "@/lib/firebase/seedData"; import { mergeEditablePageData } from "@/lib/pageContentConfig"; @@ -102,8 +103,9 @@ function normalizeQuickLinks(input: unknown): HomeQuickLink[] { } export async function getHomePageData(): Promise { + if (!isDbAvailable()) return homePageTemplate; try { - const item = await getContentBySlug("anasayfa"); + const item = await getContentBySlug(getDefaultDb(), "anasayfa"); if (item?.pageData) { const pageData = item.pageData as Record; return { @@ -126,8 +128,9 @@ export async function getHomePageData(): Promise { } export async function getAboutPageData(): Promise { + if (!isDbAvailable()) return aboutPageTemplate; try { - const item = await getContentBySlug("hakkimizda"); + const item = await getContentBySlug(getDefaultDb(), "hakkimizda"); if (item?.pageData) { const pageData = item.pageData as unknown as Partial; return { @@ -147,10 +150,11 @@ export async function getAboutPageData(): Promise { } export async function getContactPageData(): Promise { + if (!isDbAvailable()) return contactPageTemplate; try { const [item, settings] = await Promise.all([ - getContentBySlug("iletisim"), - getSiteSettings(), + getContentBySlug(getDefaultDb(), "iletisim"), + getSiteSettings(getDefaultDb()), ]); const pageData = item?.pageData as unknown as Partial | undefined; return { @@ -168,8 +172,9 @@ export async function getContactPageData(): Promise { } export async function getEditablePageContent(key: string): Promise> { + if (!isDbAvailable()) return mergeEditablePageData(key); try { - const item = await getContentBySlug(key); + const item = await getContentBySlug(getDefaultDb(), key); return mergeEditablePageData(key, item?.pageData as Record | null | undefined); } catch (err) { console.error("[publicPagesContent] getEditablePageContent error:", err); diff --git a/lib/tenant/masterDb.ts b/lib/tenant/masterDb.ts new file mode 100644 index 0000000..68b2beb --- /dev/null +++ b/lib/tenant/masterDb.ts @@ -0,0 +1,114 @@ +/** + * masterDb.ts — server-only + * + * Connects to the "master" Firebase project that stores one TenantRecord per + * NGO. This file MUST NOT be imported by any client component or file that + * could end up in the browser bundle. The Next.js bundler enforces this via + * the "server-only" package — importing from a client context throws a build- + * time error. + * + * Credentials required (all server-only, no NEXT_PUBLIC_ prefix): + * FIREBASE_MASTER_PROJECT_ID + * FIREBASE_MASTER_CLIENT_EMAIL + * FIREBASE_MASTER_PRIVATE_KEY + */ +import "server-only"; + +import { initializeApp, cert, getApps, getApp, type App } from "firebase-admin/app"; +import { getFirestore } from "firebase-admin/firestore"; +import type { TenantFirebaseConfig } from "@/lib/firebase/clientApp"; + +// ── Types ───────────────────────────────────────────────────────────────────── + +export interface TenantRecord { + tenantId: string; + /** + * The client-safe Firebase config for this tenant's own Firebase project. + * These values are public by design (they appear in every Firebase web app), + * but are NOT baked into the build — they are fetched at request time. + */ + firebaseConfig: TenantFirebaseConfig; + /** CSS custom-property overrides: { "--primary": "#c00", ... } */ + theme?: Record; + orgName?: string; + /** All hostnames that resolve to this tenant (primary + custom domains). */ + domains: string[]; +} + +// ── Admin App singleton ─────────────────────────────────────────────────────── + +function getMasterAdminApp(): App { + const name = "master"; + try { + return getApp(name); + } catch { + const projectId = process.env.FIREBASE_MASTER_PROJECT_ID; + const clientEmail = process.env.FIREBASE_MASTER_CLIENT_EMAIL; + const privateKey = process.env.FIREBASE_MASTER_PRIVATE_KEY; + + if (!projectId || !clientEmail || !privateKey) { + throw new Error( + "[masterDb] Missing required env vars: FIREBASE_MASTER_PROJECT_ID, " + + "FIREBASE_MASTER_CLIENT_EMAIL, FIREBASE_MASTER_PRIVATE_KEY. " + + "Add them to your .env.local file for local development." + ); + } + + return initializeApp( + { + credential: cert({ + projectId, + clientEmail, + // Hosting platforms (Vercel, GitHub Actions) encode newlines as \n in secrets + privateKey: privateKey.replace(/\\n/g, "\n"), + }), + }, + name, + ); + } +} + +// ── Public API ──────────────────────────────────────────────────────────────── + +/** + * Looks up the tenant whose `domains` array contains the given hostname. + * Returns null if no matching tenant is found (renders a 404 in layout.tsx). + * + * Results are cached by Next.js unstable_cache at the call-site (layout.tsx + * and the /api/tenant/config route) so this function itself stays cache-free + * and straightforward to test. + */ +export async function getTenantByDomain(domain: string): Promise { + const app = getMasterAdminApp(); + const db = getFirestore(app); + + const snap = await db + .collection("tenants") + .where("domains", "array-contains", domain) + .limit(1) + .get(); + + if (snap.empty) return null; + + return snap.docs[0].data() as TenantRecord; +} + +/** + * Looks up a tenant by its unique tenantId (used by admin provisioning flows). + */ +export async function getTenantById(tenantId: string): Promise { + const app = getMasterAdminApp(); + const db = getFirestore(app); + + const snap = await db.collection("tenants").doc(tenantId).get(); + if (!snap.exists) return null; + return snap.data() as TenantRecord; +} + +/** + * Verifies that the given app is running inside the expected master admin app. + * Exported for use in getApps() guards within the same server process. + */ +export function isMasterAppInitialized(): boolean { + return getApps().some((a) => a.name === "master"); +} diff --git a/package-lock.json b/package-lock.json index 985c41b..b47f318 100644 --- a/package-lock.json +++ b/package-lock.json @@ -56,6 +56,7 @@ "react-hook-form": "^7.54.1", "react-resizable-panels": "^2.1.7", "recharts": "2.15.0", + "server-only": "^0.0.1", "sonner": "^1.7.1", "tailwind-merge": "^3.3.1", "vaul": "^1.1.2", @@ -20293,6 +20294,12 @@ "url": "https://opencollective.com/express" } }, + "node_modules/server-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/server-only/-/server-only-0.0.1.tgz", + "integrity": "sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==", + "license": "MIT" + }, "node_modules/set-function-length": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", diff --git a/package.json b/package.json index aae1539..0d0c008 100644 --- a/package.json +++ b/package.json @@ -63,6 +63,7 @@ "react-hook-form": "^7.54.1", "react-resizable-panels": "^2.1.7", "recharts": "2.15.0", + "server-only": "^0.0.1", "sonner": "^1.7.1", "tailwind-merge": "^3.3.1", "vaul": "^1.1.2", diff --git a/proxy.ts b/proxy.ts new file mode 100644 index 0000000..264931f --- /dev/null +++ b/proxy.ts @@ -0,0 +1,39 @@ +import { type NextRequest, NextResponse } from "next/server"; + +/** + * Edge Proxy — tenant domain stamping + * + * This proxy is intentionally thin. It runs on every request in the Edge + * Runtime, which prohibits Node.js APIs and the Firebase Admin SDK. + * + * Responsibility: extract the incoming hostname and forward it as + * `x-tenant-domain` so that downstream Server Components and API routes can + * look up the tenant record without re-parsing the Host header themselves. + * + * The actual tenant database lookup (masterDb.ts → getTenantByDomain) happens + * in RootLayout (a Server Component) and in /api/tenant/config — both run in + * the Node.js runtime where the Admin SDK is available. + */ +export function proxy(request: NextRequest): NextResponse { + const host = request.headers.get("host") ?? ""; + // Strip the port so "localhost:3000" normalises to "localhost" + const domain = host.split(":")[0].toLowerCase(); + + const response = NextResponse.next(); + response.headers.set("x-tenant-domain", domain); + return response; +} + +export const config = { + matcher: [ + /* + * Match all paths except: + * - Next.js internals (_next/static, _next/image) + * - Public static files (favicon.ico, robots.txt, site manifest, etc.) + * + * Keeping the matcher narrow prevents middleware from running on thousands + * of static asset requests, which would add latency for no benefit. + */ + "/((?!_next/static|_next/image|favicon\\.ico|robots\\.txt|sitemap\\.xml|manifest\\.json|.*\\.(?:png|jpg|jpeg|gif|svg|webp|ico|woff2?|ttf)).*)", + ], +}; diff --git a/tests/integration/blog.flow.test.ts b/tests/integration/blog.flow.test.ts index 80f7ce4..a2af01d 100644 --- a/tests/integration/blog.flow.test.ts +++ b/tests/integration/blog.flow.test.ts @@ -8,7 +8,6 @@ import { updateDoc, query, where, - orderBy, } from "firebase/firestore"; import { assertSucceeds, assertFails } from "@firebase/rules-unit-testing"; import { newEnv, EDITOR_UID, ADMIN_UID } from "./helpers/emulator"; @@ -122,10 +121,8 @@ describe("blog CRUD flow", () => { const unauth = env.unauthenticatedContext().firestore(); const q = query( collection(unauth, "contentItems"), - where("type", "==", "post"), where("status", "==", "published"), - where("deletedAt", "==", null), - orderBy("publishedAt", "desc") + where("deletedAt", "==", null) ); const snap = await assertSucceeds(getDocs(q)); expect(snap.docs).toHaveLength(1); @@ -158,10 +155,8 @@ describe("blog CRUD flow", () => { const unauth = env.unauthenticatedContext().firestore(); const q = query( collection(unauth, "contentItems"), - where("type", "==", "post"), where("status", "==", "published"), - where("deletedAt", "==", null), - orderBy("publishedAt", "desc") + where("deletedAt", "==", null) ); const snap = await getDocs(q); expect(snap.docs).toHaveLength(0); diff --git a/tests/integration/editor.publishFlow.test.ts b/tests/integration/editor.publishFlow.test.ts index 57a3d21..0739b85 100644 --- a/tests/integration/editor.publishFlow.test.ts +++ b/tests/integration/editor.publishFlow.test.ts @@ -7,7 +7,6 @@ import { updateDoc, query, where, - orderBy, } from "firebase/firestore"; import { assertSucceeds } from "@firebase/rules-unit-testing"; import { newEnv, EDITOR_UID, ADMIN_UID } from "./helpers/emulator"; @@ -37,10 +36,8 @@ async function queryPublished(db: FirestoreDb) { return getDocs( query( collection(db, "contentItems"), - where("type", "==", "post"), where("status", "==", "published"), - where("deletedAt", "==", null), - orderBy("publishedAt", "desc") + where("deletedAt", "==", null) ) ); } diff --git a/tests/unit/clientApp.test.ts b/tests/unit/clientApp.test.ts new file mode 100644 index 0000000..41bdcd7 --- /dev/null +++ b/tests/unit/clientApp.test.ts @@ -0,0 +1,84 @@ +import { describe, it, expect, vi, beforeEach } from "vitest"; + +// All Firebase app factory calls are hoisted so vi.mock can reference them. +const { initializeAppMock, getAppsMock, getAuthMock, getFirestoreMock, getStorageMock } = + vi.hoisted(() => { + const fakeApp = { name: "[DEFAULT]" }; + return { + initializeAppMock: vi.fn(() => fakeApp), + getAppsMock: vi.fn(() => []), + getAuthMock: vi.fn(() => ({ __auth: true })), + getFirestoreMock: vi.fn(() => ({ __db: true })), + getStorageMock: vi.fn(() => ({ __storage: true })), + }; + }); + +vi.mock("firebase/app", () => ({ + initializeApp: initializeAppMock, + getApps: getAppsMock, +})); +vi.mock("firebase/auth", () => ({ getAuth: getAuthMock })); +vi.mock("firebase/firestore", () => ({ getFirestore: getFirestoreMock })); +vi.mock("firebase/storage", () => ({ getStorage: getStorageMock })); + +import { getOrInitTenantApp, type TenantFirebaseConfig } from "@/lib/firebase/clientApp"; + +const config: TenantFirebaseConfig = { + apiKey: "key", + authDomain: "test.firebaseapp.com", + projectId: "test-project", + storageBucket: "test.appspot.com", + messagingSenderId: "123", + appId: "1:123:web:abc", +}; + +const fakeApp = { name: "[DEFAULT]" }; + +beforeEach(() => { + initializeAppMock.mockClear(); + getAppsMock.mockReset(); + getAuthMock.mockClear(); + getFirestoreMock.mockClear(); + getStorageMock.mockClear(); + // Default: no existing apps → will call initializeApp + getAppsMock.mockReturnValue([]); + initializeAppMock.mockReturnValue(fakeApp); +}); + +// ── getOrInitTenantApp ──────────────────────────────────────────────────────── + +describe("getOrInitTenantApp", () => { + it("initializes a new app when no [DEFAULT] app exists", () => { + getAppsMock.mockReturnValue([]); + getOrInitTenantApp(config); + expect(initializeAppMock).toHaveBeenCalledWith(config); + }); + + it("reuses the existing [DEFAULT] app without re-initializing", () => { + getAppsMock.mockReturnValue([fakeApp]); + getOrInitTenantApp(config); + expect(initializeAppMock).not.toHaveBeenCalled(); + }); + + it("returns auth, db, and storage services", () => { + getAppsMock.mockReturnValue([]); + const services = getOrInitTenantApp(config); + expect(services.auth).toBeDefined(); + expect(services.db).toBeDefined(); + expect(services.storage).toBeDefined(); + }); + + it("returns the app itself", () => { + getAppsMock.mockReturnValue([]); + const services = getOrInitTenantApp(config); + expect(services.app).toBe(fakeApp); + }); + + it("calls getAuth, getFirestore, getStorage with the resolved app", () => { + getAppsMock.mockReturnValue([]); + getOrInitTenantApp(config); + expect(getAuthMock).toHaveBeenCalledWith(fakeApp); + expect(getFirestoreMock).toHaveBeenCalledWith(fakeApp); + expect(getStorageMock).toHaveBeenCalledWith(fakeApp); + }); +}); diff --git a/tests/unit/getDefaultDb.test.ts b/tests/unit/getDefaultDb.test.ts new file mode 100644 index 0000000..ed03aa5 --- /dev/null +++ b/tests/unit/getDefaultDb.test.ts @@ -0,0 +1,66 @@ +import { describe, it, expect, vi, beforeEach } from "vitest"; + +// Mock getOrInitTenantApp so we never touch real Firebase in this test. +const { getOrInitMock } = vi.hoisted(() => ({ + getOrInitMock: vi.fn(), +})); + +vi.mock("@/lib/firebase/clientApp", () => ({ + getOrInitTenantApp: getOrInitMock, +})); + +// We need to reset the module between tests because getDefaultDb caches `_db` +// in module scope. Re-importing after each reset gives us a fresh singleton. +beforeEach(async () => { + vi.resetModules(); + getOrInitMock.mockReset(); +}); + +// ── getDefaultDb ────────────────────────────────────────────────────────────── + +describe("getDefaultDb", () => { + it("returns a stub (not throws) when NEXT_PUBLIC_FIREBASE_PROJECT_ID is missing", async () => { + vi.stubEnv("NEXT_PUBLIC_FIREBASE_PROJECT_ID", ""); + const { getDefaultDb } = await import("@/lib/firebase/getDefaultDb"); + // Should not throw — returns an empty stub so the build doesn't crash + expect(() => getDefaultDb()).not.toThrow(); + const result = getDefaultDb(); + expect(result).toBeDefined(); + vi.unstubAllEnvs(); + }); + + it("calls getOrInitTenantApp with env-var config when projectId is set", async () => { + vi.stubEnv("NEXT_PUBLIC_FIREBASE_PROJECT_ID", "my-project"); + vi.stubEnv("NEXT_PUBLIC_FIREBASE_API_KEY", "my-key"); + vi.stubEnv("NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN", "my-project.firebaseapp.com"); + vi.stubEnv("NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET", "my-project.appspot.com"); + vi.stubEnv("NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID", "999"); + vi.stubEnv("NEXT_PUBLIC_FIREBASE_APP_ID", "1:999:web:abc"); + + const fakeDb = { __db: true }; + getOrInitMock.mockReturnValue({ db: fakeDb }); + + const { getDefaultDb } = await import("@/lib/firebase/getDefaultDb"); + const db = getDefaultDb(); + + expect(getOrInitMock).toHaveBeenCalledWith( + expect.objectContaining({ projectId: "my-project", apiKey: "my-key" }) + ); + expect(db).toBe(fakeDb); + vi.unstubAllEnvs(); + }); + + it("returns the same cached instance on repeated calls", async () => { + vi.stubEnv("NEXT_PUBLIC_FIREBASE_PROJECT_ID", "my-project"); + const fakeDb = { __db: true }; + getOrInitMock.mockReturnValue({ db: fakeDb }); + + const { getDefaultDb } = await import("@/lib/firebase/getDefaultDb"); + const first = getDefaultDb(); + const second = getDefaultDb(); + + expect(first).toBe(second); + expect(getOrInitMock).toHaveBeenCalledTimes(1); + vi.unstubAllEnvs(); + }); +}); diff --git a/tests/unit/masterDb.test.ts b/tests/unit/masterDb.test.ts new file mode 100644 index 0000000..dc4ca63 --- /dev/null +++ b/tests/unit/masterDb.test.ts @@ -0,0 +1,195 @@ +import { describe, it, expect, vi, beforeEach } from "vitest"; + +// ── Mock server-only so the import doesn't crash in the test environment ────── +vi.mock("server-only", () => ({})); + +// ── Hoist all admin SDK mocks ───────────────────────────────────────────────── +const { initializeAppMock, certMock, getAppsMock, getAppMock, getFirestoreMock } = + vi.hoisted(() => { + const fakeApp = { name: "master" }; + return { + initializeAppMock: vi.fn(() => fakeApp), + certMock: vi.fn((cred) => cred), + getAppsMock: vi.fn(() => []), + getAppMock: vi.fn(() => { throw new Error("no app"); }), + getFirestoreMock: vi.fn(), + }; + }); + +vi.mock("firebase-admin/app", () => ({ + initializeApp: initializeAppMock, + cert: certMock, + getApps: getAppsMock, + getApp: getAppMock, +})); + +vi.mock("firebase-admin/firestore", () => ({ + getFirestore: getFirestoreMock, +})); + +// ── Helpers ─────────────────────────────────────────────────────────────────── + +function makeFirestoreWithTenant(data: object | null) { + const docSnap = { exists: data !== null, data: () => data }; + const snapObj = { empty: data === null, docs: data !== null ? [{ data: () => data }] : [] }; + const whereFn = vi.fn().mockReturnThis(); + const limitFn = vi.fn().mockReturnThis(); + const getFn = vi.fn().mockResolvedValue(snapObj); + const docFn = vi.fn().mockReturnValue({ get: vi.fn().mockResolvedValue(docSnap) }); + return { + collection: vi.fn().mockReturnValue({ where: whereFn, limit: limitFn, get: getFn, doc: docFn }), + }; +} + +const fakeApp = { name: "master" }; + +beforeEach(() => { + vi.resetModules(); + initializeAppMock.mockClear().mockReturnValue(fakeApp); + certMock.mockClear(); + getAppsMock.mockReset().mockReturnValue([]); + getAppMock.mockReset().mockImplementation(() => { throw new Error("no app"); }); + getFirestoreMock.mockReset(); + vi.unstubAllEnvs(); +}); + +// ── getMasterAdminApp (via getTenantByDomain) ───────────────────────────────── + +describe("getMasterAdminApp (internal — tested via public functions)", () => { + it("throws a descriptive error when FIREBASE_MASTER_* vars are missing", async () => { + vi.stubEnv("FIREBASE_MASTER_PROJECT_ID", ""); + vi.stubEnv("FIREBASE_MASTER_CLIENT_EMAIL", ""); + vi.stubEnv("FIREBASE_MASTER_PRIVATE_KEY", ""); + + const { getTenantByDomain } = await import("@/lib/tenant/masterDb"); + await expect(getTenantByDomain("localhost")).rejects.toThrow(/FIREBASE_MASTER_PROJECT_ID/); + }); + + it("initializes the admin app with cert credentials", async () => { + vi.stubEnv("FIREBASE_MASTER_PROJECT_ID", "master-proj"); + vi.stubEnv("FIREBASE_MASTER_CLIENT_EMAIL", "sa@master-proj.iam.gserviceaccount.com"); + vi.stubEnv("FIREBASE_MASTER_PRIVATE_KEY", "-----BEGIN RSA PRIVATE KEY-----\\nABC\\n-----END RSA PRIVATE KEY-----\\n"); + + getFirestoreMock.mockReturnValue(makeFirestoreWithTenant(null)); + + const { getTenantByDomain } = await import("@/lib/tenant/masterDb"); + await getTenantByDomain("localhost"); + + expect(certMock).toHaveBeenCalledWith( + expect.objectContaining({ projectId: "master-proj" }) + ); + expect(initializeAppMock).toHaveBeenCalledWith( + expect.objectContaining({ credential: expect.anything() }), + "master" + ); + }); + + it("reuses the existing master app without re-initializing", async () => { + vi.stubEnv("FIREBASE_MASTER_PROJECT_ID", "master-proj"); + vi.stubEnv("FIREBASE_MASTER_CLIENT_EMAIL", "sa@x.iam.gserviceaccount.com"); + vi.stubEnv("FIREBASE_MASTER_PRIVATE_KEY", "key"); + + // getApp succeeds → app already exists + getAppMock.mockReturnValue(fakeApp); + getFirestoreMock.mockReturnValue(makeFirestoreWithTenant(null)); + + const { getTenantByDomain } = await import("@/lib/tenant/masterDb"); + await getTenantByDomain("localhost"); + + expect(initializeAppMock).not.toHaveBeenCalled(); + }); + + it("replaces \\n escape sequences in the private key", async () => { + vi.stubEnv("FIREBASE_MASTER_PROJECT_ID", "p"); + vi.stubEnv("FIREBASE_MASTER_CLIENT_EMAIL", "e"); + vi.stubEnv("FIREBASE_MASTER_PRIVATE_KEY", "line1\\nline2"); + + getFirestoreMock.mockReturnValue(makeFirestoreWithTenant(null)); + + const { getTenantByDomain } = await import("@/lib/tenant/masterDb"); + await getTenantByDomain("localhost"); + + const cred = certMock.mock.calls[0][0]; + expect(cred.privateKey).toBe("line1\nline2"); + }); +}); + +// ── getTenantByDomain ───────────────────────────────────────────────────────── + +describe("getTenantByDomain", () => { + function stubEnvs() { + vi.stubEnv("FIREBASE_MASTER_PROJECT_ID", "p"); + vi.stubEnv("FIREBASE_MASTER_CLIENT_EMAIL", "e"); + vi.stubEnv("FIREBASE_MASTER_PRIVATE_KEY", "k"); + } + + it("returns null when no tenant matches the domain", async () => { + stubEnvs(); + getFirestoreMock.mockReturnValue(makeFirestoreWithTenant(null)); + + const { getTenantByDomain } = await import("@/lib/tenant/masterDb"); + const result = await getTenantByDomain("unknown.example.com"); + expect(result).toBeNull(); + }); + + it("returns the tenant record when a match is found", async () => { + stubEnvs(); + const record = { tenantId: "ngo-1", domains: ["ngo.example.com"], firebaseConfig: {} }; + getFirestoreMock.mockReturnValue(makeFirestoreWithTenant(record)); + + const { getTenantByDomain } = await import("@/lib/tenant/masterDb"); + const result = await getTenantByDomain("ngo.example.com"); + expect(result).toEqual(record); + }); +}); + +// ── getTenantById ───────────────────────────────────────────────────────────── + +describe("getTenantById", () => { + function stubEnvs() { + vi.stubEnv("FIREBASE_MASTER_PROJECT_ID", "p"); + vi.stubEnv("FIREBASE_MASTER_CLIENT_EMAIL", "e"); + vi.stubEnv("FIREBASE_MASTER_PRIVATE_KEY", "k"); + } + + it("returns null when the tenantId document does not exist", async () => { + stubEnvs(); + getFirestoreMock.mockReturnValue(makeFirestoreWithTenant(null)); + + const { getTenantById } = await import("@/lib/tenant/masterDb"); + const result = await getTenantById("nonexistent"); + expect(result).toBeNull(); + }); + + it("returns the tenant record when the document exists", async () => { + stubEnvs(); + const record = { tenantId: "ngo-2", domains: ["x.com"], firebaseConfig: {} }; + getFirestoreMock.mockReturnValue(makeFirestoreWithTenant(record)); + + const { getTenantById } = await import("@/lib/tenant/masterDb"); + const result = await getTenantById("ngo-2"); + expect(result).toEqual(record); + }); +}); + +// ── isMasterAppInitialized ──────────────────────────────────────────────────── + +describe("isMasterAppInitialized", () => { + it("returns false when no apps are initialized", async () => { + getAppsMock.mockReturnValue([]); + const { isMasterAppInitialized } = await import("@/lib/tenant/masterDb"); + expect(isMasterAppInitialized()).toBe(false); + }); + + it("returns true when an app named 'master' exists", async () => { + getAppsMock.mockReturnValue([{ name: "master" }]); + const { isMasterAppInitialized } = await import("@/lib/tenant/masterDb"); + expect(isMasterAppInitialized()).toBe(true); + }); + + it("returns false when only the [DEFAULT] app exists", async () => { + getAppsMock.mockReturnValue([{ name: "[DEFAULT]" }]); + const { isMasterAppInitialized } = await import("@/lib/tenant/masterDb"); + expect(isMasterAppInitialized()).toBe(false); + }); +}); diff --git a/tests/unit/navServices.test.ts b/tests/unit/navServices.test.ts new file mode 100644 index 0000000..01d4ac1 --- /dev/null +++ b/tests/unit/navServices.test.ts @@ -0,0 +1,199 @@ +import { describe, it, expect, vi, beforeEach } from "vitest"; + +const { getDocMock, setDocMock, docMock, collectionMock } = vi.hoisted(() => ({ + getDocMock: vi.fn(), + setDocMock: vi.fn(), + docMock: vi.fn((_db: unknown, col: string, id: string) => ({ __ref: `${col}/${id}` })), + collectionMock: vi.fn(), +})); + +vi.mock("firebase/firestore", () => ({ + getDoc: getDocMock, + setDoc: setDocMock, + doc: docMock, + collection: collectionMock, + addDoc: vi.fn(), + getDocs: vi.fn(), + query: vi.fn(), + where: vi.fn(), + orderBy: vi.fn(), + updateDoc: vi.fn(), + serverTimestamp: vi.fn(), +})); + +import { + getNavConfig, + saveNavConfig, + createNavItem, + deleteNavItem, + patchNavItem, + DEFAULT_NAV_ITEMS, + type NavItem, +} from "@/lib/firebase/navServices"; +import type { Firestore } from "firebase/firestore"; + +const mockDb = {} as Firestore; + +const makeItem = (overrides: Partial = {}): NavItem => ({ + key: "test", + href: "/test", + label: "Test", + isVisible: true, + sortOrder: 1, + pageSlug: null, + pageType: "special", + ...overrides, +}); + +function makeSnap(exists: boolean, data?: object) { + return { exists: () => exists, data: () => data ?? {} }; +} + +beforeEach(() => { + getDocMock.mockReset(); + setDocMock.mockReset(); + docMock.mockClear(); + setDocMock.mockResolvedValue(undefined); +}); + +// ── getNavConfig ────────────────────────────────────────────────────────────── + +describe("getNavConfig", () => { + it("returns DEFAULT_NAV_ITEMS when doc does not exist", async () => { + getDocMock.mockResolvedValue(makeSnap(false)); + const result = await getNavConfig(mockDb); + expect(result).toEqual(DEFAULT_NAV_ITEMS); + }); + + it("returns DEFAULT_NAV_ITEMS when doc exists but items is empty", async () => { + getDocMock.mockResolvedValue(makeSnap(true, { items: [] })); + const result = await getNavConfig(mockDb); + expect(result).toEqual(DEFAULT_NAV_ITEMS); + }); + + it("returns sorted items from Firestore when present", async () => { + const items: NavItem[] = [ + makeItem({ key: "b", sortOrder: 2 }), + makeItem({ key: "a", sortOrder: 1 }), + ]; + getDocMock.mockResolvedValue(makeSnap(true, { items })); + const result = await getNavConfig(mockDb); + expect(result[0].key).toBe("a"); + expect(result[1].key).toBe("b"); + }); + + it("returns DEFAULT_NAV_ITEMS on Firestore error", async () => { + getDocMock.mockRejectedValue(new Error("network error")); + const result = await getNavConfig(mockDb); + expect(result).toEqual(DEFAULT_NAV_ITEMS); + }); + + it("reads from the settings/navigation document", async () => { + getDocMock.mockResolvedValue(makeSnap(false)); + await getNavConfig(mockDb); + expect(docMock).toHaveBeenCalledWith(mockDb, "settings", "navigation"); + }); +}); + +// ── saveNavConfig ───────────────────────────────────────────────────────────── + +describe("saveNavConfig", () => { + it("calls setDoc with merge: true", async () => { + const items = [makeItem()]; + await saveNavConfig(mockDb, items); + expect(setDocMock).toHaveBeenCalledWith( + expect.anything(), + { items }, + { merge: true } + ); + }); + + it("writes to settings/navigation", async () => { + await saveNavConfig(mockDb, []); + expect(docMock).toHaveBeenCalledWith(mockDb, "settings", "navigation"); + }); +}); + +// ── createNavItem ───────────────────────────────────────────────────────────── + +describe("createNavItem", () => { + it("appends item with sortOrder = max + 1", async () => { + const existing = [makeItem({ key: "a", sortOrder: 3 }), makeItem({ key: "b", sortOrder: 1 })]; + getDocMock.mockResolvedValue(makeSnap(true, { items: existing })); + + const newItem = makeItem({ key: "c", sortOrder: 0 }); + await createNavItem(mockDb, newItem); + + const saved = setDocMock.mock.calls[0][1] as { items: NavItem[] }; + const added = saved.items.find((i) => i.key === "c"); + expect(added?.sortOrder).toBe(4); + }); + + it("gives sortOrder 1 to the first item when list is empty", async () => { + getDocMock.mockResolvedValue(makeSnap(false)); + + const newItem = makeItem({ key: "first", sortOrder: 0 }); + await createNavItem(mockDb, newItem); + + const saved = setDocMock.mock.calls[0][1] as { items: NavItem[] }; + expect(saved.items[0].sortOrder).toBe(1); + }); +}); + +// ── deleteNavItem ───────────────────────────────────────────────────────────── + +describe("deleteNavItem", () => { + it("removes item by key and re-numbers sortOrder", async () => { + const existing = [ + makeItem({ key: "a", sortOrder: 1 }), + makeItem({ key: "b", sortOrder: 2 }), + makeItem({ key: "c", sortOrder: 3 }), + ]; + getDocMock.mockResolvedValue(makeSnap(true, { items: existing })); + + await deleteNavItem(mockDb, "b"); + + const saved = setDocMock.mock.calls[0][1] as { items: NavItem[] }; + expect(saved.items).toHaveLength(2); + expect(saved.items.find((i) => i.key === "b")).toBeUndefined(); + expect(saved.items.map((i) => i.sortOrder)).toEqual([1, 2]); + }); + + it("is a no-op when key does not exist", async () => { + const existing = [makeItem({ key: "a", sortOrder: 1 })]; + getDocMock.mockResolvedValue(makeSnap(true, { items: existing })); + + await deleteNavItem(mockDb, "nonexistent"); + + const saved = setDocMock.mock.calls[0][1] as { items: NavItem[] }; + expect(saved.items).toHaveLength(1); + }); +}); + +// ── patchNavItem ────────────────────────────────────────────────────────────── + +describe("patchNavItem", () => { + it("merges patch into the matching item", async () => { + const existing = [ + makeItem({ key: "a", isVisible: true }), + makeItem({ key: "b", isVisible: true }), + ]; + getDocMock.mockResolvedValue(makeSnap(true, { items: existing })); + + await patchNavItem(mockDb, "a", { isVisible: false }); + + const saved = setDocMock.mock.calls[0][1] as { items: NavItem[] }; + expect(saved.items.find((i) => i.key === "a")?.isVisible).toBe(false); + expect(saved.items.find((i) => i.key === "b")?.isVisible).toBe(true); + }); + + it("leaves other items unchanged", async () => { + const existing = [makeItem({ key: "a", label: "Old" }), makeItem({ key: "b" })]; + getDocMock.mockResolvedValue(makeSnap(true, { items: existing })); + + await patchNavItem(mockDb, "a", { label: "New" }); + + const saved = setDocMock.mock.calls[0][1] as { items: NavItem[] }; + expect(saved.items.find((i) => i.key === "b")?.label).toBe("Test"); + }); +}); diff --git a/tests/unit/services.test.ts b/tests/unit/services.test.ts index beb93c1..46488fa 100644 --- a/tests/unit/services.test.ts +++ b/tests/unit/services.test.ts @@ -21,6 +21,11 @@ vi.mock("firebase/firestore", () => ({ })); import { submitContactMessage, submitVolunteerApplication } from "@/lib/firebase/services"; +import type { Firestore } from "firebase/firestore"; + +// Minimal stub — service functions only use it as a pass-through to collection() +// which is already mocked above. +const mockDb = {} as Firestore; beforeEach(() => { addDocMock.mockReset(); @@ -40,7 +45,7 @@ describe("submitContactMessage", () => { }; it("writes to contactMessages collection", async () => { - await submitContactMessage(input); + await submitContactMessage(mockDb, input); expect(collectionMock).toHaveBeenCalledWith( expect.anything(), "contactMessages" @@ -48,31 +53,31 @@ describe("submitContactMessage", () => { }); it("returns the new doc id", async () => { - const id = await submitContactMessage(input); + const id = await submitContactMessage(mockDb, input); expect(id).toBe("doc-123"); }); it("sets status to 'new'", async () => { - await submitContactMessage(input); + await submitContactMessage(mockDb, input); const payload = addDocMock.mock.calls[0][1]; expect(payload.status).toBe("new"); }); it("sets handledBy and handledAt to null", async () => { - await submitContactMessage(input); + await submitContactMessage(mockDb, input); const payload = addDocMock.mock.calls[0][1]; expect(payload.handledBy).toBeNull(); expect(payload.handledAt).toBeNull(); }); it("sets deletedAt to null", async () => { - await submitContactMessage(input); + await submitContactMessage(mockDb, input); const payload = addDocMock.mock.calls[0][1]; expect(payload.deletedAt).toBeNull(); }); it("passes senderName, senderEmail, subject, messageBody through", async () => { - await submitContactMessage(input); + await submitContactMessage(mockDb, input); const payload = addDocMock.mock.calls[0][1]; expect(payload.senderName).toBe("Ali Veli"); expect(payload.senderEmail).toBe("ali@example.com"); @@ -81,26 +86,26 @@ describe("submitContactMessage", () => { }); it("defaults senderPhone to null when omitted", async () => { - await submitContactMessage(input); + await submitContactMessage(mockDb, input); const payload = addDocMock.mock.calls[0][1]; expect(payload.senderPhone).toBeNull(); }); it("keeps senderPhone string when provided", async () => { - await submitContactMessage({ ...input, senderPhone: "+90 555 000 00 00" }); + await submitContactMessage(mockDb, { ...input, senderPhone: "+90 555 000 00 00" }); const payload = addDocMock.mock.calls[0][1]; expect(payload.senderPhone).toBe("+90 555 000 00 00"); }); it("uses serverTimestamp for createdAt and updatedAt", async () => { - await submitContactMessage(input); + await submitContactMessage(mockDb, input); const payload = addDocMock.mock.calls[0][1]; expect(payload.createdAt).toEqual({ __sentinel: "server" }); expect(payload.updatedAt).toEqual({ __sentinel: "server" }); }); it("sets userAgent from navigator (happy-dom provides one)", async () => { - await submitContactMessage(input); + await submitContactMessage(mockDb, input); const payload = addDocMock.mock.calls[0][1]; expect(typeof payload.userAgent).toBe("string"); }); @@ -116,7 +121,7 @@ describe("submitVolunteerApplication", () => { }; it("writes to volunteerApplications collection", async () => { - await submitVolunteerApplication(input); + await submitVolunteerApplication(mockDb, input); expect(collectionMock).toHaveBeenCalledWith( expect.anything(), "volunteerApplications" @@ -124,25 +129,25 @@ describe("submitVolunteerApplication", () => { }); it("returns the new doc id", async () => { - const id = await submitVolunteerApplication(input); + const id = await submitVolunteerApplication(mockDb, input); expect(id).toBe("doc-123"); }); it("sets status to 'new'", async () => { - await submitVolunteerApplication(input); + await submitVolunteerApplication(mockDb, input); const payload = addDocMock.mock.calls[0][1]; expect(payload.status).toBe("new"); }); it("defaults phone and city to null when omitted", async () => { - await submitVolunteerApplication(input); + await submitVolunteerApplication(mockDb, input); const payload = addDocMock.mock.calls[0][1]; expect(payload.phone).toBeNull(); expect(payload.city).toBeNull(); }); it("passes fullName, email, motivation through", async () => { - await submitVolunteerApplication(input); + await submitVolunteerApplication(mockDb, input); const payload = addDocMock.mock.calls[0][1]; expect(payload.fullName).toBe("Ayşe Kaya"); expect(payload.email).toBe("ayse@example.com"); @@ -150,7 +155,7 @@ describe("submitVolunteerApplication", () => { }); it("uses serverTimestamp for createdAt", async () => { - await submitVolunteerApplication(input); + await submitVolunteerApplication(mockDb, input); const payload = addDocMock.mock.calls[0][1]; expect(payload.createdAt).toEqual({ __sentinel: "server" }); }); diff --git a/tests/unit/storageUtils.test.ts b/tests/unit/storageUtils.test.ts new file mode 100644 index 0000000..a11d93e --- /dev/null +++ b/tests/unit/storageUtils.test.ts @@ -0,0 +1,97 @@ +import { describe, it, expect, vi, beforeEach } from "vitest"; + +const { refMock, uploadBytesMock, getDownloadURLMock, deleteObjectMock } = vi.hoisted(() => ({ + refMock: vi.fn((_storage: unknown, path: string) => ({ __path: path })), + uploadBytesMock: vi.fn(), + getDownloadURLMock: vi.fn(), + deleteObjectMock: vi.fn(), +})); + +vi.mock("firebase/storage", () => ({ + ref: refMock, + uploadBytes: uploadBytesMock, + getDownloadURL: getDownloadURLMock, + deleteObject: deleteObjectMock, +})); + +import { uploadImage, deleteImageByUrl } from "@/lib/firebase/storageUtils"; +import type { FirebaseStorage } from "firebase/storage"; + +const mockStorage = {} as FirebaseStorage; + +function makeFile(name = "photo.jpg", type = "image/jpeg"): File { + return new File(["data"], name, { type }); +} + +beforeEach(() => { + refMock.mockClear(); + uploadBytesMock.mockReset(); + getDownloadURLMock.mockReset(); + deleteObjectMock.mockReset(); + uploadBytesMock.mockResolvedValue(undefined); + getDownloadURLMock.mockResolvedValue("https://example.com/photo.jpg"); +}); + +// ── uploadImage ─────────────────────────────────────────────────────────────── + +describe("uploadImage", () => { + it("returns the download URL from Firebase", async () => { + getDownloadURLMock.mockResolvedValue("https://cdn.example.com/img.jpg"); + const url = await uploadImage(mockStorage, makeFile()); + expect(url).toBe("https://cdn.example.com/img.jpg"); + }); + + it("uploads to public/uploads/ path", async () => { + await uploadImage(mockStorage, makeFile("test.png", "image/png")); + const path: string = refMock.mock.calls[0][1]; + expect(path).toMatch(/^public\/uploads\/.+/); + }); + + it("preserves the file extension in the generated name", async () => { + await uploadImage(mockStorage, makeFile("document.pdf", "application/pdf")); + const path: string = refMock.mock.calls[0][1]; + expect(path).toMatch(/\.pdf$/); + }); + + it("uses the full filename as extension when there is no dot in the name", async () => { + // "noextension".split(".").pop() === "noextension" — the whole name becomes the ext + await uploadImage(mockStorage, makeFile("noextension", "application/octet-stream")); + const path: string = refMock.mock.calls[0][1]; + expect(path).toMatch(/\.noextension$/); + }); + + it("passes contentType to uploadBytes", async () => { + await uploadImage(mockStorage, makeFile("img.jpg", "image/jpeg")); + const metadata = uploadBytesMock.mock.calls[0][2]; + expect(metadata.contentType).toBe("image/jpeg"); + }); + + it("generates a unique name on each call", async () => { + await uploadImage(mockStorage, makeFile()); + await uploadImage(mockStorage, makeFile()); + const path1: string = refMock.mock.calls[0][1]; + const path2: string = refMock.mock.calls[1][1]; + expect(path1).not.toBe(path2); + }); +}); + +// ── deleteImageByUrl ────────────────────────────────────────────────────────── + +describe("deleteImageByUrl", () => { + it("calls deleteObject with a ref built from the url", async () => { + deleteObjectMock.mockResolvedValue(undefined); + await deleteImageByUrl(mockStorage, "https://example.com/img.jpg"); + expect(deleteObjectMock).toHaveBeenCalledTimes(1); + expect(refMock).toHaveBeenCalledWith(mockStorage, "https://example.com/img.jpg"); + }); + + it("does not throw when deleteObject rejects (file already gone)", async () => { + deleteObjectMock.mockRejectedValue(new Error("not-found")); + await expect(deleteImageByUrl(mockStorage, "https://example.com/gone.jpg")).resolves.toBeUndefined(); + }); + + it("does not throw on an empty url string", async () => { + deleteObjectMock.mockRejectedValue(new Error("invalid")); + await expect(deleteImageByUrl(mockStorage, "")).resolves.toBeUndefined(); + }); +}); diff --git a/tsconfig.tsbuildinfo b/tsconfig.tsbuildinfo index ad1e986..fff394e 100644 --- a/tsconfig.tsbuildinfo +++ b/tsconfig.tsbuildinfo @@ -1 +1 @@ -{"fileNames":["./node_modules/typescript/lib/lib.es5.d.ts","./node_modules/typescript/lib/lib.es2015.d.ts","./node_modules/typescript/lib/lib.es2016.d.ts","./node_modules/typescript/lib/lib.es2017.d.ts","./node_modules/typescript/lib/lib.es2018.d.ts","./node_modules/typescript/lib/lib.es2019.d.ts","./node_modules/typescript/lib/lib.es2020.d.ts","./node_modules/typescript/lib/lib.es2021.d.ts","./node_modules/typescript/lib/lib.es2022.d.ts","./node_modules/typescript/lib/lib.es2023.d.ts","./node_modules/typescript/lib/lib.es2024.d.ts","./node_modules/typescript/lib/lib.esnext.d.ts","./node_modules/typescript/lib/lib.dom.d.ts","./node_modules/typescript/lib/lib.dom.iterable.d.ts","./node_modules/typescript/lib/lib.es2015.core.d.ts","./node_modules/typescript/lib/lib.es2015.collection.d.ts","./node_modules/typescript/lib/lib.es2015.generator.d.ts","./node_modules/typescript/lib/lib.es2015.iterable.d.ts","./node_modules/typescript/lib/lib.es2015.promise.d.ts","./node_modules/typescript/lib/lib.es2015.proxy.d.ts","./node_modules/typescript/lib/lib.es2015.reflect.d.ts","./node_modules/typescript/lib/lib.es2015.symbol.d.ts","./node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","./node_modules/typescript/lib/lib.es2016.array.include.d.ts","./node_modules/typescript/lib/lib.es2016.intl.d.ts","./node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","./node_modules/typescript/lib/lib.es2017.date.d.ts","./node_modules/typescript/lib/lib.es2017.object.d.ts","./node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2017.string.d.ts","./node_modules/typescript/lib/lib.es2017.intl.d.ts","./node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","./node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","./node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","./node_modules/typescript/lib/lib.es2018.intl.d.ts","./node_modules/typescript/lib/lib.es2018.promise.d.ts","./node_modules/typescript/lib/lib.es2018.regexp.d.ts","./node_modules/typescript/lib/lib.es2019.array.d.ts","./node_modules/typescript/lib/lib.es2019.object.d.ts","./node_modules/typescript/lib/lib.es2019.string.d.ts","./node_modules/typescript/lib/lib.es2019.symbol.d.ts","./node_modules/typescript/lib/lib.es2019.intl.d.ts","./node_modules/typescript/lib/lib.es2020.bigint.d.ts","./node_modules/typescript/lib/lib.es2020.date.d.ts","./node_modules/typescript/lib/lib.es2020.promise.d.ts","./node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2020.string.d.ts","./node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","./node_modules/typescript/lib/lib.es2020.intl.d.ts","./node_modules/typescript/lib/lib.es2020.number.d.ts","./node_modules/typescript/lib/lib.es2021.promise.d.ts","./node_modules/typescript/lib/lib.es2021.string.d.ts","./node_modules/typescript/lib/lib.es2021.weakref.d.ts","./node_modules/typescript/lib/lib.es2021.intl.d.ts","./node_modules/typescript/lib/lib.es2022.array.d.ts","./node_modules/typescript/lib/lib.es2022.error.d.ts","./node_modules/typescript/lib/lib.es2022.intl.d.ts","./node_modules/typescript/lib/lib.es2022.object.d.ts","./node_modules/typescript/lib/lib.es2022.string.d.ts","./node_modules/typescript/lib/lib.es2022.regexp.d.ts","./node_modules/typescript/lib/lib.es2023.array.d.ts","./node_modules/typescript/lib/lib.es2023.collection.d.ts","./node_modules/typescript/lib/lib.es2023.intl.d.ts","./node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","./node_modules/typescript/lib/lib.es2024.collection.d.ts","./node_modules/typescript/lib/lib.es2024.object.d.ts","./node_modules/typescript/lib/lib.es2024.promise.d.ts","./node_modules/typescript/lib/lib.es2024.regexp.d.ts","./node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2024.string.d.ts","./node_modules/typescript/lib/lib.esnext.array.d.ts","./node_modules/typescript/lib/lib.esnext.collection.d.ts","./node_modules/typescript/lib/lib.esnext.intl.d.ts","./node_modules/typescript/lib/lib.esnext.disposable.d.ts","./node_modules/typescript/lib/lib.esnext.decorators.d.ts","./node_modules/typescript/lib/lib.esnext.iterator.d.ts","./node_modules/typescript/lib/lib.decorators.d.ts","./node_modules/typescript/lib/lib.decorators.legacy.d.ts","./node_modules/@types/react/global.d.ts","./node_modules/csstype/index.d.ts","./node_modules/@types/react/index.d.ts","./node_modules/next/dist/styled-jsx/types/css.d.ts","./node_modules/next/dist/styled-jsx/types/macro.d.ts","./node_modules/next/dist/styled-jsx/types/style.d.ts","./node_modules/next/dist/styled-jsx/types/global.d.ts","./node_modules/next/dist/styled-jsx/types/index.d.ts","./node_modules/next/dist/server/get-page-files.d.ts","./node_modules/@types/node/compatibility/disposable.d.ts","./node_modules/@types/node/compatibility/indexable.d.ts","./node_modules/@types/node/compatibility/iterators.d.ts","./node_modules/@types/node/compatibility/index.d.ts","./node_modules/@types/node/globals.typedarray.d.ts","./node_modules/@types/node/buffer.buffer.d.ts","./node_modules/@types/node/globals.d.ts","./node_modules/@types/node/web-globals/abortcontroller.d.ts","./node_modules/@types/node/web-globals/domexception.d.ts","./node_modules/@types/node/web-globals/events.d.ts","./node_modules/buffer/index.d.ts","./node_modules/undici-types/header.d.ts","./node_modules/undici-types/readable.d.ts","./node_modules/undici-types/file.d.ts","./node_modules/undici-types/fetch.d.ts","./node_modules/undici-types/formdata.d.ts","./node_modules/undici-types/connector.d.ts","./node_modules/undici-types/client.d.ts","./node_modules/undici-types/errors.d.ts","./node_modules/undici-types/dispatcher.d.ts","./node_modules/undici-types/global-dispatcher.d.ts","./node_modules/undici-types/global-origin.d.ts","./node_modules/undici-types/pool-stats.d.ts","./node_modules/undici-types/pool.d.ts","./node_modules/undici-types/handlers.d.ts","./node_modules/undici-types/balanced-pool.d.ts","./node_modules/undici-types/agent.d.ts","./node_modules/undici-types/mock-interceptor.d.ts","./node_modules/undici-types/mock-agent.d.ts","./node_modules/undici-types/mock-client.d.ts","./node_modules/undici-types/mock-pool.d.ts","./node_modules/undici-types/mock-errors.d.ts","./node_modules/undici-types/proxy-agent.d.ts","./node_modules/undici-types/env-http-proxy-agent.d.ts","./node_modules/undici-types/retry-handler.d.ts","./node_modules/undici-types/retry-agent.d.ts","./node_modules/undici-types/api.d.ts","./node_modules/undici-types/interceptors.d.ts","./node_modules/undici-types/util.d.ts","./node_modules/undici-types/cookies.d.ts","./node_modules/undici-types/patch.d.ts","./node_modules/undici-types/websocket.d.ts","./node_modules/undici-types/eventsource.d.ts","./node_modules/undici-types/filereader.d.ts","./node_modules/undici-types/diagnostics-channel.d.ts","./node_modules/undici-types/content-type.d.ts","./node_modules/undici-types/cache.d.ts","./node_modules/undici-types/index.d.ts","./node_modules/@types/node/web-globals/fetch.d.ts","./node_modules/@types/node/web-globals/navigator.d.ts","./node_modules/@types/node/web-globals/storage.d.ts","./node_modules/@types/node/assert.d.ts","./node_modules/@types/node/assert/strict.d.ts","./node_modules/@types/node/async_hooks.d.ts","./node_modules/@types/node/buffer.d.ts","./node_modules/@types/node/child_process.d.ts","./node_modules/@types/node/cluster.d.ts","./node_modules/@types/node/console.d.ts","./node_modules/@types/node/constants.d.ts","./node_modules/@types/node/crypto.d.ts","./node_modules/@types/node/dgram.d.ts","./node_modules/@types/node/diagnostics_channel.d.ts","./node_modules/@types/node/dns.d.ts","./node_modules/@types/node/dns/promises.d.ts","./node_modules/@types/node/domain.d.ts","./node_modules/@types/node/events.d.ts","./node_modules/@types/node/fs.d.ts","./node_modules/@types/node/fs/promises.d.ts","./node_modules/@types/node/http.d.ts","./node_modules/@types/node/http2.d.ts","./node_modules/@types/node/https.d.ts","./node_modules/@types/node/inspector.d.ts","./node_modules/@types/node/inspector.generated.d.ts","./node_modules/@types/node/module.d.ts","./node_modules/@types/node/net.d.ts","./node_modules/@types/node/os.d.ts","./node_modules/@types/node/path.d.ts","./node_modules/@types/node/perf_hooks.d.ts","./node_modules/@types/node/process.d.ts","./node_modules/@types/node/punycode.d.ts","./node_modules/@types/node/querystring.d.ts","./node_modules/@types/node/readline.d.ts","./node_modules/@types/node/readline/promises.d.ts","./node_modules/@types/node/repl.d.ts","./node_modules/@types/node/sea.d.ts","./node_modules/@types/node/sqlite.d.ts","./node_modules/@types/node/stream.d.ts","./node_modules/@types/node/stream/promises.d.ts","./node_modules/@types/node/stream/consumers.d.ts","./node_modules/@types/node/stream/web.d.ts","./node_modules/@types/node/string_decoder.d.ts","./node_modules/@types/node/test.d.ts","./node_modules/@types/node/timers.d.ts","./node_modules/@types/node/timers/promises.d.ts","./node_modules/@types/node/tls.d.ts","./node_modules/@types/node/trace_events.d.ts","./node_modules/@types/node/tty.d.ts","./node_modules/@types/node/url.d.ts","./node_modules/@types/node/util.d.ts","./node_modules/@types/node/v8.d.ts","./node_modules/@types/node/vm.d.ts","./node_modules/@types/node/wasi.d.ts","./node_modules/@types/node/worker_threads.d.ts","./node_modules/@types/node/zlib.d.ts","./node_modules/@types/node/index.d.ts","./node_modules/@types/react/canary.d.ts","./node_modules/@types/react/experimental.d.ts","./node_modules/@types/react-dom/index.d.ts","./node_modules/@types/react-dom/canary.d.ts","./node_modules/@types/react-dom/experimental.d.ts","./node_modules/next/dist/lib/fallback.d.ts","./node_modules/next/dist/compiled/webpack/webpack.d.ts","./node_modules/next/dist/shared/lib/modern-browserslist-target.d.ts","./node_modules/next/dist/shared/lib/entry-constants.d.ts","./node_modules/next/dist/shared/lib/constants.d.ts","./node_modules/next/dist/lib/bundler.d.ts","./node_modules/next/dist/server/config.d.ts","./node_modules/next/dist/lib/load-custom-routes.d.ts","./node_modules/next/dist/shared/lib/image-config.d.ts","./node_modules/next/dist/build/webpack/plugins/subresource-integrity-plugin.d.ts","./node_modules/next/dist/server/body-streams.d.ts","./node_modules/next/dist/server/request/search-params.d.ts","./node_modules/next/dist/shared/lib/segment-cache/vary-params-decoding.d.ts","./node_modules/next/dist/server/app-render/vary-params.d.ts","./node_modules/next/dist/server/request/params.d.ts","./node_modules/next/dist/server/route-kind.d.ts","./node_modules/next/dist/server/route-definitions/route-definition.d.ts","./node_modules/next/dist/server/route-matches/route-match.d.ts","./node_modules/next/dist/client/components/app-router-headers.d.ts","./node_modules/next/dist/server/lib/cache-control.d.ts","./node_modules/next/dist/shared/lib/app-router-types.d.ts","./node_modules/next/dist/server/lib/cache-handlers/types.d.ts","./node_modules/next/dist/server/use-cache/use-cache-wrapper.d.ts","./node_modules/next/dist/server/resume-data-cache/cache-store.d.ts","./node_modules/next/dist/server/resume-data-cache/resume-data-cache.d.ts","./node_modules/next/dist/lib/constants.d.ts","./node_modules/next/dist/server/render-result.d.ts","./node_modules/next/dist/server/response-cache/types.d.ts","./node_modules/next/dist/server/response-cache/index.d.ts","./node_modules/@types/react/jsx-runtime.d.ts","./node_modules/next/dist/next-devtools/userspace/pages/pages-dev-overlay-setup.d.ts","./node_modules/next/dist/build/static-paths/types.d.ts","./node_modules/next/dist/server/route-definitions/app-page-route-definition.d.ts","./node_modules/next/dist/build/adapter/setup-node-env.external.d.ts","./node_modules/next/dist/server/instrumentation/types.d.ts","./node_modules/next/dist/lib/setup-exception-listeners.d.ts","./node_modules/next/dist/lib/worker.d.ts","./node_modules/next/dist/server/lib/experimental/ppr.d.ts","./node_modules/next/dist/lib/page-types.d.ts","./node_modules/next/dist/build/segment-config/app/app-segment-config.d.ts","./node_modules/next/dist/build/segment-config/pages/pages-segment-config.d.ts","./node_modules/next/dist/build/analysis/get-page-static-info.d.ts","./node_modules/next/dist/build/webpack/loaders/get-module-build-info.d.ts","./node_modules/next/dist/build/webpack/plugins/middleware-plugin.d.ts","./node_modules/next/dist/server/require-hook.d.ts","./node_modules/next/dist/server/node-polyfill-crypto.d.ts","./node_modules/next/dist/server/node-environment-baseline.d.ts","./node_modules/next/dist/server/node-environment-extensions/error-inspect.d.ts","./node_modules/next/dist/server/node-environment-extensions/console-file.d.ts","./node_modules/next/dist/server/node-environment-extensions/console-exit.d.ts","./node_modules/next/dist/server/node-environment-extensions/console-dim.external.d.ts","./node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.d.ts","./node_modules/next/dist/server/node-environment-extensions/random.d.ts","./node_modules/next/dist/server/node-environment-extensions/date.d.ts","./node_modules/next/dist/server/node-environment-extensions/web-crypto.d.ts","./node_modules/next/dist/server/node-environment-extensions/node-crypto.d.ts","./node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.d.ts","./node_modules/next/dist/server/node-environment.d.ts","./node_modules/next/dist/build/page-extensions-type.d.ts","./node_modules/next/dist/server/route-modules/app-page/module.compiled.d.ts","./node_modules/next/dist/server/route-definitions/app-route-route-definition.d.ts","./node_modules/next/dist/server/lib/i18n-provider.d.ts","./node_modules/next/dist/server/web/next-url.d.ts","./node_modules/next/dist/compiled/@edge-runtime/cookies/index.d.ts","./node_modules/next/dist/server/web/spec-extension/cookies.d.ts","./node_modules/next/dist/server/web/spec-extension/request.d.ts","./node_modules/next/dist/shared/lib/deep-readonly.d.ts","./node_modules/next/dist/server/lib/incremental-cache/index.d.ts","./node_modules/next/dist/shared/lib/router/utils/middleware-route-matcher.d.ts","./node_modules/next/dist/build/webpack/plugins/flight-manifest-plugin.d.ts","./node_modules/next/dist/build/webpack/plugins/next-font-manifest-plugin.d.ts","./node_modules/next/dist/server/route-definitions/locale-route-definition.d.ts","./node_modules/next/dist/server/route-definitions/pages-route-definition.d.ts","./node_modules/next/dist/shared/lib/mitt.d.ts","./node_modules/next/dist/client/with-router.d.ts","./node_modules/next/dist/client/router.d.ts","./node_modules/next/dist/client/route-loader.d.ts","./node_modules/next/dist/client/page-loader.d.ts","./node_modules/next/dist/shared/lib/bloom-filter.d.ts","./node_modules/next/dist/shared/lib/router/router.d.ts","./node_modules/next/dist/shared/lib/router-context.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/loadable-context.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/loadable.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/image-config-context.shared-runtime.d.ts","./node_modules/next/dist/client/components/readonly-url-search-params.d.ts","./node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.d.ts","./node_modules/next/dist/client/flight-data-helpers.d.ts","./node_modules/next/dist/client/components/segment-cache/cache-key.d.ts","./node_modules/next/dist/client/components/router-reducer/fetch-server-response.d.ts","./node_modules/next/dist/client/components/segment-cache/types.d.ts","./node_modules/next/dist/shared/lib/segment-cache/segment-value-encoding.d.ts","./node_modules/next/dist/client/components/segment-cache/scheduler.d.ts","./node_modules/next/dist/client/components/segment-cache/cache-map.d.ts","./node_modules/next/dist/client/components/segment-cache/vary-path.d.ts","./node_modules/next/dist/client/components/segment-cache/cache.d.ts","./node_modules/next/dist/client/components/router-reducer/ppr-navigations.d.ts","./node_modules/next/dist/client/components/segment-cache/navigation.d.ts","./node_modules/next/dist/client/components/router-reducer/router-reducer-types.d.ts","./node_modules/next/dist/shared/lib/app-router-context.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.d.ts","./node_modules/next/dist/server/route-modules/pages/vendored/contexts/entrypoints.d.ts","./node_modules/next/dist/server/route-modules/pages/module.compiled.d.ts","./node_modules/next/dist/build/templates/pages.d.ts","./node_modules/next/dist/server/route-modules/pages/module.d.ts","./node_modules/next/dist/server/render.d.ts","./node_modules/next/dist/build/webpack/plugins/pages-manifest-plugin.d.ts","./node_modules/next/dist/server/route-definitions/pages-api-route-definition.d.ts","./node_modules/next/dist/server/route-matches/pages-api-route-match.d.ts","./node_modules/next/dist/server/route-matchers/route-matcher.d.ts","./node_modules/next/dist/server/route-matcher-providers/route-matcher-provider.d.ts","./node_modules/next/dist/server/route-matcher-managers/route-matcher-manager.d.ts","./node_modules/next/dist/server/normalizers/normalizer.d.ts","./node_modules/next/dist/server/normalizers/locale-route-normalizer.d.ts","./node_modules/next/dist/server/normalizers/request/pathname-normalizer.d.ts","./node_modules/next/dist/server/normalizers/request/suffix.d.ts","./node_modules/next/dist/server/normalizers/request/rsc.d.ts","./node_modules/next/dist/server/normalizers/request/next-data.d.ts","./node_modules/next/dist/server/after/builtin-request-context.d.ts","./node_modules/next/dist/server/normalizers/request/segment-prefix-rsc.d.ts","./node_modules/next/dist/server/route-modules/pages/builtin/_error.d.ts","./node_modules/next/dist/server/load-default-error-components.d.ts","./node_modules/next/dist/server/base-server.d.ts","./node_modules/next/dist/server/after/after.d.ts","./node_modules/next/dist/server/after/after-context.d.ts","./node_modules/next/dist/server/use-cache/cache-life.d.ts","./node_modules/next/dist/server/app-render/work-async-storage-instance.d.ts","./node_modules/next/dist/server/lib/lazy-result.d.ts","./node_modules/next/dist/server/app-render/create-error-handler.d.ts","./node_modules/next/dist/shared/lib/action-revalidation-kind.d.ts","./node_modules/next/dist/server/app-render/work-async-storage.external.d.ts","./node_modules/next/dist/server/async-storage/work-store.d.ts","./node_modules/next/dist/server/web/http.d.ts","./node_modules/next/dist/client/components/hooks-server-context.d.ts","./node_modules/next/dist/server/route-modules/app-route/shared-modules.d.ts","./node_modules/next/dist/client/components/redirect-status-code.d.ts","./node_modules/next/dist/client/components/redirect-error.d.ts","./node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.d.ts","./node_modules/next/dist/server/async-storage/draft-mode-provider.d.ts","./node_modules/next/dist/server/web/spec-extension/adapters/headers.d.ts","./node_modules/next/dist/server/app-render/cache-signal.d.ts","./node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.d.ts","./node_modules/next/dist/server/app-render/instant-validation/instant-validation-error.d.ts","./node_modules/next/dist/shared/lib/router/utils/parse-relative-url.d.ts","./node_modules/next/dist/server/app-render/instant-validation/instant-samples.d.ts","./node_modules/next/dist/server/app-render/dynamic-rendering.d.ts","./node_modules/next/dist/server/app-render/work-unit-async-storage-instance.d.ts","./node_modules/next/dist/server/lib/implicit-tags.d.ts","./node_modules/next/dist/server/app-render/staged-rendering.d.ts","./node_modules/next/dist/server/app-render/work-unit-async-storage.external.d.ts","./node_modules/next/dist/build/templates/app-route.d.ts","./node_modules/next/dist/server/app-render/action-async-storage-instance.d.ts","./node_modules/next/dist/server/app-render/action-async-storage.external.d.ts","./node_modules/next/dist/server/route-modules/app-route/module.d.ts","./node_modules/next/dist/server/route-modules/app-route/module.compiled.d.ts","./node_modules/next/dist/build/segment-config/app/app-segments.d.ts","./node_modules/next/dist/build/get-supported-browsers.d.ts","./node_modules/next/dist/build/utils.d.ts","./node_modules/next/dist/build/rendering-mode.d.ts","./node_modules/next/dist/server/lib/router-utils/build-prefetch-segment-data-route.d.ts","./node_modules/next/dist/server/lib/cpu-profile.d.ts","./node_modules/next/dist/build/turborepo-access-trace/types.d.ts","./node_modules/next/dist/build/turborepo-access-trace/result.d.ts","./node_modules/next/dist/build/turborepo-access-trace/helpers.d.ts","./node_modules/next/dist/build/turborepo-access-trace/index.d.ts","./node_modules/next/dist/export/routes/types.d.ts","./node_modules/next/dist/export/types.d.ts","./node_modules/next/dist/export/worker.d.ts","./node_modules/next/dist/build/worker.d.ts","./node_modules/next/dist/build/index.d.ts","./node_modules/next/dist/lib/coalesced-function.d.ts","./node_modules/next/dist/server/lib/router-utils/types.d.ts","./node_modules/next/dist/trace/types.d.ts","./node_modules/next/dist/trace/trace.d.ts","./node_modules/next/dist/trace/shared.d.ts","./node_modules/next/dist/trace/index.d.ts","./node_modules/next/dist/build/load-jsconfig.d.ts","./node_modules/@next/env/dist/index.d.ts","./node_modules/next/dist/build/webpack/plugins/telemetry-plugin/use-cache-tracker-utils.d.ts","./node_modules/next/dist/build/webpack/plugins/telemetry-plugin/telemetry-plugin.d.ts","./node_modules/next/dist/telemetry/storage.d.ts","./node_modules/next/dist/build/build-context.d.ts","./node_modules/next/dist/build/webpack-config.d.ts","./node_modules/next/dist/build/swc/generated-native.d.ts","./node_modules/next/dist/build/define-env.d.ts","./node_modules/next/dist/build/swc/index.d.ts","./node_modules/next/dist/build/swc/types.d.ts","./node_modules/next/dist/server/dev/parse-version-info.d.ts","./node_modules/next/dist/next-devtools/shared/types.d.ts","./node_modules/next/dist/server/dev/dev-indicator-server-state.d.ts","./node_modules/next/dist/next-devtools/dev-overlay/cache-indicator.d.ts","./node_modules/next/dist/server/lib/parse-stack.d.ts","./node_modules/next/dist/next-devtools/server/shared.d.ts","./node_modules/next/dist/next-devtools/shared/stack-frame.d.ts","./node_modules/next/dist/next-devtools/dev-overlay/utils/get-error-by-type.d.ts","./node_modules/next/dist/next-devtools/dev-overlay/container/runtime-error/render-error.d.ts","./node_modules/next/dist/next-devtools/dev-overlay/shared.d.ts","./node_modules/next/dist/server/dev/debug-channel.d.ts","./node_modules/next/dist/server/dev/hot-reloader-types.d.ts","./node_modules/next/dist/server/web/spec-extension/fetch-event.d.ts","./node_modules/next/dist/server/web/spec-extension/response.d.ts","./node_modules/next/dist/build/segment-config/middleware/middleware-config.d.ts","./node_modules/next/dist/server/web/types.d.ts","./node_modules/next/dist/shared/lib/router/utils/parse-url.d.ts","./node_modules/next/dist/server/base-http/node.d.ts","./node_modules/next/dist/server/lib/async-callback-set.d.ts","./node_modules/next/dist/shared/lib/router/utils/route-regex.d.ts","./node_modules/next/dist/shared/lib/router/utils/route-matcher.d.ts","./node_modules/sharp/lib/index.d.ts","./node_modules/next/dist/server/image-optimizer.d.ts","./node_modules/next/dist/server/next-server.d.ts","./node_modules/next/dist/server/lib/types.d.ts","./node_modules/next/dist/server/lib/lru-cache.d.ts","./node_modules/next/dist/server/lib/dev-bundler-service.d.ts","./node_modules/next/dist/server/dev/static-paths-worker.d.ts","./node_modules/next/dist/server/dev/next-dev-server.d.ts","./node_modules/next/dist/server/next.d.ts","./node_modules/next/dist/server/lib/render-server.d.ts","./node_modules/next/dist/server/lib/router-server.d.ts","./node_modules/next/dist/shared/lib/router/utils/path-match.d.ts","./node_modules/next/dist/server/lib/router-utils/filesystem.d.ts","./node_modules/next/dist/server/lib/router-utils/setup-dev-bundler.d.ts","./node_modules/next/dist/server/lib/router-utils/router-server-context.d.ts","./node_modules/next/dist/server/route-modules/route-module.d.ts","./node_modules/next/dist/server/load-components.d.ts","./node_modules/next/dist/server/web/adapter.d.ts","./node_modules/next/dist/server/app-render/types.d.ts","./node_modules/next/dist/build/webpack/loaders/metadata/types.d.ts","./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.d.ts","./node_modules/next/dist/server/lib/app-dir-module.d.ts","./node_modules/next/dist/server/app-render/app-render.d.ts","./node_modules/next/dist/server/route-modules/app-page/vendored/contexts/entrypoints.d.ts","./node_modules/next/dist/client/components/error-boundary.d.ts","./node_modules/next/dist/client/components/layout-router.d.ts","./node_modules/next/dist/client/components/render-from-template-context.d.ts","./node_modules/next/dist/client/components/client-page.d.ts","./node_modules/next/dist/client/components/client-segment.d.ts","./node_modules/next/dist/client/components/http-access-fallback/error-boundary.d.ts","./node_modules/next/dist/lib/metadata/types/alternative-urls-types.d.ts","./node_modules/next/dist/lib/metadata/types/extra-types.d.ts","./node_modules/next/dist/lib/metadata/types/metadata-types.d.ts","./node_modules/next/dist/lib/metadata/types/manifest-types.d.ts","./node_modules/next/dist/lib/metadata/types/opengraph-types.d.ts","./node_modules/next/dist/lib/metadata/types/twitter-types.d.ts","./node_modules/next/dist/lib/metadata/types/metadata-interface.d.ts","./node_modules/next/dist/lib/metadata/types/resolvers.d.ts","./node_modules/next/dist/lib/metadata/types/icons.d.ts","./node_modules/next/dist/lib/metadata/resolve-metadata.d.ts","./node_modules/next/dist/lib/metadata/metadata.d.ts","./node_modules/next/dist/lib/framework/boundary-components.d.ts","./node_modules/next/dist/server/app-render/rsc/preloads.d.ts","./node_modules/next/dist/server/app-render/rsc/postpone.d.ts","./node_modules/next/dist/server/app-render/rsc/taint.d.ts","./node_modules/next/dist/server/app-render/collect-segment-data.d.ts","./node_modules/next/dist/server/app-render/instant-validation/instant-validation.d.ts","./node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.d.ts","./node_modules/next/dist/server/app-render/entry-base.d.ts","./node_modules/next/dist/build/templates/app-page.d.ts","./node_modules/next/dist/server/route-modules/app-page/helpers/prerender-manifest-matcher.d.ts","./node_modules/@types/react/jsx-dev-runtime.d.ts","./node_modules/@types/react/compiler-runtime.d.ts","./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/entrypoints.d.ts","./node_modules/@types/react-dom/client.d.ts","./node_modules/@types/react-dom/static.d.ts","./node_modules/@types/react-dom/server.d.ts","./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/entrypoints.d.ts","./node_modules/next/dist/server/route-modules/app-page/module.d.ts","./node_modules/next/dist/server/request/fallback-params.d.ts","./node_modules/next/dist/server/web/spec-extension/image-response.d.ts","./node_modules/next/dist/server/web/spec-extension/user-agent.d.ts","./node_modules/next/dist/server/web/spec-extension/url-pattern.d.ts","./node_modules/next/dist/server/after/index.d.ts","./node_modules/next/dist/server/request/connection.d.ts","./node_modules/next/dist/server/web/exports/index.d.ts","./node_modules/next/dist/server/request-meta.d.ts","./node_modules/next/dist/cli/next-test.d.ts","./node_modules/next/dist/shared/lib/size-limit.d.ts","./node_modules/next/dist/server/config-shared.d.ts","./node_modules/next/dist/server/base-http/index.d.ts","./node_modules/next/dist/server/api-utils/index.d.ts","./node_modules/next/dist/build/adapter/build-complete.d.ts","./node_modules/next/dist/types.d.ts","./node_modules/next/dist/shared/lib/html-context.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/utils.d.ts","./node_modules/next/dist/pages/_app.d.ts","./node_modules/next/app.d.ts","./node_modules/next/dist/server/web/spec-extension/unstable-cache.d.ts","./node_modules/next/dist/server/web/spec-extension/revalidate.d.ts","./node_modules/next/dist/server/web/spec-extension/unstable-no-store.d.ts","./node_modules/next/dist/server/use-cache/cache-tag.d.ts","./node_modules/next/cache.d.ts","./node_modules/next/dist/pages/_document.d.ts","./node_modules/next/document.d.ts","./node_modules/next/dist/shared/lib/dynamic.d.ts","./node_modules/next/dynamic.d.ts","./node_modules/next/dist/pages/_error.d.ts","./node_modules/next/dist/client/components/catch-error.d.ts","./node_modules/next/dist/api/error.d.ts","./node_modules/next/error.d.ts","./node_modules/next/dist/shared/lib/head.d.ts","./node_modules/next/head.d.ts","./node_modules/next/dist/server/request/cookies.d.ts","./node_modules/next/dist/server/request/headers.d.ts","./node_modules/next/dist/server/request/draft-mode.d.ts","./node_modules/next/headers.d.ts","./node_modules/next/dist/shared/lib/get-img-props.d.ts","./node_modules/next/dist/client/image-component.d.ts","./node_modules/next/dist/shared/lib/image-external.d.ts","./node_modules/next/image.d.ts","./node_modules/next/dist/client/link.d.ts","./node_modules/next/link.d.ts","./node_modules/next/dist/client/components/unrecognized-action-error.d.ts","./node_modules/next/dist/client/components/redirect.d.ts","./node_modules/next/dist/client/components/not-found.d.ts","./node_modules/next/dist/client/components/forbidden.d.ts","./node_modules/next/dist/client/components/unauthorized.d.ts","./node_modules/next/dist/client/components/unstable-rethrow.server.d.ts","./node_modules/next/dist/client/components/unstable-rethrow.d.ts","./node_modules/next/dist/client/components/navigation.react-server.d.ts","./node_modules/next/dist/client/components/navigation.d.ts","./node_modules/next/navigation.d.ts","./node_modules/next/router.d.ts","./node_modules/next/dist/client/script.d.ts","./node_modules/next/script.d.ts","./node_modules/next/dist/compiled/@edge-runtime/primitives/url.d.ts","./node_modules/next/dist/compiled/@vercel/og/satori/index.d.ts","./node_modules/next/dist/compiled/@vercel/og/types.d.ts","./node_modules/next/server.d.ts","./node_modules/next/types/global.d.ts","./node_modules/next/types/compiled.d.ts","./node_modules/next/types.d.ts","./node_modules/next/index.d.ts","./node_modules/next/image-types/global.d.ts","./.next/dev/types/routes.d.ts","./next-env.d.ts","./node_modules/firebase-admin/lib/app/credential.d.ts","./node_modules/firebase-admin/lib/app/core.d.ts","./node_modules/firebase-admin/lib/app/lifecycle.d.ts","./node_modules/firebase-admin/lib/app/credential-factory.d.ts","./node_modules/firebase-admin/lib/messaging/messaging-api.d.ts","./node_modules/firebase-admin/lib/utils/error.d.ts","./node_modules/firebase-admin/lib/app/index.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/auth-context.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/metadata.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/call-credentials.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/constants.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/deadline.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/certificate-provider.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/compression-algorithms.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/channel-options.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/uri-parser.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/channel-credentials.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/connectivity-state.d.ts","./node_modules/@js-sdsl/ordered-map/dist/esm/index.d.ts","./node_modules/protobufjs/index.d.ts","./node_modules/protobufjs/ext/descriptor/index.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/node_modules/@grpc/proto-loader/build/src/util.d.ts","./node_modules/long/umd/types.d.ts","./node_modules/long/umd/index.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/node_modules/@grpc/proto-loader/build/src/index.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/timestamp.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/channelref.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/subchannelref.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/channeltraceevent.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/channeltrace.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/subchannel-address.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getchannelrequest.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/channelconnectivitystate.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/channeldata.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/socketref.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/channel.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getchannelresponse.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getserverrequest.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/serverref.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/serverdata.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/server.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getserverresponse.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getserversocketsrequest.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getserversocketsresponse.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getserversrequest.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getserversresponse.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getsocketrequest.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/int64value.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/any.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/socketoption.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/socketdata.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/address.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/security.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/socket.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getsocketresponse.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getsubchannelrequest.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/subchannel.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getsubchannelresponse.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/gettopchannelsrequest.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/gettopchannelsresponse.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/channelz.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/channelz.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/channel.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/client-interceptors.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/client.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/server-credentials.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/subchannel-call.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/transport.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/xds/data/orca/v3/orcaloadreport.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/duration.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/xds/service/orca/v3/orcaloadreportrequest.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/xds/service/orca/v3/openrcaservice.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/subchannel.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/subchannel-interface.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/duration.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/service-config.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/load-balancer.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/picker.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/orca.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/server-interceptors.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/server.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/make-client.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/events.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/object-stream.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/server-call.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/call-interface.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/call.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/status-builder.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/admin.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/logging.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/filter.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/resolver.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/backoff-timeout.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/load-balancer-pick-first.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/load-balancer-child-handler.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/filter-stack.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/load-balancer-outlier-detection.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/load-balancing-call.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/resolving-call.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/retrying-call.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/internal-channel.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/experimental.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/index.d.ts","./node_modules/@grpc/proto-loader/build/src/util.d.ts","./node_modules/@grpc/proto-loader/build/src/index.d.ts","./node_modules/gaxios/build/src/common.d.ts","./node_modules/gaxios/build/src/interceptor.d.ts","./node_modules/gaxios/build/src/gaxios.d.ts","./node_modules/gaxios/build/src/index.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/transporters.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/credentials.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/crypto/crypto.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/util.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/authclient.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/loginticket.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/oauth2client.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/idtokenclient.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/envdetect.d.ts","./node_modules/gtoken/build/src/index.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/jwtclient.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/refreshclient.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/impersonated.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/baseexternalclient.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/identitypoolclient.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/awsrequestsigner.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/awsclient.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/pluggable-auth-client.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/externalclient.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/externalaccountauthorizeduserclient.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/googleauth.d.ts","./node_modules/google-gax/node_modules/gcp-metadata/build/src/gcp-residency.d.ts","./node_modules/google-gax/node_modules/gcp-metadata/build/src/index.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/computeclient.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/iam.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/jwtaccess.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/downscopedclient.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/passthrough.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/index.d.ts","./node_modules/google-gax/build/src/status.d.ts","./node_modules/proto3-json-serializer/build/src/types.d.ts","./node_modules/proto3-json-serializer/build/src/toproto3json.d.ts","./node_modules/proto3-json-serializer/build/src/fromproto3json.d.ts","./node_modules/proto3-json-serializer/build/src/index.d.ts","./node_modules/google-gax/build/src/googleerror.d.ts","./node_modules/google-gax/build/src/call.d.ts","./node_modules/google-gax/build/src/streamingcalls/streaming.d.ts","./node_modules/google-gax/build/src/apicaller.d.ts","./node_modules/google-gax/build/src/paginationcalls/pagedescriptor.d.ts","./node_modules/google-gax/build/src/streamingcalls/streamdescriptor.d.ts","./node_modules/google-gax/build/src/normalcalls/normalapicaller.d.ts","./node_modules/google-gax/build/src/bundlingcalls/bundleapicaller.d.ts","./node_modules/google-gax/build/src/bundlingcalls/bundledescriptor.d.ts","./node_modules/google-gax/build/src/descriptor.d.ts","./node_modules/google-gax/build/protos/operations.d.ts","./node_modules/google-gax/build/src/clientinterface.d.ts","./node_modules/google-gax/build/src/routingheader.d.ts","./node_modules/google-gax/build/protos/http.d.ts","./node_modules/google-gax/build/protos/iam_service.d.ts","./node_modules/google-gax/build/protos/locations.d.ts","./node_modules/google-gax/build/src/pathtemplate.d.ts","./node_modules/google-gax/build/src/iamservice.d.ts","./node_modules/google-gax/build/src/locationservice.d.ts","./node_modules/google-gax/build/src/util.d.ts","./node_modules/protobufjs/minimal.d.ts","./node_modules/google-gax/build/src/warnings.d.ts","./node_modules/event-target-shim/index.d.ts","./node_modules/abort-controller/dist/abort-controller.d.ts","./node_modules/google-gax/build/src/streamarrayparser.d.ts","./node_modules/google-gax/build/src/fallbackservicestub.d.ts","./node_modules/google-gax/build/src/fallback.d.ts","./node_modules/google-gax/build/src/operationsclient.d.ts","./node_modules/google-gax/build/src/longrunningcalls/longrunningapicaller.d.ts","./node_modules/google-gax/build/src/longrunningcalls/longrunningdescriptor.d.ts","./node_modules/google-gax/build/src/longrunningcalls/longrunning.d.ts","./node_modules/google-gax/build/src/apitypes.d.ts","./node_modules/google-gax/build/src/bundlingcalls/task.d.ts","./node_modules/google-gax/build/src/bundlingcalls/bundleexecutor.d.ts","./node_modules/google-gax/build/src/gax.d.ts","./node_modules/google-gax/build/src/grpc.d.ts","./node_modules/google-gax/build/src/createapicall.d.ts","./node_modules/google-gax/build/src/index.d.ts","./node_modules/@google-cloud/firestore/types/protos/firestore_v1beta1_proto_api.d.ts","./node_modules/@google-cloud/firestore/types/v1beta1/firestore_client.d.ts","./node_modules/@google-cloud/firestore/types/protos/firestore_v1_proto_api.d.ts","./node_modules/@google-cloud/firestore/types/v1/firestore_client.d.ts","./node_modules/@google-cloud/firestore/types/protos/firestore_admin_v1_proto_api.d.ts","./node_modules/@google-cloud/firestore/types/v1/firestore_admin_client.d.ts","./node_modules/@google-cloud/firestore/types/firestore.d.ts","./node_modules/firebase-admin/lib/firestore/firestore-internal.d.ts","./node_modules/firebase-admin/lib/firestore/index.d.ts","./lib/firebase/seeddata.ts","./lib/firebase/autoseed.server.ts","./instrumentation.ts","./app/admin/actions.ts","./node_modules/@firebase/component/dist/src/provider.d.ts","./node_modules/@firebase/component/dist/src/component_container.d.ts","./node_modules/@firebase/component/dist/src/types.d.ts","./node_modules/@firebase/component/dist/src/component.d.ts","./node_modules/@firebase/component/dist/index.d.ts","./node_modules/@firebase/util/dist/util-public.d.ts","./node_modules/@firebase/logger/dist/src/logger.d.ts","./node_modules/@firebase/logger/dist/index.d.ts","./node_modules/@firebase/app/dist/app-public.d.ts","./node_modules/@firebase/firestore/dist/index.d.ts","./node_modules/firebase/firestore/dist/firestore/index.d.ts","./node_modules/firebase/app/dist/app/index.d.ts","./node_modules/@firebase/auth/dist/auth-public.d.ts","./node_modules/firebase/auth/dist/auth/index.d.ts","./node_modules/@firebase/storage/dist/storage-public.d.ts","./node_modules/firebase/storage/dist/storage/index.d.ts","./lib/firebase/config.ts","./lib/firebase/constants.ts","./lib/firebase/types.ts","./lib/firebase/services.ts","./lib/pagecontentconfig.ts","./lib/publicpagescontent.ts","./app/api/public/about/route.ts","./lib/publiccontent.ts","./app/api/public/blogs/route.ts","./app/api/public/blogs/[slug]/route.ts","./app/api/public/contacts/route.ts","./app/api/public/donate/route.ts","./app/api/public/home/route.ts","./app/api/public/media/route.ts","./app/api/public/reports/route.ts","./node_modules/lucide-react/dist/lucide-react.d.ts","./components/admin/shared/impacticons.ts","./node_modules/@radix-ui/react-context/dist/index.d.mts","./node_modules/@radix-ui/react-primitive/dist/index.d.mts","./node_modules/@radix-ui/react-dismissable-layer/dist/index.d.mts","./node_modules/@radix-ui/react-toast/dist/index.d.mts","./node_modules/clsx/clsx.d.mts","./node_modules/class-variance-authority/dist/types.d.ts","./node_modules/class-variance-authority/dist/index.d.ts","./node_modules/tailwind-merge/dist/types.d.ts","./lib/utils.ts","./components/ui/toast.tsx","./components/ui/use-toast.ts","./hooks/use-mobile.ts","./hooks/use-toast.ts","./types/editorpanel.ts","./lib/editorpanelmockdata.ts","./types/pagebuilder.ts","./lib/firebase/adminservices.ts","./lib/firebase/editorservices.ts","./lib/firebase/helpers.ts","./lib/firebase/navservices.ts","./node_modules/firebase-admin/lib/auth/token-verifier.d.ts","./node_modules/firebase-admin/lib/auth/auth-config.d.ts","./node_modules/firebase-admin/lib/auth/user-record.d.ts","./node_modules/firebase-admin/lib/auth/identifier.d.ts","./node_modules/firebase-admin/lib/auth/user-import-builder.d.ts","./node_modules/firebase-admin/lib/auth/action-code-settings-builder.d.ts","./node_modules/firebase-admin/lib/auth/base-auth.d.ts","./node_modules/firebase-admin/lib/auth/tenant.d.ts","./node_modules/firebase-admin/lib/auth/tenant-manager.d.ts","./node_modules/firebase-admin/lib/auth/project-config.d.ts","./node_modules/firebase-admin/lib/auth/project-config-manager.d.ts","./node_modules/firebase-admin/lib/auth/auth.d.ts","./node_modules/firebase-admin/lib/auth/index.d.ts","./scripts/bootstrap.ts","./scripts/createusers.ts","./scripts/seedcollections.ts","./node_modules/firebase/compat/index.d.ts","./node_modules/@firebase/app-compat/dist/app-compat-public.d.ts","./node_modules/@firebase/app-types/index.d.ts","./node_modules/@firebase/database-types/index.d.ts","./node_modules/@firebase/database/dist/public.d.ts","./node_modules/@firebase/database-compat/dist/database-compat/src/index.d.ts","./node_modules/firebase/compat/database/dist/compat/database/index.d.ts","./node_modules/@firebase/firestore-types/index.d.ts","./node_modules/@firebase/firestore-compat/dist/src/register-module.d.ts","./node_modules/@firebase/firestore-compat/dist/src/index.d.ts","./node_modules/firebase/compat/firestore/dist/compat/firestore/index.d.ts","./node_modules/@firebase/app-types/private.d.ts","./node_modules/@firebase/storage-types/index.d.ts","./node_modules/@firebase/storage-compat/dist/src/index.d.ts","./node_modules/firebase/compat/storage/dist/compat/storage/index.d.ts","./node_modules/@firebase/rules-unit-testing/dist/rules-unit-testing/src/public_types/index.d.ts","./node_modules/@firebase/rules-unit-testing/dist/rules-unit-testing/src/initialize.d.ts","./node_modules/@firebase/rules-unit-testing/dist/rules-unit-testing/src/util.d.ts","./node_modules/@firebase/rules-unit-testing/dist/rules-unit-testing/index.d.ts","./scripts/testsecurityrules.ts","./node_modules/next/dist/compiled/@next/font/dist/types.d.ts","./node_modules/next/dist/compiled/@next/font/dist/google/index.d.ts","./node_modules/next/font/google/index.d.ts","./node_modules/@vercel/analytics/dist/next/index.d.mts","./lib/firebase/authcontext.tsx","./components/errorboundary.tsx","./app/providers.tsx","./components/theme/themelistener.tsx","./app/layout.tsx","./node_modules/@radix-ui/react-slot/dist/index.d.mts","./components/ui/button.tsx","./components/layout/header.tsx","./components/layout/footer.tsx","./app/page.tsx","./app/about/page.tsx","./app/about/vision/page.tsx","./app/admin/layout.tsx","./components/ui/spinner.tsx","./components/adminrouteguard.tsx","./components/admin/adminshell.tsx","./app/admin/(protected)/layout.tsx","./app/admin/(protected)/page.tsx","./app/admin/(protected)/board-members/page.tsx","./app/admin/(protected)/bylaws/page.tsx","./app/admin/(protected)/contacts/page.tsx","./components/admin/shared/iconpicker.tsx","./app/admin/(protected)/homepage/page.tsx","./app/admin/(protected)/iban/page.tsx","./components/admin/shared/imageuploadfield.tsx","./app/admin/(protected)/menu/page.tsx","./components/admin/pagebuilder/blocktypeselector.tsx","./components/admin/pagebuilder/heroblockeditor.tsx","./components/admin/pagebuilder/richtextblockeditor.tsx","./components/admin/pagebuilder/ctabannerblockeditor.tsx","./components/admin/pagebuilder/eventgridblockeditor.tsx","./components/admin/pagebuilder/reportlistblockeditor.tsx","./components/admin/pagebuilder/teamgridblockeditor.tsx","./components/admin/shared/faqitemseditor.tsx","./components/admin/pagebuilder/faqblockeditor.tsx","./components/admin/pagebuilder/statsbarblockeditor.tsx","./components/admin/pagebuilder/blockeditorcanvas.tsx","./node_modules/marked/lib/marked.d.ts","./components/admin/shared/fileattachmentmanager.tsx","./components/editorpanel/blogpostform.tsx","./components/admin/inlineblogmanager.tsx","./components/editorpanel/eventform.tsx","./components/admin/inlineeventmanager.tsx","./components/admin/shared/draftpublishtoggle.tsx","./components/admin/inlinemediamanager.tsx","./components/admin/inlinecampaignmanager.tsx","./components/admin/shared/impactitemseditor.tsx","./components/admin/inlineimpactmanager.tsx","./components/admin/inlinefaqmanager.tsx","./components/admin/shared/teammemberseditor.tsx","./components/admin/shared/contentimageseditor.tsx","./components/admin/inlinehakkimizdamanager.tsx","./app/admin/(protected)/menu/[key]/page.tsx","./app/admin/(protected)/pages/page.tsx","./app/admin/(protected)/reports/page.tsx","./app/admin/(protected)/supporters/page.tsx","./node_modules/@radix-ui/react-label/node_modules/@radix-ui/react-primitive/dist/index.d.mts","./node_modules/@radix-ui/react-label/dist/index.d.mts","./components/ui/label.tsx","./components/ui/input.tsx","./app/admin/(protected)/theme/page.tsx","./app/admin/(protected)/theme/livepreview.tsx","./components/ui/card.tsx","./app/admin/login/page.tsx","./app/blogs/page.tsx","./node_modules/@types/trusted-types/lib/index.d.ts","./node_modules/dompurify/dist/purify.es.d.mts","./node_modules/isomorphic-dompurify/dist/browser.d.mts","./app/blogs/[slug]/page.tsx","./node_modules/zod/v3/helpers/typealiases.d.cts","./node_modules/zod/v3/helpers/util.d.cts","./node_modules/zod/v3/index.d.cts","./node_modules/zod/v3/zoderror.d.cts","./node_modules/zod/v3/locales/en.d.cts","./node_modules/zod/v3/errors.d.cts","./node_modules/zod/v3/helpers/parseutil.d.cts","./node_modules/zod/v3/helpers/enumutil.d.cts","./node_modules/zod/v3/helpers/errorutil.d.cts","./node_modules/zod/v3/helpers/partialutil.d.cts","./node_modules/zod/v3/standard-schema.d.cts","./node_modules/zod/v3/types.d.cts","./node_modules/zod/v3/external.d.cts","./node_modules/zod/index.d.cts","./app/contacts/page.tsx","./components/ui/copybutton.tsx","./app/donate/page.tsx","./components/donate/campaigndonationform.tsx","./app/donate/[id]/page.tsx","./context/editorpanelcontext.tsx","./components/editorrouteguard.tsx","./app/editorpanel/layout.tsx","./components/editorpanel/editorsidebar.tsx","./components/editorpanel/notificationdropdown.tsx","./components/editorpanel/editortopbar.tsx","./components/editorpanel/editorshell.tsx","./app/editorpanel/announcements/page.tsx","./components/editorpanel/announcementform.tsx","./app/editorpanel/announcements/[id]/edit/page.tsx","./app/editorpanel/announcements/new/page.tsx","./app/editorpanel/blog-posts/page.tsx","./app/editorpanel/blog-posts/[id]/edit/page.tsx","./app/editorpanel/blog-posts/new/page.tsx","./app/editorpanel/calendar/page.tsx","./components/editorpanel/dashboardstats.tsx","./components/editorpanel/dashboardsections.tsx","./app/editorpanel/dashboard/page.tsx","./app/editorpanel/events/page.tsx","./app/editorpanel/events/[id]/edit/page.tsx","./app/editorpanel/events/new/page.tsx","./app/editorpanel/help/page.tsx","./app/editorpanel/media/page.tsx","./app/editorpanel/my-details/page.tsx","./app/editorpanel/performance-review/page.tsx","./app/events/page.tsx","./app/legal/page.tsx","./components/media/media-hero.tsx","./components/ui/badge.tsx","./components/media/featured-media.tsx","./components/media/media-grid.tsx","./components/media/media-gallery.tsx","./components/media/media-cta.tsx","./app/media/page.tsx","./app/mg/page.tsx","./app/mg/[slug]/page.tsx","./app/pagemanagement/pagemanagement.tsx","./components/blocks/heroblock.tsx","./components/blocks/richtextblock.tsx","./components/blocks/ctabannerblock.tsx","./components/blocks/eventgridblock.tsx","./components/blocks/reportlistblock.tsx","./components/blocks/teamgridblock.tsx","./components/blocks/faqaccordionblock.tsx","./components/blocks/statsbarblock.tsx","./components/blocks/blockrenderer.tsx","./app/pages/[slug]/page.tsx","./app/privacy/page.tsx","./components/reports/reports-hero.tsx","./components/reports/featured-report.tsx","./components/reports/reports-grid.tsx","./app/reports/page.tsx","./app/terms/page.tsx","./app/volunteer/page.tsx","./node_modules/next-themes/dist/index.d.ts","./components/theme-provider.tsx","./components/admin/pagebuilder/pagepreview.tsx","./node_modules/@radix-ui/react-collapsible/dist/index.d.mts","./node_modules/@radix-ui/react-accordion/dist/index.d.mts","./components/ui/accordion.tsx","./node_modules/@radix-ui/react-focus-scope/dist/index.d.mts","./node_modules/@radix-ui/react-portal/dist/index.d.mts","./node_modules/@radix-ui/react-dialog/dist/index.d.mts","./node_modules/@radix-ui/react-alert-dialog/dist/index.d.mts","./components/ui/alert-dialog.tsx","./components/ui/alert.tsx","./node_modules/@radix-ui/react-aspect-ratio/node_modules/@radix-ui/react-primitive/dist/index.d.mts","./node_modules/@radix-ui/react-aspect-ratio/dist/index.d.mts","./components/ui/aspect-ratio.tsx","./node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-context/dist/index.d.mts","./node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-primitive/dist/index.d.mts","./node_modules/@radix-ui/react-avatar/dist/index.d.mts","./components/ui/avatar.tsx","./components/ui/breadcrumb.tsx","./node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-primitive/dist/index.d.mts","./node_modules/@radix-ui/react-separator/dist/index.d.mts","./components/ui/separator.tsx","./components/ui/button-group.tsx","./node_modules/@date-fns/tz/constants/index.d.ts","./node_modules/@date-fns/tz/date/index.d.ts","./node_modules/@date-fns/tz/date/mini.d.ts","./node_modules/@date-fns/tz/tz/index.d.ts","./node_modules/@date-fns/tz/tzoffset/index.d.ts","./node_modules/@date-fns/tz/tzscan/index.d.ts","./node_modules/@date-fns/tz/tzname/index.d.ts","./node_modules/@date-fns/tz/index.d.ts","./node_modules/date-fns/constants.d.ts","./node_modules/date-fns/locale/types.d.ts","./node_modules/date-fns/fp/types.d.ts","./node_modules/date-fns/types.d.ts","./node_modules/date-fns/add.d.ts","./node_modules/date-fns/addbusinessdays.d.ts","./node_modules/date-fns/adddays.d.ts","./node_modules/date-fns/addhours.d.ts","./node_modules/date-fns/addisoweekyears.d.ts","./node_modules/date-fns/addmilliseconds.d.ts","./node_modules/date-fns/addminutes.d.ts","./node_modules/date-fns/addmonths.d.ts","./node_modules/date-fns/addquarters.d.ts","./node_modules/date-fns/addseconds.d.ts","./node_modules/date-fns/addweeks.d.ts","./node_modules/date-fns/addyears.d.ts","./node_modules/date-fns/areintervalsoverlapping.d.ts","./node_modules/date-fns/clamp.d.ts","./node_modules/date-fns/closestindexto.d.ts","./node_modules/date-fns/closestto.d.ts","./node_modules/date-fns/compareasc.d.ts","./node_modules/date-fns/comparedesc.d.ts","./node_modules/date-fns/constructfrom.d.ts","./node_modules/date-fns/constructnow.d.ts","./node_modules/date-fns/daystoweeks.d.ts","./node_modules/date-fns/differenceinbusinessdays.d.ts","./node_modules/date-fns/differenceincalendardays.d.ts","./node_modules/date-fns/differenceincalendarisoweekyears.d.ts","./node_modules/date-fns/differenceincalendarisoweeks.d.ts","./node_modules/date-fns/differenceincalendarmonths.d.ts","./node_modules/date-fns/differenceincalendarquarters.d.ts","./node_modules/date-fns/differenceincalendarweeks.d.ts","./node_modules/date-fns/differenceincalendaryears.d.ts","./node_modules/date-fns/differenceindays.d.ts","./node_modules/date-fns/differenceinhours.d.ts","./node_modules/date-fns/differenceinisoweekyears.d.ts","./node_modules/date-fns/differenceinmilliseconds.d.ts","./node_modules/date-fns/differenceinminutes.d.ts","./node_modules/date-fns/differenceinmonths.d.ts","./node_modules/date-fns/differenceinquarters.d.ts","./node_modules/date-fns/differenceinseconds.d.ts","./node_modules/date-fns/differenceinweeks.d.ts","./node_modules/date-fns/differenceinyears.d.ts","./node_modules/date-fns/eachdayofinterval.d.ts","./node_modules/date-fns/eachhourofinterval.d.ts","./node_modules/date-fns/eachminuteofinterval.d.ts","./node_modules/date-fns/eachmonthofinterval.d.ts","./node_modules/date-fns/eachquarterofinterval.d.ts","./node_modules/date-fns/eachweekofinterval.d.ts","./node_modules/date-fns/eachweekendofinterval.d.ts","./node_modules/date-fns/eachweekendofmonth.d.ts","./node_modules/date-fns/eachweekendofyear.d.ts","./node_modules/date-fns/eachyearofinterval.d.ts","./node_modules/date-fns/endofday.d.ts","./node_modules/date-fns/endofdecade.d.ts","./node_modules/date-fns/endofhour.d.ts","./node_modules/date-fns/endofisoweek.d.ts","./node_modules/date-fns/endofisoweekyear.d.ts","./node_modules/date-fns/endofminute.d.ts","./node_modules/date-fns/endofmonth.d.ts","./node_modules/date-fns/endofquarter.d.ts","./node_modules/date-fns/endofsecond.d.ts","./node_modules/date-fns/endoftoday.d.ts","./node_modules/date-fns/endoftomorrow.d.ts","./node_modules/date-fns/endofweek.d.ts","./node_modules/date-fns/endofyear.d.ts","./node_modules/date-fns/endofyesterday.d.ts","./node_modules/date-fns/_lib/format/formatters.d.ts","./node_modules/date-fns/_lib/format/longformatters.d.ts","./node_modules/date-fns/format.d.ts","./node_modules/date-fns/formatdistance.d.ts","./node_modules/date-fns/formatdistancestrict.d.ts","./node_modules/date-fns/formatdistancetonow.d.ts","./node_modules/date-fns/formatdistancetonowstrict.d.ts","./node_modules/date-fns/formatduration.d.ts","./node_modules/date-fns/formatiso.d.ts","./node_modules/date-fns/formatiso9075.d.ts","./node_modules/date-fns/formatisoduration.d.ts","./node_modules/date-fns/formatrfc3339.d.ts","./node_modules/date-fns/formatrfc7231.d.ts","./node_modules/date-fns/formatrelative.d.ts","./node_modules/date-fns/fromunixtime.d.ts","./node_modules/date-fns/getdate.d.ts","./node_modules/date-fns/getday.d.ts","./node_modules/date-fns/getdayofyear.d.ts","./node_modules/date-fns/getdaysinmonth.d.ts","./node_modules/date-fns/getdaysinyear.d.ts","./node_modules/date-fns/getdecade.d.ts","./node_modules/date-fns/_lib/defaultoptions.d.ts","./node_modules/date-fns/getdefaultoptions.d.ts","./node_modules/date-fns/gethours.d.ts","./node_modules/date-fns/getisoday.d.ts","./node_modules/date-fns/getisoweek.d.ts","./node_modules/date-fns/getisoweekyear.d.ts","./node_modules/date-fns/getisoweeksinyear.d.ts","./node_modules/date-fns/getmilliseconds.d.ts","./node_modules/date-fns/getminutes.d.ts","./node_modules/date-fns/getmonth.d.ts","./node_modules/date-fns/getoverlappingdaysinintervals.d.ts","./node_modules/date-fns/getquarter.d.ts","./node_modules/date-fns/getseconds.d.ts","./node_modules/date-fns/gettime.d.ts","./node_modules/date-fns/getunixtime.d.ts","./node_modules/date-fns/getweek.d.ts","./node_modules/date-fns/getweekofmonth.d.ts","./node_modules/date-fns/getweekyear.d.ts","./node_modules/date-fns/getweeksinmonth.d.ts","./node_modules/date-fns/getyear.d.ts","./node_modules/date-fns/hourstomilliseconds.d.ts","./node_modules/date-fns/hourstominutes.d.ts","./node_modules/date-fns/hourstoseconds.d.ts","./node_modules/date-fns/interval.d.ts","./node_modules/date-fns/intervaltoduration.d.ts","./node_modules/date-fns/intlformat.d.ts","./node_modules/date-fns/intlformatdistance.d.ts","./node_modules/date-fns/isafter.d.ts","./node_modules/date-fns/isbefore.d.ts","./node_modules/date-fns/isdate.d.ts","./node_modules/date-fns/isequal.d.ts","./node_modules/date-fns/isexists.d.ts","./node_modules/date-fns/isfirstdayofmonth.d.ts","./node_modules/date-fns/isfriday.d.ts","./node_modules/date-fns/isfuture.d.ts","./node_modules/date-fns/islastdayofmonth.d.ts","./node_modules/date-fns/isleapyear.d.ts","./node_modules/date-fns/ismatch.d.ts","./node_modules/date-fns/ismonday.d.ts","./node_modules/date-fns/ispast.d.ts","./node_modules/date-fns/issameday.d.ts","./node_modules/date-fns/issamehour.d.ts","./node_modules/date-fns/issameisoweek.d.ts","./node_modules/date-fns/issameisoweekyear.d.ts","./node_modules/date-fns/issameminute.d.ts","./node_modules/date-fns/issamemonth.d.ts","./node_modules/date-fns/issamequarter.d.ts","./node_modules/date-fns/issamesecond.d.ts","./node_modules/date-fns/issameweek.d.ts","./node_modules/date-fns/issameyear.d.ts","./node_modules/date-fns/issaturday.d.ts","./node_modules/date-fns/issunday.d.ts","./node_modules/date-fns/isthishour.d.ts","./node_modules/date-fns/isthisisoweek.d.ts","./node_modules/date-fns/isthisminute.d.ts","./node_modules/date-fns/isthismonth.d.ts","./node_modules/date-fns/isthisquarter.d.ts","./node_modules/date-fns/isthissecond.d.ts","./node_modules/date-fns/isthisweek.d.ts","./node_modules/date-fns/isthisyear.d.ts","./node_modules/date-fns/isthursday.d.ts","./node_modules/date-fns/istoday.d.ts","./node_modules/date-fns/istomorrow.d.ts","./node_modules/date-fns/istuesday.d.ts","./node_modules/date-fns/isvalid.d.ts","./node_modules/date-fns/iswednesday.d.ts","./node_modules/date-fns/isweekend.d.ts","./node_modules/date-fns/iswithininterval.d.ts","./node_modules/date-fns/isyesterday.d.ts","./node_modules/date-fns/lastdayofdecade.d.ts","./node_modules/date-fns/lastdayofisoweek.d.ts","./node_modules/date-fns/lastdayofisoweekyear.d.ts","./node_modules/date-fns/lastdayofmonth.d.ts","./node_modules/date-fns/lastdayofquarter.d.ts","./node_modules/date-fns/lastdayofweek.d.ts","./node_modules/date-fns/lastdayofyear.d.ts","./node_modules/date-fns/_lib/format/lightformatters.d.ts","./node_modules/date-fns/lightformat.d.ts","./node_modules/date-fns/max.d.ts","./node_modules/date-fns/milliseconds.d.ts","./node_modules/date-fns/millisecondstohours.d.ts","./node_modules/date-fns/millisecondstominutes.d.ts","./node_modules/date-fns/millisecondstoseconds.d.ts","./node_modules/date-fns/min.d.ts","./node_modules/date-fns/minutestohours.d.ts","./node_modules/date-fns/minutestomilliseconds.d.ts","./node_modules/date-fns/minutestoseconds.d.ts","./node_modules/date-fns/monthstoquarters.d.ts","./node_modules/date-fns/monthstoyears.d.ts","./node_modules/date-fns/nextday.d.ts","./node_modules/date-fns/nextfriday.d.ts","./node_modules/date-fns/nextmonday.d.ts","./node_modules/date-fns/nextsaturday.d.ts","./node_modules/date-fns/nextsunday.d.ts","./node_modules/date-fns/nextthursday.d.ts","./node_modules/date-fns/nexttuesday.d.ts","./node_modules/date-fns/nextwednesday.d.ts","./node_modules/date-fns/parse/_lib/types.d.ts","./node_modules/date-fns/parse/_lib/setter.d.ts","./node_modules/date-fns/parse/_lib/parser.d.ts","./node_modules/date-fns/parse/_lib/parsers.d.ts","./node_modules/date-fns/parse.d.ts","./node_modules/date-fns/parseiso.d.ts","./node_modules/date-fns/parsejson.d.ts","./node_modules/date-fns/previousday.d.ts","./node_modules/date-fns/previousfriday.d.ts","./node_modules/date-fns/previousmonday.d.ts","./node_modules/date-fns/previoussaturday.d.ts","./node_modules/date-fns/previoussunday.d.ts","./node_modules/date-fns/previousthursday.d.ts","./node_modules/date-fns/previoustuesday.d.ts","./node_modules/date-fns/previouswednesday.d.ts","./node_modules/date-fns/quarterstomonths.d.ts","./node_modules/date-fns/quarterstoyears.d.ts","./node_modules/date-fns/roundtonearesthours.d.ts","./node_modules/date-fns/roundtonearestminutes.d.ts","./node_modules/date-fns/secondstohours.d.ts","./node_modules/date-fns/secondstomilliseconds.d.ts","./node_modules/date-fns/secondstominutes.d.ts","./node_modules/date-fns/set.d.ts","./node_modules/date-fns/setdate.d.ts","./node_modules/date-fns/setday.d.ts","./node_modules/date-fns/setdayofyear.d.ts","./node_modules/date-fns/setdefaultoptions.d.ts","./node_modules/date-fns/sethours.d.ts","./node_modules/date-fns/setisoday.d.ts","./node_modules/date-fns/setisoweek.d.ts","./node_modules/date-fns/setisoweekyear.d.ts","./node_modules/date-fns/setmilliseconds.d.ts","./node_modules/date-fns/setminutes.d.ts","./node_modules/date-fns/setmonth.d.ts","./node_modules/date-fns/setquarter.d.ts","./node_modules/date-fns/setseconds.d.ts","./node_modules/date-fns/setweek.d.ts","./node_modules/date-fns/setweekyear.d.ts","./node_modules/date-fns/setyear.d.ts","./node_modules/date-fns/startofday.d.ts","./node_modules/date-fns/startofdecade.d.ts","./node_modules/date-fns/startofhour.d.ts","./node_modules/date-fns/startofisoweek.d.ts","./node_modules/date-fns/startofisoweekyear.d.ts","./node_modules/date-fns/startofminute.d.ts","./node_modules/date-fns/startofmonth.d.ts","./node_modules/date-fns/startofquarter.d.ts","./node_modules/date-fns/startofsecond.d.ts","./node_modules/date-fns/startoftoday.d.ts","./node_modules/date-fns/startoftomorrow.d.ts","./node_modules/date-fns/startofweek.d.ts","./node_modules/date-fns/startofweekyear.d.ts","./node_modules/date-fns/startofyear.d.ts","./node_modules/date-fns/startofyesterday.d.ts","./node_modules/date-fns/sub.d.ts","./node_modules/date-fns/subbusinessdays.d.ts","./node_modules/date-fns/subdays.d.ts","./node_modules/date-fns/subhours.d.ts","./node_modules/date-fns/subisoweekyears.d.ts","./node_modules/date-fns/submilliseconds.d.ts","./node_modules/date-fns/subminutes.d.ts","./node_modules/date-fns/submonths.d.ts","./node_modules/date-fns/subquarters.d.ts","./node_modules/date-fns/subseconds.d.ts","./node_modules/date-fns/subweeks.d.ts","./node_modules/date-fns/subyears.d.ts","./node_modules/date-fns/todate.d.ts","./node_modules/date-fns/transpose.d.ts","./node_modules/date-fns/weekstodays.d.ts","./node_modules/date-fns/yearstodays.d.ts","./node_modules/date-fns/yearstomonths.d.ts","./node_modules/date-fns/yearstoquarters.d.ts","./node_modules/date-fns/index.d.ts","./node_modules/date-fns/locale/af.d.ts","./node_modules/date-fns/locale/ar.d.ts","./node_modules/date-fns/locale/ar-dz.d.ts","./node_modules/date-fns/locale/ar-eg.d.ts","./node_modules/date-fns/locale/ar-ma.d.ts","./node_modules/date-fns/locale/ar-sa.d.ts","./node_modules/date-fns/locale/ar-tn.d.ts","./node_modules/date-fns/locale/az.d.ts","./node_modules/date-fns/locale/be.d.ts","./node_modules/date-fns/locale/be-tarask.d.ts","./node_modules/date-fns/locale/bg.d.ts","./node_modules/date-fns/locale/bn.d.ts","./node_modules/date-fns/locale/bs.d.ts","./node_modules/date-fns/locale/ca.d.ts","./node_modules/date-fns/locale/ckb.d.ts","./node_modules/date-fns/locale/cs.d.ts","./node_modules/date-fns/locale/cy.d.ts","./node_modules/date-fns/locale/da.d.ts","./node_modules/date-fns/locale/de.d.ts","./node_modules/date-fns/locale/de-at.d.ts","./node_modules/date-fns/locale/el.d.ts","./node_modules/date-fns/locale/en-au.d.ts","./node_modules/date-fns/locale/en-ca.d.ts","./node_modules/date-fns/locale/en-gb.d.ts","./node_modules/date-fns/locale/en-ie.d.ts","./node_modules/date-fns/locale/en-in.d.ts","./node_modules/date-fns/locale/en-nz.d.ts","./node_modules/date-fns/locale/en-us.d.ts","./node_modules/date-fns/locale/en-za.d.ts","./node_modules/date-fns/locale/eo.d.ts","./node_modules/date-fns/locale/es.d.ts","./node_modules/date-fns/locale/et.d.ts","./node_modules/date-fns/locale/eu.d.ts","./node_modules/date-fns/locale/fa-ir.d.ts","./node_modules/date-fns/locale/fi.d.ts","./node_modules/date-fns/locale/fr.d.ts","./node_modules/date-fns/locale/fr-ca.d.ts","./node_modules/date-fns/locale/fr-ch.d.ts","./node_modules/date-fns/locale/fy.d.ts","./node_modules/date-fns/locale/gd.d.ts","./node_modules/date-fns/locale/gl.d.ts","./node_modules/date-fns/locale/gu.d.ts","./node_modules/date-fns/locale/he.d.ts","./node_modules/date-fns/locale/hi.d.ts","./node_modules/date-fns/locale/hr.d.ts","./node_modules/date-fns/locale/ht.d.ts","./node_modules/date-fns/locale/hu.d.ts","./node_modules/date-fns/locale/hy.d.ts","./node_modules/date-fns/locale/id.d.ts","./node_modules/date-fns/locale/is.d.ts","./node_modules/date-fns/locale/it.d.ts","./node_modules/date-fns/locale/it-ch.d.ts","./node_modules/date-fns/locale/ja.d.ts","./node_modules/date-fns/locale/ja-hira.d.ts","./node_modules/date-fns/locale/ka.d.ts","./node_modules/date-fns/locale/kk.d.ts","./node_modules/date-fns/locale/km.d.ts","./node_modules/date-fns/locale/kn.d.ts","./node_modules/date-fns/locale/ko.d.ts","./node_modules/date-fns/locale/lb.d.ts","./node_modules/date-fns/locale/lt.d.ts","./node_modules/date-fns/locale/lv.d.ts","./node_modules/date-fns/locale/mk.d.ts","./node_modules/date-fns/locale/mn.d.ts","./node_modules/date-fns/locale/ms.d.ts","./node_modules/date-fns/locale/mt.d.ts","./node_modules/date-fns/locale/nb.d.ts","./node_modules/date-fns/locale/nl.d.ts","./node_modules/date-fns/locale/nl-be.d.ts","./node_modules/date-fns/locale/nn.d.ts","./node_modules/date-fns/locale/oc.d.ts","./node_modules/date-fns/locale/pl.d.ts","./node_modules/date-fns/locale/pt.d.ts","./node_modules/date-fns/locale/pt-br.d.ts","./node_modules/date-fns/locale/ro.d.ts","./node_modules/date-fns/locale/ru.d.ts","./node_modules/date-fns/locale/se.d.ts","./node_modules/date-fns/locale/sk.d.ts","./node_modules/date-fns/locale/sl.d.ts","./node_modules/date-fns/locale/sq.d.ts","./node_modules/date-fns/locale/sr.d.ts","./node_modules/date-fns/locale/sr-latn.d.ts","./node_modules/date-fns/locale/sv.d.ts","./node_modules/date-fns/locale/ta.d.ts","./node_modules/date-fns/locale/te.d.ts","./node_modules/date-fns/locale/th.d.ts","./node_modules/date-fns/locale/tr.d.ts","./node_modules/date-fns/locale/ug.d.ts","./node_modules/date-fns/locale/uk.d.ts","./node_modules/date-fns/locale/uz.d.ts","./node_modules/date-fns/locale/uz-cyrl.d.ts","./node_modules/date-fns/locale/vi.d.ts","./node_modules/date-fns/locale/zh-cn.d.ts","./node_modules/date-fns/locale/zh-hk.d.ts","./node_modules/date-fns/locale/zh-tw.d.ts","./node_modules/date-fns/locale.d.ts","./node_modules/react-day-picker/dist/esm/components/button.d.ts","./node_modules/react-day-picker/dist/esm/components/captionlabel.d.ts","./node_modules/react-day-picker/dist/esm/components/chevron.d.ts","./node_modules/react-day-picker/dist/esm/components/monthcaption.d.ts","./node_modules/react-day-picker/dist/esm/components/week.d.ts","./node_modules/react-day-picker/dist/esm/labels/labeldaybutton.d.ts","./node_modules/react-day-picker/dist/esm/labels/labelgrid.d.ts","./node_modules/react-day-picker/dist/esm/labels/labelgridcell.d.ts","./node_modules/react-day-picker/dist/esm/labels/labelmonthdropdown.d.ts","./node_modules/react-day-picker/dist/esm/labels/labelnav.d.ts","./node_modules/react-day-picker/dist/esm/labels/labelnext.d.ts","./node_modules/react-day-picker/dist/esm/labels/labelprevious.d.ts","./node_modules/react-day-picker/dist/esm/labels/labelweekday.d.ts","./node_modules/react-day-picker/dist/esm/labels/labelweeknumber.d.ts","./node_modules/react-day-picker/dist/esm/labels/labelweeknumberheader.d.ts","./node_modules/react-day-picker/dist/esm/labels/labelyeardropdown.d.ts","./node_modules/react-day-picker/dist/esm/labels/index.d.ts","./node_modules/react-day-picker/dist/esm/ui.d.ts","./node_modules/react-day-picker/dist/esm/classes/calendarweek.d.ts","./node_modules/react-day-picker/dist/esm/classes/calendarmonth.d.ts","./node_modules/react-day-picker/dist/esm/types/props.d.ts","./node_modules/react-day-picker/dist/esm/types/selection.d.ts","./node_modules/react-day-picker/dist/esm/usedaypicker.d.ts","./node_modules/react-day-picker/dist/esm/types/deprecated.d.ts","./node_modules/react-day-picker/dist/esm/types/index.d.ts","./node_modules/react-day-picker/dist/esm/components/day.d.ts","./node_modules/react-day-picker/dist/esm/components/daybutton.d.ts","./node_modules/react-day-picker/dist/esm/components/dropdown.d.ts","./node_modules/react-day-picker/dist/esm/components/dropdownnav.d.ts","./node_modules/react-day-picker/dist/esm/components/footer.d.ts","./node_modules/react-day-picker/dist/esm/components/month.d.ts","./node_modules/react-day-picker/dist/esm/components/monthgrid.d.ts","./node_modules/react-day-picker/dist/esm/components/months.d.ts","./node_modules/react-day-picker/dist/esm/components/monthsdropdown.d.ts","./node_modules/react-day-picker/dist/esm/components/nav.d.ts","./node_modules/react-day-picker/dist/esm/components/nextmonthbutton.d.ts","./node_modules/react-day-picker/dist/esm/components/option.d.ts","./node_modules/react-day-picker/dist/esm/components/previousmonthbutton.d.ts","./node_modules/react-day-picker/dist/esm/components/root.d.ts","./node_modules/react-day-picker/dist/esm/components/select.d.ts","./node_modules/react-day-picker/dist/esm/components/weekday.d.ts","./node_modules/react-day-picker/dist/esm/components/weekdays.d.ts","./node_modules/react-day-picker/dist/esm/components/weeknumber.d.ts","./node_modules/react-day-picker/dist/esm/components/weeknumberheader.d.ts","./node_modules/react-day-picker/dist/esm/components/weeks.d.ts","./node_modules/react-day-picker/dist/esm/components/yearsdropdown.d.ts","./node_modules/react-day-picker/dist/esm/components/custom-components.d.ts","./node_modules/react-day-picker/dist/esm/formatters/formatcaption.d.ts","./node_modules/react-day-picker/dist/esm/formatters/formatday.d.ts","./node_modules/react-day-picker/dist/esm/formatters/formatmonthdropdown.d.ts","./node_modules/react-day-picker/dist/esm/formatters/formatweekdayname.d.ts","./node_modules/react-day-picker/dist/esm/formatters/formatweeknumber.d.ts","./node_modules/react-day-picker/dist/esm/formatters/formatweeknumberheader.d.ts","./node_modules/react-day-picker/dist/esm/formatters/formatyeardropdown.d.ts","./node_modules/react-day-picker/dist/esm/formatters/index.d.ts","./node_modules/react-day-picker/dist/esm/types/shared.d.ts","./node_modules/react-day-picker/dist/esm/locale/en-us.d.ts","./node_modules/react-day-picker/dist/esm/classes/datelib.d.ts","./node_modules/react-day-picker/dist/esm/classes/calendarday.d.ts","./node_modules/react-day-picker/dist/esm/classes/index.d.ts","./node_modules/react-day-picker/dist/esm/daypicker.d.ts","./node_modules/react-day-picker/dist/esm/helpers/getdefaultclassnames.d.ts","./node_modules/react-day-picker/dist/esm/helpers/index.d.ts","./node_modules/react-day-picker/dist/esm/utils/addtorange.d.ts","./node_modules/react-day-picker/dist/esm/utils/datematchmodifiers.d.ts","./node_modules/react-day-picker/dist/esm/utils/rangecontainsdayofweek.d.ts","./node_modules/react-day-picker/dist/esm/utils/rangecontainsmodifiers.d.ts","./node_modules/react-day-picker/dist/esm/utils/rangeincludesdate.d.ts","./node_modules/react-day-picker/dist/esm/utils/rangeoverlaps.d.ts","./node_modules/react-day-picker/dist/esm/utils/typeguards.d.ts","./node_modules/react-day-picker/dist/esm/utils/index.d.ts","./node_modules/react-day-picker/dist/esm/index.d.ts","./components/ui/calendar.tsx","./node_modules/embla-carousel/esm/components/alignment.d.ts","./node_modules/embla-carousel/esm/components/noderects.d.ts","./node_modules/embla-carousel/esm/components/axis.d.ts","./node_modules/embla-carousel/esm/components/slidestoscroll.d.ts","./node_modules/embla-carousel/esm/components/limit.d.ts","./node_modules/embla-carousel/esm/components/scrollcontain.d.ts","./node_modules/embla-carousel/esm/components/dragtracker.d.ts","./node_modules/embla-carousel/esm/components/utils.d.ts","./node_modules/embla-carousel/esm/components/animations.d.ts","./node_modules/embla-carousel/esm/components/counter.d.ts","./node_modules/embla-carousel/esm/components/eventhandler.d.ts","./node_modules/embla-carousel/esm/components/eventstore.d.ts","./node_modules/embla-carousel/esm/components/percentofview.d.ts","./node_modules/embla-carousel/esm/components/resizehandler.d.ts","./node_modules/embla-carousel/esm/components/vector1d.d.ts","./node_modules/embla-carousel/esm/components/scrollbody.d.ts","./node_modules/embla-carousel/esm/components/scrollbounds.d.ts","./node_modules/embla-carousel/esm/components/scrolllooper.d.ts","./node_modules/embla-carousel/esm/components/scrollprogress.d.ts","./node_modules/embla-carousel/esm/components/slideregistry.d.ts","./node_modules/embla-carousel/esm/components/scrolltarget.d.ts","./node_modules/embla-carousel/esm/components/scrollto.d.ts","./node_modules/embla-carousel/esm/components/slidefocus.d.ts","./node_modules/embla-carousel/esm/components/translate.d.ts","./node_modules/embla-carousel/esm/components/slidelooper.d.ts","./node_modules/embla-carousel/esm/components/slideshandler.d.ts","./node_modules/embla-carousel/esm/components/slidesinview.d.ts","./node_modules/embla-carousel/esm/components/engine.d.ts","./node_modules/embla-carousel/esm/components/optionshandler.d.ts","./node_modules/embla-carousel/esm/components/plugins.d.ts","./node_modules/embla-carousel/esm/components/emblacarousel.d.ts","./node_modules/embla-carousel/esm/components/draghandler.d.ts","./node_modules/embla-carousel/esm/components/options.d.ts","./node_modules/embla-carousel/esm/index.d.ts","./node_modules/embla-carousel-react/esm/components/useemblacarousel.d.ts","./node_modules/embla-carousel-react/esm/index.d.ts","./components/ui/carousel.tsx","./node_modules/recharts/types/container/surface.d.ts","./node_modules/recharts/types/container/layer.d.ts","./node_modules/@types/d3-time/index.d.ts","./node_modules/@types/d3-scale/index.d.ts","./node_modules/victory-vendor/d3-scale.d.ts","./node_modules/recharts/types/cartesian/xaxis.d.ts","./node_modules/recharts/types/cartesian/yaxis.d.ts","./node_modules/recharts/types/util/types.d.ts","./node_modules/recharts/types/component/defaultlegendcontent.d.ts","./node_modules/recharts/types/util/payload/getuniqpayload.d.ts","./node_modules/recharts/types/component/legend.d.ts","./node_modules/recharts/types/component/defaulttooltipcontent.d.ts","./node_modules/recharts/types/component/tooltip.d.ts","./node_modules/recharts/types/component/responsivecontainer.d.ts","./node_modules/recharts/types/component/cell.d.ts","./node_modules/recharts/types/component/text.d.ts","./node_modules/recharts/types/component/label.d.ts","./node_modules/recharts/types/component/labellist.d.ts","./node_modules/recharts/types/component/customized.d.ts","./node_modules/recharts/types/shape/sector.d.ts","./node_modules/@types/d3-path/index.d.ts","./node_modules/@types/d3-shape/index.d.ts","./node_modules/victory-vendor/d3-shape.d.ts","./node_modules/recharts/types/shape/curve.d.ts","./node_modules/recharts/types/shape/rectangle.d.ts","./node_modules/recharts/types/shape/polygon.d.ts","./node_modules/recharts/types/shape/dot.d.ts","./node_modules/recharts/types/shape/cross.d.ts","./node_modules/recharts/types/shape/symbols.d.ts","./node_modules/recharts/types/polar/polargrid.d.ts","./node_modules/recharts/types/polar/polarradiusaxis.d.ts","./node_modules/recharts/types/polar/polarangleaxis.d.ts","./node_modules/recharts/types/polar/pie.d.ts","./node_modules/recharts/types/polar/radar.d.ts","./node_modules/recharts/types/polar/radialbar.d.ts","./node_modules/recharts/types/cartesian/brush.d.ts","./node_modules/recharts/types/util/ifoverflowmatches.d.ts","./node_modules/recharts/types/cartesian/referenceline.d.ts","./node_modules/recharts/types/cartesian/referencedot.d.ts","./node_modules/recharts/types/cartesian/referencearea.d.ts","./node_modules/recharts/types/cartesian/cartesianaxis.d.ts","./node_modules/recharts/types/cartesian/cartesiangrid.d.ts","./node_modules/recharts/types/cartesian/line.d.ts","./node_modules/recharts/types/cartesian/area.d.ts","./node_modules/recharts/types/util/barutils.d.ts","./node_modules/recharts/types/cartesian/bar.d.ts","./node_modules/recharts/types/cartesian/zaxis.d.ts","./node_modules/recharts/types/cartesian/errorbar.d.ts","./node_modules/recharts/types/cartesian/scatter.d.ts","./node_modules/recharts/types/util/getlegendprops.d.ts","./node_modules/recharts/types/util/chartutils.d.ts","./node_modules/recharts/types/chart/accessibilitymanager.d.ts","./node_modules/recharts/types/chart/types.d.ts","./node_modules/recharts/types/chart/generatecategoricalchart.d.ts","./node_modules/recharts/types/chart/linechart.d.ts","./node_modules/recharts/types/chart/barchart.d.ts","./node_modules/recharts/types/chart/piechart.d.ts","./node_modules/recharts/types/chart/treemap.d.ts","./node_modules/recharts/types/chart/sankey.d.ts","./node_modules/recharts/types/chart/radarchart.d.ts","./node_modules/recharts/types/chart/scatterchart.d.ts","./node_modules/recharts/types/chart/areachart.d.ts","./node_modules/recharts/types/chart/radialbarchart.d.ts","./node_modules/recharts/types/chart/composedchart.d.ts","./node_modules/recharts/types/chart/sunburstchart.d.ts","./node_modules/recharts/types/shape/trapezoid.d.ts","./node_modules/recharts/types/numberaxis/funnel.d.ts","./node_modules/recharts/types/chart/funnelchart.d.ts","./node_modules/recharts/types/util/global.d.ts","./node_modules/recharts/types/index.d.ts","./components/ui/chart.tsx","./node_modules/@radix-ui/react-checkbox/dist/index.d.mts","./components/ui/checkbox.tsx","./components/ui/collapsible.tsx","./node_modules/cmdk/dist/index.d.ts","./components/ui/dialog.tsx","./components/ui/command.tsx","./node_modules/@radix-ui/react-arrow/dist/index.d.mts","./node_modules/@radix-ui/rect/dist/index.d.mts","./node_modules/@radix-ui/react-popper/dist/index.d.mts","./node_modules/@radix-ui/react-roving-focus/dist/index.d.mts","./node_modules/@radix-ui/react-menu/dist/index.d.mts","./node_modules/@radix-ui/react-context-menu/dist/index.d.mts","./components/ui/context-menu.tsx","./node_modules/vaul/dist/index.d.mts","./components/ui/drawer.tsx","./node_modules/@radix-ui/react-dropdown-menu/dist/index.d.mts","./components/ui/dropdown-menu.tsx","./components/ui/empty.tsx","./components/ui/field.tsx","./node_modules/react-hook-form/dist/constants.d.ts","./node_modules/react-hook-form/dist/utils/createsubject.d.ts","./node_modules/react-hook-form/dist/types/events.d.ts","./node_modules/react-hook-form/dist/types/path/common.d.ts","./node_modules/react-hook-form/dist/types/path/eager.d.ts","./node_modules/react-hook-form/dist/types/path/index.d.ts","./node_modules/react-hook-form/dist/types/fieldarray.d.ts","./node_modules/react-hook-form/dist/types/resolvers.d.ts","./node_modules/react-hook-form/dist/types/form.d.ts","./node_modules/react-hook-form/dist/types/utils.d.ts","./node_modules/react-hook-form/dist/types/fields.d.ts","./node_modules/react-hook-form/dist/types/errors.d.ts","./node_modules/react-hook-form/dist/types/validator.d.ts","./node_modules/react-hook-form/dist/types/controller.d.ts","./node_modules/react-hook-form/dist/types/watch.d.ts","./node_modules/react-hook-form/dist/types/index.d.ts","./node_modules/react-hook-form/dist/controller.d.ts","./node_modules/react-hook-form/dist/form.d.ts","./node_modules/react-hook-form/dist/formstatesubscribe.d.ts","./node_modules/react-hook-form/dist/logic/appenderrors.d.ts","./node_modules/react-hook-form/dist/logic/createformcontrol.d.ts","./node_modules/react-hook-form/dist/logic/index.d.ts","./node_modules/react-hook-form/dist/usecontroller.d.ts","./node_modules/react-hook-form/dist/usefieldarray.d.ts","./node_modules/react-hook-form/dist/useform.d.ts","./node_modules/react-hook-form/dist/useformcontext.d.ts","./node_modules/react-hook-form/dist/useformstate.d.ts","./node_modules/react-hook-form/dist/usewatch.d.ts","./node_modules/react-hook-form/dist/utils/get.d.ts","./node_modules/react-hook-form/dist/utils/set.d.ts","./node_modules/react-hook-form/dist/utils/index.d.ts","./node_modules/react-hook-form/dist/watch.d.ts","./node_modules/react-hook-form/dist/index.d.ts","./components/ui/form.tsx","./node_modules/@radix-ui/react-hover-card/dist/index.d.mts","./components/ui/hover-card.tsx","./components/ui/textarea.tsx","./components/ui/input-group.tsx","./node_modules/input-otp/dist/index.d.ts","./components/ui/input-otp.tsx","./components/ui/item.tsx","./components/ui/kbd.tsx","./node_modules/@radix-ui/react-menubar/dist/index.d.mts","./components/ui/menubar.tsx","./node_modules/@radix-ui/react-visually-hidden/dist/index.d.mts","./node_modules/@radix-ui/react-navigation-menu/dist/index.d.mts","./components/ui/navigation-menu.tsx","./components/ui/pagination.tsx","./node_modules/@radix-ui/react-popover/dist/index.d.mts","./components/ui/popover.tsx","./node_modules/@radix-ui/react-progress/node_modules/@radix-ui/react-context/dist/index.d.mts","./node_modules/@radix-ui/react-progress/node_modules/@radix-ui/react-primitive/dist/index.d.mts","./node_modules/@radix-ui/react-progress/dist/index.d.mts","./components/ui/progress.tsx","./node_modules/@radix-ui/react-radio-group/dist/index.d.mts","./components/ui/radio-group.tsx","./node_modules/react-resizable-panels/dist/declarations/src/panel.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/types.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/panelgroup.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/panelresizehandleregistry.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/panelresizehandle.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/constants.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/assert.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/csp.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/cursor.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/dom/getpanelelement.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/dom/getpanelelementsforgroup.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/dom/getpanelgroupelement.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/dom/getresizehandleelement.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/dom/getresizehandleelementindex.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/dom/getresizehandleelementsforgroup.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/dom/getresizehandlepanelids.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/rects/types.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/rects/getintersectingrectangle.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/rects/intersects.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/index.d.ts","./node_modules/react-resizable-panels/dist/react-resizable-panels.cjs.d.mts","./components/ui/resizable.tsx","./node_modules/@radix-ui/react-scroll-area/dist/index.d.mts","./components/ui/scroll-area.tsx","./node_modules/@radix-ui/react-select/dist/index.d.mts","./components/ui/select.tsx","./components/ui/sheet.tsx","./components/ui/skeleton.tsx","./node_modules/@radix-ui/react-tooltip/dist/index.d.mts","./components/ui/tooltip.tsx","./components/ui/sidebar.tsx","./node_modules/@radix-ui/react-slider/dist/index.d.mts","./components/ui/slider.tsx","./node_modules/sonner/dist/index.d.ts","./components/ui/sonner.tsx","./node_modules/@radix-ui/react-switch/dist/index.d.mts","./components/ui/switch.tsx","./components/ui/table.tsx","./node_modules/@radix-ui/react-tabs/dist/index.d.mts","./components/ui/tabs.tsx","./components/ui/toaster.tsx","./node_modules/@radix-ui/react-toggle/dist/index.d.mts","./node_modules/@radix-ui/react-toggle-group/dist/index.d.mts","./components/ui/toggle.tsx","./components/ui/toggle-group.tsx","./components/ui/use-mobile.tsx","./.next/dev/types/cache-life.d.ts","./.next/dev/types/validator.ts","./node_modules/@types/caseless/index.d.ts","./node_modules/@types/d3-array/index.d.ts","./node_modules/@types/d3-color/index.d.ts","./node_modules/@types/d3-ease/index.d.ts","./node_modules/@types/d3-interpolate/index.d.ts","./node_modules/@types/d3-timer/index.d.ts","./node_modules/@types/json-schema/index.d.ts","./node_modules/@types/ms/index.d.ts","./node_modules/@types/jsonwebtoken/index.d.ts","./node_modules/@types/long/index.d.ts","./node_modules/@types/marked/index.d.ts","./node_modules/form-data/index.d.ts","./node_modules/tough-cookie/dist/index.d.cts","./node_modules/@types/request/index.d.ts","./node_modules/@types/statuses/index.d.ts","./node_modules/@types/tough-cookie/index.d.ts","./node_modules/@types/triple-beam/index.d.ts","./node_modules/@types/trusted-types/index.d.ts","./node_modules/@types/validate-npm-package-name/index.d.ts"],"fileIdsList":[[93,142,159,160,484,485,486,487],[93,142,159,160],[93,142,159,160,227,525,528,531,749,751,752,753,754,755,756,757,824,829,830,831,832,836,837,838,839,840,842,843,845,872,873,874,875,880,883,884,888,903,905,907,910,915,917,918,919,920,921,922,925,926,927,928,929,930,931,932,933,934,941,942,943,954,955,959,960,961],[93,142,159,160,227,748,827,828],[93,142,159,160,227,508,748,827,828],[81,93,142,159,160,227,758,776],[81,93,142,159,160,227,746,758,776],[81,93,142,159,160,227,726,748,758,776,841],[93,142,159,160,227,834,835],[81,93,142,159,160,227,518,726,747,758,775,776,779,853,856,860,862,864,865,866,867,868,869,870,871],[81,93,142,159,160,227,518,758,775,776,779,844],[81,93,142,159,160,227,508,758,776,820],[93,142,159,160,227,508,758],[81,93,142,159,160,227,880],[81,93,142,159,160,227,737,743,826,878,879,881],[93,142,159,160,227,1650],[93,142,159,160,227],[81,93,142,159,160,227,518,740,743,820,826,878,879,882],[93,142,159,160,227,525,748],[93,142,159,160,227,525,750],[93,142,159,160,227,518,750,827,828,857,887],[93,142,159,160,227,508,748,750,827,828],[81,93,142,159,160,227,746,747,748,758,827,828,902],[93,142,159,160,227,508,518,750,827,828,906],[93,142,159,160,227,508,748,750,759,827,828,904],[93,142,159,160,227,508,518,773,908,914,916],[93,142,159,160,227,518,773,908,914,916],[81,93,142,159,160,227,508,758,773,908,914],[93,142,159,160,227,508,518,773,859,908,914],[93,142,159,160,227,518,773,859,908,914],[81,93,142,159,160,227,508,758,908,914],[81,93,142,159,160,227,908,914,923,924],[93,142,159,160,227,508,518,773,861,908,914],[93,142,159,160,227,518,773,861,908,914],[93,142,159,160,227,508,758,914],[93,142,159,160,227,908,909],[81,93,142,159,160,227,758,773,908,914],[93,142,159,160,227,758,908,914],[93,142,159,160,227,508,748,750,758,827,828],[93,142,159,160,227,526,529,746,818,819,822,823,1650],[93,142,159,160,227,508,827,828],[93,142,159,160,227,750,827,828,935,937,938,939,940],[93,142,159,160,227,508,518,750,827,828],[93,142,159,160,227,508,748,750,758,759,826,827,828],[81,93,142,159,160,227,758],[93,142,159,160,227,518,746,775,827,828,953],[81,93,142,159,160,227,820,821],[93,142,159,160,227,750,827,828,956,957,958],[81,93,142,159,160,227,746,758,827,828,902],[81,93,142,159,160,227,508,518,758,820],[81,93,142,159,160,227,726,758,773,777,859],[81,93,142,159,160,227,726,758,773,777],[81,93,142,159,160,227,726,758,773,777,861],[93,142,159,160,227,853],[93,142,159,160,227,844,869,870],[93,142,159,160,227,866],[81,93,142,159,160,227,726,758,773,777,844,863],[81,93,142,159,160,227,758,775,846,847,848,849,850,851,852,854,855],[93,142,159,160,227,758,775],[93,142,159,160,227,775],[93,142,159,160,227,758,775,844],[93,142,159,160,227,775,853],[93,142,159,160,227,775,953],[81,93,142,159,160,227,758,775],[93,142,159,160,227,758,844],[93,142,159,160,227,758],[93,142,159,160,227,759],[93,142,159,160,227,758,841],[81,93,142,159,160,227,518,820,833],[93,142,159,160,227,775,945,946,947,948,949,950,951,952],[93,142,159,160,227,508,775],[93,142,159,160,227,508,750,758,775],[93,142,159,160,227,775,857],[93,142,159,160,227,758,775,776],[81,93,142,159,160,227,758,773],[81,93,142,159,160,227,758,773,844,857,858],[81,93,142,159,160,227,508,758,773],[81,93,142,159,160,227,908],[81,93,142,159,160,227,911,913],[93,142,159,160,227,508,518,758],[81,93,142,159,160,227,508,758,912],[81,93,142,159,160,227,758,908],[81,93,142,159,160,227],[93,142,159,160,227,508],[81,93,142,159,160,227,508,758,779,826],[93,142,159,160,227,750,758,826,936],[93,142,159,160,227,508,750,758,826,879],[81,93,142,159,160,227,750,758,826],[81,93,142,159,160,227,750,758,826,936],[93,142,159,160,227,508,750,758],[81,93,142,159,160,227,750,758,826,879,936],[81,93,142,159,160,227,962],[81,93,142,159,160,227,758,768,966],[81,93,142,159,160,227,768,826,971],[81,93,142,159,160,227,766,768],[93,142,159,160,227,975],[81,93,142,159,160,227,768,979],[81,93,142,159,160,227,766,768,825],[81,93,142,159,160,227,758,768,825],[93,142,159,160,227,766,768,825,984],[81,93,142,159,160,227,758,768,826,1419],[81,93,142,159,160,227,768],[81,93,142,159,160,227,758,768,826,1456],[81,93,142,159,160,227,768,1527],[81,93,142,159,160,227,758,768,1529],[93,142,159,160,227,965],[81,93,142,159,160,227,758,768,1532,1533],[81,93,142,159,160,227,758,768,1540],[81,93,142,159,160,227,758,768,970],[81,93,142,159,160,227,768,1542],[81,93,142,159,160,227,758,768,1544],[93,142,159,160,227,766,768],[81,93,142,159,160,227,766,768,878,984],[81,93,142,159,160,227,768,825,877,878,1580],[81,93,142,159,160,227,768,1582],[93,142,159,160,227,766,768,826,879,1584],[81,93,142,159,160,227,758,768,1586],[81,93,142,159,160,227,766,768,825,984],[93,142,159,160,227,768],[81,93,142,159,160,227,768,877],[81,93,142,159,160,227,758,768,1590],[81,93,142,159,160,227,758,766,768,1593],[81,93,142,159,160,227,758,768,826],[81,93,142,159,160,227,768,1596],[81,93,142,159,160,227,768,1600],[81,93,142,159,160,227,758,768,1602],[81,93,142,159,160,227,758,768,1624],[81,93,142,159,160,227,768,1626],[81,93,142,159,160,227,758,768,1628],[81,93,142,159,160,227,768,983],[81,93,142,159,160,227,758,766,768,771,825,826,879,984,1630,1631,1633],[81,93,142,159,160,227,768,1635],[93,142,159,160,227,962,1637],[93,142,159,160,227,758,768],[81,93,142,159,160,227,768,1639],[81,93,142,159,160,227,768,1642],[81,93,142,159,160,227,758,763,766,768],[93,142,159,160,227,769,772],[81,93,142,159,160,227,766,768,1646,1647],[81,93,142,159,160,227,766,768,1645],[81,93,142,159,160,227,768,1632],[81,93,142,159,160,227,769],[81,93,142,159,160,227,773,777],[93,142,159,160,227,724],[93,142,159,160,227,773],[93,142,159,160,227,737,743,744,775],[81,93,142,159,160,227,737,740,743],[93,142,154,159,160,164,227,539,722,723],[93,142,159,160,227,737,738,740,742],[93,142,159,160,227,737,743,744,773],[93,142,159,160,227,737],[93,142,159,160,227,737,743,744,745],[93,142,159,160,227,723,746,747],[93,142,159,160,227,764,767],[93,142,159,160,529,530,531],[93,142,159,160,986],[93,142,159,160,987],[93,142,159,160,986,987,988,989,990,991,992],[93,142,159,160,731,732,734,798,799,803,807,808],[93,142,159,160,731,734,799,803,807,808],[93,142,159,160,731,732,798,799,803,807,808],[93,142,159,160,732,735],[93,142,159,160,727,728,729,730],[93,142,159,160,729],[93,142,159,160,727,729,730],[93,142,159,160,728,729,730],[93,142,159,160,728],[93,142,159,160,797,799,800,801,804,805,809],[93,142,159,160,731,732,798,803,807,808],[93,142,159,160,736,797,798,801,803,804,805,809],[93,142,159,160,797,801,803,805,809],[93,142,159,160,731,732,798,799,807,808],[93,142,159,160,732,734,735],[93,142,159,160,733],[93,142,159,160,811,812,813],[93,142,159,160,811],[93,142,159,160,732,796,802,806,810],[93,142,159,160,741,797,801,804,805,807,808,809],[93,142,159,160,731,732,798,799,803,807],[93,142,159,160,715,717,719],[93,142,159,160,552,557,637],[93,142,159,160,174,713,718],[93,142,159,160,174,713,716],[93,142,159,160,174,713,714],[93,142,159,160,192,552,553,556,557,636,637],[81,93,142,159,160,760,761,965],[81,93,142,159,160,760,970],[81,93,142,159,160,761],[81,93,142,159,160,876],[81,93,142,159,160],[81,93,142,159,160,876,977],[81,93,142,159,160,227,760,761],[81,93,142,159,160,760,761],[81,93,142,159,160,760,761,1539],[81,93,142,159,160,760,761,762,968,969],[81,93,142,159,160,760,761,762,969,1537],[81,93,142,159,160,760,761,762,968,969,1537,1538],[81,93,142,159,160,227,760,761,1538,1539],[81,93,142,159,160,760,761,762,1592],[81,93,142,159,160,760,761,762,968,969,1537],[81,93,142,159,160,760,761,1535,1536],[81,93,142,159,160,760,761,1538],[81,85,93,142,159,160,193,194,195,196,197,479,524],[81,93,142,159,160,760,761,762],[81,93,142,159,160,760,761,1538,1645],[93,142,159,160,1654],[93,142,159,160,1460],[93,142,159,160,1478],[93,142,147,159,160,192,1659],[93,139,140,142,159,160],[93,141,142,159,160],[142,159,160],[93,142,147,159,160,177],[93,142,143,148,153,159,160,162,174,185],[93,142,143,144,153,159,160,162],[88,89,90,93,142,159,160],[93,142,145,159,160,186],[93,142,146,147,154,159,160,163],[93,142,147,159,160,174,182],[93,142,148,150,153,159,160,162],[93,141,142,149,159,160],[93,142,150,151,159,160],[93,142,152,153,159,160],[93,141,142,153,159,160],[93,142,153,154,155,159,160,174,185],[93,142,153,154,155,159,160,169,174,177],[93,135,142,150,153,156,159,160,162,174,185],[93,142,153,154,156,157,159,160,162,174,182,185],[93,142,156,158,159,160,174,182,185],[91,92,93,94,95,96,97,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191],[93,142,153,159,160],[93,142,159,160,161,185],[93,142,150,153,159,160,162,174],[93,142,159,160,163],[93,142,159,160,164],[93,141,142,159,160,165],[93,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191],[93,142,159,160,167],[93,142,159,160,168],[93,142,153,159,160,169,170],[93,142,159,160,169,171,186,188],[93,142,154,159,160],[93,142,153,159,160,174,175,177],[93,142,159,160,176,177],[93,142,159,160,174,175],[93,142,159,160,177],[93,142,159,160,178],[93,139,142,159,160,174,179,185],[93,142,153,159,160,180,181],[93,142,159,160,180,181],[93,142,147,159,160,162,174,182],[93,142,159,160,183],[93,142,159,160,162,184],[93,142,156,159,160,168,185],[93,142,147,159,160,186],[93,142,159,160,174,187],[93,142,159,160,161,188],[93,142,159,160,189],[93,135,142,159,160],[93,135,142,153,155,159,160,165,174,177,185,187,188,190],[93,142,159,160,174,191],[81,85,93,142,159,160,193,194,195,197,479,524,825],[81,85,93,142,159,160,193,194,195,196,460,479,524,825],[81,85,93,142,159,160,193,194,196,197,479,524,825],[81,93,142,159,160,197,460,461],[81,93,142,159,160,197,460],[81,85,93,142,159,160,194,195,196,197,479,524,825],[81,85,93,142,159,160,193,195,196,197,479,524,825],[79,80,93,142,159,160],[93,142,154,156,158,159,160,162,174,185,192,1652,1663,1664],[93,142,159,160,885],[93,142,159,160,698],[93,142,159,160,764,765],[93,142,159,160,764],[81,93,142,159,160,970],[93,142,159,160,997],[93,142,159,160,995,997],[93,142,159,160,995],[93,142,159,160,997,1061,1062],[93,142,159,160,997,1064],[93,142,159,160,997,1065],[93,142,159,160,1082],[93,142,159,160,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250],[93,142,159,160,997,1158],[93,142,159,160,995,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273,1274,1275,1276,1277,1278,1279,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289,1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,1310,1311,1312,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,1323,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,1346],[93,142,159,160,997,1062,1182],[93,142,159,160,995,1179,1180],[93,142,159,160,1181],[93,142,159,160,997,1179],[93,142,159,160,994,995,996],[93,142,159,160,1454],[93,142,159,160,1455],[93,142,159,160,1428,1448],[93,142,159,160,1422],[93,142,159,160,1423,1427,1428,1429,1430,1431,1433,1435,1436,1441,1442,1451],[93,142,159,160,1423,1428],[93,142,159,160,1431,1448,1450,1453],[93,142,159,160,1422,1423,1424,1425,1428,1429,1430,1431,1432,1433,1434,1435,1436,1437,1438,1439,1440,1441,1442,1443,1444,1445,1446,1447,1452,1453],[93,142,159,160,1451],[93,142,159,160,1421,1423,1424,1426,1434,1443,1446,1447,1452],[93,142,159,160,1428,1453],[93,142,159,160,1449,1451,1453],[93,142,159,160,1422,1423,1428,1431,1451],[93,142,159,160,1435],[93,142,159,160,1425,1433,1435,1436],[93,142,159,160,1425],[93,142,159,160,1425,1435],[93,142,159,160,1429,1430,1431,1435,1436,1441],[93,142,159,160,1431,1432,1436,1440,1442,1451],[93,142,159,160,1423,1435,1444],[93,142,159,160,1424,1425,1426],[93,142,159,160,1431,1451],[93,142,159,160,1431],[93,142,159,160,1422,1423],[93,142,159,160,1423],[93,142,159,160,1427],[93,142,159,160,1431,1436,1448,1449,1450,1451,1453],[93,142,156,159,160,533],[93,142,159,160,533,534,535,536,538],[93,142,159,160,534],[93,142,159,160,539,786,788,790],[93,142,159,160,539,780,781,782,783,784,785],[93,142,159,160,538,539,780,781,782,783,784,785,786,787,788,789,790,791],[93,142,159,160,789],[93,142,159,160,781],[93,142,159,160,780,786,787],[93,142,159,160,539,781],[93,142,159,160,539,720],[93,142,159,160,538,539,720,721],[93,142,159,160,539],[93,142,159,160,537,539],[93,142,159,160,735],[93,142,159,160,739],[93,142,159,160,801],[93,142,159,160,805],[93,142,159,160,809],[93,142,159,160,736,805],[93,142,159,160,741,809],[93,142,156,159,160,174,192],[93,142,156,159,160,174,185],[93,142,156,159,160,185,638,639],[93,142,159,160,638,639,640],[93,142,159,160,638],[93,142,159,160,552,556,557,637],[93,142,159,160,676,677,678,685,707,710],[93,142,159,160,174,676,677,706,710],[93,142,159,160,676,677,679,707,709,710],[93,142,159,160,682,683,685,710],[93,142,159,160,684,707,708],[93,142,159,160,707],[93,142,159,160,670,685,686,706,710,711],[93,142,159,160,685,707,710],[93,142,159,160,679,680,681,684,705,710],[93,142,156,159,160,552,557,637,670,676,678,685,686,688,689,690,691,692,693,694,695,696,697,701,703,706,707,710,711],[93,142,159,160,700,702],[93,142,159,160,552,557,637,676,707,709],[93,142,159,160,552,557,637,671,675,711],[93,142,156,159,160,552,557,597,635,637,670,689,710],[93,142,159,160,662,670,687,690,702,710,711],[93,142,159,160,552,557,635,637,670,671,675,676,677,678,685,686,687,688,690,691,692,693,694,695,696,697,702,703,706,707,710,711,712],[93,142,159,160,670,687,691,702,710,711],[93,142,153,159,160,676,677,686,705,707,710,711],[93,142,159,160,676,677,679,705,707,710],[93,142,159,160,552,557,637,685,703,704],[93,142,159,160,676,677,679,707],[93,142,159,160,174,662,670,677,685,686,687,702,707,710,711],[93,142,159,160,174,679,685,707,710],[93,142,159,160,174,699],[93,142,159,160,678,679,685],[93,142,159,160,174,676,707,710],[93,142,159,160,613,614],[93,142,159,160,182],[93,142,159,160,541],[93,142,159,160,540,541,542,543,544,617],[93,142,153,159,160,174,540,541,596,615,616,618],[93,142,159,160,162,182,542,545,547,548],[93,142,159,160,546],[93,142,159,160,544,547,549,550,594,617,618],[93,142,159,160,550,551,562,563,593],[93,142,159,160,540,541,543,595,597,614,618],[93,142,159,160,541,542,544,547,549,595,596,614,617,619],[93,142,159,160,545,548,549,563,598,606,607,609,610,618,621,622,623,624,625,626,627,628,629,633],[93,142,159,160,541,618,623],[93,142,159,160,541,618],[93,142,159,160,557],[93,142,159,160,581],[93,142,159,160,559,560,566,567],[93,142,159,160,557,558,562,565],[93,142,159,160,557,558,561],[93,142,159,160,558,559,560],[93,142,159,160,557,564,569,570,574,575,576,577,578,579,587,588,590,591,592,635],[93,142,159,160,568],[93,142,159,160,573],[93,142,159,160,567],[93,142,159,160,586],[93,142,159,160,589],[93,142,159,160,567,571,572],[93,142,159,160,557,558,562],[93,142,159,160,567,583,584,585],[93,142,159,160,557,558,580,582],[93,142,159,160,557,601,603,635],[93,142,159,160,602],[93,142,159,160,541,542,543,544,546,547,549,550,594,595,596,597,598,608,611,612,613,614,617,618,619,620,621,634],[93,142,159,160,541,542,544,547,549,550,594,606,610,617,618,624,630,631,632],[93,142,159,160,547,563,609,618],[93,142,159,160,547,563,607,608,609,618,634],[93,142,159,160,547,550,563,609,610,618],[93,142,159,160,547,550,563,594,606,608,610,618],[93,142,159,160,540,541,542,543,544,618,624,633],[93,142,159,160,543],[93,142,159,160,547,549,597,613],[93,142,157,159,160],[93,142,159,160,174,615],[93,142,159,160,595,601,604,606,610,613],[93,142,159,160,541,543,606,609,618],[93,142,159,160,541,543,547,548,563,608,618,623],[93,142,159,160,540,541,542,543,618,628,633],[93,142,153,159,160,174,540,541,544,611,612,614,616,618],[93,142,157,159,160,182,545,635],[93,142,157,159,160,540,541,544,547,600,611,614,617,618],[93,142,159,160,174,547,563,594,598,612,614,617],[93,142,159,160,543,607],[93,142,159,160,541,543,618],[93,142,157,159,160,540,543,600,618],[93,142,159,160,542,550,594,595,605],[93,142,159,160,541,542,547,548,549,550,563,594,595,599,600,606],[93,142,157,159,160,540,541,547,548,549,563,594,599,618],[93,142,159,160,192,552,553,554,556,557,637],[93,142,156,159,160,663],[93,142,153,159,160,641,642,643,645,648],[93,142,159,160,645,646,655,657],[93,142,159,160,641],[93,142,159,160,641,642,643,645,646,648],[93,142,159,160,641,648],[93,142,159,160,641,642,643,646,648],[93,142,159,160,641,642,643,646,648,655],[93,142,159,160,646,655,656,658,659],[93,142,159,160,174,641,642,643,646,648,649,650,652,653,654,655,660,661,670],[93,142,159,160,645,646,655],[93,142,159,160,648],[93,142,159,160,646,648,649,662],[93,142,159,160,174,643,648],[93,142,159,160,174,643,648,649,651],[93,142,159,160,168,641,642,643,644,646,647],[93,142,159,160,641,646,648],[93,142,159,160,646,655],[93,142,159,160,641,642,643,646,647,648,649,650,652,653,654,655,656,657,658,659,660,662,664,665,666,667,668,669,670],[93,142,159,160,886],[93,142,159,160,555],[93,142,159,160,482],[93,142,159,160,430,493,494],[93,142,159,160,202,203,205,217,241,356,367,475],[93,142,159,160,205,236,237,238,240,475],[93,142,159,160,205,373,375,377,378,380,475,477],[93,142,159,160,205,239,276,475],[93,142,159,160,203,205,216,217,223,229,234,355,356,357,366,475,477],[93,142,159,160,475],[93,142,159,160,212,218,237,257,352],[93,142,159,160,205],[93,142,159,160,198,212,218],[93,142,159,160,384],[93,142,159,160,381,382,384],[93,142,159,160,381,383,475],[93,142,156,159,160,257,454,472],[93,142,156,159,160,328,331,347,352,472],[93,142,156,159,160,300,472],[93,142,159,160,360],[93,142,159,160,359,360,361],[93,142,159,160,359],[87,93,142,156,159,160,198,205,217,223,229,235,237,241,242,255,256,323,353,354,367,475,479],[93,142,159,160,202,205,239,276,373,374,379,475,527],[93,142,159,160,239,527],[93,142,159,160,202,256,425,475,527],[93,142,159,160,527],[93,142,159,160,205,239,240,527],[93,142,159,160,376,527],[93,142,159,160,242,355,358,365],[81,93,142,159,160,430],[93,142,159,160,168,212,227],[93,142,159,160,212,227],[81,93,142,159,160,297],[81,93,142,159,160,218,227,430],[93,142,159,160,212,283,297,298,509,516],[93,142,159,160,282,510,511,512,513,515],[93,142,159,160,333],[93,142,159,160,333,334],[93,142,159,160,216,218,285,286],[93,142,159,160,218,292,293],[93,142,159,160,218,287,295],[93,142,159,160,292],[93,142,159,160,210,218,285,286,287,288,289,290,291,292,295],[93,142,159,160,218,285,292,293,294,296],[93,142,159,160,218,286,288,289],[93,142,159,160,286,288,291,293],[93,142,159,160,514],[93,142,159,160,218],[81,93,142,159,160,206,503],[81,93,142,159,160,185],[81,93,142,159,160,239,274],[81,93,142,159,160,239,367],[93,142,159,160,272,277],[81,93,142,159,160,273,481],[93,142,159,160,816],[81,85,93,142,156,159,160,193,194,195,196,197,479,523,825],[93,142,156,159,160,218],[93,142,156,159,160,217,222,303,320,362,363,367,422,424,475,476],[93,142,159,160,255,364],[93,142,159,160,479],[93,142,159,160,204],[81,93,142,159,160,209,212,427,443,445],[93,142,159,160,168,212,427,442,443,444,526],[93,142,159,160,436,437,438,439,440,441],[93,142,159,160,438],[93,142,159,160,442],[93,142,159,160,227,391,392,394],[81,93,142,159,160,218,385,386,387,388,393],[93,142,159,160,391,393],[93,142,159,160,389],[93,142,159,160,390],[81,93,142,159,160,227,273,481],[81,93,142,159,160,227,480,481],[81,93,142,159,160,227,481],[93,142,159,160,320,321],[93,142,159,160,321],[93,142,156,159,160,476,481],[93,142,159,160,350],[93,141,142,159,160,349],[93,142,159,160,212,218,224,226,328,341,345,347,424,427,464,465,472,476],[93,142,159,160,218,267,289],[93,142,159,160,328,339,342,347],[81,93,142,159,160,209,212,328,331,347,350,384,431,432,433,434,435,446,447,448,449,450,451,452,453,527],[93,142,159,160,209,212,237,328,335,336,337,340,341],[93,142,159,160,174,218,237,339,346,427,428,472],[93,142,159,160,343],[93,142,156,159,160,168,206,218,222,232,264,265,268,320,323,388,422,423,464,475,476,477,479,527],[93,142,159,160,209,210,212],[93,142,159,160,328],[93,141,142,159,160,237,264,265,322,323,324,325,326,327,476],[93,142,159,160,347],[93,141,142,159,160,211,212,222,226,262,328,335,336,337,338,339,342,343,344,345,346,465],[93,142,156,159,160,262,263,335,476,477],[93,142,159,160,237,265,320,323,328,424,476],[93,142,156,159,160,475,477],[93,142,156,159,160,174,472,476,477],[93,142,156,159,160,168,198,212,217,224,226,229,232,239,259,264,265,266,267,268,303,304,306,309,311,314,315,316,317,319,367,422,424,472,475,476,477],[93,142,156,159,160,174],[93,142,159,160,205,206,207,235,472,473,474,479,481,527],[93,142,159,160,202,203,475],[93,142,159,160,396],[93,142,156,159,160,174,185,214,380,384,385,386,387,388,394,395,527],[93,142,159,160,168,185,198,212,214,226,229,265,304,309,319,320,373,400,401,402,408,411,412,422,424,472,475],[93,142,159,160,229,235,242,255,265,323,475],[93,142,156,159,160,185,206,217,226,265,406,472,475],[93,142,159,160,426],[93,142,156,159,160,396,409,410,419],[93,142,159,160,472,475],[93,142,159,160,325,465],[93,142,159,160,226,264,367,481],[93,142,156,159,160,168,204,309,369,373,402,408,411,414,472],[93,142,156,159,160,242,255,373,415],[93,142,159,160,205,266,367,417,475,477],[93,142,156,159,160,185,388,475],[93,142,156,159,160,239,266,367,368,369,378,396,416,418,475],[87,93,142,156,159,160,264,421,479,481],[93,142,159,160,318,422],[93,142,156,159,160,168,212,215,217,218,224,226,232,241,242,255,265,268,304,306,316,319,320,367,400,401,402,403,405,407,422,424,472,481],[93,142,156,159,160,174,242,408,413,419,472],[93,142,159,160,245,246,247,248,249,250,251,252,253,254],[93,142,159,160,259,310],[93,142,159,160,312],[93,142,159,160,310],[93,142,159,160,312,313],[93,142,156,159,160,216,217,218,222,223,476],[93,142,156,159,160,168,204,206,224,228,264,267,268,302,422,472,477,479,481],[93,142,156,159,160,168,185,208,215,216,226,228,265,420,465,471,476],[93,142,159,160,335],[93,142,159,160,336],[93,142,159,160,218,229,464],[93,142,159,160,337],[93,142,159,160,211],[93,142,159,160,213,225],[93,142,156,159,160,213,217,224],[93,142,159,160,220,225],[93,142,159,160,221],[93,142,159,160,213,214],[93,142,159,160,213,269],[93,142,159,160,213],[93,142,159,160,215,259,308],[93,142,159,160,307],[93,142,159,160,212,214,215],[93,142,159,160,215,305],[93,142,159,160,212,214],[93,142,159,160,264,367],[93,142,159,160,464],[93,142,156,159,160,185,224,226,230,264,367,421,424,427,428,429,455,456,459,463,465,472,476],[93,142,159,160,278,281,283,284,297,298],[81,93,142,159,160,195,197,227,457,458],[81,93,142,159,160,195,197,227,457,458,462],[93,142,159,160,351],[93,142,159,160,237,258,263,264,328,329,330,331,332,334,347,348,350,353,421,424,475,477],[93,142,159,160,297],[93,142,156,159,160,302,472],[93,142,159,160,302],[93,142,156,159,160,224,270,299,301,303,421,472,479,481],[93,142,159,160,278,279,280,281,283,284,297,298,480],[87,93,142,156,159,160,168,185,213,214,226,232,264,265,268,367,419,420,422,472,475,476,479],[93,142,159,160,209,212,219],[93,142,159,160,263,265,397,400],[93,142,159,160,263,398,466,467,468,469,470],[93,142,156,159,160,259,475],[93,142,156,159,160],[93,142,159,160,262,347],[93,142,159,160,261],[93,142,159,160,263,316],[93,142,159,160,260,262,475],[93,142,156,159,160,208,263,397,398,399,472,475,476],[81,93,142,159,160,212,218,296],[81,93,142,159,160,210],[93,142,159,160,200,201],[81,93,142,159,160,206],[81,93,142,159,160,212,282],[81,87,93,142,159,160,264,268,479,481],[93,142,159,160,206,503,504],[81,93,142,159,160,277],[81,93,142,159,160,168,185,204,271,273,275,276,481],[93,142,159,160,212,239,476],[93,142,159,160,212,404],[81,93,142,154,156,159,160,168,202,204,277,375,479,480],[81,93,142,159,160,193,194,195,196,197,479,524,825],[81,82,83,84,85,93,142,159,160],[93,142,147,159,160],[93,142,159,160,370,371,372],[93,142,159,160,370],[81,85,93,142,156,158,159,160,168,192,193,194,195,196,197,198,204,232,237,414,442,477,478,481,524,825],[93,142,159,160,489],[93,142,159,160,491],[93,142,159,160,495],[93,142,159,160,817],[93,142,159,160,497],[93,142,159,160,499,500,501],[93,142,159,160,505],[86,93,142,159,160,483,488,490,492,496,498,502,506,508,518,519,521,525,526,527,528],[93,142,159,160,507],[93,142,159,160,517],[93,142,159,160,273],[93,142,159,160,520],[93,141,142,159,160,263,397,398,400,466,467,469,470,522,524],[93,142,159,160,192],[93,142,159,160,552,557,637,672],[93,142,159,160,672,673,674],[93,142,159,160,1405],[93,142,159,160,1366],[93,142,159,160,1406],[93,142,159,160,1251,1347,1403,1404],[93,142,159,160,1366,1367,1405,1406],[93,142,159,160,1348,1349,1350,1351,1352,1373,1374,1375,1376,1377,1378,1379,1380,1381,1382,1383,1384,1385,1386,1387,1388,1389,1390,1391,1392,1393],[81,93,142,159,160,1372,1407],[81,93,142,159,160,1372],[81,93,142,159,160,1367],[81,93,142,159,160,1407],[81,93,142,159,160,1375],[93,142,159,160,1395,1396,1397,1398,1399,1400,1401],[93,142,159,160,1372],[93,142,159,160,1409],[93,142,159,160,993,1364,1365,1370,1372,1394,1402,1407,1408,1410,1418],[93,142,159,160,1353,1354,1355,1356,1357,1358,1359,1360,1361,1362,1363],[93,142,159,160,1372,1405],[93,142,159,160,1351,1352,1364,1365,1368,1370,1403],[93,142,159,160,1368,1369,1371,1403],[81,93,142,159,160,1365,1403,1405],[93,142,159,160,1368,1403],[81,93,142,159,160,1364,1365,1394,1402],[81,93,142,159,160,1367,1368,1369,1403,1406],[93,142,159,160,1411,1412,1413,1414,1415,1416,1417],[81,93,142,159,160,1563],[93,142,159,160,1563,1564,1565,1566,1569,1570,1571,1572,1573,1574,1575,1578,1579],[93,142,159,160,1563],[93,142,159,160,1567,1568],[81,93,142,159,160,1560,1563],[93,142,159,160,1557,1558,1560],[93,142,159,160,1553,1556,1558,1560],[93,142,159,160,1557,1560],[81,93,142,159,160,1548,1549,1550,1553,1554,1555,1557,1558,1559,1560],[93,142,159,160,1550,1553,1554,1555,1556,1557,1558,1559,1560,1561,1562],[93,142,159,160,1557],[93,142,159,160,1551,1557,1558],[93,142,159,160,1551,1552],[93,142,159,160,1556,1558,1559],[93,142,159,160,1556],[93,142,159,160,1548,1553,1556,1558,1559],[81,93,142,159,160,1553,1556,1557,1558],[93,142,159,160,1576,1577],[93,142,159,160,1604,1606,1607,1608,1609,1610,1611,1612,1613,1614,1615,1616,1617,1618,1619,1621,1622],[81,93,142,159,160,1605],[81,93,142,159,160,1607],[93,142,159,160,1605],[93,142,159,160,1604],[93,142,159,160,1620],[93,142,159,160,1623],[81,93,142,159,160,1463,1464,1465,1481,1484],[81,93,142,159,160,1463,1464,1465,1474,1482,1502],[81,93,142,159,160,1462,1465],[81,93,142,159,160,1465],[81,93,142,159,160,1463,1464,1465],[81,93,142,159,160,1463,1464,1465,1500,1503,1506],[81,93,142,159,160,1463,1464,1465,1474,1481,1484],[81,93,142,159,160,1463,1464,1465,1474,1482,1494],[81,93,142,159,160,1463,1464,1465,1474,1484,1494],[81,93,142,159,160,1463,1464,1465,1474,1494],[81,93,142,159,160,1463,1464,1465,1469,1475,1481,1486,1504,1505],[93,142,159,160,1465],[81,93,142,159,160,1465,1509,1510,1511],[81,93,142,159,160,1465,1508,1509,1510],[81,93,142,159,160,1465,1482],[81,93,142,159,160,1465,1508],[81,93,142,159,160,1465,1474],[81,93,142,159,160,1465,1466,1467],[81,93,142,159,160,1465,1467,1469],[93,142,159,160,1458,1459,1463,1464,1465,1466,1468,1469,1470,1471,1472,1473,1474,1475,1476,1477,1481,1482,1483,1484,1485,1486,1487,1488,1489,1490,1491,1492,1493,1495,1496,1497,1498,1499,1500,1501,1503,1504,1505,1506,1512,1513,1514,1515,1516,1517,1518,1519,1520,1521,1522,1523,1524,1525,1526],[81,93,142,159,160,1465,1523],[81,93,142,159,160,1465,1477],[81,93,142,159,160,1465,1484,1488,1489],[81,93,142,159,160,1465,1475,1477],[81,93,142,159,160,1465,1480],[81,93,142,159,160,1465,1503],[81,93,142,159,160,1465,1480,1507],[81,93,142,159,160,1468,1508],[81,93,142,159,160,1462,1463,1464],[93,142,159,160,174,192],[93,107,111,142,159,160,185],[93,107,142,159,160,174,185],[93,102,142,159,160],[93,104,107,142,159,160,182,185],[93,142,159,160,162,182],[93,102,142,159,160,192],[93,104,107,142,159,160,162,185],[93,99,100,103,106,142,153,159,160,174,185],[93,107,114,142,159,160],[93,99,105,142,159,160],[93,107,128,129,142,159,160],[93,103,107,142,159,160,177,185,192],[93,128,142,159,160,192],[93,101,102,142,159,160,192],[93,107,142,159,160],[93,101,102,103,104,105,106,107,108,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,129,130,131,132,133,134,142,159,160],[93,107,122,142,159,160],[93,107,114,115,142,159,160],[93,105,107,115,116,142,159,160],[93,106,142,159,160],[93,99,102,107,142,159,160],[93,107,111,115,116,142,159,160],[93,111,142,159,160],[93,105,107,110,142,159,160,185],[93,99,104,107,114,142,159,160],[93,142,159,160,174],[93,102,107,128,142,159,160,190,192],[93,142,159,160,1461],[93,142,159,160,1479],[93,142,159,160,901],[93,142,159,160,892,893],[93,142,159,160,889,890,892,894,895,900],[93,142,159,160,890,892],[93,142,159,160,900],[93,142,159,160,892],[93,142,159,160,889,890,892,895,896,897,898,899],[93,142,159,160,889,890,891],[93,142,154,159,160,164,227,539,722,792],[93,142,154,159,160,164,227,737,814]],"fileInfos":[{"version":"e41c290ef7dd7dab3493e6cbe5909e0148edf4a8dad0271be08edec368a0f7b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","impliedFormat":1},{"version":"8fd575e12870e9944c7e1d62e1f5a73fcf23dd8d3a321f2a2c74c20d022283fe","impliedFormat":1},{"version":"e12a46ce14b817d4c9e6b2b478956452330bf00c9801b79de46f7a1815b5bd40","impliedFormat":1},{"version":"4fd3f3422b2d2a3dfd5cdd0f387b3a8ec45f006c6ea896a4cb41264c2100bb2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"69e65d976bf166ce4a9e6f6c18f94d2424bf116e90837ace179610dbccad9b42","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"62bb211266ee48b2d0edf0d8d1b191f0c24fc379a82bd4c1692a082c540bc6b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"f1e2a172204962276504466a6393426d2ca9c54894b1ad0a6c9dad867a65f876","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"b5ce7a470bc3628408429040c4e3a53a27755022a32fd05e2cb694e7015386c7","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"bab26767638ab3557de12c900f0b91f710c7dc40ee9793d5a27d32c04f0bf646","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true,"impliedFormat":1},{"version":"87dc0f382502f5bbce5129bdc0aea21e19a3abbc19259e0b43ae038a9fc4e326","affectsGlobalScope":true,"impliedFormat":1},{"version":"b1cb28af0c891c8c96b2d6b7be76bd394fddcfdb4709a20ba05a7c1605eea0f9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true,"impliedFormat":1},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ece9f17b3866cc077099c73f4983bddbcb1dc7ddb943227f1ec070f529dedd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1c9319a09485199c1f7b0498f2988d6d2249793ef67edda49d1e584746be9032","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3a2a0cee0f03ffdde24d89660eba2685bfbdeae955a6c67e8c4c9fd28928eeb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true,"impliedFormat":1},{"version":"61d6a2092f48af66dbfb220e31eea8b10bc02b6932d6e529005fd2d7b3281290","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"7e29f41b158de217f94cb9676bf9cbd0cd9b5a46e1985141ed36e075c52bf6ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"dc0a7f107690ee5cd8afc8dbf05c4df78085471ce16bdd9881642ec738bc81fe","impliedFormat":1},{"version":"acd8fd5090ac73902278889c38336ff3f48af6ba03aa665eb34a75e7ba1dccc4","impliedFormat":1},{"version":"d6258883868fb2680d2ca96bc8b1352cab69874581493e6d52680c5ffecdb6cc","impliedFormat":1},{"version":"1b61d259de5350f8b1e5db06290d31eaebebc6baafd5f79d314b5af9256d7153","impliedFormat":1},{"version":"f258e3960f324a956fc76a3d3d9e964fff2244ff5859dcc6ce5951e5413ca826","impliedFormat":1},{"version":"643f7232d07bf75e15bd8f658f664d6183a0efaca5eb84b48201c7671a266979","impliedFormat":1},{"version":"21da358700a3893281ce0c517a7a30cbd46be020d9f0c3f2834d0a8ad1f5fc75","impliedFormat":1},{"version":"6c7176368037af28cb72f2392010fa1cef295d6d6744bca8cfb54985f3a18c3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"98cffbf06d6bab333473c70a893770dbe990783904002c4f1a960447b4b53dca","affectsGlobalScope":true,"impliedFormat":1},{"version":"3af97acf03cc97de58a3a4bc91f8f616408099bc4233f6d0852e72a8ffb91ac9","affectsGlobalScope":true,"impliedFormat":1},{"version":"808069bba06b6768b62fd22429b53362e7af342da4a236ed2d2e1c89fcca3b4a","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"b52476feb4a0cbcb25e5931b930fc73cb6643fb1a5060bf8a3dda0eeae5b4b68","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9501cc13ce624c72b61f12b3963e84fad210fbdf0ffbc4590e08460a3f04eba","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0fa06ada475b910e2106c98c68b10483dc8811d0c14a8a8dd36efb2672485b29","impliedFormat":1},{"version":"33e5e9aba62c3193d10d1d33ae1fa75c46a1171cf76fef750777377d53b0303f","impliedFormat":1},{"version":"2b06b93fd01bcd49d1a6bd1f9b65ddcae6480b9a86e9061634d6f8e354c1468f","impliedFormat":1},{"version":"6a0cd27e5dc2cfbe039e731cf879d12b0e2dded06d1b1dedad07f7712de0d7f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f5c844119c43e51ce777c509267f14d6aaf31eafb2c2b002ca35584cd13b29","impliedFormat":1},{"version":"e60477649d6ad21542bd2dc7e3d9ff6853d0797ba9f689ba2f6653818999c264","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"4c829ab315f57c5442c6667b53769975acbf92003a66aef19bce151987675bd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"b2ade7657e2db96d18315694789eff2ddd3d8aea7215b181f8a0b303277cc579","impliedFormat":1},{"version":"9855e02d837744303391e5623a531734443a5f8e6e8755e018c41d63ad797db2","impliedFormat":1},{"version":"4d631b81fa2f07a0e63a9a143d6a82c25c5f051298651a9b69176ba28930756d","impliedFormat":1},{"version":"836a356aae992ff3c28a0212e3eabcb76dd4b0cc06bcb9607aeef560661b860d","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"41670ee38943d9cbb4924e436f56fc19ee94232bc96108562de1a734af20dc2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c906fb15bd2aabc9ed1e3f44eb6a8661199d6c320b3aa196b826121552cb3695","impliedFormat":1},{"version":"22295e8103f1d6d8ea4b5d6211e43421fe4564e34d0dd8e09e520e452d89e659","impliedFormat":1},{"version":"58647d85d0f722a1ce9de50955df60a7489f0593bf1a7015521efe901c06d770","impliedFormat":1},{"version":"6b4e081d55ac24fc8a4631d5dd77fe249fa25900abd7d046abb87d90e3b45645","impliedFormat":1},{"version":"a10f0e1854f3316d7ee437b79649e5a6ae3ae14ffe6322b02d4987071a95362e","impliedFormat":1},{"version":"e208f73ef6a980104304b0d2ca5f6bf1b85de6009d2c7e404028b875020fa8f2","impliedFormat":1},{"version":"d163b6bc2372b4f07260747cbc6c0a6405ab3fbcea3852305e98ac43ca59f5bc","impliedFormat":1},{"version":"e6fa9ad47c5f71ff733744a029d1dc472c618de53804eae08ffc243b936f87ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"83e63d6ccf8ec004a3bb6d58b9bb0104f60e002754b1e968024b320730cc5311","impliedFormat":1},{"version":"24826ed94a78d5c64bd857570fdbd96229ad41b5cb654c08d75a9845e3ab7dde","impliedFormat":1},{"version":"8b479a130ccb62e98f11f136d3ac80f2984fdc07616516d29881f3061f2dd472","impliedFormat":1},{"version":"928af3d90454bf656a52a48679f199f64c1435247d6189d1caf4c68f2eaf921f","affectsGlobalScope":true,"impliedFormat":1},{"version":"bceb58df66ab8fb00170df20cd813978c5ab84be1d285710c4eb005d8e9d8efb","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"77fbe5eecb6fac4b6242bbf6eebfc43e98ce5ccba8fa44e0ef6a95c945ff4d98","impliedFormat":1},{"version":"4f9d8ca0c417b67b69eeb54c7ca1bedd7b56034bb9bfd27c5d4f3bc4692daca7","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"a3fc63c0d7b031693f665f5494412ba4b551fe644ededccc0ab5922401079c95","impliedFormat":1},{"version":"f27524f4bef4b6519c604bdb23bf4465bddcccbf3f003abb901acbd0d7404d99","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"6b039f55681caaf111d5eb84d292b9bee9e0131d0db1ad0871eef0964f533c73","affectsGlobalScope":true,"impliedFormat":1},{"version":"18fd40412d102c5564136f29735e5d1c3b455b8a37f920da79561f1fde068208","impliedFormat":1},{"version":"c8d3e5a18ba35629954e48c4cc8f11dc88224650067a172685c736b27a34a4dc","impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"2b55d426ff2b9087485e52ac4bc7cfafe1dc420fc76dad926cd46526567c501a","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"5b7aa3c4c1a5d81b411e8cb302b45507fea9358d3569196b27eb1a27ae3a90ef","affectsGlobalScope":true,"impliedFormat":1},{"version":"5987a903da92c7462e0b35704ce7da94d7fdc4b89a984871c0e2b87a8aae9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea08a0345023ade2b47fbff5a76d0d0ed8bff10bc9d22b83f40858a8e941501c","impliedFormat":1},{"version":"47613031a5a31510831304405af561b0ffaedb734437c595256bb61a90f9311b","impliedFormat":1},{"version":"ae062ce7d9510060c5d7e7952ae379224fb3f8f2dd74e88959878af2057c143b","impliedFormat":1},{"version":"8a1a0d0a4a06a8d278947fcb66bf684f117bf147f89b06e50662d79a53be3e9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"358765d5ea8afd285d4fd1532e78b88273f18cb3f87403a9b16fef61ac9fdcfe","impliedFormat":1},{"version":"9f55299850d4f0921e79b6bf344b47c420ce0f507b9dcf593e532b09ea7eeea1","impliedFormat":1},{"version":"2beff543f6e9a9701df88daeee3cdd70a34b4a1c11cb4c734472195a5cb2af54","impliedFormat":1},{"version":"2e07abf27aa06353d46f4448c0bbac73431f6065eef7113128a5cd804d0c384d","impliedFormat":1},{"version":"be1cc4d94ea60cbe567bc29ed479d42587bf1e6cba490f123d329976b0fe4ee5","impliedFormat":1},{"version":"42bc0e1a903408137c3df2b06dfd7e402cdab5bbfa5fcfb871b22ebfdb30bd0b","impliedFormat":1},{"version":"9894dafe342b976d251aac58e616ac6df8db91fb9d98934ff9dd103e9e82578f","impliedFormat":1},{"version":"413df52d4ea14472c2fa5bee62f7a40abd1eb49be0b9722ee01ee4e52e63beb2","impliedFormat":1},{"version":"db6d2d9daad8a6d83f281af12ce4355a20b9a3e71b82b9f57cddcca0a8964a96","impliedFormat":1},{"version":"446a50749b24d14deac6f8843e057a6355dd6437d1fac4f9e5ce4a5071f34bff","impliedFormat":1},{"version":"182e9fcbe08ac7c012e0a6e2b5798b4352470be29a64fdc114d23c2bab7d5106","impliedFormat":1},{"version":"2f4e6b4d39426a1b85ecf4bdeb9dddbf4d9b3397d95d8555d46f925c9519ec7d","impliedFormat":1},{"version":"78a2869ad0cbf3f9045dda08c0d4562b7e1b2bfe07b19e0db072f5c3c56e9584","impliedFormat":1},{"version":"89d5d28d4f57e000b836ac273079be1b75710e28ce14750d081fb420d37e2ca5","impliedFormat":1},{"version":"fd4e24ccff3966390600d7f5d6aa1fed5a512e92ada735ea5fbc933d313ad3d3","impliedFormat":1},{"version":"b7cddfe1aa6b86b5fad3c9ccb30d05b3ccb165aebbf112f48d2d8a5f69dd98b1","impliedFormat":1},{"version":"a86f82d646a739041d6702101afa82dcb935c416dd93cbca7fd754fd0282ce1f","impliedFormat":1},{"version":"ad0d1d75d129b1c80f911be438d6b61bfa8703930a8ff2be2f0e1f8a91841c64","impliedFormat":1},{"version":"bd2c7ada3dee03653d3f601011d30072194bc3970cd93208f9588fbdc0c69347","impliedFormat":1},{"version":"e480da45d32313e7174b265674da504f075f59ef326852f0c5a5d863b438ae85","impliedFormat":1},{"version":"ad54850f61fcf5d014e11be80d2f46fea9265cfa7e77456da876f7833ef81769","impliedFormat":1},{"version":"6f7c9e8bd2b5b6a080b07080065f94900bd3c7e5ebbd3047bc33fcce2fab1dd8","impliedFormat":1},{"version":"3e7efde639c6a6c3edb9847b3f61e308bf7a69685b92f665048c45132f51c218","impliedFormat":1},{"version":"df45ca1176e6ac211eae7ddf51336dc075c5314bc5c253651bae639defd5eec5","impliedFormat":1},{"version":"8a0e762ceb20c7e72504feef83d709468a70af4abccb304f32d6b9bac1129b2c","impliedFormat":1},{"version":"da5950ee2a90721df6f3fba45f5d05308f7e4c35835392215dd2cd404505e2de","impliedFormat":1},{"version":"ce75b1aebb33d510ff28af960a9221410a3eaf7f18fc5f21f9404075fba77256","impliedFormat":1},{"version":"f42d5fed19610d485c646a0c430e768115567d078c7fc855c57b0c578b3d6cd3","impliedFormat":1},{"version":"ee8df1cb8d0faaca4013a1b442e99130769ce06f438d18d510fed95890067563","impliedFormat":1},{"version":"d5630f2ad9b4541e5ce891648121022f9412ecdca1820baa1f0104f70fd7eff7","impliedFormat":1},{"version":"4d15375ab13497104bc8fe56fdef2b5fd6853f29255737d23a33fa306ff7fd69","impliedFormat":1},{"version":"2cd3fc1d0d6a1e85baffd2d4f50f5efb192b5446eef567e97c94765402f0aad4","impliedFormat":1},{"version":"e4cbf2f1e89ecccaddd2c045e600ae41b732295953fb06247c7dcbc2d281ed30","impliedFormat":1},{"version":"27bbdb7509a5bb564020321fc5485764d0db3230a10d2336ae5ce2c1d401b0e7","impliedFormat":1},{"version":"8c1697d90c394a6fd955b98eae01238eff628e129b987a68aea10f898a48e7da","impliedFormat":1},{"version":"7580e62139cb2b44a0270c8d01abcbfcba2819a02514a527342447fa69b34ef1","impliedFormat":1},{"version":"42c169fb8c2d42f4f668c624a9a11e719d5d07dacbebb63cbcf7ef365b0a75b3","impliedFormat":1},{"version":"f374cb24e93e7798c4d9e83ff872fa52d2cdb36306392b840a6ddf46cb925cb6","impliedFormat":1},{"version":"d10d63718e1646c2279e3b33831f82c60e31f622b2b7020f1196409ca4c09242","impliedFormat":1},{"version":"106c6025f1d99fd468fd8bf6e5bda724e11e5905a4076c5d29790b6c3745e50c","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"148679c6d0f449210a96e7d2e562d589e56fcde87f843a92808b3ff103f1a774","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"02436d7e9ead85e09a2f8e27d5f47d9464bced31738dec138ca735390815c9f0","impliedFormat":1},{"version":"f8d5ff8eafd37499f2b6a98659dd9b45a321de186b8db6b6142faed0fea3de77","impliedFormat":1},{"version":"c86fe861cf1b4c46a0fb7d74dffe596cf679a2e5e8b1456881313170f092e3fa","impliedFormat":1},{"version":"a22dd55aa4d39906252000ab8e8a1b83b195eef7f4274eb51e457c1f11cf6580","impliedFormat":1},{"version":"540cc83ab772a2c6bc509fe1354f314825b5dba3669efdfbe4693ecd3048e34f","impliedFormat":1},{"version":"121b0696021ab885c570bbeb331be8ad82c6efe2f3b93a6e63874901bebc13e3","impliedFormat":1},{"version":"612d9da66bb046a9c1e2e8d026245ded881fc4b9f98cbfae714415d57ee0ae0b","impliedFormat":1},{"version":"32c2ad9494dad5d11b0564a619fee18f388db6c1e9e2cd3c360b3122549691eb","impliedFormat":1},{"version":"6c301d40aec56a74ec7bd7324e31a728dadf9bfba3e96def02938d3d973534ec","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"aa14cee20aa0db79f8df101fc027d929aec10feb5b8a8da3b9af3895d05b7ba2","impliedFormat":1},{"version":"493c700ac3bd317177b2eb913805c87fe60d4e8af4fb39c41f04ba81fae7e170","impliedFormat":1},{"version":"aeb554d876c6b8c818da2e118d8b11e1e559adbe6bf606cc9a611c1b6c09f670","impliedFormat":1},{"version":"acf5a2ac47b59ca07afa9abbd2b31d001bf7448b041927befae2ea5b1951d9f9","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"d71291eff1e19d8762a908ba947e891af44749f3a2cbc5bd2ec4b72f72ea795f","impliedFormat":1},{"version":"c0480e03db4b816dff2682b347c95f2177699525c54e7e6f6aa8ded890b76be7","impliedFormat":1},{"version":"25a5f6fd3a2243c859eddc99ab5fba11d970af2fe7a5df9c32b7668f76f97b01","impliedFormat":1},{"version":"8d207e1f9d2c30d6f77dfa693f3827c3fbf0d89240297e10bdfe1041d433df68","impliedFormat":1},{"version":"b620391fe8060cf9bedc176a4d01366e6574d7a71e0ac0ab344a4e76576fcbb8","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"2652448ac55a2010a1f71dd141f828b682298d39728f9871e1cdf8696ef443fd","impliedFormat":1},{"version":"d682336018141807fb602709e2d95a192828fcb8d5ba06dda3833a8ea98f69e3","impliedFormat":1},{"version":"6124e973eab8c52cabf3c07575204efc1784aca6b0a30c79eb85fe240a857efa","impliedFormat":1},{"version":"0d891735a21edc75df51f3eb995e18149e119d1ce22fd40db2b260c5960b914e","impliedFormat":1},{"version":"3b414b99a73171e1c4b7b7714e26b87d6c5cb03d200352da5342ab4088a54c85","impliedFormat":1},{"version":"4fbd3116e00ed3a6410499924b6403cc9367fdca303e34838129b328058ede40","impliedFormat":1},{"version":"9c82171d836c47486074e4ca8e059735bf97b205e70b196535b5efd40cbe1bc5","impliedFormat":1},{"version":"8c70ddc0c22d85e56011d49fddfaae3405eb53d47b59327b9dd589e82df672e7","impliedFormat":1},{"version":"2f9c89cbb29d362290531b48880a4024f258c6033aaeb7e59fbc62db26819650","impliedFormat":1},{"version":"a365c4d3bed3be4e4e20793c999c51f5cd7e6792322f14650949d827fbcd170f","impliedFormat":1},{"version":"c5426dbfc1cf90532f66965a7aa8c1136a78d4d0f96d8180ecbfc11d7722f1a5","impliedFormat":1},{"version":"65a15fc47900787c0bd18b603afb98d33ede930bed1798fc984d5ebb78b26cf9","impliedFormat":1},{"version":"9d202701f6e0744adb6314d03d2eb8fc994798fc83d91b691b75b07626a69801","impliedFormat":1},{"version":"de9d2df7663e64e3a91bf495f315a7577e23ba088f2949d5ce9ec96f44fba37d","impliedFormat":1},{"version":"c7af78a2ea7cb1cd009cfb5bdb48cd0b03dad3b54f6da7aab615c2e9e9d570c5","impliedFormat":1},{"version":"1ee45496b5f8bdee6f7abc233355898e5bf9bd51255db65f5ff7ede617ca0027","impliedFormat":1},{"version":"273782b8454e78f6a8b30d2cfbf6860499c930595095fcc1689637115f0eddda","affectsGlobalScope":true,"impliedFormat":1},{"version":"3fbdd025f9d4d820414417eeb4107ffa0078d454a033b506e22d3a23bc3d9c41","affectsGlobalScope":true,"impliedFormat":1},{"version":"dba114fb6a32b355a9cfc26ca2276834d72fe0e94cd2c3494005547025015369","impliedFormat":1},{"version":"a8f8e6ab2fa07b45251f403548b78eaf2022f3c2254df3dc186cb2671fe4996d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa6c12a7c0f6b84d512f200690bfc74819e99efae69e4c95c4cd30f6884c526e","impliedFormat":1},{"version":"f1c32f9ce9c497da4dc215c3bc84b722ea02497d35f9134db3bb40a8d918b92b","impliedFormat":1},{"version":"b73c319af2cc3ef8f6421308a250f328836531ea3761823b4cabbd133047aefa","affectsGlobalScope":true,"impliedFormat":1},{"version":"e433b0337b8106909e7953015e8fa3f2d30797cea27141d1c5b135365bb975a6","impliedFormat":1},{"version":"9f9bb6755a8ce32d656ffa4763a8144aa4f274d6b69b59d7c32811031467216e","impliedFormat":1},{"version":"5c32bdfbd2d65e8fffbb9fbda04d7165e9181b08dad61154961852366deb7540","impliedFormat":1},{"version":"ddff7fc6edbdc5163a09e22bf8df7bef75f75369ebd7ecea95ba55c4386e2441","impliedFormat":1},{"version":"0c05e9842ec4f8b7bfebfd3ca61604bb8c914ba8da9b5337c4f25da427a005f2","impliedFormat":1},{"version":"faed7a5153215dbd6ebe76dfdcc0af0cfe760f7362bed43284be544308b114cf","impliedFormat":1},{"version":"7029e566b8df176f703fb59fd437a38670c7a0e02c58b2d66dfb5b2e2b2defdb","impliedFormat":1},{"version":"7f2aa4d4989a82530aaac3f72b3dceca90e9c25bee0b1a327e8a08a1262435ad","impliedFormat":1},{"version":"d96b39301d0ded3f1a27b47759676a33a02f6f5049bfcbde81e533fd10f50dcb","impliedFormat":1},{"version":"e9f147ecca73d9346a4c073432843c159ccbe50bdcb678a78f6da10eae2cecf4","impliedFormat":1},{"version":"de061f7d72bd65c06fc1419f841dfdcb29a8e22fe6fa527d1e6eb20b897d4de0","impliedFormat":1},{"version":"663beafc2446079574570cba86e9b15f986f908ddb1b01274509970126fee945","impliedFormat":1},{"version":"a3102887d5058bf4cb5b37fa6964c09e9527c42053b3b5c642b89878620748de","impliedFormat":1},{"version":"0aaaa1727edd29673d85c9b26d7ca4d54e5407a48586903c51b48b7f7d196f61","impliedFormat":1},{"version":"d35bca0b261bff02635758c48e8ab99c61c420d0dfabbcf467e847171d876b7d","impliedFormat":1},{"version":"3bc12c40d90c342ff88a3d876996c555ed5cbee5fe8c3308a240b321f401ee46","impliedFormat":1},{"version":"ba130768aae855a5477e9e148e5c879548e6e7ccbcc56fd1934c8a18ea5b7569","impliedFormat":1},{"version":"2e4f37ffe8862b14d8e24ae8763daaa8340c0df0b859d9a9733def0eee7562d9","impliedFormat":1},{"version":"d38530db0601215d6d767f280e3a3c54b2a83b709e8d9001acb6f61c67e965fc","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"b499af2054a037a162b3b72cd886f48bbf32a3502c865c6e29fac7d2ab3ce0b5","impliedFormat":1},{"version":"b83cb14474fa60c5f3ec660146b97d122f0735627f80d82dd03e8caa39b4388c","impliedFormat":1},{"version":"d87f90d2df7b638204d81d6c57e1f2a8cc9317c45ca331c691c375649aa9255c","impliedFormat":1},{"version":"7274fbffbd7c9589d8d0ffba68157237afd5cecff1e99881ea3399127e60572f","impliedFormat":1},{"version":"b73cbf0a72c8800cf8f96a9acfe94f3ad32ca71342a8908b8ae484d61113f647","impliedFormat":1},{"version":"bae6dd176832f6423966647382c0d7ba9e63f8c167522f09a982f086cd4e8b23","impliedFormat":1},{"version":"20865ac316b8893c1a0cc383ccfc1801443fbcc2a7255be166cf90d03fac88c9","impliedFormat":1},{"version":"c9958eb32126a3843deedda8c22fb97024aa5d6dd588b90af2d7f2bfac540f23","impliedFormat":1},{"version":"461d0ad8ae5f2ff981778af912ba71b37a8426a33301daa00f21c6ccb27f8156","impliedFormat":1},{"version":"e927c2c13c4eaf0a7f17e6022eee8519eb29ef42c4c13a31e81a611ab8c95577","impliedFormat":1},{"version":"fcafff163ca5e66d3b87126e756e1b6dfa8c526aa9cd2a2b0a9da837d81bbd72","impliedFormat":1},{"version":"70246ad95ad8a22bdfe806cb5d383a26c0c6e58e7207ab9c431f1cb175aca657","impliedFormat":1},{"version":"f00f3aa5d64ff46e600648b55a79dcd1333458f7a10da2ed594d9f0a44b76d0b","impliedFormat":1},{"version":"772d8d5eb158b6c92412c03228bd9902ccb1457d7a705b8129814a5d1a6308fc","impliedFormat":1},{"version":"802e797bcab5663b2c9f63f51bdf67eff7c41bc64c0fd65e6da3e7941359e2f7","impliedFormat":1},{"version":"b01bd582a6e41457bc56e6f0f9de4cb17f33f5f3843a7cf8210ac9c18472fb0f","impliedFormat":1},{"version":"8b4327413e5af38cd8cb97c59f48c3c866015d5d642f28518e3a891c469f240e","impliedFormat":1},{"version":"4cceef18d7f088e797a463e90b7a9dad10c6bc667724b7686e3e740ae00122be","impliedFormat":1},{"version":"7ee86fbb3754388e004de0ef9e6505485ddfb3be7640783d6d015711c03d302d","impliedFormat":1},{"version":"cc1954b539604b1e562319119ac7e888172208b32ca873f9a357a92c826bd046","impliedFormat":1},{"version":"a67b87d0281c97dfc1197ef28dfe397fc2c865ccd41f7e32b53f647184cc7307","impliedFormat":1},{"version":"771ffb773f1ddd562492a6b9aaca648192ac3f056f0e1d997678ff97dbb6bf9b","impliedFormat":1},{"version":"43e96a3d5d1411ab40ba2f61d6a3192e58177bcf3b133a80ad2a16591611726d","impliedFormat":1},{"version":"232f70c0cf2b432f3a6e56a8dc3417103eb162292a9fd376d51a3a9ea5fbbf6f","impliedFormat":1},{"version":"bb8f2dbc03533abca2066ce4655c119bff353dd4514375beb93c08590c03e023","impliedFormat":1},{"version":"706dd95827e7ebaabda91d5db2b755233e0952d98570e9c032b0f066a15c1177","affectsGlobalScope":true,"impliedFormat":1},{"version":"0b103e9abfe82d14c0ad06a55d9f91d6747154ef7cacc73cf27ecad2bfb3afcf","impliedFormat":1},{"version":"990b8fad2327b77e6920cc792af320e8867e68f02ce849b12c0a6ab9a1aebb09","impliedFormat":1},{"version":"5eb8cd1cb0c9143d74a8190b577c522720878c31aef67d866fcd29973f83e955","impliedFormat":1},{"version":"120599fd965257b1f4d0ff794bc696162832d9d8467224f4665f713a3119078b","impliedFormat":1},{"version":"43ba4f2fa8c698f5c304d21a3ef596741e8e85a810b7c1f9b692653791d8d97a","impliedFormat":1},{"version":"5433f33b0a20300cca35d2f229a7fc20b0e8477c44be2affeb21cb464af60c76","impliedFormat":1},{"version":"db036c56f79186da50af66511d37d9fe77fa6793381927292d17f81f787bb195","impliedFormat":1},{"version":"a6805fcafed712aea7759f8bc731014f9d22738c1d6ef9d43b8091d1d48346d5","impliedFormat":1},{"version":"c49469a5349b3cc1965710b5b0f98ed6c028686aa8450bcb3796728873eb923e","impliedFormat":1},{"version":"4a889f2c763edb4d55cb624257272ac10d04a1cad2ed2948b10ed4a7fda2a428","impliedFormat":1},{"version":"7bb79aa2fead87d9d56294ef71e056487e848d7b550c9a367523ee5416c44cfa","impliedFormat":1},{"version":"d88ea80a6447d7391f52352ec97e56b52ebec934a4a4af6e2464cfd8b39c3ba8","impliedFormat":1},{"version":"142617b3cdf902b69c6464c9fbd942b60ab3e733ca18c032b19e0f7e2adbefe8","impliedFormat":1},{"version":"0b603555f1881f87256ffd6344d3e3ed6d466c2e701eabf381f28be8c2125892","impliedFormat":1},{"version":"897e4f7662488e3ecc79e743bdd3b78f13bdb69a97851afa5b440c4211e32ea9","impliedFormat":1},{"version":"e2e1c6d3b2d93add5200bd7bc1a8cccb4e446836b2111ece45db8683a2c765de","impliedFormat":1},{"version":"251b03d5cd243854ce870d9a9a39f491faf69898c5d6b5eee28cc7649c57417b","impliedFormat":1},{"version":"27ff4196654e6373c9af16b6165120e2dd2169f9ad6abb5c935af5abd8c7938c","impliedFormat":1},{"version":"2c4de79f406d137390608e8c0a44fba2ff8e00bacfcae7c9d1781fef10e9440d","impliedFormat":1},{"version":"07ba23a10465791be5d22deaf5ef7de7658774ddff53721e5ea17fedea1bc721","impliedFormat":1},{"version":"dca8c645c5afeb03b1ecedbf16323f33e7d0afaa6256c8e047e6e38087a97f53","impliedFormat":1},{"version":"775f181bd4a533d6f8b5e55ec1d9f1624559720ae8a70e9432258da26b38d27c","impliedFormat":1},{"version":"796273b2edc72e78a04e86d7c58ae94d370ab93a0ddf40b1aa85a37a1c29ecd7","impliedFormat":1},{"version":"5df15a69187d737d6d8d066e189ae4f97e41f4d53712a46b2710ff9f8563ec9f","impliedFormat":1},{"version":"9109a1291dd4b9f1541bea81ee11c247a2ca9e1ea89f87f13aa1811c3c069616","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"622694a8522b46f6310c2a9b5d2530dde1e2854cb5829354e6d1ff8f371cf469","impliedFormat":1},{"version":"cd8ce8d68567f62dd580b3c3c37777ac3f5b81944c7417f5ea83030eab533385","impliedFormat":1},{"version":"e374d1eaa05b7dc38580062942ac8351ce79cbe11f6dbce4946a582a5680582d","impliedFormat":1},{"version":"9e2739b32f741859263fdba0244c194ca8e96da49b430377930b8f721d77c000","impliedFormat":1},{"version":"a9e6c0ff3f8186fccd05752cf75fc94e147c02645087ac6de5cc16403323d870","impliedFormat":1},{"version":"49af4b52f0d4d2304c5f2c6fe5fab3e153e0acc38830d0202821b877c097dd02","impliedFormat":1},{"version":"49c346823ba6d4b12278c12c977fb3a31c06b9ca719015978cb145eb86da1c61","impliedFormat":1},{"version":"bfac6e50eaa7e73bb66b7e052c38fdc8ccfc8dbde2777648642af33cf349f7f1","impliedFormat":1},{"version":"92f7c1a4da7fbfd67a2228d1687d5c2e1faa0ba865a94d3550a3941d7527a45d","impliedFormat":1},{"version":"f53b120213a9289d9a26f5af90c4c686dd71d91487a0aa5451a38366c70dc64b","impliedFormat":1},{"version":"e68b8e5a1df7c1be2bc105141456ecba70215806e1c28bfbc5c12bfce4be6e68","impliedFormat":1},{"version":"511c8f02329808d47d00b859c532ae9115590048b17325a946c74dac48428650","impliedFormat":1},{"version":"57d67b72e06059adc5e9454de26bbfe567d412b962a501d263c75c2db430f40e","impliedFormat":1},{"version":"b5f9e66625783eefcbe3d2da074b2e7ba2066d61ce3fc6ef4f22805ad946cab4","impliedFormat":1},{"version":"e37115962d284b9f7a37c2bdd2add50f88365dde41f5e0ff591ffc48a8ec7575","impliedFormat":1},{"version":"6459054aabb306821a043e02b89d54da508e3a6966601a41e71c166e4ea1474f","impliedFormat":1},{"version":"bb37588926aba35c9283fe8d46ebf4e79ffe976343105f5c6d45f282793352b2","impliedFormat":1},{"version":"f89488602bec98a142072fae7ea5ba99431a569ff580c64b7be39896474799d8","impliedFormat":1},{"version":"bbbc47961f39a57df103cf4ca3bb8f8732b4b6678a18225a0aa76d59c466956c","impliedFormat":1},{"version":"2e6114a7dd6feeef85b2c80120fdbfb59a5529c0dcc5bfa8447b6996c97a69f5","impliedFormat":1},{"version":"2ffb043dc5163458e473b7010859f86e01dc4edffcae0a93d885d028b426a546","impliedFormat":1},{"version":"c8f004e6036aa1c764ad4ec543cf89a5c1893a9535c80ef3f2b653e370de45e6","impliedFormat":1},{"version":"dd80b1e600d00f5c6a6ba23f455b84a7db121219e68f89f10552c54ba46e4dc9","impliedFormat":1},{"version":"b064c36f35de7387d71c599bfcf28875849a1dbc733e82bd26cae3d1cd060521","impliedFormat":1},{"version":"05c7280d72f3ed26f346cbe7cbbbb002fb7f15739197cbbee6ab3fd1a6cb9347","impliedFormat":1},{"version":"8de9fe97fa9e00ec00666fa77ab6e91b35d25af8ca75dabcb01e14ad3299b150","impliedFormat":1},{"version":"04b7b2e0832dfd3c31e81df3975e8d8fda28e7ff999b0aa2932608a8f6661d5c","impliedFormat":1},{"version":"ca2d34c6ed5cbd3070b8b6f32f42ae54adcc6499c1e4b99f0a5798b3f27cc653","impliedFormat":1},{"version":"9ec68995e66dd6b9dac834bf5ae85fde802714ea2e82151a5d1d53ef01b463ef","impliedFormat":1},{"version":"5c4d626b4902f2ef8a1cc146d761d276cef988016dc674e3b98fbad70e64bc9f","impliedFormat":1},{"version":"fdfaa0aad899524962e2955287b5b991ffe3be50f64e02eb60c933ca44644a94","impliedFormat":1},{"version":"53c972a0f9bc3a4ec70fff7314123ea8cfcf75b3703046f767d2dc1eea87b2fb","impliedFormat":1},{"version":"f974e4a06953682a2c15d5bd5114c0284d5abf8bc0fe4da25cb9159427b70072","impliedFormat":1},{"version":"50256e9c31318487f3752b7ac12ff365c8949953e04568009c8705db802776fb","impliedFormat":1},{"version":"7d73b24e7bf31dfb8a931ca6c4245f6bb0814dfae17e4b60c9e194a631fe5f7b","impliedFormat":1},{"version":"d130c5f73768de51402351d5dc7d1b36eaec980ca697846e53156e4ea9911476","impliedFormat":1},{"version":"413586add0cfe7369b64979d4ec2ed56c3f771c0667fbde1bf1f10063ede0b08","impliedFormat":1},{"version":"06472528e998d152375ad3bd8ebcb69ff4694fd8d2effaf60a9d9f25a37a097a","impliedFormat":1},{"version":"7303b45138d2511035056a5901a1490ebdcbf055cbb1276f8629c5121cbe733e","impliedFormat":1},{"version":"27f874cd5327507eeff699a74567f60c1215b94509f4308633a7b01922471ed2","impliedFormat":1},{"version":"a401617604fa1f6ce437b81689563dfdc377069e4c58465dbd8d16069aede0a5","impliedFormat":1},{"version":"2c6cf04bc525caf6546e859e8ef10bfb9573837ec0bc5ec7b53a7b1b8ca72781","impliedFormat":1},{"version":"8695dec09ad439b0ceef3776ea68a232e381135b516878f0901ed2ea114fd0fe","impliedFormat":1},{"version":"304b44b1e97dd4c94697c3313df89a578dca4930a104454c99863f1784a54357","impliedFormat":1},{"version":"0a437ae178f999b46b6153d79095b60c42c996bc0458c04955f1c996dc68b971","impliedFormat":1},{"version":"74b2a5e5197bd0f2e0077a1ea7c07455bbea67b87b0869d9786d55104006784f","impliedFormat":1},{"version":"4a7baeb6325920044f66c0f8e5e6f1f52e06e6d87588d837bdf44feb6f35c664","impliedFormat":1},{"version":"87cc05fe13108f02e12da7e3efd8e360fef78d96a0c9e11408ea1b1b9fb3e03d","impliedFormat":1},{"version":"1abbf67c218d23c2ce76887caac2df6c7dab3d97ba2b65348432b876f510002a","impliedFormat":1},{"version":"1a82deef4c1d39f6882f28d275cad4c01f907b9b39be9cbc472fcf2cf051e05b","impliedFormat":1},{"version":"4b20fcf10a5413680e39f5666464859fc56b1003e7dfe2405ced82371ebd49b6","impliedFormat":1},{"version":"c06ef3b2569b1c1ad99fcd7fe5fba8d466e2619da5375dfa940a94e0feea899b","impliedFormat":1},{"version":"f7d628893c9fa52ba3ab01bcb5e79191636c4331ee5667ecc6373cbccff8ae12","impliedFormat":1},{"version":"1d879125d1ec570bf04bc1f362fdbe0cb538315c7ac4bcfcdf0c1e9670846aa6","impliedFormat":1},{"version":"8bd496cf710d4873d15e4891a5dbf945673e3321ca74cf75187e347fd5ed295e","impliedFormat":1},{"version":"a6dba407fc287f1e25454e75028c91bbc00675f2d1c4e8b3edcc36c08611a486","impliedFormat":1},{"version":"d663134457d8d669ae0df34eabd57028bddc04fc444c4bc04bc5215afc91e1f4","impliedFormat":1},{"version":"e91f7b1344577a02f051b9b471f33044fef8334a76dc9e1de003d17595a5219b","impliedFormat":1},{"version":"c0723195c85e19656d6b5b9fdb81d3f3403c1ae4679e722c6ea058c516b38d12","impliedFormat":1},{"version":"186eea74805194f04e41038fc5eca653788b9dedbab7c2d7d17e10139622dd92","impliedFormat":1},{"version":"71d9eb4c4e99456b78ae182fb20a5dfc20eb1667f091dbb9335b3c017dd1c783","impliedFormat":1},{"version":"cfa846a7b7847a1d973605fbb8c91f47f3a0f0643c18ac05c47077ebc72e71c7","impliedFormat":1},{"version":"1594da19968752a22b2ac48c2d0e60575700e745c577a8a4a676b841238ad5bb","impliedFormat":1},{"version":"e0cee12109e0a10a4c3d6769fcc7644b7c1ea7f52365bea51728f5af29f8a137","impliedFormat":1},{"version":"7d4254b4c6c67a29d5e7f65e67d72540480ac2cfb041ca484847f5ae70480b62","impliedFormat":1},{"version":"3536968defef8a75514f547ead5e2e9c1e984820290ec9b00c5fdfb6ef786535","impliedFormat":1},{"version":"d83773870080c30a230e322ce13a9c6f3398e8dacea4ea8a83e26370f3bac23e","impliedFormat":1},{"version":"dcfeaf98d66314fec29a9076c4290e45d0b196a65827becc19138e9c7b855f37","impliedFormat":1},{"version":"6849fe9210fe4946d5f085bfed36758f33dc6ae15a751338d178dd4daa017c46","impliedFormat":1},{"version":"888cda0fa66d7f74e985a3f7b1af1f64b8ff03eb3d5e80d051c3cbdeb7f32ab7","impliedFormat":1},{"version":"60681e13f3545be5e9477acb752b741eae6eaf4cc01658a25ec05bff8b82a2ef","impliedFormat":1},{"version":"ffae4e1e06aa848a1e4bcef162cd1c48e5909b26223515981310af9c036bdfc7","impliedFormat":1},{"version":"a57b1802794433adec9ff3fed12aa79d671faed86c49b09e02e1ac41b4f1d33a","impliedFormat":1},{"version":"34e16eb7c31768a11a08aebcfb3d70d7b8f0b016197e98d8419e566ceae6d6c8","impliedFormat":1},{"version":"f94ec1f7e4b709d26960306c9082a7a1b728a6e13089346aa48ba57c74cbf47e","impliedFormat":1},{"version":"9a11cb4033405e96c247cd5aa29790212aaffdd127869e8a5219103f0b389fd5","impliedFormat":1},{"version":"01479d9d5a5dda16d529b91811375187f61a06e74be294a35ecce77e0b9e8d6c","impliedFormat":1},{"version":"aff5213585cb72e94054dfe17250ff315f3569b3919d1ef1ad235f37c4ee894e","impliedFormat":1},{"version":"fb2ea35e1be6388d722d7725e2b49c697d34d9c890c3b96758faaeb86d35cef8","impliedFormat":1},{"version":"ce0df82a9ae6f914ba08409d4d883983cc08e6d59eb2df02d8e4d68309e7848b","impliedFormat":1},{"version":"1a4dc28334a926d90ba6a2d811ba0ff6c22775fcc13679521f034c124269fd40","impliedFormat":1},{"version":"f05315ff85714f0b87cc0b54bcd3dde2716e5a6b99aedcc19cad02bf2403e08c","impliedFormat":1},{"version":"5fad3b31fc17a5bc58095118a8b160f5260964787c52e7eb51e3d4fcf5d4a6f0","impliedFormat":1},{"version":"72105519d0390262cf0abe84cf41c926ade0ff475d35eb21307b2f94de985778","impliedFormat":1},{"version":"456006a6975b26c0a1785feddae165f6d307e2d601ffde27e21fc4a790e448a4","impliedFormat":1},{"version":"c857e0aae3f5f444abd791ec81206020fbcc1223e187316677e026d1c1d6fe08","impliedFormat":1},{"version":"ccf6dd45b708fb74ba9ed0f2478d4eb9195c9dfef0ff83a6092fa3cf2ff53b4f","impliedFormat":1},{"version":"1fe0d18b111e1145a7e7601855bccd4ca20f24e3b9a5aba6bb1fa9d1a7059170","impliedFormat":1},{"version":"5632c3c26d420c063eebe64c45b1248b9492a67bf44f1d0c57e9dc8f6cf449bb","impliedFormat":1},{"version":"0df5aa619ab12993a39ea6dae062ee46eadbb4d738916460e636ada52bced75b","impliedFormat":1},{"version":"8fca3039857709484e5893c05c1f9126ab7451fa6c29e19bb8c2411a2e937345","impliedFormat":1},{"version":"35069c2c417bd7443ae7c7cafd1de02f665bf015479fec998985ffbbf500628c","impliedFormat":1},{"version":"10ab7be91f87ebe8916b62cf28af2e45b5601fc7b0e311adf838f912c6b31dd8","impliedFormat":1},{"version":"bc636fbc08e0979ceb7eb0731a33000283d77a33b62e1f71ee65be50394e40ba","impliedFormat":1},{"version":"7e0b7f91c5ab6e33f511efc640d36e6f933510b11be24f98836a20a2dc914c2d","impliedFormat":1},{"version":"045b752f44bf9bbdcaffd882424ab0e15cb8d11fa94e1448942e338c8ef19fba","impliedFormat":1},{"version":"2894c56cad581928bb37607810af011764a2f511f575d28c9f4af0f2ef02d1ab","impliedFormat":1},{"version":"0a72186f94215d020cb386f7dca81d7495ab6c17066eb07d0f44a5bf33c1b21a","impliedFormat":1},{"version":"75bbd3be047d539988a0ff0b56384ef7a6a25f3b676ad96bee547d44c31622a7","impliedFormat":1},{"version":"42960001a776b089ade681ab5cfddc936e0afb0615133ec1841f3dee89d3e1bf","impliedFormat":1},{"version":"0aedb02516baf3e66b2c1db9fef50666d6ed257edac0f866ea32f1aa05aa474f","impliedFormat":1},{"version":"da47712b394d944328245482603bc6f416d3949b67c9392279caab595076b510","affectsGlobalScope":true,"impliedFormat":1},{"version":"37d0071d8f0a06dc55c2c5e0ec3391affd4fd107c53410bf358196ec0bf3923f","impliedFormat":1},{"version":"b213dad76ca37fd552274c9499056e1c0d9c1bd38a55bb7f68b22ba6b84c3ad7","impliedFormat":1},{"version":"56ccb49443bfb72e5952f7012f0de1a8679f9f75fc93a5c1ac0bafb28725fc5f","impliedFormat":1},{"version":"20fa37b636fdcc1746ea0738f733d0aed17890d1cd7cb1b2f37010222c23f13e","impliedFormat":1},{"version":"d90b9f1520366d713a73bd30c5a9eb0040d0fb6076aff370796bc776fd705943","impliedFormat":1},{"version":"bc03c3c352f689e38c0ddd50c39b1e65d59273991bfc8858a9e3c0ebb79c023b","impliedFormat":1},{"version":"19df3488557c2fc9b4d8f0bac0fd20fb59aa19dec67c81f93813951a81a867f8","affectsGlobalScope":true,"impliedFormat":1},{"version":"b25350193e103ae90423c5418ddb0ad1168dc9c393c9295ef34980b990030617","affectsGlobalScope":true,"impliedFormat":1},{"version":"bef86adb77316505c6b471da1d9b8c9e428867c2566270e8894d4d773a1c4dc2","impliedFormat":1},{"version":"5a49adaef698b7ad7e6127949fa1b0bbd3d46b7cbd11c54e392a4dcdd51f5190","impliedFormat":1},{"version":"96171c03c2e7f314d66d38acd581f9667439845865b7f85da8df598ff9617476","impliedFormat":1},{"version":"27be6622e2922a1b412eb057faa854831b95db9db5035c3f6d4b677b902ab3b7","impliedFormat":1},{"version":"5c634644d45a1b6bc7b05e71e05e52ec04f3d73d9ac85d5927f647a5f965181a","impliedFormat":1},{"version":"2489bf04d77dc025ba67f49f1a56eb24b9db477d5ff88123d887e163ed1776aa","impliedFormat":1},{"version":"63a7595a5015e65262557f883463f934904959da563b4f788306f699411e9bac","impliedFormat":1},{"version":"4ba137d6553965703b6b55fd2000b4e07ba365f8caeb0359162ad7247f9707a6","impliedFormat":1},{"version":"0b77b819b5417775fccb20c678293cf614c054a5b1a65421a5b933a9124ba998","impliedFormat":1},{"version":"e1f6076688a95bd82deaac740fccbe3cdea0d8a22057cccc9c5bce4398bdd33b","impliedFormat":1},{"version":"9252d498a77517aab5d8d4b5eb9d71e4b225bbc7123df9713e08181de63180f6","impliedFormat":1},{"version":"b1f1d57fde8247599731b24a733395c880a6561ec0c882efaaf20d7df968c5af","impliedFormat":1},{"version":"d7c1bbcddb06dcc8c9184013ace33c0dc71af715ab5987ccb42b903d2ec91193","impliedFormat":1},{"version":"35e6379c3f7cb27b111ad4c1aa69538fd8e788ab737b8ff7596a1b40e96f4f90","impliedFormat":1},{"version":"1fffe726740f9787f15b532e1dc870af3cd964dbe29e191e76121aa3dd8693f2","impliedFormat":1},{"version":"5a3ea721d03a361ccbdd7390ccd75f6e84cbca3a3f01f4b331ecc9af31890c49","impliedFormat":1},{"version":"e7dfaee4af38d45b1cab8a1ee0b3bc1f85ddcf64545ed391d675d78ae6526274","affectsGlobalScope":true,"impliedFormat":1},{"version":"98e2b197bf7fe7800f89c87825e2556d66474869845e97ad9c2b36f347c43539","impliedFormat":1},{"version":"af48e58339188d5737b608d41411a9c054685413d8ae88b8c1d0d9bfabdf6e7e","impliedFormat":1},{"version":"616775f16134fa9d01fc677ad3f76e68c051a056c22ab552c64cc281a9686790","impliedFormat":1},{"version":"65c24a8baa2cca1de069a0ba9fba82a173690f52d7e2d0f1f7542d59d5eb4db0","impliedFormat":1},{"version":"f9fe6af238339a0e5f7563acee3178f51db37f32a2e7c09f85273098cee7ec49","impliedFormat":1},{"version":"1de8c302fd35220d8f29dea378a4ae45199dc8ff83ca9923aca1400f2b28848a","impliedFormat":1},{"version":"77e71242e71ebf8528c5802993697878f0533db8f2299b4d36aa015bae08a79c","impliedFormat":1},{"version":"98a787be42bd92f8c2a37d7df5f13e5992da0d967fab794adbb7ee18370f9849","impliedFormat":1},{"version":"332248ee37cca52903572e66c11bef755ccc6e235835e63d3c3e60ddda3e9b93","impliedFormat":1},{"version":"94e8cc88ae2ef3d920bb3bdc369f48436db123aa2dc07f683309ad8c9968a1e1","impliedFormat":1},{"version":"4545c1a1ceca170d5d83452dd7c4994644c35cf676a671412601689d9a62da35","impliedFormat":1},{"version":"320f4091e33548b554d2214ce5fc31c96631b513dffa806e2e3a60766c8c49d9","impliedFormat":1},{"version":"a2d648d333cf67b9aeac5d81a1a379d563a8ffa91ddd61c6179f68de724260ff","impliedFormat":1},{"version":"d90d5f524de38889d1e1dbc2aeef00060d779f8688c02766ddb9ca195e4a713d","impliedFormat":1},{"version":"07ed3ddab975995eea41b22f3010506fb9f5fb301d04820b07d7a1aee5477d7c","impliedFormat":1},{"version":"969d8b0965849f4bae7cab0ba90bd1e1220e95999c2c6f01117fa7500901c017","impliedFormat":1},{"version":"6ec840ee5e2bc103f557fe38b1d585ee250540468713d7634ee066de372bf332","impliedFormat":1},{"version":"b0309e1eda99a9e76f87c18992d9c3689b0938266242835dd4611f2b69efe456","impliedFormat":1},{"version":"47699512e6d8bebf7be488182427189f999affe3addc1c87c882d36b7f2d0b0e","impliedFormat":1},{"version":"6ceb10ca57943be87ff9debe978f4ab73593c0c85ee802c051a93fc96aaf7a20","impliedFormat":1},{"version":"1de3ffe0cc28a9fe2ac761ece075826836b5a02f340b412510a59ba1d41a505a","impliedFormat":1},{"version":"e46d6cc08d243d8d0d83986f609d830991f00450fb234f5b2f861648c42dc0d8","impliedFormat":1},{"version":"1c0a98de1323051010ce5b958ad47bc1c007f7921973123c999300e2b7b0ecc0","impliedFormat":1},{"version":"ff863d17c6c659440f7c5c536e4db7762d8c2565547b2608f36b798a743606ca","impliedFormat":1},{"version":"5412ad0043cd60d1f1406fc12cb4fb987e9a734decbdd4db6f6acf71791e36fe","impliedFormat":1},{"version":"ad036a85efcd9e5b4f7dd5c1a7362c8478f9a3b6c3554654ca24a29aa850a9c5","impliedFormat":1},{"version":"fedebeae32c5cdd1a85b4e0504a01996e4a8adf3dfa72876920d3dd6e42978e7","impliedFormat":1},{"version":"e297c0a524edee7677939122f90027bfbe5f2698939d9a85728e5044b39c7124","impliedFormat":1},{"version":"cdf21eee8007e339b1b9945abf4a7b44930b1d695cc528459e68a3adc39a622e","impliedFormat":1},{"version":"bc9ee0192f056b3d5527bcd78dc3f9e527a9ba2bdc0a2c296fbc9027147df4b2","impliedFormat":1},{"version":"b62381cae176db34f003cc6172ee8f3e0122014889d66391aa73698105cf4934","impliedFormat":1},{"version":"1d9c0a9a6df4e8f29dc84c25c5aa0bb1da5456ebede7a03e03df08bb8b27bae6","impliedFormat":1},{"version":"84380af21da938a567c65ef95aefb5354f676368ee1a1cbb4cae81604a4c7d17","impliedFormat":1},{"version":"1af3e1f2a5d1332e136f8b0b95c0e6c0a02aaabd5092b36b64f3042a03debf28","impliedFormat":1},{"version":"30d8da250766efa99490fc02801047c2c6d72dd0da1bba6581c7e80d1d8842a4","impliedFormat":1},{"version":"03566202f5553bd2d9de22dfab0c61aa163cabb64f0223c08431fb3fc8f70280","impliedFormat":1},{"version":"41eb514d9ce0a6e87957f08a4b7af70d93f87637f37dee706e2d92a6601c25a9","impliedFormat":1},{"version":"e7765aa8bcb74a38b3230d212b4547686eb9796621ffb4367a104451c3f9614f","impliedFormat":1},{"version":"1de80059b8078ea5749941c9f863aa970b4735bdbb003be4925c853a8b6b4450","impliedFormat":1},{"version":"1d079c37fa53e3c21ed3fa214a27507bda9991f2a41458705b19ed8c2b61173d","impliedFormat":1},{"version":"5bf5c7a44e779790d1eb54c234b668b15e34affa95e78eada73e5757f61ed76a","impliedFormat":1},{"version":"5835a6e0d7cd2738e56b671af0e561e7c1b4fb77751383672f4b009f4e161d70","impliedFormat":1},{"version":"4b7f74b772140395e7af67c4841be1ab867c11b3b82a51b1aeb692822b76c872","impliedFormat":1},{"version":"7bd01f0f28cd3aeb2046274d85208e245965f6f2948edf4f7b2057bcf9f22ccc","impliedFormat":99},{"version":"d2f2cf2b8cc92bea913cda4a076e0f790b23a21e84f989d12f0116a7fe3906e0","impliedFormat":99},{"version":"6de125ea94866c736c6d58d68eb15272cf7d1020a5b459fea1c660027eca9a90","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5b20bc288ee49989c95b20847fc93b96bf61cc0845598897a6a53a967dd7d07","affectsGlobalScope":true,"impliedFormat":1},{"version":"064ac1c2ac4b2867c2ceaa74bbdce0cb6a4c16e7c31a6497097159c18f74aa7c","impliedFormat":1},{"version":"3dc14e1ab45e497e5d5e4295271d54ff689aeae00b4277979fdd10fa563540ae","impliedFormat":1},{"version":"d3b315763d91265d6b0e7e7fa93cfdb8a80ce7cdd2d9f55ba0f37a22db00bdb8","impliedFormat":1},{"version":"b789bf89eb19c777ed1e956dbad0925ca795701552d22e68fd130a032008b9f9","impliedFormat":1},{"version":"5d56f46238996dbbf1a854643f4d7f1426d0d6680c3d91ed6a5578215ae1c342","affectsGlobalScope":true},"7ad303e40d4fddf44f156129e397511953a71481c5cfd86b1862649aaaf240cc",{"version":"bd71532d2ef9685100fc1d5af27700e00c124bcef822714de033d1ef8ceae68d","impliedFormat":1},{"version":"1500f8d59bcddb77e890fe5b7032496ce022480e842f06cbdc373b1e0351b4a4","impliedFormat":1},{"version":"3e9d75b64d36ee20eae2089fab7de08c37d851a61052431a2ad748836a676edf","impliedFormat":1},{"version":"1fd82d80d129bc16cae6ca3f86fd5eeb2f04caf08209a3130928e8c09f894962","impliedFormat":1},{"version":"6a15f821211db88f7bb36c7278d113ef014804ce53689ef8e1a207dce0c848de","impliedFormat":1},{"version":"5e3e75a4982fee4e3435e6b517e7efddcd3c0508d148e35707b78522a76edeb8","impliedFormat":1},{"version":"752c24b6d7e82f3397f60ded02915bfe90df06370d0dc991c3d491ac2b2083cc","impliedFormat":1},{"version":"ddc11f385daa285bb0038898cef607ec492c7072e92df84d52df9d05a7092458","impliedFormat":1},{"version":"a22806a27f1b4c5d5616a87a62a3d89ad5b296fac68ae0a897429eb212ea3136","impliedFormat":1},{"version":"7c2c53a02a478ca87cab2342d35702e201775143cebee8b368372a181209decd","impliedFormat":1},{"version":"181694d1f7a579e57c55efb1418904efc513ebce0b08601e94f288674104359e","impliedFormat":1},{"version":"7e9b2581de465503aad53611709c61a3becd372b86c43bf9863f5715a1616fd5","impliedFormat":1},{"version":"d415bfa0853e03226a2342ab7ee3ef0d085e6d94e7dde869fe745ab11a8b3cc6","impliedFormat":1},{"version":"eed0cfbd238f0f9def37d26d793393c8cfb59afe28ecd1a4639a58905abdadf1","impliedFormat":1},{"version":"014705d98454b8d9f5bbf5c7dffa2079d151866d6e12d552e5faa2df8ee2fd5b","impliedFormat":1},{"version":"ab1296040de80ee4c7cfa5c52ff8f3b34a3f19a80ba4c9d3902ee9f98d34b6b5","impliedFormat":1},{"version":"952dc396aaf92bf4061cefdeb1a8619e52a44d7c3c0cc3bad1a1ddc6c2b417e4","impliedFormat":1},{"version":"416eec23b202526964d0f5ebf0ca9e0d8c08e4260bc0946143b66f1a1e17b787","impliedFormat":1},{"version":"bcb14be213a11d4ae3a33bd4af11d57b50a0897c0f7df0fa98cd8ee80a1b4a20","impliedFormat":1},{"version":"116b961153d86b304e788884c4a05630fe98423bcfc14c7a7ea8d542092aac10","impliedFormat":1},{"version":"f17c007d95f666ecf664ff13ca8efc196980597c4ca152a0baaa82b2525e2328","impliedFormat":1},{"version":"02ff761f690163463a4e7594d666e4c73995c4f72746a5967b3477d9ecf62c4e","impliedFormat":1},{"version":"84206a85be8e7e8f9307c1d5c087aedb4d389e05b755234aa8f37cc22f717aaf","impliedFormat":1},{"version":"45b1df23c0a6e5b45cb8fc998bd90fa9a6a79f2931f6bb1bd15cf8f7efd886d0","impliedFormat":1},{"version":"5f318c52eac7a06cd901b55e8e930d2c3dd51b7dbdca01b130e61c3e9b8b4f0a","impliedFormat":1},{"version":"f5b284ceadf71472a8fbf555dbd91079cce0ce7ba54f65dd63d18deec84cd11d","impliedFormat":1},{"version":"11f848107bc2f7535adccd37b55f018a0f18abbf5a1cd276f5776779618c37ed","impliedFormat":1},{"version":"8f47ed340254a8ccdf37035d9cba70f53a4d899804da840b47f4c3b07a7b2063","impliedFormat":1},{"version":"e79e9c45db9751fa7819ee7ba2eadbe8bface0b0f5d4a93c75f65bbb92e2f5c5","impliedFormat":1},{"version":"50b54f6dac82c34e8c12b35eac220ccc178f51e84813179826da0e3e96283af9","impliedFormat":1},{"version":"8acbcc0484e6495472d86da47abe9765541a2ecbaf88f4fecdab40670aeed333","impliedFormat":1},{"version":"6fd6fcadeab3b973ea52c2dbfcc960f23e086ea3bc07aaa0e1c6d0d690f8e776","impliedFormat":1},{"version":"7eed214004cc8d86022792c07075758fe61847c70c6c360235f3960492fd6155","impliedFormat":1},{"version":"a59fdd5525468b9afe1fef2238f5b990c640723bd430c589b4c963d576209be8","impliedFormat":1},{"version":"23c0f554c1fab508370678aca41cf9b1d6a6a00069e499d803d43387067fea9d","impliedFormat":1},{"version":"016f140691ab5fea3357a89c6a254ff8ada91173d22d36921bb8295fe5d828ab","impliedFormat":1},{"version":"ee219b4332439451cbf9ee34584e8a7e67be35d8ed3d1b292769a09483a102ce","impliedFormat":1},{"version":"305c2373ff739ceca5780a204766c76617e74b551f6fc646a358b5f687a77333","impliedFormat":1},{"version":"61c5821b70e113b15f24593e7061e6302635448ae700d813f06560ca5f140727","impliedFormat":1},{"version":"1e127052ae269b7f278b828978b962eb93bbc6134c0bda8b03e3f39df5c3865d","impliedFormat":1},{"version":"716cb84b8b410c52de9e7b310b2125cbc390a7c59e929a5c0a29514345b9ba9f","impliedFormat":1},{"version":"edabf50cfd2310b9af7214ecb821e0af6c43f66d8b5fb297d532f27bba242088","impliedFormat":1},{"version":"1687d528ca6c51a635f9a4022973f472221700464be83810788238a595cb588c","impliedFormat":1},{"version":"32162214c3f25748f784283a3f6059ad3d09d845faccc52b5c2cf521eace6bd6","impliedFormat":1},{"version":"4a13f78f265e7deb260bd0cc9063b9927a39f99f7cc8bb62b0310aa3a1df3efd","impliedFormat":1},{"version":"c04c509a58cc86b654326592aca64d7ceab81a208735c391dd171ca438114ea9","impliedFormat":1},{"version":"74c6a2352b00e41d352cc23e98e8d6313d5631738a5ea734f1c7bff0192b0f47","impliedFormat":1},{"version":"fc94bcfb823846ba8b4c1727520a3d509c9f517d4e803dfb45e6a71b41000eb8","impliedFormat":1},{"version":"0f6f23cdfb415a7c1c1d825a29d7750a4d65908e519ceff44feca8eb7f9a8ca4","impliedFormat":1},{"version":"e4c09f8a818679f80931fae1d0ca3dec192708c510c9f33fe56d71abe8337c59","impliedFormat":1},{"version":"b1cc0dfdc0455283ccf003185dbbc51e2c15299aff343413310eaf45c4572323","impliedFormat":1},{"version":"6efbec437d1022c2fd82055687710f25019fe703528a7033a3fc6fbfc08b1361","impliedFormat":1},{"version":"2a343c23d4be0af3d5b136ad2009a40d6704c901b6b385cc4df355cf6c0acfaa","impliedFormat":1},{"version":"af4beeac0e879b673f8b874e5fe013bdebfb17f0213142e5037ac90aea86d636","impliedFormat":1},{"version":"c620ccd98c18e71d7e39a79bea47b4f4724c3a1f30f78d2cdd03cf707ae64e4d","impliedFormat":1},{"version":"150f375c7f5c01a15d531c961468f1a04a1c21dc4e4a372ca4661700d66cc9c2","impliedFormat":1},{"version":"8aabc7d8676ba6098fc30c95eca03a331df41ac4c08213207a9329998f32d1b0","impliedFormat":1},{"version":"9d8464e1c6b7f30c4121d28b11c112da81c496c65e65948fbc7d5b5f23b50cdc","impliedFormat":1},{"version":"6b88a632af960a4140730527eb670c3d3e6eae0da573f0df2849909d9bb3e5f3","impliedFormat":1},{"version":"ab2f4f2d874d18918f0abb55e5a89a36ab875e01e3e9efa6e19efbd65295800b","impliedFormat":1},{"version":"2212906ab48ae8891080a68a19ba3ab53a4927d360feb34120051aff4ae980ae","impliedFormat":1},{"version":"309ea20e86462f6f0a60ea7b1a35e70443054cd3e067a3b1a7ec9e357b12c4b4","impliedFormat":1},{"version":"61be4fb5600f49c7f2f5ade98f4d348d72493702dd6ba030275c23b970af3290","impliedFormat":1},{"version":"7461653b170e68cbe4be7bffaf2614ec832f31c99e2e49e4001f02c608ea59cb","impliedFormat":1},{"version":"bfb3200df4675c3b0c4a9346c42df10bd0cc28191e5c4bab51cc3b720b7a9e33","impliedFormat":1},{"version":"415d86471331c03ea56dd1f1bc3316090eef24a1b65a129a14579a97dff19539","impliedFormat":1},{"version":"743f84b507c5f9277e37f5e99b4587f03b9ef871625f7b1c10713ddc57733fca","impliedFormat":1},{"version":"75b894c18d2ee4c8b61e1c7dcfd475e51422ff0b8ce166874e7ab3447092ed25","impliedFormat":1},{"version":"22a1be63fb29b28628376bf90a0cb1706a9e10eda46cacfddbf544913c5d0b4d","impliedFormat":1},{"version":"8223f879f70edb086a7f0ef541eb87fa987c006b28f51aaa4a12b51bb82229f9","impliedFormat":1},{"version":"01ef7c7fc81a6064f52f4830b7c29ca0fcc00b1024dd5d12abc01d93e4266914","impliedFormat":1},{"version":"57610357bc1c035d31aac6cceb4d52655b4326c138a7bcf34d2aa71b33ed6157","impliedFormat":1},{"version":"122c203d7674cd08bf6962dafd4286b3319d8267cf6f513d3b42758f20056fa8","impliedFormat":1},{"version":"da242ab9bfe5833acf730ade2f6966aa207ef4d372de8bc6498b723fef422846","impliedFormat":1},{"version":"ac737900a71c3e090585b62b58864a490066dd4d5b3920fea19aeb5895df0407","impliedFormat":1},{"version":"7a888b10a2b8b0f2980f4c8d6f95d8a3dab3cf936b0bbfaf90b8950c619f0152","impliedFormat":1},{"version":"6fd8108448d9a07abbc520d1041e4ef6e696aa8ba00743267bcad319f0502fc6","impliedFormat":1},{"version":"f6bfdca1b0aee97e70167a35b3aba08cac13280ce8d61d5fd629bce8f44261b0","impliedFormat":1},{"version":"a039d5d54c4d608941aaab6a5d8a24786f03ebe1f810feb6026e184f35b41cf8","impliedFormat":1},{"version":"01ea567dd2334d0707a4cebaa7b1dd035473cfe87c77b0e10aed7e35692d51b2","impliedFormat":1},{"version":"5ea29d748e694add73212d6076aac98b15b87fd2fe413df3bf64c93e065b1524","impliedFormat":1},{"version":"94db805ae4e2a5f805e09458ba2c89c572056f920116ee65beba8c15090b8193","impliedFormat":1},{"version":"df4b5e6fe2a91140a1ed2f8f94e01d4c836a069cee23a2d0a83a00cf649f8505","impliedFormat":1},{"version":"5acef0f6a0afa32b582a7ad0a13688466bece4544ef3c8506131bd7342f528fe","impliedFormat":1},{"version":"4dc9b86feaac2ee1eafa02bd550f5851de7ac604fbf661278b14e40443d9d0e4","impliedFormat":1},{"version":"43879c8f3e8a599baeb696ec2319cafb6458ce1b0045cb2d98699f38ccdaa630","impliedFormat":1},{"version":"d85dda762b52fd95ac7456ab33be540ef9e24339370ab3981b8a4c68232259b4","impliedFormat":1},{"version":"fb0d83c2e2dc390a2a0f5c55834a301fe1cbc1021062d75a27059893f307bcc5","impliedFormat":1},{"version":"17aadaec93ee74b8c244050bd3a8c671c2968307fbef3f375483a185a2462681","impliedFormat":1},{"version":"401fa7edce893a618c09a1bbf3828e688057e4e46ffe020113ce9552cb6bc2d0","impliedFormat":1},{"version":"2e2cf6354f64725b2826804843bdffa041ca7600fef3d29b06b9fa04b96bf99f","impliedFormat":1},{"version":"9aedd5430b48e1ef15ca37a53699394be1aedfb75916eaa7d26f78ab8ef2dbed","impliedFormat":1},{"version":"482603b60ae36425005dda60408d32b75c49ef4b2dd037f64c9ccad0ee320a9d","impliedFormat":1},{"version":"d72f9fcc99d533dcc39bbf01d48f11eb58f5356ff20734c55fe7ae2db0d71720","impliedFormat":1},{"version":"c18304517d056cdf57c142f6bd662ff92672e641693b3cf89208a89ebf7a0141","impliedFormat":1},{"version":"37cb02c345b5315b2e47f41cb6c5946b2a4dbcb033cde3988b793730e343925f","impliedFormat":1},{"version":"950472b97087047840647e295474f799c98a3ac092977e01e7c5f669b88a88d5","impliedFormat":1},{"version":"5defecd97ccc564057ed56028d4ff752ce20fe2c55d89a21331e92494d807f04","impliedFormat":1},{"version":"3f61c190904ca6eae98904614cff4a77a7581bffde53b06846018b0377afbfa8","impliedFormat":1},{"version":"b6ce1e776bff7d6914ba88fc0c079d041cd7a011c8f72e7a53e6aa89c6fb88bc","impliedFormat":1},{"version":"37f5e7d5ba458ea6343ce2884b1278ec5a23c972f021db17c5f47d91b26a1f7a","impliedFormat":1},{"version":"f427ac544498d9c749073ed6bdd314cbbd87240ca9e739db1c7fa2cc1f639ea5","impliedFormat":1},{"version":"41992c944708bdff74908aff1de6fa2d24488325a1f6cace3e1a059c4400976b","impliedFormat":1},{"version":"02ff761f690163463a4e7594d666e4c73995c4f72746a5967b3477d9ecf62c4e","impliedFormat":1},{"version":"84dc97f65f9455619d0721a7e8c9bcafe25d25e4e40d175c09b4a5fa6b012c11","impliedFormat":1},{"version":"005f10cafe0939ae8d6a98e19c4ddf8b59faf3f9ae38dfa5907b82b9a6cb4de9","impliedFormat":1},{"version":"089c056ad8ecb34ee72cb831491ab72c214d8fb7ecf94b96a1b4736ab54397a1","impliedFormat":1},{"version":"e643ef3093cba63af26396ae8dc58dc542c241027749dcdf715f3d3209f79a03","impliedFormat":1},{"version":"f40e6338b8137033a5b4efbe01de45a4399f2c304648eace01d852cd05eb861e","impliedFormat":1},{"version":"89d879fae02696e226dbcb7444d6153158fa264bb646071988f19a2e422b314f","impliedFormat":1},{"version":"57de3f0b1730cf8439c8aa4686f78f38b170a9b55e7a8393ae6f8a524bb3ba5a","impliedFormat":1},{"version":"e933bd300ea4f6c724d222bf2d93a0ae2b1e748baa1db09cb71d67d563794b2d","impliedFormat":1},{"version":"c43d0df83d8bb68ab9e2795cf1ec896ff1b5fab2023c977f3777819bc6b5c880","impliedFormat":1},{"version":"bf810d50332562d1b223a7ce607e5f8dc42714d8a3fa7bf39afe33830e107bf7","impliedFormat":1},{"version":"f025aff69699033567ebb4925578dedb18f63b4aa185f85005451cfd5fc53343","impliedFormat":1},{"version":"3d36c36df6ce6c4c3651a5f804ab07fe1c9bb8ce7d40ef4134038c364b429cb3","impliedFormat":1},{"version":"e9243dd3c92d2c56a2edf96cbce8faf357caf9397b95acaa65e960ad36cb7235","impliedFormat":1},{"version":"a24a9c59b7baecbb85c0ace2c07c9c5b7c2330bb5a2ae5d766f6bbf68f75e727","impliedFormat":1},{"version":"3c264d6a0f6be4f8684cb9e025f32c9b131cca7199c658eea28f0dae1f439124","impliedFormat":1},{"version":"d3cd789b0eebd5cebde1404383fd32c610bec782c74a415aa05ab3593abc35c8","impliedFormat":1},{"version":"8c1babb42f52952a6593b678f4cfb4afea5dc91e5cfaf3ca922cdd2d23b1277a","impliedFormat":1},{"version":"04ebb965333800caba800cabd1e18b02e0e69ab6a6f8948f2d53211df00a193c","impliedFormat":1},{"version":"f8e2be107b3e756e0a1c4f5e195e69dce69d38d0ff5c0b0509933e970c6d915b","impliedFormat":1},{"version":"309e580094520f9675a85c406ab5d1de4735f74a38f36690d569dbc5341f36a8","impliedFormat":1},{"version":"c2fa79fd37e4b0e4040de9d8db1b79accb1f8f63b3458cd0e5dac9d4f9e6f3f1","impliedFormat":1},{"version":"4f0d1a7e2a5a8b85d69f60a7be2a6223827f5fec473ba2142279841a54e8a845","impliedFormat":1},{"version":"ae2fb62b3647083fe8299e95dbfab2063c8301e9a626f42be0f360a57e434797","impliedFormat":1},{"version":"f53d803d9c9c8acdbb82ef5c6b8f224d42be50e9ab8bc09c8a9a942717214f9a","impliedFormat":1},{"version":"d2d70166533a2233aa35977eecea4b08c2f0f2e6e7b56c12a1c613c5ebf2c384","impliedFormat":1},{"version":"1097820fae2d12eb60006de0b5d057105e60d165cf8a6e6125f9876e6335cde7","impliedFormat":1},{"version":"8f62905f50830a638fd1a5ff68d9c8f2c1347ff046908eeb9119d257e8e8ae4a","impliedFormat":1},{"version":"8b4d34279952175f972f1aa62e136248311889148eb40a3e4782b244cece09f3","impliedFormat":1},{"version":"d3c3cc0840704fe524dbe8a812290bfd303e43d3bd43dcaac83ee682d2e15be0","impliedFormat":1},{"version":"71725ba9235f9d2aa02839162b1df2df59fd9dd91c110a54ea02112243d7a4d9","impliedFormat":1},{"version":"80af0c272dcb64518f7768428cdf91d21966a7f24ed0dfc69fad964d4c2ed8c1","impliedFormat":1},{"version":"1dc9702aa16e3ada78c84aa96868a7e5502001c402918b6d85ed25acbe80fd51","impliedFormat":1},{"version":"35f891c1bc36c97469df06316c65a718956515c8b3bdbeb146b468c02493ef13","impliedFormat":1},{"version":"2e9b05d7db853315f44d824e13840e6fdf17d615d13170b5f5cf830442018dcd","impliedFormat":1},{"version":"75efaf7dee18ee6d8f78255e370175a788984656170872fd7c6dfba9ed78e456","impliedFormat":1},{"version":"45801e746ccc061d516dd9b3ada8577176382cbf1fa010921211a697cc362355","impliedFormat":1},{"version":"529f07b003aa6d6916e84a5c503c6dc244280bed1d0e528d49c34fe54960c8dc","impliedFormat":1},{"version":"a4d6781f2d709fe9f1378181deb3f457036c7ebc7968a233f7bc16f343b98ced","impliedFormat":1},{"version":"94d6b9e12ee034b99c3bfff70b5f92df1fbcb1d8ebcb46fd940047fe1bd68db9","impliedFormat":1},{"version":"d0d843664c2251b877ab4d7e67fea4054bad5a33b1f8cce634f0acb4397e4ddb","impliedFormat":1},{"version":"6ae375916cb1ab039b0d8191a1b2a4c5ee7d54ca55523edf9c648751d9bf4f3f","impliedFormat":1},{"version":"cfa00459332e385bd6d999dc1d87adeec5ed7d383bde9f7ebf61159d370e5938","impliedFormat":1},{"version":"5b016a20523753fb55e44223ad7e4f2728a3d6b83771e8f2b52a3212d612f494","impliedFormat":1},{"version":"996e31673fe2d4cbd4708d14dc547f79b694e40d58622c982eb26e15eabd78eb","impliedFormat":1},{"version":"27f91d5df194be07adba9331db4861ebce0250d2401c56d4a56979fa2d8d9685","impliedFormat":1},{"version":"f9a8a74a3277dba5994b7830faa0a72ccbbdde4edc546579ea5f3bfdd833f1c3","impliedFormat":1},{"version":"6396e07ac9d5653e2ea225c491e7d5b548165eddb49e4293dcad42445fdd2b5b","impliedFormat":1},{"version":"4356f53b3bcd48f4253465746ccdb0baa38c6bf929712349bffea5426e59c2f4","impliedFormat":1},{"version":"c07dcc52ff4bf2fe6b9027067089b2696ea8debfab01c5a89567b57c85a8143a","impliedFormat":1},{"version":"01c7b17b4106823329939ac4971770aa720b35749401312a9c6610ba61a689f3","impliedFormat":1},{"version":"53902be908625a56e222e1e005948b242822863c62bbd8fcd1ea047da47ac29e","impliedFormat":1},{"version":"6ff08a01c33e70289d44268bb3954c9f3c71162085b829dc323279fbf3a70b2a","impliedFormat":1},{"version":"35a7696566e4ceabf7bb6e9edf0256c8e8411783565c26511033e2edda9e3911","impliedFormat":1},{"version":"88ab5c0465b89250245fb97b17192adbd7d3ee26b26e29f948a410c4dc554663","impliedFormat":1},{"version":"2368808dcbd42d82a70cccb12a06d6e20022f65e1feaf0251789ee24a85e0e67","impliedFormat":1},{"version":"25f989f57da0150fc531eb60696097517c300e41c48f9a35cf8c39a2884e9e9e","impliedFormat":1},{"version":"801ffcacdae7f0a2486c3ca2cf59022b289519e660a4001acc81cde94080c262","impliedFormat":1},{"version":"eec90c87a90d6f26e36ba3d1048957132682558ef88d0128241b83cee373ede9","impliedFormat":1},{"version":"706623c288a5e8a35eab6317786cc2b8e0e1753f5c3f0d57fe494c1ae269e8a3","impliedFormat":1},{"version":"932cade1c5802123b5831f332ad8a6297f0f7d14d0ee04f5a774408f393e2200","impliedFormat":1},{"version":"95874c2af12afd52e7042a326aef0303f3a6f66733c7f18a88a9c6f3fa78d2ee","impliedFormat":1},{"version":"2859adaa4f2db3d4f0fc37ad86f056045341496b58fba0dbc16a222f9d5d55b1","impliedFormat":1},{"version":"655ed305e8f4cb95d3f578040301a4e4d6ace112b1bd8824cd32bda66c3677d1","impliedFormat":1},{"version":"8511f1d1ea7b35c09639f540810b9e8f29d3c23edbf0c6f2a3f24df9911339a0","impliedFormat":1},{"version":"2ce02eb3ddb9b248ff59ca08c88e0add1942d32d10e38354600d4d3d0e3823f5","impliedFormat":1},{"version":"a8db2bf4766dc9ca09b626483c0c78b8f082f9e664b1aed5775277ca91966a32","impliedFormat":1},{"version":"21489ccc5387a3b7ec72288f35825eef99d1550cb5cf4448655f60788c2dd2bf","impliedFormat":1},{"version":"b97c43cc5c758375c762546242bd2e5dfecea495d11e7ab8670cdf7800a78a55","impliedFormat":1},{"version":"76e8204d6c3f2411c8b0f3e0db34e190880acbc525be4facf882abac3c6e9868","impliedFormat":1},{"version":"ae11c2830121324c7f7b3c2c72f6c96eaeee9bd36217893531f965be93940b01","impliedFormat":1},{"version":"3a8d1eb7be079997217f3343f26d11af23d1e330ae8edaa15d0ee6b3663405bd","impliedFormat":1},{"version":"75191cd4f498eecaa71d357b68f198aabff6e9aeb094783bc2e88224f2440e91","impliedFormat":1},{"version":"68ab7ba45dd13e321f9b4ffa2cc9092c66c8a32eac53f8268ef992c9d83bddae","impliedFormat":1},{"version":"df2f57459fcc94dcfbc999311ce1927d35accdbee5bc79751467f16121ee99b7","impliedFormat":1},{"version":"a0c1105a4dd57d412dceaa7cc2211e9ee7a9102849d69ea6610e690eba6eb24c","impliedFormat":1},{"version":"069953e197846ae2c271627a01f114623b58eac2fd40bc0b49058c7a2cb79d22","impliedFormat":1},{"version":"506b6ed00eaf46798979021e707f4e0a9b5efa39600a0d6fa8d4ba7a96d3331a","impliedFormat":1},{"version":"48d5a3642727e962342b760621baa9b30c05b0c1a327ad1832a53b2f580c62c9","impliedFormat":1},{"version":"655a1702bca6a1c60b932118cf142bcf3d4f246628cbb8a7a1160205f45016e7","impliedFormat":1},{"version":"6dcf9ebaf569318a67670d24958ac49fbb820114ec939c6a019405dd61468f33","impliedFormat":1},{"version":"cec2aaab4a551be0935d6166cb7f098ccfe2172c10e611c9321b3b676a53c496","impliedFormat":1},{"version":"3f08c2595b48fa8b71831fdff3af41bfce96eb48cec81ea6d2d9d9d957cd97fe","impliedFormat":1},{"version":"61dcb5357451ea04ddd06391bbc87ecd9f6b8397d2a386ea40df3b6806141c99","impliedFormat":1},{"version":"f17f889f40110c2dd21e7b8a067af42432a1c34fb16a9e0c8b2c4a3a735a54ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"47b468b147b355fdf30059f6ad308d7d85161c29ebe7cc5d0770ab8191938d98","impliedFormat":1},{"version":"e1eb5f70580ac243224881474cc32f499023a433c06ffabc40bbb32ca7baab1a","impliedFormat":1},{"version":"8fc7c65d1d135f16e083467519ec5e8e1cd6e807ab6448d8c6df5bebde9263cc","signature":"8b4f29d3434820dc290625b2231b79239d7633e0b711c784e9a515ef5bde4cc7"},{"version":"c5e9eb94dafe40e96b130957b72b2b286cf7da00e5003f14535f7e432a73eb2f","signature":"dac82def0889da4788920859546b62313bdbb0099d367b33cc52c9f0afc49314"},{"version":"4ee1655397c6a2fdb7b2f6f216beafc197c0d6cdc6d1d8935cd943941fbfb8f6","signature":"12e9ee117b4ecc86558bfa54b7129e86990581e4ff4cff350e04ad1f7f5fd7f1"},{"version":"7318b1cc95553b7a9a640bcc4938aa4fbdf84a26b3df84109d153d3ff3cd8c11","signature":"da6ed17fcf5418ffd805162b38e4e89ba92a62045f8ac1cf1e85bc7460c7aa48"},{"version":"cdbd35458f506b843f280d695d192968af4b0f27db3d5c0707934d97e96dd88d","impliedFormat":1},{"version":"0d86e751cdf42541f9b0dc579f1fad78ba02c9b57104723187d942c53bd63092","impliedFormat":1},{"version":"dae32a2a0cc5be690082fc59bd4b16ab58fc400d8802dc3073657ff4e825c48a","impliedFormat":1},{"version":"654bbcc8726e2a7a684460eda9c7d25847716587b04a72e0b88e75d828aa3db1","impliedFormat":1},{"version":"5c252941b1299551ad4f3f44ef995ee7a79585aebe2c5318271297496f2611c6","impliedFormat":1},{"version":"5a39b65f1aa6dac1a189afe5b95a5dcc0f82459b859ce2377cdfb1e994b90c3d","impliedFormat":1},{"version":"84ab1b8202996d370d7580cd15c85fe5981c9fd8ce4e20019de7203c8e9b594e","impliedFormat":1},{"version":"b7b58b11be801068222c596659957f4defdeec281974feb02a28d9c9ea38cd51","impliedFormat":1},{"version":"27a8d35a2910e71c796d71fb6d570a36dfcaef8cc69bd02e0b14fd143b908e04","impliedFormat":1},{"version":"7a3d5f0f7b701633da88a36f869865c61fe6e00fd9547521133147afe391d1b3","impliedFormat":1},{"version":"7656a4096d1d60bdd81b8b1909afdf0aedb36a1d97b05edf71887d023dd59ea9","impliedFormat":1},{"version":"d488bd13a9d714f30014a5f8a8df1be6b11ae3411efa63ba6643af44749bc153","impliedFormat":1},{"version":"197dd169eff598c8888dd37a3f5c3e45c1759251085119b166c1b37b50ee43b1","impliedFormat":1},{"version":"898f97b7fab287b8dd26c0f8d91fafe17bec2578645a9741ce8242f3c70ae517","impliedFormat":1},{"version":"d5a0858f7e98793a455e8f3d23f04077d1e588e72d82570bca31bab2d9f8ceae","impliedFormat":1},{"version":"6a9069e81da9856ed6780b17db0417d8a8ce217babf3681bfe29dcdad8f15f3d","impliedFormat":1},{"version":"50a9383d17d9973c3017ab5904132ebb04a87439e58d129d88b80699d5a0f1ae","signature":"0ccb629a2151123906284c317498ebd737a4ee59722cf3d7ff001160a432d432"},{"version":"6fa303b96d93e5fb24c90f12dfd3a0f53b18b8f7b1d22e7b9e9cb5077d8f9108","signature":"fd2054b409c2d94abedcffcc24242121b7c192484212cb2d9b1b114972d4f404"},{"version":"44fc455169ed851edb7dbc240157c0537fd6267ea2d1848323a045b1612dd92a","signature":"774eeb85cc0868256ee39b8c7a2b6d504017f88a321cf36352d8d387bb54022b"},{"version":"68606ad59cc9a37b8909ceccc580404902e1f432280e5bccb8475f3a29caa75b","signature":"68e7a8c1b233e658e0ddecfccade24a09abdfdeef8a4c0c00027008934c43d77"},{"version":"78c3db517bfe177384ffcdccfe9910035bd747a30ebb224ffa7681c880ed5103","signature":"3321763c15018a4d20197de5e66d9119599423122d55c98c845440c507b7b1db"},{"version":"8dfbc57fff91312be31e10edce39426c1f42dd6a3395e294d029e4ff000bb51f","signature":"e0f8cc9de39ccfe20015acfc60e6939c8796d1f069ce1dacd3859c6c98c3ade9"},{"version":"1499a71b303c1ffd54df26db03d586d5d38c62618c519e806a9e3de38dae686e","signature":"bf14a5be91235f574e16d68ef5eb4eb59a41409075eabbb2a39ed22b9545020c"},{"version":"71e1102f127a2c4c481d0f36d1b8678cdbc17b15489df759dfb6a08bfe3c051e","signature":"d2f6d0f6904dfd62214882227680ddd62403cd10d148a89d2df4a9f0b8a56506"},{"version":"2a13f26b889a266a4a55c224a4aae94d3a6c160703d573dd8cb2cc8758653aeb","signature":"ae76773186abb83c8dd05a9433e034c6e51382015b7eb865252fdf3121c72313"},{"version":"a059a124d6d2d7530bac76a276d7419fdac41562e7683e78386a026bbadc933d","signature":"a83877ed75e24dd47d245bb16bad9a6ae76d84208d07bdbd981fe74de12d1c6c"},{"version":"b3de84306e70357ba82260c9fa8fbeaf5601f6e71aabe8e1829e9e8632268df0","signature":"4993362aa551e47159786f5d77be6c1223ec855bf940686737a6afe951418d21"},{"version":"78ce398996f8a67a6aa9976bd20f85ee917414b578043235473d5a82d38ccc7e","signature":"5dddf9fed7f9befedd2eb133b4fe1051625bce3b55cd63fdb257001a46f3a1e6"},{"version":"042b1c730536f00d3513ab09d1f2216952aa354e232edc19abd06d45f5c2e1fe","signature":"17bcd2cbd9e90a2750f56b0ad9962da9b86ce3aa1c9c76e225a6f4233242131e"},{"version":"b2d1100961d982ecbb72cd6ed08ea25779b8523b71c76836750ed7cda474d49d","signature":"95600cf6afe56beaac9665bcae225c7e68765d539258922628f697d55b058354"},{"version":"68910609e5cd0046aab78f218a30debac9b06762afe8c94175161951e66145b1","signature":"103949d86734806523a4f938a42d2dd4fd753b678cddba536fa90a3cb7f225d6"},{"version":"4c54300bb2670678e16cb98079486f3f2bfa061dd1b954e7e4a8999959420507","impliedFormat":1},{"version":"1b4bebb7057c294e3baa3fba40d27e240e16493ddea81d8af2363ee1ac03e305","signature":"6a8ec9486cb4c47d3828f29e3cf46a07e75c3651750d71ac8b1696fa33de0791"},{"version":"a9373d52584b48809ffd61d74f5b3dfd127da846e3c4ee3c415560386df3994b","impliedFormat":99},{"version":"caf4af98bf464ad3e10c46cf7d340556f89197aab0f87f032c7b84eb8ddb24d9","impliedFormat":99},{"version":"7ec047b73f621c526468517fea779fec2007dd05baa880989def59126c98ef79","impliedFormat":99},{"version":"c5013d60cbff572255ccc87c314c39e198c8cc6c5aa7855db7a21b79e06a510f","impliedFormat":99},{"version":"c57b441e0c0a9cbdfa7d850dae1f8a387d6f81cbffbc3cd0465d530084c2417d","impliedFormat":99},{"version":"2fbe402f0ee5aa8ab55367f88030f79d46211c0a0f342becaa9f648bf8534e9d","impliedFormat":1},{"version":"b94258ef37e67474ac5522e9c519489a55dcb3d4a8f645e335fc68ea2215fe88","impliedFormat":1},{"version":"8658354b90861a76abc7b3c04ece2124295c7da0cc4c4d31c2c78d8607188d03","impliedFormat":1},{"version":"e46429536f43f5910f5b2b0c50bb2769b510a4558bb4b5d20a3b0a9091dbf7c3","signature":"400b40fe5d5f4140993b0ac871686d2b7611ab791e8810b2e14f2d89701fc49e"},{"version":"37ee2f94a1c5df7a0194cd1740414722e58de5a94fd46e82329b4c217f5fbf36","signature":"710a00acd5f919a99bdd9b40824b024b39e9d546b5e611558fbc0ce155f422d6"},{"version":"3b5f8c9c5257f1cf36a94eeffed2588037e9cc7931d90b752604c2baed30cf81","signature":"f238db8bd54a02c277895ef9300e2d809ef738cfda6e91dd295e48d7196a7f0b"},{"version":"1b43441b273aa21c1e74fefa774d5a7cb50068e5d4c192a8f63b9c95c5580431","signature":"32f7c168ee545e9b432d2a861f4fb0bc645e21e88c774cedf54e72d1e3ccc049"},{"version":"3b5f8c9c5257f1cf36a94eeffed2588037e9cc7931d90b752604c2baed30cf81","signature":"f238db8bd54a02c277895ef9300e2d809ef738cfda6e91dd295e48d7196a7f0b"},{"version":"7911fc20da7c1bf8860879f6417adc93c58ed445e22b331bcb065913e6212841","signature":"32406f4009a1b6615d7b291f9f614ac789735b59fde5525f3d36b514b158eba4"},{"version":"0a85f27a2846ba7c39c561e617d45b44cb8464d664d2d4037ef98e407ef6f82c","signature":"f903d0c52e72e543eb8b577ac6c5c4aa6e80dc1eb7da261775edc786236f2fd4"},{"version":"a12e3223a172bd366b191223599a59bf068b74b64c0dd2a35467ec0dc8080d1f","signature":"d4837328a91f53058734ec71b4230224bf3172fbd86953ffd5fc6991468fa1b7"},{"version":"40e8e898bad01de3cf57c47319a1cae424d21137bed1315fa59d425ab8079694","signature":"3bd69f7c8ffe906e7bc0367127b42608edb05b4858a2d30f4859e09279cecee3"},{"version":"bf57fb3a70fcfef290152f371772aee60e36e54cc72715d118618ef25ddb00c0","signature":"47cbdeff96fe924e51acb8ea5588b0c9c1e9e4acf2ad2f5a827918f8006a4d28"},{"version":"6d413a872143e8412d730e5d6ff0d27931394e6398bde5fa3b01aff2c5fddb14","signature":"8e7e1c454896a754cffa74b82cbe919da1acbec9fa3780350be1906af34e897c"},{"version":"a74e38fb4a7bd36227cab6a993d7b1d3a55a7bf36435d90c4774f79d6979cb40","signature":"1ab543ed01ef68ad53f19f79870fcf422adad6fcb1d9f54b7679e6bff4503e58"},{"version":"1e2163ae17cf19f1c1ea9093f6ebaff01b48f38191221ea767ae83c721b9c2f6","impliedFormat":1},{"version":"3ba2febe74741cd904e1543af71e461a4958060817bd415e48ce019f9138588b","impliedFormat":1},{"version":"d50e8c3ede7635bd7adbdfa1e2d67e53d7f776bcda71599d7bc4c4513a640900","impliedFormat":1},{"version":"4f9c7bb8ad1824d80b6dad1fb9b9d16b16711b0abf6310f3e9920080ac3cbb36","impliedFormat":1},{"version":"4e12a77955772fbef1c0b7e5a8ec1366c1f65ca814c7796200cb77644f47f016","impliedFormat":1},{"version":"e605e0d80c5c72078d95814ae0233220b7eb7de4133d74ea0e939f6ff6c1b32a","impliedFormat":1},{"version":"01f37a126fd0123f283de7a8948c524c470589e4a484f7feb1245000c467f993","impliedFormat":1},{"version":"a68f2c54a7ea3c3f6bddcbe082c6577f8ddcdfbc98cea62884d0bef95aea6d4b","impliedFormat":1},{"version":"87c95a764e805bd584f47fce680a038e8c994a168a4bf2fa2c903f3ff7963524","impliedFormat":1},{"version":"26859100325a713f0f6be33f88ca82fed0d44c32ee4487ff3db39b72d675fdc4","impliedFormat":1},{"version":"9fe62175a94addab3f5d81ca26c5dd5eb4c1fae5a2e51807563c56457bd17721","impliedFormat":1},{"version":"2304bb78254e907df33ce92191d5b23dd5cdcd68b82ae8a41628e71bf3c7d3ef","impliedFormat":1},{"version":"705b89f719845a12b9bb4fcccd52dce29857494908ee6efcb481e2ec0f4aca7b","impliedFormat":1},{"version":"399dc210e42ef10b3ea207df71ac17e96320b0a7b696373e74dbc5df2efcb73a","signature":"df7a7939fa508ea369c734c762fd616dda97d192afbc6a82a5452740afd86d44"},{"version":"3d59bf11fffa85e54dfd4b50054664d014cc605b72ce60318f523e427fd99655","signature":"918ad805a38f3ca75830eaff2956f2670f4f3e88d2776fdc8a51f4214e578f02"},{"version":"fdb51e4793edbb4efcabc6385f427858ffdc7c435b28607f519a87394bfb2800","signature":"9169a39a3a574329c9ebed1ca4c349b6b54203eea3f65d92e342308682dece0b"},{"version":"f1d10d0c73eff8edfe8067c4a6aa442ec5433a837e6db7063db677cb5d4e4147","impliedFormat":1},{"version":"76d05f74738803d2079d5bd16b2ca667930f8b0c8c2268c5b41f77df9cb251c5","impliedFormat":1},{"version":"c1c48c344b692d15ac2967966b880111a1be8f51060e968dacec5ac9aac722cc","impliedFormat":1},{"version":"a0b7e4b84b52f872a363ce25aa5232efb617442dde54ad6920e50c0aa1dd933e","impliedFormat":1},{"version":"6773e0f5acdff242d7f686bd20910be96af0cc22205c042e7884f0fcf0339efa","impliedFormat":1},{"version":"f4f924f379dcd0b01a00181e02e1731ecdb62c61c46c17703d182a2650f50b39","impliedFormat":1},{"version":"08f8f0964227b04179b9086168309668bcb5913e47250dc0f049d564f4da594e","impliedFormat":1},{"version":"7820fe061431bdba0b819b6582ede2e05adc62caa4df077c0d1e655eaf0f7a5f","impliedFormat":1},{"version":"d69ac15196597b626de2d013fba011558d6c61ac5f5a1d8204157875fdec4b8d","impliedFormat":1},{"version":"b07ec15bc09909bfb190b793627f2dbec053163caefb1fd6d4f6aa76d88a29ca","impliedFormat":1},{"version":"9508bf9db05fe73847021c361c7f925c8326763cab53737958cfef9fa126cb5f","impliedFormat":1},{"version":"8c58a42464e63fcd9958d03e7d42b04dfbaa00171e14d9e0c54800e5defd3784","impliedFormat":1},{"version":"37b92684a256e2cd399127f82f0200d898c6e0b98300739a61d290a5a1a3d557","impliedFormat":1},{"version":"26233e13f02e90b6f438d665af6fd2234f722b33be81a80a65bae433c163cdab","impliedFormat":1},{"version":"1baec60d4d336d81eb675e4ffcdfbf50f5cdb1f555e748aa8e17e9686be60bd1","impliedFormat":1},{"version":"5bc7721c39f2bcc4ef5bd084e11d4649cb812fff6d37fa54411674d5435aa112","impliedFormat":1},{"version":"eabea9cda1d4c7539d6f8dbeae9703bec671fc26e7482fe4b7e1effaaa651870","impliedFormat":1},{"version":"74d414f8c5b664dd0f5239704a70cb7a4c25b0c8ca632005f02308c4e4279d26","impliedFormat":1},{"version":"fcc9d944e0fa38d0b05897d9ba60781cc0a6da4c2a9b5c190d4dc816ee4f4273","impliedFormat":1},{"version":"014fe8ffcec7873c38cb6e262a5fba9ed269f745e8a7e9ae544564e388f3ab20","signature":"76f1c77f230eec4b6c720038630a0f78999fd0a0f7a6783d8b62bd9b696a59a5"},{"version":"fe93c474ab38ac02e30e3af073412b4f92b740152cf3a751fdaee8cbea982341","impliedFormat":1},{"version":"3255b97f3f24af29c79cc1aa88004efb13b6285ebdde0a567bf32e19bb65250d","impliedFormat":1},{"version":"1e00b8bf9e3766c958218cd6144ffe08418286f89ff44ba5a2cc830c03dd22c7","impliedFormat":1},{"version":"6e33223b4de404a63f431d223ce05f7c6afbeff873199b608773bdd9ad70f9cc","affectsGlobalScope":true,"impliedFormat":99},{"version":"c1c689a7bebefda5f4be491f83845954c36bc0dac2f17635b840817ea6644220","signature":"8000afd8be3da06deec57867d192421df0a1f7a84054d25cb272437ba2e3b47e"},{"version":"4372974c7a61ecfa8d855a25b717cb04752e80f7685fef78ce24d8a15805f119","signature":"f7e282e72cde10862cd8ce8805016645a49b895035f39791a1fee6f300302e0d"},{"version":"58590c4dc13f9e6ea1464f13ea794f8c19ac95ecb8cd71b611e04fe971dbf84f","signature":"11ec656c71cf64147c36964b7bc9c741a7c2b3e3838cb1926295acb992b73b14"},{"version":"5fea2486c1da31d5b47ea5c423b2507ec0efca3dd91792deabbfa9d86d6da448","signature":"06987ed088fd35273d8be03f35027e7fce83284c4afd7734c14d5bc5769d167f"},{"version":"2128d27a422c8afc0a50b3e0acbea6420be809f9d7e64eb980e76a01e0e26a74","signature":"6171c673e99895b411dbd416f9fb27f1558a779524d9297772d0b0f091aab4fa"},{"version":"a346701ad6dcdaa58e388fe0995fc5304c09c395b8cba68ed872780f8c102004","impliedFormat":99},{"version":"7cb96ee534dedef7eb138952dc02fda0cb2caf2e02f2d3c08afab7f978d58dc3","signature":"171b593e7d096c79ddcaf10da3111066ec0608f62633dbc643117b023d279bc0"},{"version":"9ed4c877794a237b8d1da677b225a0e92acea9b96c9a2216032cffd5769e04bd","signature":"4c3b363f7bead9ad548028122dbbabbf29c724994f65b00657cf080f6c7c0614"},{"version":"db912c5082800bc1f219cea45bb637dc8d26f54a3881c02d9e960726f4ac1eb8","signature":"1043c497f77ed2451a49a4fde80a171b375ea0bc554ac33d929ae2858abba968"},{"version":"823dd66b5c24c66498aac7ae678c2f0814e65e53b65e887736cb1c651ae3627d","signature":"248705b390f502aac0ae24888936fbc83b3e5916693baba7086150e8b6abd6a1"},{"version":"79356224e1a577c5ca6e73d1f004c538a9f508683f7249cc68f094d7229a7aea","signature":"d6cfa709e9de383e0ff1e820d560a9f2004fbd878f5fbbf365c684b11207d49a"},{"version":"36b20000508997532fbea51d936e3cf8dc703e1e416bef9e00dff664f05057b8","signature":"0c594909f250069d1aea127c2f24d3246af6e450a6e280871ec1c751748d0944"},{"version":"aa746caf4b774931121ea3d5134a52c60ea9655230ab5a0045873a64320098d9","signature":"4700694dfabd3f749ec00d345f77a5aa63190cca29e959beb9eca57f7d96d1c6"},{"version":"006b673fb9c6922aae885173748176c0daec31d8b396a04335143808a5ec89c4","signature":"4bee0726981e0857928e286c1778d6935dbdcd9fa66d256174860c5d951a8721"},{"version":"00dbf4bde0c458e6b46fcd7acec29f387c7958645277c45500b137973657a8fb","signature":"ced1432f241ae8e46ba87a46a084a10828fe8b2f602ecda6ec9c3b47d6695248"},{"version":"a7ba4f383e02a46cf4abdc2fd9182ac3539ca906cc709944736ee21f9f4c5db1","signature":"ad76819ac5acc24bb85f10ca7cd177ab6f22b10d01530a32d71ad9598c1d61bd"},{"version":"f0cc17c3b251ddd8f29664fdf532bfb100faea9d411d5e3964ba7b95d577ec5b","signature":"77129ce45a937e93d3dce14c2de330d0a75370eed8f9c9b905c36cb273df950d"},{"version":"580770b9ccbcaa9db749ba4caf1b14209ec56299641eb2b25754dd9a0ad09848","signature":"239de7357bee058760afe6d8108792c66f3e35cd9f74b288a5317c141e3826a8"},{"version":"d2d60734324649ec2dca7c532fb97f9e111d5f5b7539d46dd6bcacab051c5a62","signature":"73e5b7a00c97b320715faaf88a9213ddb3393a0d966023e2245d2230dd10335c"},{"version":"e99459ffb3c7ec77dcd600dc4532c02b9ca46876368ee5e55d3b996982397f62","signature":"7a633b33540097747dbde69cb92293a0cb432a436acfbf3ee604cf7d2ce5f280"},{"version":"6411494883071faa3ab67dc9a8df35827b92b33d1f4157adfe913a308244e01f","signature":"4635ab547ad19e32755b8315a919fd76a344968ae7ea54f85bc08625e63c9855"},{"version":"7ddf3cfe8b36b647a37c7ed3c233704d686a6d546b64402a6a1e54bfa265efee","signature":"a7aa4ca6623df027ee1a4998ac1d1e1dbddd5161fbec0a5ea05a2d0853479d9b"},{"version":"f3bcc9cbe2ab33b689ad9243952148e5f012d6dd9faccc9657c02de8c0f67689","signature":"0198d9333ebc7f8e2e5c60b7917a5e4a8849269e09d88f7d63cca35cf67c4592"},{"version":"9c1b495d9c21b9c0d2807f3e7357db3a2998a1761f1ffc4c50bb3d107b10704a","signature":"7366ef9071b257c64ef13441648dbb1ac473bba083356d9b4ca4581109e67f71"},{"version":"ef1669eded1e78950c48a1524d43cfe344428c6e5ebb7262651124b8ebe1fa5b","signature":"3bfcdd15b9fa09eb3d107191078d5a19ec4ffb1369e02c6985c17bbf9a16d36a"},{"version":"29af94b6142315dd053bf4ea3089e78bd63ffcc3094ebed5ef45d305cf39d3e2","signature":"e902b6f68888de2b4785face50f0b92337635b13cd3a475fae4c66f5cd5e141c"},{"version":"bf7e9e5024ceee8f12febbc0ccb2fb53eab40f4316e4ec3b8bed3681965e2417","signature":"964bf2e49997a970b4e532d9179fec2efc61527d6489842d470f0d9f6afb255d"},{"version":"a9ae7d9a6628150246078a22dad4084dd76234f1f42dc9d8408ef1aa0ffde5eb","signature":"7dbcaf9533e75200dc24a916356e52c6a09cc4f7fcfae6f3883f3722a1ad5d61"},{"version":"cba5bc67535110d589525064d504fac20a0d3f2bcf14e549ca3988eff6d878ea","signature":"2dc7238964ac69c37b38ddf442768cfc0a6be0d415ee115a823e7afbdba546fe"},{"version":"afd4e5c1d32fe27196599b850b158a89a34fc00d2c55570e72f6b38072c71a8c","signature":"5b44b451d5ae7c740cf2739074bf6222f11e0f0adabf29118c34a60f12af82cc"},{"version":"df1c05605ee27dbfd752a99b50f2fc4fa89a5109e05a36fbc4e67cc5d8c4c864","signature":"e66505ed8c6478a526f96b7eea646a0ab02fa6c37648f175e307ff9eb1d25fa8"},{"version":"7df74332af3ac6d581dc872dc77c28f5889fee99da8a28b2b12e707c079efc15","signature":"db0de7a12a7dc714f578f90c48f78e0e5dadd29e6a85826f1c150dd52c36b8fa"},{"version":"ed955ca54583a8cb9502d136a6acee58bb6d208dfd15436b2dbefe53188244ce","signature":"e0979b1050f874febb5fffc8a1dc1b728dcb35f4d36a834bb66b33910561a28e"},{"version":"ef11fe436505ea7671d36661837cdb98d5b0e60f26898d2772e0e1a1a3219db8","signature":"60ee7eeb43017c05f5bfdf6485621ab533adc487a85261612e15ccf276f07836"},{"version":"9c220f7425bc6cb24aa6b38c6375c55d73218cebd83108f0a0e82bcbee8492f4","signature":"4edefc81156a239b6b03b186e93faceccd10b1167625724044429880efc7f2f5"},{"version":"2bc222ac147c64a087a8ac7b89b03284c95127e8c8d1eb2696907ca51a5e8fe4","signature":"a80a5097036100840a1fe904ce5bd38c9f2e6193c9d3196b0e709bc66d97be41"},{"version":"5c702097b79dd4708ce15582ed4b3f42f48fc40fb783b9025cdd391016fadd8c","signature":"64182d13188524f5f8906846006b2cbbf13bc7e4f9b89ac0fc2ef6c677ab23e6"},{"version":"115c859509e2bde22ef97ac2fe351c0cb2bd897f846aa45336ef941c90b597dc","impliedFormat":99},{"version":"79721ecdc73abe914ef5adb573cbfe8e8a7cd71f4ce82b0deccae921628a422e","signature":"a2c7797009b70eb52348e41a67459b3906c8ac468912c27a98574f7bc69de38a"},{"version":"76a9d681afaacb0e9d3e9af58d339f862d2eb6b6733e5a306bbf3d2f4eec3868","signature":"822d991b4986d54b97bc7d08cb8a7f3213b51edfff57122c821ad9a73ebae6cb"},{"version":"2f16104df993408a0076452a7d06eb28ac35af631ce2d761dd4a411b6b76a7c9","signature":"67dfebd66d8651887b54d63d5816c4a90ef322d5579b9b47b078f94d4fe47b90"},{"version":"eb37e123f9d93dff4d46e89c03abfd60428bb381b86c455ee5790192f9ddea6f","signature":"c0f29f97cf72d4cd8ed2ec1cada93c2135b88962cda2fe579e2249721fe32e75"},{"version":"2768ffd7ea72efc9f26afc42e9b9706150b711277609fd3577ac6ba9ee41e829","signature":"98434ed05a6a75435c505db2d7879113d7e65dbe842381176c38d36998cc4e41"},{"version":"ac3df436c52133e80820497dfb5fcf208ee5c0fdecc75b98ef9b2917b9e635b0","signature":"62b2f4129fb58b08ab3553307b41aa933142a016ff76012e7d26f844c2cf44e5"},{"version":"366ad525be4ce6f76bd4eeb803b2c0c6e6e8facf37d8e69cd0fc942a862f8ea6","signature":"697c0ac1721ba85ec04be8ab39f47d73bedd8e2d55b711745c14cde38e8ea985"},{"version":"e2a59a349dcf6d9db94f61f1d3d74a7626bdabc6e9dec687540b6086898e0644","signature":"285238eb95909d7c27fd98a3a1de43bed3e41220f7ac364e31f8195f92ca987e"},{"version":"05d9b7244f10dbcd7edf40f9af81749a47cab3e1b758ab613aefb8704899e133","signature":"c97030eab9e358e68f1c70998363aecea3fdce3b38f3832644cb8e7c7764a65b"},{"version":"6d7b4fbb9ec429006dff47ee929b76d2b2a3f682f3419971f9226d44ae572778","signature":"0ec93629cfd99d26d0225c378572d114562702ec0e8b652a6b2d0f0f6c5ef503"},{"version":"6da728750c67c82c9edf912d78f373e18f0ac3fbe3ba95286a4f60730f50b47c","signature":"8ba01ae5d0ade7b20a590b443419655bf2337968fca7d87e809289309e18f36b"},{"version":"4368fe719ed584b967e25bddcebc2e9892e9b238be3a1cd3e40307f4400b1521","signature":"169586a67ce7dee1034f614cee95ff898a88822c7fe5dbc794bb112b5d8f4db8"},{"version":"0b63fe47383260ce1d27dfcb6b88a2e17cef82abea81ce6a1b62b7187e678488","signature":"886a2069ce42f7bf55baba0047fe251b5f336b3fb06df28f6914b101edeaf930"},{"version":"a7fbc38d1e005d6b966e63ac48115e6bdaf4a93246d94f64e5bb4d8c3b5aadce","signature":"c0efe7b29098f7f49a9d242b51215e3c2edeea1fdbe775fd93d58ff5b8c682d8"},{"version":"291f850e7c692b45836f1a4be4487a1a5e00a784e6a2fab7aee3e283af35c991","signature":"a6df73fc08ea6f2c24ddaad8b3a4e967079af6f2ccfadb845bd2c979e09bbe9a"},{"version":"29d4f26c8eb09dd13a06068abfaf4d891a168d02e915423e5f19ab2f8e2efba4","signature":"8626bc2d28f81058cc21974b461150efc87807b61429c2911c3c7598464af530"},{"version":"4e4a0aeec53e9127be8d81914740212fad330e7f1e9d2d4f6ea78df75a0b65b5","signature":"904debe1aa988d5720874e18979aa0cf1a92fb84fb4da1e3d3d73ef7532462be"},{"version":"ad3e4f848cced945573d97a8d65a5fedc72c330660da2e67b2ff2fc0b1d7664f","signature":"5c30c5a74eaf5b9c981b9d8c9002c464fe6b96d04a54884769f3982663e27ebf"},{"version":"caf4af98bf464ad3e10c46cf7d340556f89197aab0f87f032c7b84eb8ddb24d9","impliedFormat":99},{"version":"71acd198e19fa38447a3cbc5c33f2f5a719d933fccf314aaff0e8b0593271324","impliedFormat":99},{"version":"dfd466a53a86f0bd002050d33e96b5385ac4e102e93485ff8d9943fdc2fbeb12","signature":"bb0dfbd93a35b232bb2b36042266c565e235afd18be59f6568c76ce998c22234"},{"version":"b67dea8a8d35c004c6d94c22aacbbf2340b0e536c614e4c87a69d8814a7b4502","signature":"3309423a2837bf899df1568eaa9c41430753bf2957451b4b0494c7e4f829ada1"},{"version":"036a69b03252543181d20a2012542e40ea87f36164694809f609607d24a7261e","signature":"972c711055e029e0650ad81cc14b92426a65c11a198b67efc40af8e395ef0a6a"},{"version":"7b425e907607442aa65df951ae3f9b28bcf189b74250c17528d270a98ca7ead5","signature":"064c58c74c8cdedeae7024e4c8801dd48d674561809fd9448c79566283854eef"},{"version":"541ffffc9e6533063116770ae651e359b41de8546c52a29a3b560074878a37db","signature":"93cbe28740c0a714593faad25b594962c03c44e6d9fc85b3c467ae4c2f39f005"},{"version":"e3c02c57414893f9a947294dd6995f4e76f6bbb211fb7cbef97b880ff36bc47c","signature":"48ce6782ddafceb64328a816678f98cf662e6d1a16955218d094f476904ddd23"},{"version":"1acd0bca745973fdd07da9410c17e9da0e51849ff6bf2fe99a76a002249b9e4f","signature":"80eb3d26011f447341d4a36ee59d629f8847db59908ec382813db6a666bc18bd"},{"version":"15fe687c59d62741b4494d5e623d497d55eb38966ecf5bea7f36e48fc3fbe15e","impliedFormat":1},{"version":"2b6ec8950599c0726f0ec925ed3a8e147f0a85009a0c91c77e3cbc56a5ad5a02","impliedFormat":99},{"version":"ebeadde9612fd023e900496704064e1c6d0be89e9ca567dbedfe2ca6b9cea735","impliedFormat":99},{"version":"edd6040f6ca92d4b487cef451b7b33241bd5d75ea00e9e791e8732f307bda048","signature":"b8699f38ef7fb96d76de1f255fc37ee39abeac41184755b2f190ceec8240e4ee"},{"version":"d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5","impliedFormat":1},{"version":"293eadad9dead44c6fd1db6de552663c33f215c55a1bfa2802a1bceed88ff0ec","impliedFormat":1},{"version":"833e92c058d033cde3f29a6c7603f517001d1ddd8020bc94d2067a3bc69b2a8e","impliedFormat":1},{"version":"08b2fae7b0f553ad9f79faec864b179fc58bc172e295a70943e8585dd85f600c","impliedFormat":1},{"version":"f12edf1672a94c578eca32216839604f1e1c16b40a1896198deabf99c882b340","impliedFormat":1},{"version":"e3498cf5e428e6c6b9e97bd88736f26d6cf147dedbfa5a8ad3ed8e05e059af8a","impliedFormat":1},{"version":"dba3f34531fd9b1b6e072928b6f885aa4d28dd6789cbd0e93563d43f4b62da53","impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":1},{"version":"e4b03ddcf8563b1c0aee782a185286ed85a255ce8a30df8453aade2188bbc904","impliedFormat":1},{"version":"2329d90062487e1eaca87b5e06abcbbeeecf80a82f65f949fd332cfcf824b87b","impliedFormat":1},{"version":"25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262","impliedFormat":1},{"version":"4fdb529707247a1a917a4626bfb6a293d52cd8ee57ccf03830ec91d39d606d6d","impliedFormat":1},{"version":"a9ebb67d6bbead6044b43714b50dcb77b8f7541ffe803046fdec1714c1eba206","impliedFormat":1},{"version":"5780b706cece027f0d4444fbb4e1af62dc51e19da7c3d3719f67b22b033859b9","impliedFormat":1},{"version":"ef762e4f2ee3654082bf3786ecd4af5033891780e0dba9f347b578e0acd6c31a","signature":"ce379c50c5c126ca315b138e37224731eb84f2c63704be56660b13b72e56df5b"},{"version":"5d7a42bee648293b76ac3da24a695c710302acfb10a15c58077cca2455d25805","signature":"1b97933626af2745edc2f350a6d0caa79f282103e6e4ff58998ffd883c5a487b"},{"version":"9186c047ecca5e90479085e4e45983cd953d9fdce9a1cae9d377a0fb8677d3bd","signature":"7a0ebc54f5b3c7937efcd6c9e52c754cc967ecb04f7cc888e0ad33d867858c76"},{"version":"1ddf3032bcce8a5212af623c72f8c034bdf89ff5b853cd56d0de26f07c8c1816","signature":"5be3203a30e047b20f6955fbfdbf8ef9ee1b6cd82e55ad31e318417e86ade6b1"},{"version":"b47ec64dc94b6124879b1e04bf35af23be20ff5b7367c6c690cd8dcac1f7abb9","signature":"4ce710b55d63b2d527a7e1a71bc8acedf0a0090c79b292930ad63fffa8b90d5f"},{"version":"c2b9d2b837712e402eed947bdaab73afb92089dffe543ff28a2c25033c6ffdf2","signature":"cd9b7e7b5dd71a693371645163e7ed28242bf55b92f2a658a09ce575d8af6113"},{"version":"75f59a0d59ab1ce3307a56c276b153ce7bba0516ba40b7325beac4ecc480d945","signature":"c50578a9f51ce444556114aed0119face9f19856c19c886b90657a2bf520cea1"},{"version":"373aafbc76907968f44cbf6647ec8f0afa9e64047f75e174512930907bef9b33","signature":"70669acd8e1436dfd63ffd9bc7f5e26980350507348a058b564ef20903b49ebd"},{"version":"56ada40a0d39c23d455629b1ec151e2ecd70b2801d38492692a060dba3351792","signature":"8512ac76977f044cada4157dc5aaca26d2d3ffaf7cf23432dac44e6874575fac"},{"version":"5f2a29301885e099ed2829cb22b2624f173ab2cdd44ae682ae4d35a89234a561","signature":"0ba47dae54dc8c665cfe61c940bb9ca42b81c00ba794e71e757a51d8a97ffc15"},{"version":"341a9bf9a2bb77ff1c043c53066a6dc3aeaddaf09d9a2050d1e952614b32d60e","signature":"07f72c8e015bd32acb1c45b1a269b1ba1a52419c1c4f8154bbf60a3c10c988da"},{"version":"3f1eb85b7277ffe367021293d12284b27c4a75abcca587e45589a2f355cc0f5e","signature":"822d2abcd7adbc3e09e69b6d502776b3ffc86937e00b686765ca5a269ce551a0"},{"version":"1a9466c68aabd3c6da7e9b14ce6f16bca03c0e3cbbc50f2df8aaf1cdf56d4e05","signature":"ce366f111dbb29bf43e2dfa84711e4cd67a560fe4254ee17551b2d4a5b688c26"},{"version":"a57ba85f8d0392b5d28bded3dec06f5d370f8b188940c92c5a18115bf20dbf14","signature":"8de1cf72c7bd93329d3956e8501b219032f6cd23c44c78f7f85167637d1ba7b1"},{"version":"aa33e5aedce46597b35669ae80ac7d3b2c8f8335ccc594a75b1d8f8b65d9df11","signature":"295d7e8cafe641356009481cf1befa292bede8e6fcef05eacb93151911d7aa83"},{"version":"280dc52ec56efb97164addf21a607a3444831c3311d25728be7302a27b5674de","signature":"f91322ec943522d4a8067dff4b5ffc7d9d9b17084a83ce1aaae919702a0fba3c"},{"version":"401d633bc51f5e72eb6d12f1646ab5ccd54e45291889422f42c277a82c8ebdc2","signature":"e561cef83b21cd10c162924f7f785aa30a1a9869e3c5c73c7c38ac46b224db98"},{"version":"0a020a3bf4ddba448ec43932f3ab9f2c3bfd9f3860f5bf79e155c5fd2f9acfdc","signature":"bf93cc2d12d8fc10055b711eefd1c25bbbbde22a791cc9c8dfd459f841f7ce29"},{"version":"4cdddb1ede1b65dd6c42e6d9ce69ae8758c4de13dda6db6ae2934d9e1c9a7f7a","signature":"288d13190912295d7025b217bd6cf68e5871774df7a0181a441383dc733a33ca"},{"version":"3e07b6d68b019b862b819d509a3a02b35a6fe6dae910c543f41bb5e08526b916","signature":"34ea665e0cdd7c5f7ecdcd421a0b1482d47e6612733580e00a2745f279a19432"},{"version":"43587d9bfea2bc5d4488f68e9dc032cad3d3aacef599925b30f02dd1227dbbc2","signature":"410fa9c815c0fb21541beb4a493a954acb49a3589adeed62be1f99419074f893"},{"version":"2d2d6596079bcd9cb0d206ef3f39ceeface452acc4a6d67f1dbb94ddbd6dba9b","signature":"bfbfb5da2672542187ff1390d5fd578aedc1d372f92b8f2f62ba56dac74b1328"},{"version":"74a319aec0f717df004f4a03a1906378044f2ec5778de9ef939fe7440cc6a1c1","signature":"166cfdb4e4cb6ddd7ad6ae7b418d8c8ebaefc86e7bce4c71270cbcf7da9e9292"},{"version":"12bc92d5a6149286d4050a236d1c22a1c200e8c82d4c44d00596c4a4e3c6107d","signature":"4b87a0e125a2ee58d056ec733501bdf70c84c405c380ae98c84b5c19154ac5e8"},{"version":"4ad4378aeea43621957da3c52353da5687e2bcd32bc52f4c00672a0621c9a8fc","signature":"2af055f16ebdd21cffc468298036c526486b794a85150e939ad3b022cdba723a"},{"version":"8613e297afea111110ff33d262cf84ca259bd500b8b163bc7edef48a98d2a966","signature":"e0964b07a6da8be0019f04be45968c67f1e512380015c677c7db20fcf077aeb7"},{"version":"8cc8e321807b005074abebdfdde9ffd69e68247bcde4a60e8cc44b56b5dc2e66","signature":"82007a55f8a97943d16a14551d2e8eb31a415a920fec7d51a0d529d018f54617"},{"version":"45b79dbff00579086b0f612f2b46af4db6883f2aa9745f1e8682d9bb4716a6ab","signature":"c6179d1d5bbba5a5509873ae73538335061c703069424fc04606ca414660f9ef"},{"version":"7413f801c4d9881106a2d64593215aad77c212d2ea772cac6077d9e27d9d7ac5","signature":"82007a55f8a97943d16a14551d2e8eb31a415a920fec7d51a0d529d018f54617"},{"version":"520228d2fc7e4e8fe6456dfba5468f7bd3196bedd443b7854d70ee4f8343d185","signature":"cc57f36d860cfc1005e7c6630424e32200824b16843cd9892c2974132b032cde"},{"version":"5b8b552ec4e924056da66a478c3d51761296e8ddceff9b047acc1fbf88154a69","signature":"3396b8f04165c0921c46fcaa5d0f5afd46b761724e6d86432f4a7d7d0636b79b"},{"version":"d834028f4c754991a04318699d9dea2c19c971696d909f0ff04952e0fde37f35","signature":"6b2c6a617a84f35c2c8f2e51faf56ec6a74f77785132723f7e343d5272c1b742"},{"version":"16ef615c9cbee5b35d1633f587ba2d06297ef6aaabaad20323a29317fd982210","signature":"7f5497aeced54141e2274d029b0b3d95ea70cd5c7cc1956699c85209772f5c77"},{"version":"92dfe1cb7278ffac5c23656e33d0827da93b067724f377923f618c248204fa67","signature":"dc9ec8fcc1d97c07508efc913755665fde1feb62430a327ea3f9ad0989a31ad9"},{"version":"6d6b297cbb5990aa61b4cc4b15d32a3c211ebb6b55151a4610733264e9eb1e85","signature":"891103f36f5b37ca5b93e78077873529644f1f37bb1330f1629854bf8f4a565a"},{"version":"bfaa88f361eadaad415790d23b96fadb3f5e6ba8d0f9efd24486c745b1d8f406","signature":"399b0feb0194a998b788764abcb79550f2362963281e2620e9fdc15ae069c3de"},{"version":"686f2734d8ad760eafccfdc84c0a8a029f45350c7c23291edebd2533a8c5015a","signature":"61afe6a510c76e088624b41582b8ba29b5926995ac8a8748892ac8f1f0e7597c"},{"version":"6e153b017c3322bfcda2c256af4a9d5984eeb87266f0430c9f9becc502cf6b18","signature":"ed8d1d8700183e4263d9bfa0a3824cc91a3032b444c6785395235be3d2ee4005"},{"version":"9650e83bae742de79822409feb6f2b2ed61f70475ab4f038950e55b4f932ad66","signature":"c155f97cc640363cab3c4afb6be19ec9a9be99a9185bed63fda61e8d8e173c0d"},{"version":"a3abde6175e10aa119577819a0ee33ba42b42a34bf29311bbb6c808bd7a525cc","signature":"ce55706fc964be3e6a7f642912a57000a1faba8f480ebb9fb215373f92e3654a"},{"version":"5c51e4e64d264ea6aec8b854be1f04003c46f42042f8946c77f3e4277c18c10d","signature":"692642703cd89694ed502fa1ec27d0a24694221589eb3d11df14bc78d994b368"},{"version":"2040c7eb5e3ae2a3abf0796569c391ce35800db8293d13a61a221e4b95e30d03","signature":"0a587cb277a11779346f192f2698cd77754f38fefcaca16c30f4336484c02722"},{"version":"364eeacfbc1bdf1d16690154d949ad91baa68d296dbec19ba1e2dc43b2328d31","signature":"24991486fe411737297c1ab312906c3783c68cf7bb7994067adec02f5b09f84a"},{"version":"bf1daafe347b0601738730267356f3cce0fa0b7e1e120177d24cfd47be1000b1","signature":"758cc6cd7d09f30edcb54eef0e34374361a594a71a812d05e99127a0096658a8"},{"version":"727e89104c93ad93287dc48193457a29cb14476f33cb557e727d34d24bea450a","signature":"8501181dfb03812f099d96b6136fea90d96012c395b543329b79c7fc4c5058aa"},{"version":"4e45ba5a28388f7d0446c30d49e3c1527b70540d711a063bf337558603acd517","signature":"3c3b6fb70b7cb90edb2144b045a9e33a5fd050305ea61f4f71d2ce66c144035b"},{"version":"32cd0dca1710c86231fdd586c1c84cdd879dbc113341c2701c1a5fef80e40a69","signature":"7fbed88d7c7058501d9c5040e43eb53eae6dbc7ac1241af308dc5f66c1f89b76"},{"version":"fe129dfed3d3ab47e571da0b90e37cb3753dd7c88e0b9fc50b98bd882232d790","signature":"8fd57a820bfffc00a5287a809d870f9826867c1681d6d3609d4e54850a76e417"},{"version":"4c92a1329a7d6d78642f6cd74814981c21fac78a3079522e375a9a67ed52e138","signature":"9f4c9ef2efe75e269dc07e9cf3a500d44314c25e59b3525a5a2ae97c53638199"},{"version":"99dd3e0d4f258fae4cecf325c08e61c3f4bf2b1c6dc53e748802ff0b357122ac","signature":"c4a68a57535ba786c1328af5242c190c36cc63dfe614c29c1c8dc5efde3eb78d"},{"version":"a58481cfd655fba8aea4a656e31d0b4b7506ee94d93e87449f9a6faa012e0984","signature":"68a792f587621b0d3774bf4b66f23d45acef8c8c648539925b5420f259afba6c"},{"version":"8bb2894e79ef723a8358a2f6cbd69aa59e1c1ec3268aa4c1d5872e5ec722222c","signature":"a70060af261697b22b454824094357adf2125e7f37fd1a97f5349f53ce4e5584"},{"version":"f724ade2d4e93a4d05f81875466f4475f1a327a8aacf3f195f50ff55329e742a","signature":"0bbf18568ed5c8bfe25a6ac9d17485251e9c0d8ef9cb7dd1c53cc41d804e0df7"},{"version":"854268d3897e2321f6571ec1935b3f7d5852cce27347b823006c5dd823b85fc9","signature":"235a5b6ccd589820e01ce258b1ab2293ef5f5e8551676f5a3c25c1df67e63289"},{"version":"625127b39354798a2fbec4de8efc713e51b77a3ed82890225ca32c8dfe7ff16d","signature":"c4e930527562856e471ae6fcc18a40d122f7bf68c0d7ab45d70d00c26fbc2a24"},{"version":"668527131b36a1314594648ff5834d3ce4f5773a3467a2e15c457a6f3101808f","signature":"44f67e7dc12960b148988fc948ebffe44a21bdd44088a678ad4e122b8a31dda5"},{"version":"3529cd4cdc1a04dc5de2af15edefc3a977c1b58c3ea7069d737eb99e2b76a522","signature":"6957edc175ca3fad278307b5268767536ce55cb833f3fc2b5dc2eb7e246ccf12"},{"version":"fa0e7853b961b76dd44df0b648d4e77590a8c907dd813d69d7b301582905aa33","signature":"df48334f28055aa3ccdbfeed46ee5018704cf5b18133fb4776fbe5104134d601"},{"version":"e573b6c1663735f6b76597a01f310362b9ea2f447fa85272a929c8d172c123df","signature":"4a50c9f21c01f1f6f8c0bfe5e3339fde13246d00a12c2e9757ed6c8d6678f4db"},{"version":"6c05d0fcee91437571513c404e62396ee798ff37a2d8bef2104accdc79deb9c0","impliedFormat":1},{"version":"7c1edcfa7a0614bfc279aeb8ce3e60e0642b1c24a6ff3d4d03d3e256efc95b20","signature":"8ced3e19a179346437c1ac65e063a793f4559fd0281c8b4c6ab4e34e51892085"},{"version":"40f95f7a7fc201de996bd17616be83cba94bdd04cd141529968438db7fc02cb3","signature":"8d1550565807bc336cf75eccb964ccc9740e7114ec7280112b19723098bbce32"},{"version":"0943a6e4e026d0de8a4969ee975a7283e0627bf41aa4635d8502f6f24365ac9b","impliedFormat":99},{"version":"1461efc4aefd3e999244f238f59c9b9753a7e3dfede923ebe2b4a11d6e13a0d0","impliedFormat":99},{"version":"789b258bfc80b22f9634539e5b7b8d06acb68eb2842347326fdfb5b9eed79d93","signature":"0bb7dc51869cf43a818dd6d08599897543f5375fc02213c86c980cd8a56eb396"},{"version":"8dd450de6d756cee0761f277c6dc58b0b5a66b8c274b980949318b8cad26d712","impliedFormat":99},{"version":"904d6ad970b6bd825449480488a73d9b98432357ab38cf8d31ffd651ae376ff5","impliedFormat":99},{"version":"dfcf16e716338e9fe8cf790ac7756f61c85b83b699861df970661e97bf482692","impliedFormat":99},{"version":"31c30cc54e8c3da37c8e2e40e5658471f65915df22d348990d1601901e8c9ff3","impliedFormat":99},{"version":"8181c7be76533bb5e1d721274cf16bcc07dbe25c521aa6f15e01fe8a302eb481","signature":"506de066b3c5993482ff65065ba1d1fa69180a24eb20b6c5fb15141fc9d42400"},{"version":"dce4f80f612a79389688cc8f765cccde46d5af4881ea899cc694187ac386757a","signature":"6730bbdfd0ecd7e5e023e8609313bb5a25a7f1594a133669f4febf373eb5c6f1"},{"version":"caf4af98bf464ad3e10c46cf7d340556f89197aab0f87f032c7b84eb8ddb24d9","impliedFormat":99},{"version":"36d8011f1437aecf0e6e88677d933e4fb3403557f086f4ac00c5a4cb6d028ac2","impliedFormat":99},{"version":"09035a9c5b8211fffd34f06a6ec44e053b0d753390e40aea970cb59773176714","signature":"fca9bc9ef189961ee8b8ae7a29d2ee2ddbab2e15d1fefa8f3fb4d6005ef35bd8"},{"version":"a9373d52584b48809ffd61d74f5b3dfd127da846e3c4ee3c415560386df3994b","impliedFormat":99},{"version":"caf4af98bf464ad3e10c46cf7d340556f89197aab0f87f032c7b84eb8ddb24d9","impliedFormat":99},{"version":"8085954ba165e611c6230596078063627f3656fed3fb68ad1e36a414c4d7599a","impliedFormat":99},{"version":"9effa6f9decfeb6230e20958c815cdfef8bd84f6ec6aafc8e2e87c5e4c64b4b2","signature":"a548630f941a3440739c0de45a1e20495f57ea8abebe98425a124bfc6ebb8d75"},{"version":"801c5fac01248e8e4692b58a6ee5c6a50a3cddb9b095e0bb2e04aff201313b6c","signature":"5759cb11825992823d4a1b694974bf261d262a376225b14bb295845851160aa2"},{"version":"caf4af98bf464ad3e10c46cf7d340556f89197aab0f87f032c7b84eb8ddb24d9","impliedFormat":99},{"version":"9c580c6eae94f8c9a38373566e59d5c3282dc194aa266b23a50686fe10560159","impliedFormat":99},{"version":"96ef29b5aa9a169fd23a813ebbd4a721ba693c9ba73b9bdd9b4ece6788e9279c","signature":"dbb75a08150c6031b2a036d35c99fe58bd58afb83ea378200726f7686979b649"},{"version":"07203100cedafa78bd03b8ffe71559d29c35bfe7ea034449ed21d1008907cc0e","signature":"7f1a63df38832b63ac8fd0d109e01b04dca1a8911debb304a6e6a6b129dda6f5"},{"version":"57ae71d27ee71b7d1f2c6d867ddafbbfbaa629ad75565e63a508dbaa3ef9f859","impliedFormat":99},{"version":"60924ca0c60f0674f208bfa1eaaa54e6973ced7650df7c7a81ae069730ef665a","impliedFormat":99},{"version":"e3181c7595a89dd03ba9a20eb5065fa37e0b0a514261bed774f6ae2241634470","impliedFormat":99},{"version":"c42d5cbf94816659c01f7c2298d0370247f1a981f8ca6370301b7a03b3ced950","impliedFormat":99},{"version":"18c18ab0341fd5fdfefb5d992c365be1696bfe000c7081c964582b315e33f8f2","impliedFormat":99},{"version":"dafbd4199902d904e3d4a233b5faf5dc4c98847fcd8c0ddd7617b2aed50e90d8","impliedFormat":99},{"version":"9fc866f9783d12d0412ed8d68af5e4c9e44f0072d442b0c33c3bda0a5c8cae15","impliedFormat":99},{"version":"5fc13d24a2d0328eac00c4e73cc052a987fbced2151bc0d3b7eb8f3ba4d0f4e2","impliedFormat":99},{"version":"2cef84bf00cbdb452fdc5d8ecfe7b8c0aa3fa788bdc4ad8961e2e636530dbb60","impliedFormat":99},{"version":"24104650185414f379d5cc35c0e2c19f06684a73de5b472bae79e0d855771ecf","impliedFormat":99},{"version":"799003c0ab928582fca04977f47b8d85b43a8de610f4eef0ad2d069fbb9f9399","impliedFormat":99},{"version":"b13dd41c344a23e085f81b2f5cd96792e6b35ae814f32b25e39d9841844ad240","impliedFormat":99},{"version":"17d8b4e6416e48b6e23b73d05fd2fde407e2af8fddbe9da2a98ede14949c3489","impliedFormat":99},{"version":"6d17b2b41f874ab4369b8e04bdbe660163ea5c8239785c850f767370604959e3","impliedFormat":99},{"version":"04b4c044c8fe6af77b6c196a16c41e0f7d76b285d036d79dcaa6d92e24b4982b","impliedFormat":99},{"version":"30bdeead5293c1ddfaea4097d3e9dd5a6b0bc59a1e07ff4714ea1bbe7c5b2318","impliedFormat":99},{"version":"e7df226dcc1b0ce76b32f160556f3d1550124c894aae2d5f73cefaaf28df7779","impliedFormat":99},{"version":"f2b7eef5c46c61e6e72fba9afd7cc612a08c0c48ed44c3c5518559d8508146a2","impliedFormat":99},{"version":"00f0ba57e829398d10168b7db1e16217f87933e61bd8612b53a894bd7d6371da","impliedFormat":99},{"version":"126b20947d9fa74a88bb4e9281462bda05e529f90e22d08ee9f116a224291e84","impliedFormat":99},{"version":"40d9e43acee39702745eb5c641993978ac40f227475eacc99a83ba893ad995db","impliedFormat":99},{"version":"8a66b69b21c8de9cb88b4b6d12f655d5b7636e692a014c5aa1bd81745c8c51d5","impliedFormat":99},{"version":"ebbb846bdd5a78fdacff59ae04cea7a097912aeb1a2b34f8d88f4ebb84643069","impliedFormat":99},{"version":"7321adb29ffd637acb33ee67ea035f1a97d0aa0b14173291cc2fd58e93296e04","impliedFormat":99},{"version":"320816f1a4211188f07a782bdb6c1a44555b3e716ce13018f528ad7387108d5f","impliedFormat":99},{"version":"b2cc8a474b7657f4a03c67baf6bff75e26635fd4b5850675e8cad524a09ddd0c","impliedFormat":99},{"version":"0d081e9dc251063cc69611041c17d25847e8bdbe18164baaa89b7f1f1633c0ab","impliedFormat":99},{"version":"a64c25d8f4ec16339db49867ea2324e77060782993432a875d6e5e8608b0de1e","impliedFormat":99},{"version":"0739310b6b777f3e2baaf908c0fbc622c71160e6310eb93e0d820d86a52e2e23","impliedFormat":99},{"version":"37b32e4eadd8cd3c263e7ac1681c58b2ac54f3f77bb34c5e4326cc78516d55a9","impliedFormat":99},{"version":"9b7a8974e028c4ed6f7f9abb969e3eb224c069fd7f226e26fcc3a5b0e2a1eba8","impliedFormat":99},{"version":"e8100b569926a5592146ed68a0418109d625a045a94ed878a8c5152b1379237c","impliedFormat":99},{"version":"594201c616c318b7f3149a912abd8d6bdf338d765b7bcbde86bca2e66b144606","impliedFormat":99},{"version":"03e380975e047c5c6ded532cf8589e6cc85abb7be3629e1e4b0c9e703f2fd36f","impliedFormat":99},{"version":"fae14b53b7f52a8eb3274c67c11f261a58530969885599efe3df0277b48909e1","impliedFormat":99},{"version":"c41206757c428186f2e0d1fd373915c823504c249336bdc9a9c9bbdf9da95fef","impliedFormat":99},{"version":"e961f853b7b0111c42b763a6aa46fc70d06a697db3d8ed69b38f7ba0ae42a62b","impliedFormat":99},{"version":"3db90f79e36bcb60b3f8de1bc60321026800979c150e5615047d598c787a64b7","impliedFormat":99},{"version":"639b6fb3afbb8f6067c1564af2bd284c3e883f0f1556d59bd5eb87cdbbdd8486","impliedFormat":99},{"version":"49795f5478cb607fd5965aa337135a8e7fd1c58bc40c0b6db726adf186dd403f","impliedFormat":99},{"version":"7d8890e6e2e4e215959e71d5b5bd49482cf7a23be68d48ea446601a4c99bd511","impliedFormat":99},{"version":"d56f72c4bb518de5702b8b6ae3d3c3045c99e0fd48b3d3b54c653693a8378017","impliedFormat":99},{"version":"4c9ac40163e4265b5750510d6d2933fb7b39023eed69f7b7c68b540ad960826e","impliedFormat":99},{"version":"8dfab17cf48e7be6e023c438a9cdf6d15a9b4d2fa976c26e223ba40c53eb8da8","impliedFormat":99},{"version":"38bdf7ccacfd8e418de3a7b1e3cecc29b5625f90abc2fa4ac7843a290f3bf555","impliedFormat":99},{"version":"9819e46a914735211fbc04b8dc6ba65152c62e3a329ca0601a46ba6e05b2c897","impliedFormat":99},{"version":"50f0dc9a42931fb5d65cdd64ba0f7b378aedd36e0cfca988aa4109aad5e714cb","impliedFormat":99},{"version":"894f23066f9fafccc6e2dd006ed5bd85f3b913de90f17cf1fe15a2eb677fd603","impliedFormat":99},{"version":"abdf39173867e6c2d6045f120a316de451bbb6351a6929546b8470ddf2e4b3b9","impliedFormat":99},{"version":"aa2cb4053f948fbd606228195bbe44d78733861b6f7204558bbee603202ee440","impliedFormat":99},{"version":"6911b41bfe9942ac59c2da1bbcbe5c3c1f4e510bf65cae89ed00f434cc588860","impliedFormat":99},{"version":"7b81bc4d4e2c764e85d869a8dd9fe3652b34b45c065482ac94ffaacc642b2507","impliedFormat":99},{"version":"895df4edb46ccdcbce2ec982f5eed292cf7ea3f7168f1efea738ee346feab273","impliedFormat":99},{"version":"8692bb1a4799eda7b2e3288a6646519d4cebb9a0bddf800085fc1bd8076997a0","impliedFormat":99},{"version":"239c9e98547fe99711b01a0293f8a1a776fc10330094aa261f3970aaba957c82","impliedFormat":99},{"version":"34833ec50360a32efdc12780ae624e9a710dd1fd7013b58c540abf856b54285a","impliedFormat":99},{"version":"647538e4007dcc351a8882067310a0835b5bb8559d1cfa5f378e929bceb2e64d","impliedFormat":99},{"version":"992d6b1abcc9b6092e5a574d51d441238566b6461ade5de53cb9718e4f27da46","impliedFormat":99},{"version":"938702305649bf1050bd79f3803cf5cc2904596fc1edd4e3b91033184eae5c54","impliedFormat":99},{"version":"1e931d3c367d4b96fe043e792196d9c2cf74f672ff9c0b894be54e000280a79d","impliedFormat":99},{"version":"05bec322ea9f6eb9efcd6458bb47087e55bd688afdd232b78379eb5d526816ed","impliedFormat":99},{"version":"4c449a874c2d2e5e5bc508e6aa98f3140218e78c585597a21a508a647acd780a","impliedFormat":99},{"version":"dae15e326140a633d7693e92b1af63274f7295ea94fb7c322d5cbe3f5e48be88","impliedFormat":99},{"version":"c2b0a869713bca307e58d81d1d1f4b99ebfc7ec8b8f17e80dde40739aa8a2bc6","impliedFormat":99},{"version":"6e4b4ff6c7c54fa9c6022e88f2f3e675eac3c6923143eb8b9139150f09074049","impliedFormat":99},{"version":"69559172a9a97bbe34a32bff8c24ef1d8c8063feb5f16a6d3407833b7ee504cf","impliedFormat":99},{"version":"86b94a2a3edcb78d9bfcdb3b382547d47cb017e71abe770c9ee8721e9c84857f","impliedFormat":99},{"version":"e3fafafda82853c45c0afc075fea1eaf0df373a06daf6e6c7f382f9f61b2deb3","impliedFormat":99},{"version":"a4ba4b31de9e9140bc49c0addddbfaf96b943a7956a46d45f894822e12bf5560","impliedFormat":99},{"version":"d8a7926fc75f2ed887f17bae732ee31a4064b8a95a406c87e430c58578ee1f67","impliedFormat":99},{"version":"9886ffbb134b0a0059fd82219eba2a75f8af341d98bc6331b6ef8a921e10ec68","impliedFormat":99},{"version":"c2ead057b70d0ae7b87a771461a6222ebdb187ba6f300c974768b0ae5966d10e","impliedFormat":99},{"version":"46687d985aed8485ab2c71085f82fafb11e69e82e8552cf5d3849c00e64a00a5","impliedFormat":99},{"version":"999ca66d4b5e2790b656e0a7ce42267737577fc7a52b891e97644ec418eff7ec","impliedFormat":99},{"version":"ec948ee7e92d0888f92d4a490fdd0afb27fbf6d7aabebe2347a3e8ac82c36db9","impliedFormat":99},{"version":"03ef2386c683707ce741a1c30cb126e8c51a908aa0acc01c3471fafb9baaacd5","impliedFormat":99},{"version":"66a372e03c41d2d5e920df5282dadcec2acae4c629cb51cab850825d2a144cea","impliedFormat":99},{"version":"ddf9b157bd4c06c2e4646c9f034f36267a0fbd028bd4738214709de7ea7c548b","impliedFormat":99},{"version":"3e795aac9be23d4ad9781c00b153e7603be580602e40e5228e2dafe8a8e3aba1","impliedFormat":99},{"version":"98c461ec5953dfb1b5d5bca5fee0833c8a932383b9e651ca6548e55f1e2c71c3","impliedFormat":99},{"version":"5c42107b46cb1d36b6f1dee268df125e930b81f9b47b5fa0b7a5f2a42d556c10","impliedFormat":99},{"version":"7e32f1251d1e986e9dd98b6ff25f62c06445301b94aeebdf1f4296dbd2b8652f","impliedFormat":99},{"version":"2f7e328dda700dcb2b72db0f58c652ae926913de27391bd11505fc5e9aae6c33","impliedFormat":99},{"version":"3de7190e4d37da0c316db53a8a60096dbcd06d1a50677ccf11d182fa26882080","impliedFormat":99},{"version":"a9d6f87e59b32b02c861aade3f4477d7277c30d43939462b93f48644fa548c58","impliedFormat":99},{"version":"2bce8fd2d16a9432110bbe0ba1e663fd02f7d8b8968cd10178ea7bc306c4a5df","impliedFormat":99},{"version":"798bedbf45a8f1e55594e6879cd46023e8767757ecce1d3feaa78d16ad728703","impliedFormat":99},{"version":"62723d5ac66f7ed6885a3931dd5cfa017797e73000d590492988a944832e8bc2","impliedFormat":99},{"version":"03db8e7df7514bf17fc729c87fff56ca99567b9aa50821f544587a666537c233","impliedFormat":99},{"version":"9b1f311ba4409968b68bf20b5d892dbd3c5b1d65c673d5841c7dbde351bc0d0b","impliedFormat":99},{"version":"2d1e8b5431502739fe335ceec0aaded030b0f918e758a5d76f61effa0965b189","impliedFormat":99},{"version":"e725839b8f884dab141b42e9d7ff5659212f6e1d7b4054caa23bc719a4629071","impliedFormat":99},{"version":"4fa38a0b8ae02507f966675d0a7d230ed67c92ab8b5736d99a16c5fbe2b42036","impliedFormat":99},{"version":"50ec1e8c23bad160ddedf8debeebc722becbddda127b8fdce06c23eacd3fe689","impliedFormat":99},{"version":"9a0aea3a113064fd607f41375ade308c035911d3c8af5ae9db89593b5ca9f1f9","impliedFormat":99},{"version":"8d643903b58a0bf739ce4e6a8b0e5fb3fbdfaacbae50581b90803934b27d5b89","impliedFormat":99},{"version":"19de2915ccebc0a1482c2337b34cb178d446def2493bf775c4018a4ea355adb8","impliedFormat":99},{"version":"9be8fc03c8b5392cd17d40fd61063d73f08d0ee3457ecf075dcb3768ae1427bd","impliedFormat":99},{"version":"a2d89a8dc5a993514ca79585039eea083a56822b1d9b9d9d85b14232e4782cbe","impliedFormat":99},{"version":"f526f20cae73f17e8f38905de4c3765287575c9c4d9ecacee41cfda8c887da5b","impliedFormat":99},{"version":"d9ec0978b7023612b9b83a71fee8972e290d02f8ff894e95cdd732cd0213b070","impliedFormat":99},{"version":"7ab10c473a058ec8ac4790b05cae6f3a86c56be9b0c0a897771d428a2a48a9f9","impliedFormat":99},{"version":"451d7a93f8249d2e1453b495b13805e58f47784ef2131061821b0e456a9fd0e1","impliedFormat":99},{"version":"21c56fe515d227ed4943f275a8b242d884046001722a4ba81f342a08dbe74ae2","impliedFormat":99},{"version":"d8311f0c39381aa1825081c921efde36e618c5cf46258c351633342a11601208","impliedFormat":99},{"version":"6b50c3bcc92dc417047740810596fcb2df2502aa3f280c9e7827e87896da168a","impliedFormat":99},{"version":"18a6b318d1e7b31e5749a52be0cf9bbce1b275f63190ef32e2c79db0579328ca","impliedFormat":99},{"version":"6a2d0af2c27b993aa85414f3759898502aa198301bc58b0d410948fe908b07b0","impliedFormat":99},{"version":"2da11b6f5c374300e5e66a6b01c3c78ec21b5d3fec0748a28cc28e00be73e006","impliedFormat":99},{"version":"0729691b39c24d222f0b854776b00530877217bfc30aac1dc7fa2f4b1795c536","impliedFormat":99},{"version":"ca45bb5c98c474d669f0e47615e4a5ae65d90a2e78531fda7862ee43e687a059","impliedFormat":99},{"version":"c1c058b91d5b9a24c95a51aea814b0ad4185f411c38ac1d5eef0bf3cebec17dc","impliedFormat":99},{"version":"3ab0ed4060b8e5b5e594138aab3e7f0262d68ad671d6678bcda51568d4fc4ccc","impliedFormat":99},{"version":"e2bf1faba4ff10a6020c41df276411f641d3fdce5c6bae1db0ec84a0bf042106","impliedFormat":99},{"version":"80b0a8fe14d47a71e23d7c3d4dcee9584d4282ef1d843b70cab1a42a4ea1588c","impliedFormat":99},{"version":"a0f02a73f6e3de48168d14abe33bf5970fdacdb52d7c574e908e75ad571e78f7","impliedFormat":99},{"version":"c728002a759d8ec6bccb10eed56184e86aeff0a762c1555b62b5d0fa9d1f7d64","impliedFormat":99},{"version":"586f94e07a295f3d02f847f9e0e47dbf14c16e04ccc172b011b3f4774a28aaea","impliedFormat":99},{"version":"cfe1a0f4ed2df36a2c65ea6bc235dbb8cf6e6c25feb6629989f1fa51210b32e7","impliedFormat":99},{"version":"8ba69c9bf6de79c177329451ffde48ddab7ec495410b86972ded226552f664df","impliedFormat":99},{"version":"15111cbe020f8802ad1d150524f974a5251f53d2fe10eb55675f9df1e82dbb62","impliedFormat":99},{"version":"782dc153c56a99c9ed07b2f6f497d8ad2747764966876dbfef32f3e27ce11421","impliedFormat":99},{"version":"cc2db30c3d8bb7feb53a9c9ff9b0b859dd5e04c83d678680930b5594b2bf99cb","impliedFormat":99},{"version":"46909b8c85a6fd52e0807d18045da0991e3bdc7373435794a6ba425bc23cc6be","impliedFormat":99},{"version":"e4e511ff63bb6bd69a2a51e472c6044298bca2c27835a34a20827bc3ef9b7d13","impliedFormat":99},{"version":"2c86f279d7db3c024de0f21cd9c8c2c972972f842357016bfbbd86955723b223","impliedFormat":99},{"version":"112c895cff9554cf754f928477c7d58a21191c8089bffbf6905c87fe2dc6054f","impliedFormat":99},{"version":"8cfc293b33082003cacbf7856b8b5e2d6dd3bde46abbd575b0c935dc83af4844","impliedFormat":99},{"version":"d2c5c53f85ce0474b3a876d76c4fc44ff7bb766b14ed1bf495f9abac181d7f5f","impliedFormat":99},{"version":"3c523f27926905fcbe20b8301a0cc2da317f3f9aea2273f8fc8d9ae88b524819","impliedFormat":99},{"version":"9ca0d706f6b039cc52552323aeccb4db72e600b67ddc7a54cebc095fc6f35539","impliedFormat":99},{"version":"a64909a9f75081342ddd061f8c6b49decf0d28051bc78e698d347bdcb9746577","impliedFormat":99},{"version":"7d8d55ae58766d0d52033eae73084c4db6a93c4630a3e17f419dd8a0b2a4dcd8","impliedFormat":99},{"version":"b8b5c8ba972d9ffff313b3c8a3321e7c14523fc58173862187e8d1cb814168ac","impliedFormat":99},{"version":"9c42c0fa76ee36cf9cc7cc34b1389fbb4bd49033ec124b93674ec635fabf7ffe","impliedFormat":99},{"version":"6184c8da9d8107e3e67c0b99dedb5d2dfe5ccf6dfea55c2a71d4037caf8ca196","impliedFormat":99},{"version":"4030ceea7bf41449c1b86478b786e3b7eadd13dfe5a4f8f5fe2eb359260e08b3","impliedFormat":99},{"version":"7bf516ec5dfc60e97a5bde32a6b73d772bd9de24a2e0ec91d83138d39ac83d04","impliedFormat":99},{"version":"e6a6fb3e6525f84edf42ba92e261240d4efead3093aca3d6eb1799d5942ba393","impliedFormat":99},{"version":"45df74648934f97d26800262e9b2af2f77ef7191d4a5c2eb1df0062f55e77891","impliedFormat":99},{"version":"3fe361e4e567f32a53af1f2c67ad62d958e3d264e974b0a8763d174102fe3b29","impliedFormat":99},{"version":"28b520acee4bc6911bfe458d1ad3ebc455fa23678463f59946ad97a327c9ab2b","impliedFormat":99},{"version":"121b39b1a9ad5d23ed1076b0db2fe326025150ef476dccb8bf87778fcc4f6dd7","impliedFormat":99},{"version":"f791f92a060b52aa043dde44eb60307938f18d4c7ac13df1b52c82a1e658953f","impliedFormat":99},{"version":"df09443e7743fd6adc7eb108e760084bacdf5914403b7aac5fbd4dc4e24e0c2c","impliedFormat":99},{"version":"eeb4ff4aa06956083eaa2aad59070361c20254b865d986bc997ee345dbd44cbb","impliedFormat":99},{"version":"ed84d5043444d51e1e5908f664addc4472c227b9da8401f13daa565f23624b6e","impliedFormat":99},{"version":"146bf888b703d8baa825f3f2fb1b7b31bda5dff803e15973d9636cdda33f4af3","impliedFormat":99},{"version":"b4ec8b7a8d23bdf7e1c31e43e5beac3209deb7571d2ccf2a9572865bf242da7c","impliedFormat":99},{"version":"3fba0d61d172091638e56fba651aa1f8a8500aac02147d29bd5a9cc0bc8f9ec2","impliedFormat":99},{"version":"a5a57deb0351b03041e0a1448d3a0cc5558c48e0ed9b79b69c99163cdca64ad8","impliedFormat":99},{"version":"9bcecf0cbc2bfc17e33199864c19549905309a0f9ecc37871146107aac6e05ae","impliedFormat":99},{"version":"d6a211db4b4a821e93c978add57e484f2a003142a6aef9dbfa1fe990c66f337b","impliedFormat":99},{"version":"bd4d10bd44ce3f630dd9ce44f102422cb2814ead5711955aa537a52c8d2cae14","impliedFormat":99},{"version":"08e4c39ab1e52eea1e528ee597170480405716bae92ebe7a7c529f490afff1e0","impliedFormat":99},{"version":"625bb2bc3867557ea7912bd4581288a9fca4f3423b8dffa1d9ed57fafc8610e3","impliedFormat":99},{"version":"d1992164ecc334257e0bef56b1fd7e3e1cea649c70c64ffc39999bb480c0ecdf","impliedFormat":99},{"version":"a53ff2c4037481eb357e33b85e0d78e8236e285b6428b93aa286ceea1db2f5dc","impliedFormat":99},{"version":"4fe608d524954b6857d78857efce623852fcb0c155f010710656f9db86e973a5","impliedFormat":99},{"version":"b53b62a9838d3f57b70cc456093662302abb9962e5555f5def046172a4fe0d4e","impliedFormat":99},{"version":"9866369eb72b6e77be2a92589c9df9be1232a1a66e96736170819e8a1297b61f","impliedFormat":99},{"version":"43abfbdf4e297868d780b8f4cfdd8b781b90ecd9f588b05e845192146a86df34","impliedFormat":99},{"version":"582419791241fb851403ae4a08d0712a63d4c94787524a7419c2bc8e0eb1b031","impliedFormat":99},{"version":"18437eeb932fe48590b15f404090db0ab3b32d58f831d5ffc157f63b04885ee5","impliedFormat":99},{"version":"0c5eaedf622d7a8150f5c2ec1f79ac3d51eea1966b0b3e61bfdea35e8ca213a7","impliedFormat":99},{"version":"fac39fc7a9367c0246de3543a6ee866a0cf2e4c3a8f64641461c9f2dac0d8aae","impliedFormat":99},{"version":"3b9f559d0200134f3c196168630997caedeadc6733523c8b6076a09615d5dec8","impliedFormat":99},{"version":"932af64286d9723da5ef7b77a0c4229829ce8e085e6bcc5f874cb0b83e8310d4","impliedFormat":99},{"version":"adeb9278f11f5561157feee565171c72fd48f5fe34ed06f71abf24e561fcaa1e","impliedFormat":99},{"version":"2269fef79b4900fc6b08c840260622ca33524771ff24fda5b9101ad98ea551f3","impliedFormat":99},{"version":"73d47498a1b73d5392d40fb42a3e7b009ae900c8423f4088c4faa663cc508886","impliedFormat":99},{"version":"7efc34cdc4da0968c3ba687bc780d5cacde561915577d8d1c1e46c7ac931d023","impliedFormat":99},{"version":"3c20a3bb0c50c819419f44aa55acc58476dad4754a16884cef06012d02b0722f","impliedFormat":99},{"version":"4569abf6bc7d51a455503670f3f1c0e9b4f8632a3b030e0794c61bfbba2d13be","impliedFormat":99},{"version":"98b2297b4dc1404078a54b61758d8643e4c1d7830af724f3ed2445d77a7a2d57","impliedFormat":99},{"version":"952ba89d75f1b589e07070fea2d8174332e3028752e76fd46e1c16cc51e6e2af","impliedFormat":99},{"version":"b6c9a2deefb6a57ff68d2a38d33c34407b9939487fc9ee9f32ba3ecf2987a88a","impliedFormat":99},{"version":"f6b371377bab3018dac2bca63e27502ecbd5d06f708ad7e312658d3b5315d948","impliedFormat":99},{"version":"31947dd8f1c8eeb7841e1f139a493a73bd520f90e59a6415375d0d8e6a031f01","impliedFormat":99},{"version":"95cd83b807e10b1af408e62caf5fea98562221e8ddca9d7ccc053d482283ddda","impliedFormat":99},{"version":"19287d6b76288c2814f1633bdd68d2b76748757ffd355e73e41151644e4773d6","impliedFormat":99},{"version":"fc4e6ec7dade5f9d422b153c5d8f6ad074bd9cc4e280415b7dc58fb5c52b5df1","impliedFormat":99},{"version":"3aea973106e1184db82d8880f0ca134388b6cbc420f7309d1c8947b842886349","impliedFormat":99},{"version":"765e278c464923da94dda7c2b281ece92f58981642421ae097862effe2bd30fa","impliedFormat":99},{"version":"de260bed7f7d25593f59e859bd7c7f8c6e6bb87e8686a0fcafa3774cb5ca02d8","impliedFormat":99},{"version":"b5c341ce978f5777fbe05bc86f65e9906a492fa6b327bda3c6aae900c22e76c6","impliedFormat":99},{"version":"686ddbfaf88f06b02c6324005042f85317187866ca0f8f4c9584dd9479653344","impliedFormat":99},{"version":"7f789c0c1db29dd3aab6e159d1ba82894a046bf8df595ac48385931ae6ad83e0","impliedFormat":99},{"version":"8eb3057d4fe9b59b2492921b73a795a2455ebe94ccb3d01027a7866612ead137","impliedFormat":99},{"version":"1e43c5d7aee1c5ec20611e28b5417f5840c75d048de9d7f1800d6808499236f8","impliedFormat":99},{"version":"d42610a5a2bee4b71769968a24878885c9910cd049569daa2d2ee94208b3a7a5","impliedFormat":99},{"version":"f6ed95506a6ed2d40ed5425747529befaa4c35fcbbc1e0d793813f6d725690fa","impliedFormat":99},{"version":"a6fcc1cd6583939506c906dff1276e7ebdc38fbe12d3e108ba38ad231bd18d97","impliedFormat":99},{"version":"ed13354f0d96fb6d5878655b1fead51722b54875e91d5e53ef16de5b71a0e278","impliedFormat":99},{"version":"1193b4872c1fb65769d8b164ca48124c7ebacc33eae03abf52087c2b29e8c46c","impliedFormat":99},{"version":"af682dfabe85688289b420d939020a10eb61f0120e393d53c127f1968b3e9f66","impliedFormat":99},{"version":"0dca04006bf13f72240c6a6a502df9c0b49c41c3cab2be75e81e9b592dcd4ea8","impliedFormat":99},{"version":"79d6ac4a2a229047259116688f9cd62fda25422dee3ad304f77d7e9af53a41ef","impliedFormat":99},{"version":"64534c17173990dc4c3d9388d16675a059aac407031cfce8f7fdffa4ee2de988","impliedFormat":99},{"version":"ba46d160a192639f3ca9e5b640b870b1263f24ac77b6895ab42960937b42dcbb","impliedFormat":99},{"version":"5e5ddd6fc5b590190dde881974ab969455e7fad61012e32423415ae3d085b037","impliedFormat":99},{"version":"1c16fd00c42b60b96fe0fa62113a953af58ddf0d93b0a49cb4919cf5644616f0","impliedFormat":99},{"version":"eb240c0e6b412c57f7d9a9f1c6cd933642a929837c807b179a818f6e8d3a4e44","impliedFormat":99},{"version":"4a7bde5a1155107fc7d9483b8830099f1a6072b6afda5b78d91eb5d6549b3956","impliedFormat":99},{"version":"3c1baaffa9a24cc7ef9eea6b64742394498e0616b127ca630aca0e11e3298006","impliedFormat":99},{"version":"87ca1c31a326c898fa3feb99ec10750d775e1c84dbb7c4b37252bcf3742c7b21","impliedFormat":99},{"version":"d7bd26af1f5457f037225602035c2d7e876b80d02663ab4ca644099ad3a55888","impliedFormat":99},{"version":"2ad0a6b93e84a56b64f92f36a07de7ebcb910822f9a72ad22df5f5d642aff6f3","impliedFormat":99},{"version":"523d1775135260f53f672264937ee0f3dc42a92a39de8bee6c48c7ea60b50b5a","impliedFormat":99},{"version":"e441b9eebbc1284e5d995d99b53ed520b76a87cab512286651c4612d86cd408e","impliedFormat":99},{"version":"76f853ee21425c339a79d28e0859d74f2e53dee2e4919edafff6883dd7b7a80f","impliedFormat":99},{"version":"00cf042cd6ba1915648c8d6d2aa00e63bbbc300ea54d28ed087185f0f662e080","impliedFormat":99},{"version":"f57e6707d035ab89a03797d34faef37deefd3dd90aa17d90de2f33dce46a2c56","impliedFormat":99},{"version":"cc8b559b2cf9380ca72922c64576a43f000275c72042b2af2415ce0fb88d7077","impliedFormat":99},{"version":"1a337ca294c428ba8f2eb01e887b28d080ee4a4307ae87e02e468b1d26af4a74","impliedFormat":99},{"version":"5a15362fc2e72765a908c0d4dd89e3ab3b763e8bc8c23f19234a709ecfd202fe","impliedFormat":99},{"version":"2dffdfe62ac8af0943853234519616db6fd8958fc7ff631149fd8364e663f361","impliedFormat":99},{"version":"5dbdb2b2229b5547d8177c34705272da5a10b8d0033c49efbc9f6efba5e617f2","impliedFormat":99},{"version":"6fc0498cd8823d139004baff830343c9a0d210c687b2402c1384fb40f0aa461c","impliedFormat":99},{"version":"8492306a4864a1dc6fc7e0cc0de0ae9279cbd37f3aae3e9dc1065afcdc83dddc","impliedFormat":99},{"version":"c011b378127497d6337a93f020a05f726db2c30d55dc56d20e6a5090f05919a6","impliedFormat":99},{"version":"f4556979e95a274687ae206bbab2bb9a71c3ad923b92df241d9ab88c184b3f40","impliedFormat":99},{"version":"50e82bb6e238db008b5beba16d733b77e8b2a933c9152d1019cf8096845171a4","impliedFormat":99},{"version":"d6011f8b8bbf5163ef1e73588e64a53e8bf1f13533c375ec53e631aad95f1375","impliedFormat":99},{"version":"693cd7936ac7acfa026d4bcb5801fce71cec49835ba45c67af1ef90dbfd30af7","impliedFormat":99},{"version":"195e2cf684ecddfc1f6420564535d7c469f9611ce7a380d6e191811f84556cd2","impliedFormat":99},{"version":"1dc6b6e7b2a7f2962f31c77f4713f3a5a132bbe14c00db75d557568fe82e4311","impliedFormat":99},{"version":"add93b1180e9aaac2dae4ef3b16f7655893e2ecbe62bd9e48366c305f0063d89","impliedFormat":99},{"version":"594bd896fe37c970aafb7a376ebeec4c0d636b62a5f611e2e27d30fb839ad8a5","impliedFormat":99},{"version":"b1c6a6faf60542ba4b4271db045d7faea56e143b326ef507d2797815250f3afc","impliedFormat":99},{"version":"8c8b165beb794260f462679329b131419e9f5f35212de11c4d53e6d4d9cbedf6","impliedFormat":99},{"version":"ee5a4cf57d49fcf977249ab73c690a59995997c4672bb73fcaaf2eed65dbd1b2","impliedFormat":99},{"version":"f9f36051f138ab1c40b76b230c2a12b3ce6e1271179f4508da06a959f8bee4c1","impliedFormat":99},{"version":"9dc2011a3573d271a45c12656326530c0930f92539accbec3531d65131a14a14","impliedFormat":99},{"version":"091521ce3ede6747f784ae6f68ad2ea86bbda76b59d2bf678bcad2f9d141f629","impliedFormat":99},{"version":"202c2be951f53bafe943fb2c8d1245e35ed0e4dfed89f48c9a948e4d186dd6d4","impliedFormat":99},{"version":"c618aead1d799dbf4f5b28df5a6b9ce13d72722000a0ec3fe90a8115b1ea9226","impliedFormat":99},{"version":"9b0bf59708549c3e77fddd36530b95b55419414f88bbe5893f7bc8b534617973","impliedFormat":99},{"version":"7e216f67c4886f1bde564fb4eebdd6b185f262fe85ad1d6128cad9b229b10354","impliedFormat":99},{"version":"cd51e60b96b4d43698df74a665aa7a16604488193de86aa60ec0c44d9f114951","impliedFormat":99},{"version":"b63341fb6c7ba6f2aeabd9fc46b43e6cc2d2b9eec06534cfd583d9709f310ec2","impliedFormat":99},{"version":"be2af50c81b15bcfe54ad60f53eb1c72dae681c72d0a9dce1967825e1b5830a3","impliedFormat":99},{"version":"be5366845dfb9726f05005331b9b9645f237f1ddc594c0def851208e8b7d297b","impliedFormat":99},{"version":"5ddd536aaeadd4bf0f020492b3788ed209a7050ce27abec4e01c7563ff65da81","impliedFormat":99},{"version":"e243b24da119c1ef0d79af2a45217e50682b139cb48e7607efd66cc01bd9dcda","impliedFormat":99},{"version":"5b1398c8257fd180d0bf62e999fe0a89751c641e87089a83b24392efda720476","impliedFormat":99},{"version":"1588b1359f8507a16dbef67cd2759965fc2e8d305e5b3eb71be5aa9506277dff","impliedFormat":99},{"version":"4c99f2524eee1ec81356e2b4f67047a4b7efaf145f1c4eb530cd358c36784423","impliedFormat":99},{"version":"b30c6b9f6f30c35d6ef84daed1c3781e367f4360171b90598c02468b0db2fc3d","impliedFormat":99},{"version":"79c0d32274ccfd45fae74ac61d17a2be27aea74c70806d22c43fc625b7e9f12a","impliedFormat":99},{"version":"1b7e3958f668063c9d24ac75279f3e610755b0f49b1c02bb3b1c232deb958f54","impliedFormat":99},{"version":"779d4022c3d0a4df070f94858a33d9ebf54af3664754536c4ce9fd37c6f4a8db","impliedFormat":99},{"version":"e662f063d46aa8c088edffdf1d96cb13d9a2cbf06bc38dc6fc62b4d125fb7b49","impliedFormat":99},{"version":"d1d612df1e41c90d9678b07740d13d4f8e6acec2f17390d4ff4be5c889a6d37d","impliedFormat":99},{"version":"c95933fe140918892d569186f17b70ef6b1162f851a0f13f6a89e8f4d599c5a1","impliedFormat":99},{"version":"1d8d30677f87c13c2786980a80750ac1e281bdb65aa013ea193766fe9f0edd74","impliedFormat":99},{"version":"4661673cbc984b8a6ee5e14875a71ed529b64e7f8e347e12c0db4cecc25ad67d","impliedFormat":99},{"version":"7f980a414274f0f23658baa9a16e21d828535f9eac538e2eab2bb965325841db","impliedFormat":99},{"version":"20fb747a339d3c1d4a032a31881d0c65695f8167575e01f222df98791a65da9b","impliedFormat":99},{"version":"dd4e7ebd3f205a11becf1157422f98db675a626243d2fbd123b8b93efe5fb505","impliedFormat":99},{"version":"43ec6b74c8d31e88bb6947bb256ad78e5c6c435cbbbad991c3ff39315b1a3dba","impliedFormat":99},{"version":"b27242dd3af2a5548d0c7231db7da63d6373636d6c4e72d9b616adaa2acef7e1","impliedFormat":99},{"version":"e0ee7ba0571b83c53a3d6ec761cf391e7128d8f8f590f8832c28661b73c21b68","impliedFormat":99},{"version":"072bfd97fc61c894ef260723f43a416d49ebd8b703696f647c8322671c598873","impliedFormat":99},{"version":"e70875232f5d5528f1650dd6f5c94a5bed344ecf04bdbb998f7f78a3c1317d02","impliedFormat":99},{"version":"8e495129cb6cd8008de6f4ff8ce34fe1302a9e0dcff8d13714bd5593be3f7898","impliedFormat":99},{"version":"0345bc0b1067588c4ea4c48e34425d3284498c629bc6788ebc481c59949c9037","impliedFormat":99},{"version":"e30f5b5d77c891bc16bd65a2e46cd5384ea57ab3d216c377f482f535db48fc8f","impliedFormat":99},{"version":"f113afe92ee919df8fc29bca91cab6b2ffbdd12e4ac441d2bb56121eb5e7dbe3","impliedFormat":99},{"version":"49d567cc002efb337f437675717c04f207033f7067825b42bb59c9c269313d83","impliedFormat":99},{"version":"1d248f707d02dc76555298a934fba0f337f5028bb1163ce59cd7afb831c9070f","impliedFormat":99},{"version":"5d8debffc9e7b842dc0f17b111673fe0fc0cca65e67655a2b543db2150743385","impliedFormat":99},{"version":"5fccbedc3eb3b23bc6a3a1e44ceb110a1f1a70fa8e76941dce3ae25752caa7a9","impliedFormat":99},{"version":"f4031b95f3bab2b40e1616bd973880fb2f1a97c730bac5491d28d6484fac9560","impliedFormat":99},{"version":"dbe75b3c5ed547812656e7945628f023c4cd0bc1879db0db3f43a57fb8ec0e2b","impliedFormat":99},{"version":"b754718a546a1939399a6d2a99f9022d8a515f2db646bab09f7d2b5bff3cbb82","impliedFormat":99},{"version":"2eef10fb18ed0b4be450accf7a6d5bcce7b7f98e02cac4e6e793b7ad04fc0d79","impliedFormat":99},{"version":"c46f471e172c3be12c0d85d24876fedcc0c334b0dab48060cdb1f0f605f09fed","impliedFormat":99},{"version":"7d6ddeead1d208588586c58c26e4a23f0a826b7a143fb93de62ed094d0056a33","impliedFormat":99},{"version":"7c5782291ff6e7f2a3593295681b9a411c126e3736b83b37848032834832e6b9","impliedFormat":99},{"version":"3a3f09df6258a657dd909d06d4067ee360cd2dccc5f5d41533ae397944a11828","impliedFormat":99},{"version":"ea54615be964503fec7bce04336111a6fa455d3e8d93d44da37b02c863b93eb8","impliedFormat":99},{"version":"2a83694bc3541791b64b0e57766228ea23d92834df5bf0b0fcb93c5bb418069c","impliedFormat":99},{"version":"b5913641d6830e7de0c02366c08b1d26063b5758132d8464c938e78a45355979","impliedFormat":99},{"version":"46c095d39c1887979d9494a824eda7857ec13fb5c20a6d4f7d02c2975309bf45","impliedFormat":99},{"version":"f6e02ca076dc8e624aa38038e3488ebd0091e2faea419082ed764187ba8a6500","impliedFormat":99},{"version":"4d49e8a78aba1d4e0ad32289bf8727ae53bc2def9285dff56151a91e7d770c3e","impliedFormat":99},{"version":"63315cf08117cc728eab8f3eec8801a91d2cd86f91d0ae895d7fd928ab54596d","impliedFormat":99},{"version":"a14a6f3a5636bcaebfe9ec2ccfa9b07dc94deb1f6c30358e9d8ea800a1190d5e","impliedFormat":99},{"version":"21206e7e81876dabf2a7af7aa403f343af1c205bdcf7eff24d9d7f4eee6214c4","impliedFormat":99},{"version":"cd0a9f0ffec2486cad86b7ef1e4da42953ffeb0eb9f79f536e16ff933ec28698","impliedFormat":99},{"version":"f609a6ec6f1ab04dba769e14d6b55411262fd4627a099e333aa8876ea125b822","impliedFormat":99},{"version":"6d8052bb814be030c64cb22ca0e041fe036ad3fc8d66208170f4e90d0167d354","impliedFormat":99},{"version":"851f72a5d3e8a2bf7eeb84a3544da82628f74515c92bdf23c4a40af26dcc1d16","impliedFormat":99},{"version":"59692a7938aab65ea812a8339bbc63c160d64097fe5a457906ea734d6f36bcd4","impliedFormat":99},{"version":"8cb3b95e610c44a9986a7eab94d7b8f8462e5de457d5d10a0b9c6dd16bde563b","impliedFormat":99},{"version":"f571713abd9a676da6237fe1e624d2c6b88c0ca271c9f1acc1b4d8efeea60b66","impliedFormat":99},{"version":"16c5d3637d1517a3d17ed5ebcfbb0524f8a9997a7b60f6100f7c5309b3bb5ac8","impliedFormat":99},{"version":"ca1ec669726352c8e9d897f24899abf27ad15018a6b6bcf9168d5cd1242058ab","impliedFormat":99},{"version":"bffb1b39484facf6d0c5d5feefe6c0736d06b73540b9ce0cf0f12da2edfd8e1d","impliedFormat":99},{"version":"f1663c030754f6171b8bb429096c7d2743282de7733bccd6f67f84a4c588d96e","impliedFormat":99},{"version":"dd09693285e58504057413c3adc84943f52b07d2d2fd455917f50fa2a63c9d69","impliedFormat":99},{"version":"d94c94593d03d44a03810a85186ae6d61ebeb3a17a9b210a995d85f4b584f23d","impliedFormat":99},{"version":"c7c3bf625a8cb5a04b1c0a2fbe8066ecdbb1f383d574ca3ffdabe7571589a935","impliedFormat":99},{"version":"7a2f39a4467b819e873cd672c184f45f548511b18f6a408fe4e826136d0193bb","impliedFormat":99},{"version":"f8a0ae0d3d4993616196619da15da60a6ec5a7dfaf294fe877d274385eb07433","impliedFormat":99},{"version":"2cca80de38c80ef6c26deb4e403ca1ff4efbe3cf12451e26adae5e165421b58d","impliedFormat":99},{"version":"0070d3e17aa5ad697538bf865faaff94c41f064db9304b2b949eb8bcccb62d34","impliedFormat":99},{"version":"53df93f2db5b7eb8415e98242c1c60f6afcac2db44bce4a8830c8f21eee6b1dd","impliedFormat":99},{"version":"d67bf28dc9e6691d165357424c8729c5443290367344263146d99b2f02a72584","impliedFormat":99},{"version":"932557e93fbdf0c36cc29b9e35950f6875425b3ac917fa0d3c7c2a6b4f550078","impliedFormat":99},{"version":"e3dc7ec1597fb61de7959335fb7f8340c17bebf2feb1852ed8167a552d9a4a25","impliedFormat":99},{"version":"b64e15030511c5049542c2e0300f1fe096f926cf612662884f40227267f5cd9f","impliedFormat":99},{"version":"1932796f09c193783801972a05d8fb1bfef941bb46ac76fbe1abb0b3bfb674fa","impliedFormat":99},{"version":"d9575d5787311ee7d61ad503f5061ebcfaf76b531cfecce3dc12afb72bb2d105","impliedFormat":99},{"version":"5b41d96c9a4c2c2d83f1200949f795c3b6a4d2be432b357ad1ab687e0f0de07c","impliedFormat":99},{"version":"38ec829a548e869de4c5e51671245a909644c8fb8e7953259ebb028d36b4dd06","impliedFormat":99},{"version":"20c2c5e44d37dac953b516620b5dba60c9abd062235cdf2c3bfbf722d877a96b","impliedFormat":99},{"version":"875fe6f7103cf87c1b741a0895fda9240fed6353d5e7941c8c8cbfb686f072b4","impliedFormat":99},{"version":"c0ccccf8fbcf5d95f88ed151d0d8ce3015aa88cf98d4fd5e8f75e5f1534ee7ae","impliedFormat":99},{"version":"1b1f4aba21fd956269ced249b00b0e5bfdbd5ebd9e628a2877ab1a2cf493c919","impliedFormat":99},{"version":"939e3299952dff0869330e3324ba16efe42d2cf25456d7721d7f01a43c1b0b34","impliedFormat":99},{"version":"f0a9b52faec508ba22053dedfa4013a61c0425c8b96598cef3dea9e4a22637c6","impliedFormat":99},{"version":"d5b302f50db61181adc6e209af46ae1f27d7ef3d822de5ea808c9f44d7d219fd","impliedFormat":99},{"version":"19131632ba492c83e8eeadf91a481def0e0b39ffc3f155bc20a7f640e0570335","impliedFormat":99},{"version":"4581c03abea21396c3e1bb119e2fd785a4d91408756209cbeed0de7070f0ab5b","impliedFormat":99},{"version":"ebcd3b99e17329e9d542ef2ccdd64fddab7f39bc958ee99bbdb09056c02d6e64","impliedFormat":99},{"version":"4b148999deb1d95b8aedd1a810473a41d9794655af52b40e4894b51a8a4e6a6d","impliedFormat":99},{"version":"1781cc99a0f3b4f11668bb37cca7b8d71f136911e87269e032f15cf5baa339bf","impliedFormat":99},{"version":"33f1b7fa96117d690035a235b60ecd3cd979fb670f5f77b08206e4d8eb2eb521","impliedFormat":99},{"version":"01429b306b94ff0f1f5548ce5331344e4e0f5872b97a4776bd38fd2035ad4764","impliedFormat":99},{"version":"c1bc4f2136de7044943d784e7a18cb8411c558dbb7be4e4b4876d273cbd952af","impliedFormat":99},{"version":"5470f84a69b94643697f0d7ec2c8a54a4bea78838aaa9170189b9e0a6e75d2cf","impliedFormat":99},{"version":"36aaa44ee26b2508e9a6e93cd567e20ec700940b62595caf962249035e95b5e3","impliedFormat":99},{"version":"f8343562f283b7f701f86ad3732d0c7fd000c20fe5dc47fa4ed0073614202b4d","impliedFormat":99},{"version":"a53c572630a78cd99a25b529069c1e1370f8a5d8586d98e798875f9052ad7ad1","impliedFormat":99},{"version":"4ad3451d066711dde1430c544e30e123f39e23c744341b2dfd3859431c186c53","impliedFormat":99},{"version":"8069cbef9efa7445b2f09957ffbc27b5f8946fdbade4358fb68019e23df4c462","impliedFormat":99},{"version":"cd8b4e7ad04ba9d54eb5b28ac088315c07335b837ee6908765436a78d382b4c3","impliedFormat":99},{"version":"d533d8f8e5c80a30c51f0cbfe067b60b89b620f2321d3a581b5ba9ac8ffd7c3a","impliedFormat":99},{"version":"33f49f22fdda67e1ddbacdcba39e62924793937ea7f71f4948ed36e237555de3","impliedFormat":99},{"version":"710c31d7c30437e2b8795854d1aca43b540cb37cefd5900f09cfcd9e5b8540c4","impliedFormat":99},{"version":"b2c03a0e9628273bc26a1a58112c311ffbc7a0d39938f3878837ab14acf3bc41","impliedFormat":99},{"version":"a93beb0aa992c9b6408e355ea3f850c6f41e20328186a8e064173106375876c2","impliedFormat":99},{"version":"efdcba88fcd5421867898b5c0e8ea6331752492bd3547942dea96c7ebcb65194","impliedFormat":99},{"version":"a98e777e7a6c2c32336a017b011ba1419e327320c3556b9139413e48a8460b9a","impliedFormat":99},{"version":"ea44f7f8e1fe490516803c06636c1b33a6b82314366be1bd6ffa4ba89bc09f86","impliedFormat":99},{"version":"c25f22d78cc7f46226179c33bef0e4b29c54912bde47b62e5fdaf9312f22ffcb","impliedFormat":99},{"version":"d57579cfedc5a60fda79be303080e47dfe0c721185a5d95276523612228fcefc","impliedFormat":99},{"version":"a41630012afe0d4a9ff14707f96a7e26e1154266c008ddbd229e3f614e4d1cf7","impliedFormat":99},{"version":"298a858633dfa361bb8306bbd4cfd74f25ab7cc20631997dd9f57164bc2116d1","impliedFormat":99},{"version":"921782c45e09940feb232d8626a0b8edb881be2956520c42c44141d9b1ddb779","impliedFormat":99},{"version":"06117e4cc7399ce1c2b512aa070043464e0561f956bda39ef8971a2fcbcdbf2e","impliedFormat":99},{"version":"daccf332594b304566c7677c2732fed6e8d356da5faac8c5f09e38c2f607a4ab","impliedFormat":99},{"version":"4386051a0b6b072f35a2fc0695fecbe4a7a8a469a1d28c73be514548e95cd558","impliedFormat":99},{"version":"78e41de491fe25947a7fd8eeef7ebc8f1c28c1849a90705d6e33f34b1a083b90","impliedFormat":99},{"version":"3ccd198e0a693dd293ed22e527c8537c76b8fe188e1ebf20923589c7cfb2c270","impliedFormat":99},{"version":"2ebf2ee015d5c8008428493d4987e2af9815a76e4598025dd8c2f138edc1dcae","impliedFormat":99},{"version":"0dcc8f61382c9fcdafd48acc54b6ffda69ca4bb7e872f8ad12fb011672e8b20c","impliedFormat":99},{"version":"9db563287eb527ead0bcb9eb26fbec32f662f225869101af3cabcb6aee9259cf","impliedFormat":99},{"version":"068489bec523be43f12d8e4c5c337be4ff6a7efb4fe8658283673ae5aae14b85","impliedFormat":99},{"version":"838212d0dc5b97f7c5b5e29a89953de3906f72fce13c5ae3c5ade346f561d226","impliedFormat":99},{"version":"ddc78d29af824ad7587152ea523ed5d60f2bc0148d8741c5dacf9b5b44587b1b","impliedFormat":99},{"version":"019b522e3783e5519966927ceeb570eefcc64aba3f9545828a5fb4ae1fde53c6","impliedFormat":99},{"version":"b34623cc86497a5123de522afba770390009a56eebddba38d2aa5798b70b0a87","impliedFormat":99},{"version":"d2a8cbeb0c0caaf531342062b4b5c227118862879f6a25033e31fad00797b7eb","impliedFormat":99},{"version":"14891c20f15be1d0d42ecbbd63de1c56a4d745e3ea2b4c56775a4d5d36855630","impliedFormat":99},{"version":"e55a1f6b198a39e38a3cea3ffe916aab6fde7965c827db3b8a1cacf144a67cd9","impliedFormat":99},{"version":"f7910ccfe56131e99d52099d24f3585570dc9df9c85dd599a387b4499596dd4d","impliedFormat":99},{"version":"9409ac347c5779f339112000d7627f17ede6e39b0b6900679ce5454d3ad2e3c9","impliedFormat":99},{"version":"22dfe27b0aa1c669ce2891f5c89ece9be18074a867fe5dd8b8eb7c46be295ca1","impliedFormat":99},{"version":"684a5c26ce2bb7956ef6b21e7f2d1c584172cd120709e5764bc8b89bac1a10eb","impliedFormat":99},{"version":"93761e39ce9d3f8dd58c4327e615483f0713428fa1a230883eb812292d47bbe8","impliedFormat":99},{"version":"c66be51e3d121c163a4e140b6b520a92e1a6a8a8862d44337be682e6f5ec290a","impliedFormat":99},{"version":"66e486a9c9a86154dc9780f04325e61741f677713b7e78e515938bf54364fee2","impliedFormat":99},{"version":"d211bc80b6b6e98445df46fe9dd3091944825dd924986a1c15f9c66d7659c495","impliedFormat":99},{"version":"8dd2b72f5e9bf88939d066d965144d07518e180efec3e2b6d06ae5e725d84c7d","impliedFormat":99},{"version":"949cb88e315ab1a098c3aa4a8b02496a32b79c7ef6d189eee381b96471a7f609","impliedFormat":99},{"version":"bc43af2a5fa30a36be4a3ed195ff29ffb8067bf4925aa350ace9d9f18f380cc2","impliedFormat":99},{"version":"f280b47f4ad3a3a8d6c53dc31aee21a40da6977ec43ea890b7c86d672933335b","impliedFormat":99},{"version":"8428e71f6d1b63acf55ceb56244aad9cf07678cf9626166e4aded15e3d252f8a","impliedFormat":99},{"version":"11505212ab24aa0f06d719a09add4be866e26f0fc15e96a1a2a8522c0c6a73a8","impliedFormat":99},{"version":"8228186214a5d7da60bd1dd91387a725e19c6c31a7ed4e114cf68d5ce6629c52","impliedFormat":99},{"version":"c44bb0071cededc08236d57d1131c44339c1add98b029a95584dfe1462533575","impliedFormat":99},{"version":"7a4935af71877da3bbc53938af00e5d4f6d445ef850e1573a240447dcb137b5c","impliedFormat":99},{"version":"4e313033202712168ecc70a6d830964ad05c9c93f81d806d7a25d344f6352565","impliedFormat":99},{"version":"8a1fc69eaf8fc8d447e6f776fbfa0c1b12245d7f35f1dbfb18fbc2d941f5edd8","impliedFormat":99},{"version":"afb9b4c8bd38fb43d38a674de56e6f940698f91114fded0aa119de99c6cd049a","impliedFormat":99},{"version":"1d277860f19b8825d027947fca9928ee1f3bfaa0095e85a97dd7a681b0698dfc","impliedFormat":99},{"version":"6d32122bb1e7c0b38b6f126d166dff1f74c8020f8ba050248d182dcafc835d08","impliedFormat":99},{"version":"cfac5627d337b82d2fbeff5f0f638b48a370a8d72d653327529868a70c5bc0f8","impliedFormat":99},{"version":"8a826bc18afa4c5ed096ceb5d923e2791a5bae802219e588a999f535b1c80492","impliedFormat":99},{"version":"73e94021c55ab908a1b8c53792e03bf7e0d195fee223bdc5567791b2ccbfcdec","impliedFormat":99},{"version":"5f73eb47b37f3a957fe2ac6fe654648d60185908cab930fc01c31832a5cb4b10","impliedFormat":99},{"version":"cb6372a2460010a342ba39e06e1dcfd722e696c9d63b4a71577f9a3c72d09e0a","impliedFormat":99},{"version":"1e289698069f553f36bbf12ee0084c492245004a69409066faceb173d2304ec4","impliedFormat":99},{"version":"f1ca71145e5c3bba4d7f731db295d593c3353e9a618b40c4af0a4e9a814bb290","impliedFormat":99},{"version":"ac12a6010ff501e641f5a8334b8eaf521d0e0739a7e254451b6eea924c3035c7","impliedFormat":99},{"version":"97395d1e03af4928f3496cc3b118c0468b560765ab896ce811acb86f6b902b5c","impliedFormat":99},{"version":"7dcfbd6a9f1ce1ddf3050bd469aa680e5259973b4522694dc6291afe20a2ae28","impliedFormat":99},{"version":"6e545419ad200ae4614f8e14d32b7e67e039c26a872c0f93437b0713f54cde53","impliedFormat":99},{"version":"efc225581aae9bb47d421a1b9f278db0238bc617b257ce6447943e59a2d1621e","impliedFormat":99},{"version":"8833b88e26156b685bc6f3d6a014c2014a878ffbd240a01a8aee8a9091014e9c","impliedFormat":99},{"version":"7a2a42a1ac642a9c28646731bd77d9849cb1a05aa1b7a8e648f19ab7d72dd7dc","impliedFormat":99},{"version":"4d371c53067a3cc1a882ff16432b03291a016f4834875b77169a2d10bb1b023e","impliedFormat":99},{"version":"99b38f72e30976fd1946d7b4efe91aa227ecf0c9180e1dd6502c1d39f37445b4","impliedFormat":99},{"version":"df1bcf0b1c413e2945ce63a67a1c5a7b21dbbec156a97d55e9ea0eed90d2c604","impliedFormat":99},{"version":"6e2011a859fa435b1196da1720be944ed59c668bb42d2f2711b49a506b3e4e90","impliedFormat":99},{"version":"b4bfa90fac90c6e0d0185d2fe22f059fec67587cc34281f62294f9c4615a8082","impliedFormat":99},{"version":"036d363e409ebe316a6366aff5207380846f8f82e100c2e3db4af5fe0ad0c378","impliedFormat":99},{"version":"5ae6642588e4a72e5a62f6111cb750820034a7fbe56b5d8ec2bcb29df806ce52","impliedFormat":99},{"version":"6fca09e1abc83168caf36b751dec4ddda308b5714ec841c3ff0f3dc07b93c1b8","impliedFormat":99},{"version":"2f7268e6ac610c7122b6b416e34415ce42b51c56d080bef41786d2365f06772d","impliedFormat":99},{"version":"9a07957f75128ed0be5fc8a692a14da900878d5d5c21880f7c08f89688354aa4","impliedFormat":99},{"version":"8b6f3ae84eab35c50cf0f1b608c143fe95f1f765df6f753cd5855ae61b3efbe2","impliedFormat":99},{"version":"992491d83ff2d1e7f64a8b9117daee73724af13161f1b03171f0fa3ffe9b4e3e","impliedFormat":99},{"version":"12bcf6af851be8dd5f3e66c152bb77a83829a6a8ba8c5acc267e7b15e11aa9ab","impliedFormat":99},{"version":"e2704efc7423b077d7d9a21ddb42f640af1565e668d5ec85f0c08550eff8b833","impliedFormat":99},{"version":"e0513c71fd562f859a98940633830a7e5bcd7316b990310e8bb68b1d41d676a3","impliedFormat":99},{"version":"712071b9066a2d8f4e11c3b8b3d5ada6253f211a90f06c6e131cff413312e26d","impliedFormat":99},{"version":"5a187a7bc1e7514ef1c3d6eaafa470fc45541674d8fca0f9898238728d62666a","impliedFormat":99},{"version":"0c06897f7ab3830cef0701e0e083b2c684ed783ae820b306aedd501f32e9562d","impliedFormat":99},{"version":"56cc6eae48fd08fa709cf9163d01649f8d24d3fea5806f488d2b1b53d25e1d6c","impliedFormat":99},{"version":"57a925b13947b38c34277d93fb1e85d6f03f47be18ca5293b14082a1bd4a48f5","impliedFormat":99},{"version":"9d9d64c1fa76211dd529b6a24061b8d724e2110ee55d3829131bca47f3fe4838","impliedFormat":99},{"version":"c13042e244bb8cf65586e4131ef7aed9ca33bf1e029a43ed0ebab338b4465553","impliedFormat":99},{"version":"54be9b9c71a17cb2519b841fad294fa9dc6e0796ed86c8ac8dd9d8c0d1c3a631","impliedFormat":99},{"version":"10881be85efd595bef1d74dfa7b9a76a5ab1bfed9fb4a4ca7f73396b72d25b90","impliedFormat":99},{"version":"925e71eaa87021d9a1215b5cf5c5933f85fe2371ddc81c32d1191d7842565302","impliedFormat":99},{"version":"faed0b3f8979bfbfb54babcff9d91bd51fda90931c7716effa686b4f30a09575","impliedFormat":99},{"version":"53c72d68328780f711dbd39de7af674287d57e387ddc5a7d94f0ffd53d8d3564","impliedFormat":99},{"version":"51129924d359cdebdccbf20dbabc98c381b58bfebe2457a7defed57002a61316","impliedFormat":99},{"version":"7270a757071e3bc7b5e7a6175f1ac9a4ddf4de09f3664d80cb8805138f7d365b","impliedFormat":99},{"version":"ea7b5c6a79a6511cdeeedc47610370be1b0e932e93297404ef75c90f05fc1b61","impliedFormat":99},{"version":"11b817aaa791d8ebd39a882f80827a7d4a99c6d451c8b836a81b186fcb2de87a","signature":"e7828ab708d23dd98370a8de5d7ad81d44fc5817dffa5a53c4adce749cf30d58"},{"version":"e516240bc1e5e9faef055432b900bc0d3c9ca7edce177fdabbc6c53d728cced8","impliedFormat":99},{"version":"5402765feacf44e052068ccb4535a346716fa1318713e3dae1af46e1e85f29a9","impliedFormat":99},{"version":"e16ec5d4796e7a765810efee80373675cedc4aa4814cf7272025a88addf5f0be","impliedFormat":99},{"version":"1f57157fcd45f9300c6efcfc53e2071fbe43396b0a7ed2701fbd1efb5599f07f","impliedFormat":99},{"version":"9f1886f3efddfac35babcada2d454acd4e23164345d11c979966c594af63468b","impliedFormat":99},{"version":"a3541c308f223863526df064933e408eba640c0208c7345769d7dc330ad90407","impliedFormat":99},{"version":"59af208befeb7b3c9ab0cb6c511e4fec54ede11922f2ffb7b497351deaf8aa2e","impliedFormat":99},{"version":"928b16f344f6cddaba565da8238f4cf2ddf12fe03eb426ab46a7560e9b3078fa","impliedFormat":99},{"version":"120bdf62bccef4ea96562a3d30dd60c9d55481662f5cf31c19725f56c0056b34","impliedFormat":99},{"version":"39e0da933908de42ba76ea1a92e4657305ae195804cfaa8760664e80baac2d6a","impliedFormat":99},{"version":"55ce6ca8df9d774d60cef58dd5d716807d5cc8410b8b065c06d3edac13f2e726","impliedFormat":99},{"version":"788a0faf3f28d43ce3793b4147b7539418a887b4a15a00ffb037214ed8f0b7f6","impliedFormat":99},{"version":"a3e66e7b8ccdab967cd4ada0f178151f1c42746eabb589a06958482fd4ed354e","impliedFormat":99},{"version":"bf45a2964a872c9966d06b971d0823daecbd707f97e927f2368ba54bb1b13a90","impliedFormat":99},{"version":"39973a12c57e06face646fb79462aabe8002e5523eec4e86e399228eb34b32c9","impliedFormat":99},{"version":"f01091e9b5028acfb38208113ae051fad8a0b4b8ec1f7137a2a5cf903c47eefc","impliedFormat":99},{"version":"b3e87824c9e7e3a3be7f76246e45c8d603ce83d116733047200b3aa95875445b","impliedFormat":99},{"version":"7e1f7f9ae14e362d41167dc861be6a8d76eca30dde3a9893c42946dc5a5fc686","impliedFormat":99},{"version":"9308ef3b9433063ac753a55c3f36d6d89fa38a8e6c51e05d9d8329c7f1174f24","impliedFormat":99},{"version":"cd3bb1aa24726a0abd67558fde5759fe968c3c6aa3ec7bad272e718851502894","impliedFormat":99},{"version":"1ae0f22c3b8420b5c2fec118f07b7ebd5ae9716339ab3477f63c603fe7a151c8","impliedFormat":99},{"version":"919ff537fff349930acc8ad8b875fd985a17582fb1beb43e2f558c541fd6ecd9","impliedFormat":99},{"version":"4e67811e45bae6c44bd6f13a160e4188d72fd643665f40c2ac3e8a27552d3fd9","impliedFormat":99},{"version":"3d1450fd1576c1073f6f4db9ebae5104e52e2c4599afb68d7d6c3d283bdbaf4f","impliedFormat":99},{"version":"c072af873c33ff11af126c56a846dfada32461b393983a72b6da7bff373e0002","impliedFormat":99},{"version":"de66e997ea5376d4aeb16d77b86f01c7b7d6d72fbb738241966459d42a4089e0","impliedFormat":99},{"version":"d77ea3b91e4bc44d710b7c9487c2c6158e8e5a3439d25fc578befeb27b03efd7","impliedFormat":99},{"version":"a3d5c695c3d1ebc9b0bd55804afaf2ac7c97328667cbeedf2c0861b933c45d3e","impliedFormat":99},{"version":"270724545d446036f42ddea422ee4d06963db1563ccc5e18b01c76f6e67968ae","impliedFormat":99},{"version":"85441c4f6883f7cfd1c5a211c26e702d33695acbabec8044e7fa6831ed501b45","impliedFormat":99},{"version":"0f268017a6b1891fdeea69c2a11d576646d7fd9cdfc8aac74d003cd7e87e9c5a","impliedFormat":99},{"version":"9ece188c336c80358742a5a0279f2f550175f5a07264349d8e0ce64db9701c0b","impliedFormat":99},{"version":"cf41b0fc7d57643d1a8d21af07b0247db2f2d7e2391c2e55929e9c00fbe6ab9a","impliedFormat":99},{"version":"11e7ddddd9eddaac56a6f23d8699ae7a94c2a55ae8c986fdabc719d3c3e875a1","impliedFormat":99},{"version":"dd129c2d348be7dbf9f15d34661defdfc11ee00628ca6f7161bead46095c6bc3","impliedFormat":99},{"version":"c38d8e7cfc64bbfc14a63346388249c1cfa2cc02166c5f37e5a57da4790ce27f","impliedFormat":99},{"version":"67237a35be1473c2436d9438a17330e183bf720e84391dd8d0a00a73f289a371","signature":"0d2ec35e98301af187839a1a6110c5f2dd8202b514755c1b6450394eac8cb5bc"},{"version":"7e3373dde2bba74076250204bd2af3aa44225717435e46396ef076b1954d2729","impliedFormat":1},{"version":"1c3dfad66ff0ba98b41c98c6f41af096fc56e959150bc3f44b2141fb278082fd","impliedFormat":1},{"version":"56208c500dcb5f42be7e18e8cb578f257a1a89b94b3280c506818fed06391805","impliedFormat":1},{"version":"0c94c2e497e1b9bcfda66aea239d5d36cd980d12a6d9d59e66f4be1fa3da5d5a","impliedFormat":1},{"version":"eb9271b3c585ea9dc7b19b906a921bf93f30f22330408ffec6df6a22057f3296","impliedFormat":1},{"version":"82b7bf38f1bc606dc662c35b8c80905e40956e4c2212d523402ae925bd75de63","impliedFormat":1},{"version":"81be14ad77be99cea7343fdc92a0f4058bcdebaa789d944e04ce4f86f0ca5fbb","impliedFormat":1},{"version":"9f1e00eab512de990ba27afa8634ca07362192063315be1f8166bc3dcc7f0e0f","impliedFormat":1},{"version":"1cdbf5cc31860b39bd1881f19809357ee3600331ff1317f9d700c21665649aa8","impliedFormat":1},{"version":"86dac6ce3fcd0a069b67a1ac9abdbce28588ea547fd2b42d73c1a2b7841cf182","impliedFormat":1},{"version":"4d34fbeadba0009ed3a1a5e77c99a1feedec65d88c4d9640910ff905e4e679f7","impliedFormat":1},{"version":"2f3ec8a345eefed1af66b5975da98ccf3178d13ba9308359d34d2f7f87dd4c9c","impliedFormat":1},{"version":"8fcc5571404796a8fe56e5c4d05049acdeac9c7a72205ac15b35cb463916d614","impliedFormat":1},{"version":"a3b3a1712610260c7ab96e270aad82bd7b28a53e5776f25a9a538831057ff44c","impliedFormat":1},{"version":"33a2af54111b3888415e1d81a7a803d37fada1ed2f419c427413742de3948ff5","impliedFormat":1},{"version":"d5a4fca3b69f2f740e447efb9565eecdbbe4e13f170b74dd4a829c5c9a5b8ebf","impliedFormat":1},{"version":"56f1e1a0c56efce87b94501a354729d0a0898508197cb50ab3e18322eb822199","impliedFormat":1},{"version":"8960e8c1730aa7efb87fcf1c02886865229fdbf3a8120dd08bb2305d2241bd7e","impliedFormat":1},{"version":"27bf82d1d38ea76a590cbe56873846103958cae2b6f4023dc59dd8282b66a38a","impliedFormat":1},{"version":"0daaab2afb95d5e1b75f87f59ee26f85a5f8d3005a799ac48b38976b9b521e69","impliedFormat":1},{"version":"2c378d9368abcd2eba8c29b294d40909845f68557bc0b38117e4f04fc56e5f9c","impliedFormat":1},{"version":"9b048390bcffe88c023a4cd742a720b41d4cd7df83bc9270e6f2339bf38de278","affectsGlobalScope":true,"impliedFormat":1},{"version":"c60b14c297cc569c648ddaea70bc1540903b7f4da416edd46687e88a543515a1","impliedFormat":1},{"version":"d03cf6cd011da250c9a67c35a3378de326f6136c4192a90dd11f3a84627b4ef6","impliedFormat":1},{"version":"9c0217750253e3bf9c7e3821e51cff04551c00e63258d5e190cf8bd3181d5d4a","impliedFormat":1},{"version":"5c2e7f800b757863f3ddf1a98d7521b8da892a95c1b2eafb48d652a782891677","impliedFormat":1},{"version":"73ed3ff18ca862b9d7272de3b0d137d284a0c40e1c94cbf37acd5270ce9b7cd6","impliedFormat":1},{"version":"c61d8275c35a76cb12c271b5fa8707bb46b1e5778a370fd6037c244c4df6a725","impliedFormat":1},{"version":"c7793cb5cd2bef461059ca340fbcd19d7ddac7ab3dcc6cd1c90432fca260a6ae","impliedFormat":1},{"version":"fd3bf6d545e796ebd31acc33c3b20255a5bc61d963787fc8473035ea1c09d870","impliedFormat":1},{"version":"c7af51101b509721c540c86bb5fc952094404d22e8a18ced30c38a79619916fa","impliedFormat":1},{"version":"59c8f7d68f79c6e3015f8aee218282d47d3f15b85e5defc2d9d1961b6ffed7a0","impliedFormat":1},{"version":"93a2049cbc80c66aa33582ec2648e1df2df59d2b353d6b4a97c9afcbb111ccab","impliedFormat":1},{"version":"d04d359e40db3ae8a8c23d0f096ad3f9f73a9ef980f7cb252a1fdc1e7b3a2fb9","impliedFormat":1},{"version":"84aa4f0c33c729557185805aae6e0df3bd084e311da67a10972bbcf400321ff0","impliedFormat":1},{"version":"cf6cbe50e3f87b2f4fd1f39c0dc746b452d7ce41b48aadfdb724f44da5b6f6ed","impliedFormat":1},{"version":"3cf494506a50b60bf506175dead23f43716a088c031d3aa00f7220b3fbcd56c9","impliedFormat":1},{"version":"f2d47126f1544c40f2b16fc82a66f97a97beac2085053cf89b49730a0e34d231","impliedFormat":1},{"version":"724ac138ba41e752ae562072920ddee03ba69fe4de5dafb812e0a35ef7fb2c7e","impliedFormat":1},{"version":"e4eb3f8a4e2728c3f2c3cb8e6b60cadeb9a189605ee53184d02d265e2820865c","impliedFormat":1},{"version":"f16cb1b503f1a64b371d80a0018949135fbe06fb4c5f78d4f637b17921a49ee8","impliedFormat":1},{"version":"f4808c828723e236a4b35a1415f8f550ff5dec621f81deea79bf3a051a84ffd0","impliedFormat":1},{"version":"3b810aa3410a680b1850ab478d479c2f03ed4318d1e5bf7972b49c4d82bacd8d","impliedFormat":1},{"version":"0ce7166bff5669fcb826bc6b54b246b1cf559837ea9cc87c3414cc70858e6097","impliedFormat":1},{"version":"90ae889ba2396d54fe9c517fcb0d5a8923d3023c3e6cbd44676748045853d433","impliedFormat":1},{"version":"3549400d56ee2625bb5cc51074d3237702f1f9ffa984d61d9a2db2a116786c22","impliedFormat":1},{"version":"5ffe02488a8ffd06804b75084ecc66b512f85186508e7c9b57b5335283b1f487","impliedFormat":1},{"version":"b60f6734309d20efb9b0e0c7e6e68282ee451592b9c079dd1a988bb7a5eeb5e7","impliedFormat":1},{"version":"f4187a4e2973251fd9655598aa7e6e8bba879939a73188ee3290bb090cc46b15","impliedFormat":1},{"version":"44c1a26f578277f8ccef3215a4bd642a0a4fbbaf187cf9ae3053591c891fdc9c","impliedFormat":1},{"version":"a5989cd5e1e4ca9b327d2f93f43e7c981f25ee12a81c2ebde85ec7eb30f34213","impliedFormat":1},{"version":"f65b8fa1532dfe0ef2c261d63e72c46fe5f089b28edcd35b3526328d42b412b8","impliedFormat":1},{"version":"1060083aacfc46e7b7b766557bff5dafb99de3128e7bab772240877e5bfe849d","impliedFormat":1},{"version":"1b32f14ef9e26be36776d6115d3661747508a3437f5bb2528a39ce60f622b5aa","impliedFormat":1},{"version":"9ee50ea4e24ac33273880940358802dd98baddf27173f19ea061752eb192c44d","impliedFormat":1},{"version":"111e1ef247e53abc607bd921154a477a4b19b3e876abb79c672012f06f69b368","impliedFormat":1},{"version":"7ec569bb000dbd2ae79f6e5888fa16765a7c579936054a4f50b021eaf31b0998","impliedFormat":1},{"version":"dd0b9b00a39436c1d9f7358be8b1f32571b327c05b5ed0e88cc91f9d6b6bc3c9","impliedFormat":1},{"version":"a951a7b2224a4e48963762f155f5ad44ca1145f23655dde623ae312d8faeb2f2","impliedFormat":1},{"version":"f7eb7fc7e7c956605835e5bbbdfc4b6d1c36f1d41a162bfffba4540eae5d4257","impliedFormat":1},{"version":"cf7698e227b8f0e3373106ef29db72fc52661c0fdaa823205fbfc357985ec219","impliedFormat":1},{"version":"9f20de1b5776e653764e55f059d02ef460d7e2c064c304bfda1d7ba2dda43886","impliedFormat":1},{"version":"890ed5cccf66fdced5795066488cd006379dfc84b1670e459f03d40c625341ca","impliedFormat":1},{"version":"d8e8ab0dbaee5220b21dfbbb33fefc684ef4d87b07743a998f39e9d88ffe9776","impliedFormat":1},{"version":"977aeb024f773799d20985c6817a4c0db8fed3f601982a52d4093e0c60aba85f","impliedFormat":1},{"version":"d59cf5116848e162c7d3d954694f215b276ad10047c2854ed2ee6d14a481411f","impliedFormat":1},{"version":"50098be78e7cbfc324dfc04983571c80539e55e11a0428f83a090c13c41824a2","impliedFormat":1},{"version":"40894bcf307f326ec4d371cd2ff304dac0fa303d1c6c71ad7dc65742239114da","impliedFormat":1},{"version":"dd6051c7b02af0d521857069c49897adb8595d1f0e94487d53ebc157294ef864","impliedFormat":1},{"version":"79c6a11f75a62151848da39f6098549af0dd13b22206244961048326f451b2a8","impliedFormat":1},{"version":"0d1015da32cad5bcf8b19ecb4464bfada1faf005ead1db5107410f33a4b1ac77","signature":"e382d9aa86ae57a0634861cd952e44d2676f508b963e4243c35546caa86c7d86"},{"version":"2c57db2bf2dbd9e8ef4853be7257d62a1cb72845f7b976bb4ee827d362675f96","impliedFormat":99},{"version":"f4629326151cdb4fefbb8d49ff20bcc3ffab3f791fb31b795937650877eae212","signature":"f0be1892cb7f2a9d3ad1905cb890ba8ce14f31fdd29160043ea88830717b284b"},{"version":"89d052508dd671fdc6c823cc299a53537edd00c7067ae9508a2af0a8eeb4348b","signature":"160fbcda3ae5291ff8861d7328a3bc0b086a02cf45e521cbef69bc50817bbdba"},{"version":"bb703864a1bc9ca5ac3589ffd83785f6dc86f7f6c485c97d7ffd53438777cb9e","impliedFormat":1},{"version":"2341f5d3379758c9659806e518299f9a3dc394128571e379ed83941deae83403","signature":"7cc49a13d6dc95645c5e5d5fd44f7b3f5c69dfe80b50bbfb48ee0598195798ea"},{"version":"803aa420db4170238043ca1b9f1fd88f285f1b83f3ff2c0c5abff217df316896","signature":"143126980202f9d9cf7ba155552d23da27f196afa8812c1155ee28780e8fcbc5"},{"version":"6b5f886fe41e2e767168e491fe6048398ed6439d44e006d9f51cc31265f08978","impliedFormat":99},{"version":"56a87e37f91f5625eb7d5f8394904f3f1e2a90fb08f347161dc94f1ae586bdd0","impliedFormat":99},{"version":"6b863463764ae572b9ada405bf77aac37b5e5089a3ab420d0862e4471051393b","impliedFormat":99},{"version":"68b6a7501a56babd7bcd840e0d638ee7ec582f1e70b3c36ebf32e5e5836913c8","impliedFormat":99},{"version":"89783bd45ab35df55203b522f8271500189c3526976af533a599a86caaf31362","impliedFormat":99},{"version":"6da2e0928bdab05861abc4e4abebea0c7cf0b67e25374ba35a94df2269563dd8","impliedFormat":99},{"version":"ef3f8b668e7abee8ea18ea66317d067a5f3590a3bdfb7be937df5838e69602e8","signature":"704c09fbf8cab1b4da84a0fb0b9229185746bb65f8c2db5ebb52ecc121389aa4"},{"version":"e7441be68f390975c6155c805cea8f54cc1b7f3656b6b9440ecbbbd7753499e6","impliedFormat":99},{"version":"e62592bd1cea50ad95ebeba32a165f9cfdf5a5c6431067ec74e024b83a866f01","signature":"0c744d06c45e1d7281cbb0ed29c102a48716bb845436ad02ec4b2b2b101b8318"},{"version":"26e6c521a290630ea31f0205a46a87cab35faac96e2b30606f37bae7bcda4f9d","impliedFormat":99},{"version":"3124a8b0edfe90400cf4d14d438dfe6ac3af9ec9a6181feee10f48390aeb1815","signature":"4be287c460622f9f8329a3ac0eac7c67852ac6ce7a2afc20dbbcbce631ac0077"},{"version":"c9828acce9044690059524bee2e67dec68710baed7bfa1f6c787ca86413112d6","signature":"f3b6fe28433081e12eb78957c2df90d86f81122a07cec2440f9d3fb82718696b"},{"version":"c80fb0dc554855fd84ac91ad30f724127a066ad2156b1846dc46ee5811ee9135","signature":"367466b8edaa628bdf47c48c768e0dbad54a8a128eaa6af92041c72be0381843"},{"version":"6ce55335012d76737df504baabc950805760acf3be988142d1985aa4893f919e","impliedFormat":1},{"version":"88efe27bebddb62da9655a9f093e0c27719647e96747f16650489dc9671075d6","impliedFormat":1},{"version":"e348f128032c4807ad9359a1fff29fcbc5f551c81be807bfa86db5a45649b7ba","impliedFormat":1},{"version":"8ee6b07974528da39b7835556e12dd3198c0a13e4a9de321217cd2044f3de22e","impliedFormat":1},{"version":"deefd8c43b40f9797c3921d78d3f9243959621a17b817be7f5d95c149f23a9dd","impliedFormat":1},{"version":"5f12132800d430adbe59b49c2c0354d85a71ada7d756e34250a655baa8ad4ae5","impliedFormat":1},{"version":"1996d1cd7d585a8359a35878f67abdd73cc35b1f675c9c6b147b202fdd8dfc3f","impliedFormat":1},{"version":"b16e757e4c35434065120a2b3bf13a518fc9e621dc9c2ed668f91635a9dc4e75","impliedFormat":1},{"version":"d22cd2e880dc30d21cf20b26b6341e0478f3505ea645d1504c7e9c14cdff1198","impliedFormat":1},{"version":"d02ced7accb512e6198b796b8d284e7979abde0f089b0a77969747a5f27bfb23","impliedFormat":1},{"version":"4374cefdde5c6e9bad52b0436e887b8325b8f407c12035194ad02c28f1553a3a","impliedFormat":1},{"version":"5f1ba0898eb0a54a644cb9c95c2240beaa961d87fd080cbb90807a6cc03daeb3","impliedFormat":1},{"version":"8e92ee8710ba85b158c5d91b0bbc9d0d033f5e062b6e70178063f01b20f63a14","impliedFormat":1},{"version":"ee933420aacba1f60aa70fb8ba47c5e69001b005073b71973114587089a13c7f","impliedFormat":1},{"version":"0a0714999d0a5bdfacd15c7b34cffbcc6f263f6cb0ccb42076cdc541c6987797","impliedFormat":1},{"version":"56584bfc655f9df64afc0f22f7d1122c29e5b74b342c203b891e19de9fa37de8","impliedFormat":1},{"version":"40ec58f0fadd0b3981b3d383e1c12fa0680115ae9f018387fc2cfc0bbcf23204","impliedFormat":1},{"version":"849b9e7283b7309a4556c9b90bb8e2dfc27751f157798065bbc513dcddb09a8c","impliedFormat":1},{"version":"76bba0c97594248c1be19af32d5799f7eff51cec2926d8e4dd59267d7636a0b4","impliedFormat":1},{"version":"10e109212c7be8a9f66e988e5d6c2a8900c9d14bf6beadf5fa70d32ada3425cf","impliedFormat":1},{"version":"2b821aeb31e690092f8eae671dd961a9d0fd598ff4883ce0a600c90e9e8fa716","impliedFormat":1},{"version":"26602933b613e4df3868a6c82e14fffa2393a08531cb333ed27b151923462981","impliedFormat":1},{"version":"f57a588d8f6b3ce5c8b494f2dc759a8885eaee18e80a4952df47de45403fedbe","impliedFormat":1},{"version":"34735727b3fe7a0ed0651a0f88d06449163d1989a2b2de7f047473adc7c1c383","impliedFormat":1},{"version":"a5b13abc88ab3186e713c445e59e2f6eee20c6167943517bc2f56985d89b8c55","impliedFormat":1},{"version":"c8a206a6ba4e32710ebb4a389187772423de0f4f6180b95a7ef1a5a1934c1be6","impliedFormat":1},{"version":"7ae65fe95b18205e241e6695cb2c61c0828d660aca7d08f68781b439a800e6b8","impliedFormat":1},{"version":"c2c8c166199d3a7bd093152437d1f6399d05e458a9ca9364456feecba920cda4","impliedFormat":1},{"version":"369b7270eeeb37982203b2cb18c7302947b89bf5818c1d3d2e95a0418f02b74e","impliedFormat":1},{"version":"94f95d223e2783b0aef4d15d7f6990a6a550fe17d099c501395f690337f7105e","impliedFormat":1},{"version":"039bd8d1e0d151570b66e75ee152877fb0e2f42eca43718632ac195e6884be34","impliedFormat":1},{"version":"d565d66b38d54de037c9d46dede1f12630010d9b45fd9c6b432c7a40b2e30502","impliedFormat":1},{"version":"d7386a1ebe9a3eae227a5561c898c10cacb61a49f941c5a18cdf593f979c693c","impliedFormat":1},{"version":"e308b9b592b4c89895a14077bd3254811cab67bb580286b1bd7428cb476b6df3","signature":"59d4d3e50459d3dcb53cc0ca9d1211d299167c2283ac63428b90a53824dd248c"},{"version":"89ad9a4e8044299f356f38879a1c2176bc60c997519b442c92cc5a70b731a360","impliedFormat":99},{"version":"3a05918eaf7436596e09562f4d5371384e15f2f27c9ef0788354035282d96064","signature":"fd469ee23a7074342357545f0d37b487066bab6fc00e079695cc02f79598bf8d"},{"version":"cf31ce99f03ac69f9821b4463a366c66698ae8e7eba5c06d2ede63d5cf7309bd","signature":"233bf868506e6fb7576da957ddead506efb374fe8b70a1b56e0114f231fdadbb"},{"version":"9214c077d8d253331da82bffdb36edb778abc73d27b34dff0eb544e6d7b9d386","signature":"e190ec1655ed31bfc2be09752f369cd4200010a6decbe785cce1ca690a52252c"},{"version":"b843496b17a2bbd79c83809c73fd9c59fab53d3e361e04e52e2d489524eea764","impliedFormat":1},{"version":"6a046b50c82c554699c148a9f4922c785b200fb87f067772f166e80c59e813ca","signature":"6be90cc3810d5b2a29f304c6f7ff64a7f4d0f26e44d944d1dfa68b7d7a2fbf65"},{"version":"c4f50ecab61ee02224a432f2e5e7cafc1941913640134abade00e3db82512baf","signature":"bd8a274814ea3590e2b90c7bc29d86ade4f2540b2d1de2d461579d92eb344bdc"},{"version":"3e346d9b84a0e2cbafb6311589d4dfcf0df6c1c8f94fca26ff4c34dfa4170823","signature":"eb1f0c48fcae785ca971602b876b59df15d9213a439d3ec82aacd5fc8415350e"},{"version":"fd4f58cd6b5fc8ce8af0d04bfef5142f15c4bafaac9a9899c6daa056f10bb517","impliedFormat":99},{"version":"da0313c01c8aedd722c4bb1cbd4723acef6187cda4de0ea230cff90d6aebcf2e","signature":"da6a1d498947d59b453f7bdca298ee4b77f0e34ab6e2aaaf782aaac054b571f4"},{"version":"2a00cea77767cb26393ee6f972fd32941249a0d65b246bfcb20a780a2b919a21","impliedFormat":99},{"version":"440cb5b34e06fabe3dcb13a3f77b98d771bf696857c8e97ce170b4f345f8a26b","impliedFormat":99},{"version":"c0f759689e24aaa36d62d2de868ddab35b12c5e4a8c8c035582c46a963e4b56f","signature":"aa4c6a3e34c3d0d6e795066286aa3e062b085c1b2a8967f5782d14394d7cae16"},{"version":"c0306e3325a10c7377794b1b75fffb57179be1f19a3b3b3b0e0d79dde53b4ecf","signature":"c9001d3c77c7b306af3e8b7d4407e4a7f9ca133d1302fdd67238211f6e1c2b6f"},{"version":"2535fc1a5fe64892783ff8f61321b181c24f824e688a4a05ae738da33466605b","impliedFormat":99},{"version":"50b93b8af040517d766f9ee6d0dffeacf40b5082469bba7e5d49a7f9eb5aaa37","signature":"adeb329d41b4133066a9911fdc1f39c4956fe3dfa83611a70434f542b6adb268"},{"version":"a9373d52584b48809ffd61d74f5b3dfd127da846e3c4ee3c415560386df3994b","impliedFormat":99},{"version":"caf4af98bf464ad3e10c46cf7d340556f89197aab0f87f032c7b84eb8ddb24d9","impliedFormat":99},{"version":"cbfd5ef0c8fdb4983202252b5f5758a579f4500edc3b9ad413da60cffb5c3564","impliedFormat":99},{"version":"d48446fe6380e0fb272988c37992a4633b7002dd7e8faa639993f38e010953aa","signature":"dc27b41119d6806693f9e4f0d68431d33532f737a84ade77e34b76bb8c9873eb"},{"version":"9f7a3c434912fd3feb87af4aabdf0d1b614152ecb5e7b2aa1fff3429879cdd51","impliedFormat":99},{"version":"9a91313aaed0e8358c69fad89d12a1f5d148bd7fa5ffbed925e6f8b368617ba9","signature":"a0d654569736836260ac4805fe575fbafd16a3fd838f8b503a59a98b236073f1"},{"version":"a81a0eea036dd60a2c2edc52466bb2853bef379c3b9de327fe9fff6e3c38e6c5","impliedFormat":1},{"version":"348c13a1c9160681e41bc5cd3cc519dd8170d38a36a30480b41849f60f5bf8a0","impliedFormat":1},{"version":"c772a37a02356897d6f9872e30fcc2108f43ad943cc112bd1acc5415a876e9f8","impliedFormat":1},{"version":"279248c34ecd223fc46224f86384ebf49c775eb69329ad644d3d99f1205f3e7d","impliedFormat":1},{"version":"74dedffc2d09627f5a4de02bbd7eedf634938c13c2cc4e92f0b4135573432783","impliedFormat":1},{"version":"1f2bbbe38d5e536607b385f04c3d2cbf1e678c5ded7e8c5871ad8ae91ef33c3d","impliedFormat":1},{"version":"3aa3513d5e13d028202e788d763f021d2d113bd673087b42a2606ab50345492d","impliedFormat":1},{"version":"f012173d64d0579875aa60405de21ad379af7971b93bf46bee23acc5fa2b76a4","impliedFormat":1},{"version":"dcf5dc3ce399d472929c170de58422b549130dd540531623c830aaaaf3dd5f93","impliedFormat":1},{"version":"ec35f1490510239b89c745c948007c5dd00a8dca0861a836dcf0db5360679a2d","impliedFormat":1},{"version":"32868e4ec9b6bd4b1d96d24611343404b3a0a37064a7ac514b1d66b48325a911","impliedFormat":1},{"version":"4bbea07f21ff84bf3ceeb218b5a8c367c6e0f08014d3fd09e457d2ffb2826b9c","impliedFormat":1},{"version":"873a07dbeb0f8a3018791d245c0cf10c3289c8f7162cdbbb4a5b9cf723136185","impliedFormat":1},{"version":"43839af7f24edbd4b4e42e861eb7c0d85d80ec497095bb5002c93b451e9fcf88","impliedFormat":1},{"version":"54a7ee56aadecbe8126744f7787f54f79d1e110adab8fe7026ad83a9681f136a","impliedFormat":1},{"version":"6333c727ee2b79cdab55e9e10971e59cbfee26c73dfb350972cfd97712fc2162","impliedFormat":1},{"version":"8743b4356e522c26dc37f20cde4bcdb5ebd0a71a3afe156e81c099db7f34621d","impliedFormat":1},{"version":"af3d97c3a0da9491841efc4e25585247aa76772b840dd279dbff714c69d3a1ec","impliedFormat":1},{"version":"d9ac50fe802967929467413a79631698b8d8f4f2dc692b207e509b6bb3a92524","impliedFormat":1},{"version":"34d017b29ca5107bf2832b992e4cee51ed497f074724a4b4a7b6386b7f8297c9","impliedFormat":1},{"version":"b75d56703daaffcb31a7cdebf190856e07739a9481f01c2919f95bde99be9424","impliedFormat":99},{"version":"8f96f309d60fb87c09afbfba79c43326324379859e2bc27e1d26594a886ec908","signature":"1b2b4612cbfad4c97462a177552f8ad4d3014c58b6f40318318e8049e701e13f"},{"version":"99d1a601593495371e798da1850b52877bf63d0678f15722d5f048e404f002e4","impliedFormat":99},{"version":"4d19b093a16635687d128e2157c8f5bac50b2391cbe031e07ec1e2d53f4d73a3","signature":"351f7cb5f3ce63374db1c4a065fa52fb1395e525c7a7a9dcaade8db57dae36a7"},{"version":"1179ef8174e0e4a09d35576199df04803b1db17c0fb35b9326442884bc0b0cce","impliedFormat":99},{"version":"e2b4198bbf3968eae76d71fd04074b43f802357d997dbd01a1721a96e5895383","signature":"89c4c894c2e107e6acd529ccc90f5d3ac56e9e26eec7acc69db5bc74c67f66b8"},{"version":"647b61de5cb1f53e7265022c6f60bf25a43b75ff71bde690adf9ec5f74a22688","signature":"d76d7a53b855e40233ee94d7991f041ef08798ce237f572fa1fe5120792e0f3a"},{"version":"c3005a6a39bd1aaecf3c0c9c61860db480ec5cbd16381556e381bdc3a59b6ac6","signature":"6ff334f1e3348c2e00624e004c3f55ab2e5a80c688642db171633a735efb9374"},{"version":"233267a4a036c64aee95f66a0d31e3e0ef048cccc57dd66f9cf87582b38691e4","impliedFormat":99},{"version":"b620f27ccc82ec7748e2039143cd3c36c029e48b083025f88e621e6dda91222a","signature":"6d248991a8cfaece02458f68fed4d3e7ebbdb17833b9fd127fdaa69cf8436c69"},{"version":"1bdf187549f043a81a5b1a97da1422c4bf2bc5b2cce0415f074e017dcf1e8f71","signature":"0bcbba038569698e4536177738d43aed5cc5e81a958ef84c512c683ac9414354"},{"version":"cc3738ba01d9af5ba1206a313896837ff8779791afcd9869e582783550f17f38","impliedFormat":99},{"version":"0d000a7ec98386e515f6e484e4545cc4d34bcf201fd52ce5a53a5fea0bfdd9b5","signature":"5c6d966b719f71bfc1053b6613fc4062e9697d4ffe3d4cc328ae34651ec3adf4"},{"version":"e6b8f3cd057e49a50b57a52acc38cff7c224def2249464d489295e0e1d200af6","impliedFormat":1},{"version":"5f2418e3437ab5fcf922fefa408f3b0257431ac9353a10c5c3d18fd3e68b30f7","signature":"6758bdb7bc5b66438c03317d3c2a15ac771cb1382d8229f65fbb6a05b225f1da"},{"version":"4a5aa16151dbec524bb043a5cbce2c3fec75957d175475c115a953aca53999a9","impliedFormat":99},{"version":"6d89650a8b9474244627b2ead855995f9923b9ad8576db96c1841b084f44c76a","signature":"5035c4b9bc34ab886efe227aab0d1057f08efd33c317ac18adbb0c5137544e5e"},{"version":"7e4ec95a993de8b29a144facf8c5e99271239ee40ca158a93cbc8b6853e7ca54","signature":"6a837d288765564d548dd6ca64acfcd5d51b53898414355060b1ebf38d45d74d"},{"version":"7a14bf21ae8a29d64c42173c08f026928daf418bed1b97b37ac4bb2aa197b89b","impliedFormat":99},{"version":"23cc67b5360458decab2e93b3827aebbe142fd2d9f76ec418f96cb3269f1820a","signature":"a0e3d7ec764206d4047f5be0152f038bc3498b3fa0751247d00e02267906fbcd"},{"version":"2dfd19d81413d2eda50679dd8caa1cad25ebb34194b37fa1ddfb7dd647939f6d","signature":"5fe0be66db3dd2c391800533fc65d83aff705a2accd5a59c1804b462d5d1c15c"},{"version":"69ec8d900cfec3d40e50490fedbbea5c1b49d32c38adbc236e73a3b8978c0b11","impliedFormat":99},{"version":"7fd629484ba6772b686885b443914655089246f75a13dd685845d0abae337671","impliedFormat":99},{"version":"80a93a384850d9fd7b4d5c2d1f8409874d198467648e000c310695caedaf807b","signature":"ea61fe226066ef7b04c31bb4cb69f280569982683945c2dcaf65d59a537b6217"},{"version":"4e725b44cc99b17211ca80c9306271c7dd1a9c9af0d0aba3faddad63d33992e2","signature":"44c4203ac811b5d4d8953be3b07ace5b3b5396d892cde969912d40d058d43086"},{"version":"1b43441b273aa21c1e74fefa774d5a7cb50068e5d4c192a8f63b9c95c5580431","signature":"32f7c168ee545e9b432d2a861f4fb0bc645e21e88c774cedf54e72d1e3ccc049"},"d1986184a09a52db8228cb2bb2a61a8c05c9354e5b93cec8e2628d8579c892d7",{"version":"1a817c45c3712a1bedadddb177f9e440d34a7e2b908ef9df854581b2e76ecd43","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2174e20517788d2a1379fc0aaacd87899a70f9e0197b4295edabfe75c4db03d8","impliedFormat":1},{"version":"b1538a92b9bae8d230267210c5db38c2eb6bdb352128a3ce3aa8c6acf9fc9622","impliedFormat":1},{"version":"6fc1a4f64372593767a9b7b774e9b3b92bf04e8785c3f9ea98973aa9f4bbe490","impliedFormat":1},{"version":"ff09b6fbdcf74d8af4e131b8866925c5e18d225540b9b19ce9485ca93e574d84","impliedFormat":1},{"version":"d5895252efa27a50f134a9b580aa61f7def5ab73d0a8071f9b5bf9a317c01c2d","impliedFormat":1},{"version":"1f366bde16e0513fa7b64f87f86689c4d36efd85afce7eb24753e9c99b91c319","impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"fb893a0dfc3c9fb0f9ca93d0648694dd95f33cbad2c0f2c629f842981dfd4e2e","impliedFormat":1},{"version":"95da3c365e3d45709ad6e0b4daa5cdaf05e9076ba3c201e8f8081dd282c02f57","impliedFormat":1},{"version":"0e60e0cbf2283adfd5a15430ae548cd2f662d581b5da6ecd98220203e7067c70","impliedFormat":1},{"version":"8357ad1403cf5d74ac86ce60332396a11ba3acef7e32a314acb38a6076b64a80","impliedFormat":1},{"version":"e91ad231af87f864b3f07cd0e39b1cf6c133988156f087c1c3ccb0a5491c9115","impliedFormat":1},{"version":"ef5a2229cc377ddd1b8d3fb498b161d6d47ca2d8fa5857b9cfee5ab6b945b687","impliedFormat":1},{"version":"319c37263037e8d9481a3dc7eadf6afa6a5f5c002189ebe28776ac1a62a38e15","impliedFormat":1},{"version":"1f4ae755492a669b317903a6b1664cb7af3fe0c3d1eec6447f4e95a80616d15a","impliedFormat":1},{"version":"03c258e060b7da220973f84b89615e4e9850e9b5d30b3a8e4840b3e3268ae8eb","impliedFormat":1},{"version":"908217c4f2244ec402b73533ebfcc46d6dcd34fc1c807ff403d7f98702abb3bc","impliedFormat":1},{"version":"2c3b8be03577c98530ef9cb1a76e2c812636a871f367e9edf4c5f3ce702b77f8","affectsGlobalScope":true,"impliedFormat":1},{"version":"0b301e46295e7dee8bcead624b4a0f94ab8ba1cb3f572b726977322293be2196","impliedFormat":1}],"root":[531,532,[723,726],[743,757],759,[768,779],[793,795],815,[820,824],[826,856],[858,875],[878,884],888,[903,961],963,964,967,972,973,976,980,981,984,985,1420,1457,1528,1530,1531,1533,1534,1541,1543,[1545,1547],1581,[1583,1585],[1587,1589],1591,1594,1595,1597,1601,1603,1625,1627,[1629,1631],1633,1634,1636,1638,1640,1641,1643,1644,[1647,1651]],"options":{"allowJs":true,"esModuleInterop":true,"jsx":4,"module":99,"skipLibCheck":true,"strict":true,"target":2},"referencedMap":[[1650,1],[531,2],[1651,3],[830,4],[831,5],[838,6],[839,7],[840,6],[842,8],[843,6],[836,9],[872,10],[845,11],[837,12],[873,13],[874,6],[875,6],[881,14],[880,15],[726,16],[832,17],[883,18],[749,19],[752,20],[751,20],[753,19],[754,20],[755,19],[756,20],[757,20],[888,21],[884,22],[903,23],[907,24],[905,25],[917,26],[918,27],[915,28],[920,29],[921,30],[919,31],[922,28],[925,32],[927,33],[928,34],[926,28],[929,35],[910,36],[930,37],[931,35],[932,38],[933,39],[824,40],[934,41],[941,42],[943,43],[942,22],[829,44],[944,45],[954,46],[955,41],[822,47],[959,48],[960,41],[961,49],[835,50],[860,51],[865,52],[862,53],[868,54],[871,55],[867,56],[864,57],[856,58],[846,59],[849,60],[850,61],[854,62],[847,60],[964,63],[851,64],[848,60],[855,59],[852,61],[870,65],[863,66],[853,66],[858,45],[841,67],[844,45],[759,66],[866,68],[869,65],[834,69],[953,70],[947,71],[948,72],[951,64],[945,71],[949,59],[946,73],[952,60],[950,74],[906,45],[916,75],[859,76],[924,77],[923,78],[914,79],[911,80],[913,81],[861,75],[912,82],[909,69],[821,83],[828,84],[827,85],[937,86],[940,87],[939,88],[938,89],[935,90],[957,86],[958,91],[956,90],[963,92],[823,83],[967,93],[972,94],[973,95],[976,96],[980,97],[936,98],[981,99],[985,100],[826,98],[1420,101],[882,102],[1457,103],[1528,104],[1530,105],[1531,106],[1534,107],[1541,108],[904,45],[1533,109],[1543,110],[1545,111],[1546,112],[1547,113],[1581,114],[1583,115],[1585,116],[1587,117],[879,102],[1588,118],[1589,119],[878,120],[1591,121],[1594,122],[1595,123],[1597,124],[1601,125],[1603,126],[1625,127],[1627,128],[1629,129],[984,130],[1630,109],[1634,131],[1631,119],[1636,132],[1638,133],[833,134],[1640,135],[1641,102],[1643,136],[1584,102],[769,137],[1644,138],[1648,139],[1647,140],[1633,141],[1649,83],[770,142],[908,143],[771,83],[772,142],[725,144],[774,145],[776,146],[820,147],[724,148],[743,149],[744,17],[777,150],[778,151],[779,146],[723,17],[746,152],[745,151],[747,17],[750,153],[748,153],[768,154],[532,155],[986,2],[987,156],[988,157],[993,158],[989,157],[992,2],[990,2],[991,2],[797,159],[798,160],[807,161],[735,159],[739,162],[731,163],[730,164],[728,165],[727,166],[729,167],[801,168],[799,169],[800,162],[805,170],[804,171],[803,172],[736,173],[734,174],[733,2],[814,175],[812,176],[811,177],[813,2],[809,178],[808,179],[741,162],[732,2],[720,180],[718,181],[716,181],[714,181],[719,182],[717,183],[715,184],[637,185],[636,181],[551,2],[375,2],[966,186],[971,187],[1535,188],[975,189],[974,190],[979,191],[977,190],[978,190],[1529,192],[965,193],[1540,194],[760,190],[970,195],[762,188],[1544,194],[968,188],[1582,196],[877,189],[876,190],[1539,197],[1590,198],[1593,199],[1596,200],[1537,201],[969,188],[761,190],[1600,191],[1598,190],[1599,190],[1602,202],[1538,193],[1626,193],[1628,200],[983,189],[982,190],[1635,193],[825,203],[1639,193],[1642,202],[763,204],[1646,205],[1645,188],[1632,196],[1592,188],[1536,2],[1652,2],[1653,2],[1654,2],[1655,2],[1656,206],[1478,2],[1461,207],[1479,208],[1460,2],[1657,2],[1658,2],[1660,209],[1661,2],[1662,2],[1659,2],[139,210],[140,210],[141,211],[93,212],[142,213],[143,214],[144,215],[88,2],[91,216],[89,2],[90,2],[145,217],[146,218],[147,219],[148,220],[149,221],[150,222],[151,222],[152,223],[153,224],[154,225],[155,226],[94,2],[92,2],[156,227],[157,228],[158,229],[192,230],[159,231],[160,2],[161,232],[162,233],[163,234],[164,235],[165,236],[166,237],[167,238],[168,239],[169,240],[170,240],[171,241],[172,2],[173,242],[174,243],[176,244],[175,245],[177,246],[178,247],[179,248],[180,249],[181,250],[182,251],[183,252],[184,253],[185,254],[186,255],[187,256],[188,257],[189,258],[95,2],[96,2],[97,2],[136,259],[137,2],[138,2],[190,260],[191,261],[196,262],[460,190],[197,263],[195,264],[462,265],[461,266],[193,267],[458,2],[194,268],[79,2],[81,269],[457,190],[227,190],[1665,270],[1666,2],[1667,2],[1668,2],[1669,271],[885,2],[1670,2],[819,2],[699,272],[98,2],[766,273],[765,274],[764,2],[1532,275],[80,2],[1082,276],[1061,277],[1158,2],[1062,278],[998,276],[999,276],[1000,276],[1001,276],[1002,276],[1003,276],[1004,276],[1005,276],[1006,276],[1007,276],[1008,276],[1009,276],[1010,276],[1011,276],[1012,276],[1013,276],[1014,276],[1015,276],[994,2],[1016,276],[1017,276],[1018,2],[1019,276],[1020,276],[1022,276],[1021,276],[1023,276],[1024,276],[1025,276],[1026,276],[1027,276],[1028,276],[1029,276],[1030,276],[1031,276],[1032,276],[1033,276],[1034,276],[1035,276],[1036,276],[1037,276],[1038,276],[1039,276],[1040,276],[1041,276],[1043,276],[1044,276],[1045,276],[1042,276],[1046,276],[1047,276],[1048,276],[1049,276],[1050,276],[1051,276],[1052,276],[1053,276],[1054,276],[1055,276],[1056,276],[1057,276],[1058,276],[1059,276],[1060,276],[1063,279],[1064,276],[1065,276],[1066,280],[1067,281],[1068,276],[1069,276],[1070,276],[1071,276],[1074,276],[1072,276],[1073,276],[996,2],[1075,276],[1076,276],[1077,276],[1078,276],[1079,276],[1080,276],[1081,276],[1083,282],[1084,276],[1085,276],[1086,276],[1088,276],[1087,276],[1089,276],[1090,276],[1091,276],[1092,276],[1093,276],[1094,276],[1095,276],[1096,276],[1097,276],[1098,276],[1100,276],[1099,276],[1101,276],[1102,2],[1103,2],[1104,2],[1251,283],[1105,276],[1106,276],[1107,276],[1108,276],[1109,276],[1110,276],[1111,2],[1112,276],[1113,2],[1114,276],[1115,276],[1116,276],[1117,276],[1118,276],[1119,276],[1120,276],[1121,276],[1122,276],[1123,276],[1124,276],[1125,276],[1126,276],[1127,276],[1128,276],[1129,276],[1130,276],[1131,276],[1132,276],[1133,276],[1134,276],[1135,276],[1136,276],[1137,276],[1138,276],[1139,276],[1140,276],[1141,276],[1142,276],[1143,276],[1144,276],[1145,276],[1146,2],[1147,276],[1148,276],[1149,276],[1150,276],[1151,276],[1152,276],[1153,276],[1154,276],[1155,276],[1156,276],[1157,276],[1159,284],[1347,285],[1252,278],[1254,278],[1255,278],[1256,278],[1257,278],[1258,278],[1253,278],[1259,278],[1261,278],[1260,278],[1262,278],[1263,278],[1264,278],[1265,278],[1266,278],[1267,278],[1268,278],[1269,278],[1271,278],[1270,278],[1272,278],[1273,278],[1274,278],[1275,278],[1276,278],[1277,278],[1278,278],[1279,278],[1280,278],[1281,278],[1282,278],[1283,278],[1284,278],[1285,278],[1286,278],[1288,278],[1289,278],[1287,278],[1290,278],[1291,278],[1292,278],[1293,278],[1294,278],[1295,278],[1296,278],[1297,278],[1298,278],[1299,278],[1300,278],[1301,278],[1303,278],[1302,278],[1305,278],[1304,278],[1306,278],[1307,278],[1308,278],[1309,278],[1310,278],[1311,278],[1312,278],[1313,278],[1314,278],[1315,278],[1316,278],[1317,278],[1318,278],[1320,278],[1319,278],[1321,278],[1322,278],[1323,278],[1325,278],[1324,278],[1326,278],[1327,278],[1328,278],[1329,278],[1330,278],[1331,278],[1333,278],[1332,278],[1334,278],[1335,278],[1336,278],[1337,278],[1338,278],[995,276],[1339,278],[1340,278],[1342,278],[1341,278],[1343,278],[1344,278],[1345,278],[1346,278],[1160,276],[1161,276],[1162,2],[1163,2],[1164,2],[1165,276],[1166,2],[1167,2],[1168,2],[1169,2],[1170,2],[1171,276],[1172,276],[1173,276],[1174,276],[1175,276],[1176,276],[1177,276],[1178,276],[1183,286],[1181,287],[1182,288],[1180,289],[1179,276],[1184,276],[1185,276],[1186,276],[1187,276],[1188,276],[1189,276],[1190,276],[1191,276],[1192,276],[1193,276],[1194,2],[1195,2],[1196,276],[1197,276],[1198,2],[1199,2],[1200,2],[1201,276],[1202,276],[1203,276],[1204,276],[1205,282],[1206,276],[1207,276],[1208,276],[1209,276],[1210,276],[1211,276],[1212,276],[1213,276],[1214,276],[1215,276],[1216,276],[1217,276],[1218,276],[1219,276],[1220,276],[1221,276],[1222,276],[1223,276],[1224,276],[1225,276],[1226,276],[1227,276],[1228,276],[1229,276],[1230,276],[1231,276],[1232,276],[1233,276],[1234,276],[1235,276],[1236,276],[1237,276],[1238,276],[1239,276],[1240,276],[1241,276],[1242,276],[1243,276],[1244,276],[1245,276],[1246,276],[997,290],[1247,2],[1248,2],[1249,2],[1250,2],[886,271],[1455,291],[1456,292],[1421,2],[1429,293],[1423,294],[1430,2],[1452,295],[1427,296],[1451,297],[1448,298],[1431,299],[1432,2],[1425,2],[1422,2],[1453,300],[1449,301],[1433,2],[1450,302],[1434,303],[1436,304],[1437,305],[1426,306],[1438,307],[1439,306],[1441,307],[1442,308],[1443,309],[1445,310],[1440,311],[1446,312],[1447,313],[1424,314],[1444,315],[1428,316],[1435,2],[1454,317],[698,2],[534,318],[536,318],[533,2],[539,319],[535,320],[785,2],[781,2],[791,321],[786,322],[783,2],[792,323],[790,324],[789,325],[788,326],[787,325],[780,2],[784,327],[782,2],[721,328],[722,329],[537,330],[538,331],[738,332],[740,333],[802,334],[806,335],[796,2],[810,336],[737,337],[742,338],[1663,339],[638,340],[640,341],[641,342],[639,343],[689,181],[690,344],[691,344],[686,344],[679,345],[707,346],[683,347],[684,348],[709,349],[708,350],[677,350],[687,351],[712,352],[685,353],[702,354],[701,355],[710,356],[676,357],[711,358],[693,359],[713,360],[694,361],[706,362],[704,363],[705,364],[682,365],[703,366],[680,367],[692,2],[688,2],[671,2],[700,368],[681,369],[678,370],[695,2],[697,2],[621,371],[540,372],[625,2],[542,373],[618,374],[619,375],[545,2],[549,376],[547,377],[595,378],[594,379],[596,380],[597,381],[546,2],[550,2],[543,2],[544,2],[607,2],[615,2],[634,382],[628,383],[623,384],[581,385],[602,385],[580,385],[558,385],[584,386],[568,387],[565,2],[566,388],[559,385],[562,389],[561,390],[593,391],[564,385],[569,392],[570,385],[574,393],[575,385],[576,394],[577,385],[578,393],[579,385],[587,395],[588,385],[590,396],[591,385],[592,392],[585,386],[573,397],[572,398],[571,385],[586,399],[583,400],[582,386],[567,385],[589,387],[560,385],[601,385],[604,401],[603,402],[635,403],[633,404],[627,405],[629,406],[626,407],[609,408],[630,409],[622,410],[614,411],[541,412],[616,413],[611,414],[610,415],[624,416],[631,417],[632,409],[617,418],[598,419],[612,420],[613,421],[608,422],[620,423],[563,2],[599,424],[606,425],[605,426],[600,427],[548,2],[557,428],[554,181],[663,2],[664,429],[646,430],[658,431],[657,432],[655,433],[665,434],[643,2],[668,435],[650,2],[661,436],[660,437],[662,438],[666,2],[656,439],[649,440],[654,441],[667,442],[652,443],[647,2],[648,444],[669,445],[659,446],[653,442],[644,2],[670,447],[642,432],[645,2],[651,432],[1586,190],[887,448],[556,449],[555,2],[758,190],[857,2],[962,190],[483,450],[488,1],[495,451],[478,452],[231,2],[239,453],[379,454],[382,455],[354,2],[367,456],[374,457],[256,2],[356,2],[237,2],[353,458],[399,459],[238,2],[229,460],[381,461],[383,462],[384,463],[455,464],[348,465],[301,466],[361,467],[362,468],[360,469],[359,2],[355,470],[380,471],[240,472],[425,2],[426,473],[267,474],[241,475],[268,474],[304,474],[207,474],[377,476],[376,2],[366,477],[473,2],[216,2],[494,478],[433,479],[434,480],[430,481],[512,2],[331,2],[435,83],[431,482],[517,483],[516,484],[511,2],[282,2],[334,485],[333,2],[510,486],[432,190],[287,487],[294,488],[296,489],[286,2],[291,490],[293,491],[295,492],[290,493],[288,2],[292,494],[513,2],[509,2],[515,495],[514,2],[285,496],[504,497],[507,498],[275,499],[274,500],[273,501],[520,190],[272,502],[261,2],[522,2],[817,503],[816,2],[523,190],[524,504],[199,2],[363,505],[364,506],[365,507],[203,2],[368,2],[223,508],[198,2],[447,190],[205,509],[446,510],[445,511],[436,2],[437,2],[444,2],[439,2],[442,512],[438,2],[440,513],[443,514],[441,513],[236,2],[233,2],[234,474],[388,2],[393,515],[394,516],[392,517],[390,518],[391,519],[386,2],[453,83],[228,83],[482,520],[489,521],[493,522],[322,523],[321,2],[316,2],[469,524],[477,525],[349,526],[350,527],[428,528],[338,2],[451,529],[326,190],[343,530],[454,531],[339,2],[342,532],[340,2],[452,533],[449,534],[448,2],[450,2],[346,2],[424,535],[211,536],[324,537],[328,538],[344,539],[347,540],[336,541],[329,542],[476,543],[402,544],[320,545],[208,546],[475,547],[204,548],[395,549],[387,2],[396,550],[413,551],[385,2],[412,552],[87,2],[407,553],[232,2],[427,554],[403,2],[217,2],[219,2],[358,2],[411,555],[235,2],[259,556],[345,557],[265,558],[325,2],[410,2],[389,2],[415,559],[416,560],[357,2],[418,561],[420,562],[419,563],[369,2],[409,546],[422,564],[319,565],[408,566],[414,567],[244,2],[248,2],[247,2],[246,2],[251,2],[245,2],[254,2],[253,2],[250,2],[249,2],[252,2],[255,568],[243,2],[311,569],[310,2],[315,570],[312,571],[314,572],[317,570],[313,571],[224,573],[303,574],[472,575],[470,2],[499,576],[501,577],[465,578],[500,579],[212,580],[209,580],[242,2],[226,581],[225,582],[221,583],[222,584],[230,585],[258,585],[269,585],[305,586],[270,586],[214,587],[213,2],[309,588],[308,589],[307,590],[306,591],[215,592],[456,593],[257,594],[464,595],[429,596],[459,597],[463,598],[352,599],[351,600],[332,601],[318,602],[300,603],[302,604],[299,605],[421,606],[323,2],[487,2],[220,607],[423,608],[471,609],[330,2],[260,610],[337,611],[335,612],[262,613],[397,614],[466,2],[263,615],[398,615],[485,2],[484,2],[486,2],[468,2],[467,2],[400,616],[327,2],[297,617],[218,618],[276,2],[202,619],[264,2],[491,190],[201,2],[503,620],[284,190],[497,83],[283,621],[480,622],[281,620],[206,2],[505,623],[279,190],[280,190],[271,2],[200,2],[278,624],[277,625],[266,626],[341,239],[401,239],[417,2],[405,627],[404,2],[289,496],[210,2],[298,190],[474,508],[481,628],[82,190],[85,629],[86,630],[83,190],[84,2],[378,631],[373,632],[372,2],[371,633],[370,2],[479,634],[490,635],[492,636],[496,637],[818,638],[498,639],[502,640],[530,641],[506,641],[529,642],[508,643],[518,644],[519,645],[521,646],[525,647],[528,508],[527,2],[526,648],[674,649],[675,650],[673,649],[672,648],[553,181],[552,2],[696,181],[1406,651],[1367,652],[1366,653],[1405,654],[1407,655],[1348,190],[1349,190],[1350,190],[1394,656],[1373,657],[1374,657],[1375,658],[1376,190],[1377,190],[1378,659],[1351,660],[1379,190],[1380,190],[1381,661],[1382,190],[1383,190],[1384,190],[1385,190],[1386,190],[1387,190],[1352,660],[1388,190],[1389,190],[1390,660],[1391,190],[1392,190],[1393,661],[1408,658],[1395,651],[1396,651],[1397,651],[1398,651],[1399,651],[1400,2],[1401,651],[1402,662],[1409,663],[1410,664],[1419,665],[1364,666],[1353,667],[1354,651],[1355,667],[1356,651],[1357,2],[1358,651],[1359,2],[1360,651],[1361,651],[1362,651],[1363,651],[1404,651],[1371,668],[1372,669],[1368,670],[1369,671],[1403,672],[1365,190],[1370,673],[1411,667],[1412,667],[1418,674],[1413,651],[1414,667],[1415,667],[1416,651],[1417,667],[1548,2],[1564,675],[1565,675],[1566,675],[1580,676],[1567,677],[1568,677],[1569,678],[1561,679],[1559,680],[1550,2],[1554,681],[1558,682],[1556,683],[1563,684],[1551,685],[1552,686],[1553,687],[1555,688],[1557,689],[1560,690],[1562,691],[1570,677],[1571,677],[1572,677],[1573,675],[1574,677],[1575,677],[1549,677],[1576,2],[1578,692],[1577,677],[1579,675],[1609,2],[1623,693],[1604,190],[1606,694],[1608,695],[1607,696],[1605,2],[1610,2],[1611,2],[1612,2],[1613,2],[1614,2],[1615,2],[1616,2],[1617,2],[1618,2],[1619,697],[1621,698],[1622,698],[1620,2],[1624,699],[1501,700],[1503,701],[1493,702],[1498,703],[1499,704],[1505,705],[1500,706],[1497,707],[1496,708],[1495,709],[1506,710],[1463,703],[1464,703],[1504,703],[1509,711],[1519,712],[1513,712],[1521,712],[1525,712],[1511,713],[1512,712],[1514,712],[1517,712],[1520,712],[1516,714],[1518,712],[1522,190],[1515,703],[1510,715],[1472,190],[1476,190],[1466,703],[1469,190],[1474,703],[1475,716],[1468,717],[1471,190],[1473,190],[1470,718],[1459,190],[1458,190],[1527,719],[1524,720],[1490,721],[1489,703],[1487,190],[1488,703],[1491,722],[1492,723],[1485,190],[1481,724],[1484,703],[1483,703],[1482,703],[1477,703],[1486,724],[1523,703],[1502,725],[1508,726],[1507,727],[1526,2],[1494,2],[1467,2],[1465,728],[406,729],[1637,190],[767,2],[1664,2],[77,2],[78,2],[13,2],[14,2],[16,2],[15,2],[2,2],[17,2],[18,2],[19,2],[20,2],[21,2],[22,2],[23,2],[24,2],[3,2],[25,2],[26,2],[4,2],[27,2],[31,2],[28,2],[29,2],[30,2],[32,2],[33,2],[34,2],[5,2],[35,2],[36,2],[37,2],[38,2],[6,2],[42,2],[39,2],[40,2],[41,2],[43,2],[7,2],[44,2],[49,2],[50,2],[45,2],[46,2],[47,2],[48,2],[8,2],[54,2],[51,2],[52,2],[53,2],[55,2],[9,2],[56,2],[57,2],[58,2],[60,2],[59,2],[61,2],[62,2],[10,2],[63,2],[64,2],[65,2],[11,2],[66,2],[67,2],[68,2],[69,2],[70,2],[1,2],[71,2],[72,2],[12,2],[75,2],[74,2],[73,2],[76,2],[114,730],[124,731],[113,730],[134,732],[105,733],[104,734],[133,648],[127,735],[132,736],[107,737],[121,738],[106,739],[130,740],[102,741],[101,648],[131,742],[103,743],[108,744],[109,2],[112,744],[99,2],[135,745],[125,746],[116,747],[117,748],[119,749],[115,750],[118,751],[128,648],[110,752],[111,753],[120,754],[100,755],[123,746],[122,744],[126,2],[129,756],[1542,275],[1462,757],[1480,758],[902,759],[894,760],[901,761],[896,2],[897,2],[895,762],[898,763],[889,2],[890,2],[891,759],[893,764],[899,2],[900,765],[892,766],[793,767],[794,767],[795,767],[815,768],[773,17],[775,17]],"affectedFilesPendingEmit":[1651,830,831,838,839,840,842,843,836,872,845,837,873,874,875,881,880,726,832,883,749,752,751,753,754,755,756,757,888,884,903,907,905,917,918,915,920,921,919,922,925,927,928,926,929,910,930,931,932,933,824,934,941,943,942,829,944,954,955,822,959,960,961,835,860,865,862,868,871,867,864,856,846,849,850,854,847,964,851,848,855,852,870,863,853,858,841,844,759,866,869,834,953,947,948,951,945,949,946,952,950,906,916,859,924,923,914,911,913,861,912,909,821,828,827,937,940,939,938,935,957,958,956,963,823,967,972,973,976,980,936,981,985,826,1420,882,1457,1528,1530,1531,1534,1541,904,1533,1543,1545,1546,1547,1581,1583,1585,1587,879,1588,1589,878,1591,1594,1595,1597,1601,1603,1625,1627,1629,984,1630,1634,1631,1636,1638,833,1640,1641,1643,1584,769,1644,1648,1647,1633,1649,770,908,771,772,725,774,776,820,724,743,744,777,778,779,723,746,745,747,750,748,768,793,794,795,815,773,775],"version":"5.7.3"} \ No newline at end of file +{"fileNames":["./node_modules/typescript/lib/lib.es5.d.ts","./node_modules/typescript/lib/lib.es2015.d.ts","./node_modules/typescript/lib/lib.es2016.d.ts","./node_modules/typescript/lib/lib.es2017.d.ts","./node_modules/typescript/lib/lib.es2018.d.ts","./node_modules/typescript/lib/lib.es2019.d.ts","./node_modules/typescript/lib/lib.es2020.d.ts","./node_modules/typescript/lib/lib.es2021.d.ts","./node_modules/typescript/lib/lib.es2022.d.ts","./node_modules/typescript/lib/lib.es2023.d.ts","./node_modules/typescript/lib/lib.es2024.d.ts","./node_modules/typescript/lib/lib.esnext.d.ts","./node_modules/typescript/lib/lib.dom.d.ts","./node_modules/typescript/lib/lib.dom.iterable.d.ts","./node_modules/typescript/lib/lib.es2015.core.d.ts","./node_modules/typescript/lib/lib.es2015.collection.d.ts","./node_modules/typescript/lib/lib.es2015.generator.d.ts","./node_modules/typescript/lib/lib.es2015.iterable.d.ts","./node_modules/typescript/lib/lib.es2015.promise.d.ts","./node_modules/typescript/lib/lib.es2015.proxy.d.ts","./node_modules/typescript/lib/lib.es2015.reflect.d.ts","./node_modules/typescript/lib/lib.es2015.symbol.d.ts","./node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","./node_modules/typescript/lib/lib.es2016.array.include.d.ts","./node_modules/typescript/lib/lib.es2016.intl.d.ts","./node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","./node_modules/typescript/lib/lib.es2017.date.d.ts","./node_modules/typescript/lib/lib.es2017.object.d.ts","./node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2017.string.d.ts","./node_modules/typescript/lib/lib.es2017.intl.d.ts","./node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","./node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","./node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","./node_modules/typescript/lib/lib.es2018.intl.d.ts","./node_modules/typescript/lib/lib.es2018.promise.d.ts","./node_modules/typescript/lib/lib.es2018.regexp.d.ts","./node_modules/typescript/lib/lib.es2019.array.d.ts","./node_modules/typescript/lib/lib.es2019.object.d.ts","./node_modules/typescript/lib/lib.es2019.string.d.ts","./node_modules/typescript/lib/lib.es2019.symbol.d.ts","./node_modules/typescript/lib/lib.es2019.intl.d.ts","./node_modules/typescript/lib/lib.es2020.bigint.d.ts","./node_modules/typescript/lib/lib.es2020.date.d.ts","./node_modules/typescript/lib/lib.es2020.promise.d.ts","./node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2020.string.d.ts","./node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","./node_modules/typescript/lib/lib.es2020.intl.d.ts","./node_modules/typescript/lib/lib.es2020.number.d.ts","./node_modules/typescript/lib/lib.es2021.promise.d.ts","./node_modules/typescript/lib/lib.es2021.string.d.ts","./node_modules/typescript/lib/lib.es2021.weakref.d.ts","./node_modules/typescript/lib/lib.es2021.intl.d.ts","./node_modules/typescript/lib/lib.es2022.array.d.ts","./node_modules/typescript/lib/lib.es2022.error.d.ts","./node_modules/typescript/lib/lib.es2022.intl.d.ts","./node_modules/typescript/lib/lib.es2022.object.d.ts","./node_modules/typescript/lib/lib.es2022.string.d.ts","./node_modules/typescript/lib/lib.es2022.regexp.d.ts","./node_modules/typescript/lib/lib.es2023.array.d.ts","./node_modules/typescript/lib/lib.es2023.collection.d.ts","./node_modules/typescript/lib/lib.es2023.intl.d.ts","./node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","./node_modules/typescript/lib/lib.es2024.collection.d.ts","./node_modules/typescript/lib/lib.es2024.object.d.ts","./node_modules/typescript/lib/lib.es2024.promise.d.ts","./node_modules/typescript/lib/lib.es2024.regexp.d.ts","./node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2024.string.d.ts","./node_modules/typescript/lib/lib.esnext.array.d.ts","./node_modules/typescript/lib/lib.esnext.collection.d.ts","./node_modules/typescript/lib/lib.esnext.intl.d.ts","./node_modules/typescript/lib/lib.esnext.disposable.d.ts","./node_modules/typescript/lib/lib.esnext.decorators.d.ts","./node_modules/typescript/lib/lib.esnext.iterator.d.ts","./node_modules/typescript/lib/lib.decorators.d.ts","./node_modules/typescript/lib/lib.decorators.legacy.d.ts","./node_modules/@types/react/global.d.ts","./node_modules/csstype/index.d.ts","./node_modules/@types/react/index.d.ts","./node_modules/next/dist/styled-jsx/types/css.d.ts","./node_modules/next/dist/styled-jsx/types/macro.d.ts","./node_modules/next/dist/styled-jsx/types/style.d.ts","./node_modules/next/dist/styled-jsx/types/global.d.ts","./node_modules/next/dist/styled-jsx/types/index.d.ts","./node_modules/next/dist/server/get-page-files.d.ts","./node_modules/@types/node/compatibility/disposable.d.ts","./node_modules/@types/node/compatibility/indexable.d.ts","./node_modules/@types/node/compatibility/iterators.d.ts","./node_modules/@types/node/compatibility/index.d.ts","./node_modules/@types/node/globals.typedarray.d.ts","./node_modules/@types/node/buffer.buffer.d.ts","./node_modules/@types/node/globals.d.ts","./node_modules/@types/node/web-globals/abortcontroller.d.ts","./node_modules/@types/node/web-globals/domexception.d.ts","./node_modules/@types/node/web-globals/events.d.ts","./node_modules/buffer/index.d.ts","./node_modules/undici-types/header.d.ts","./node_modules/undici-types/readable.d.ts","./node_modules/undici-types/file.d.ts","./node_modules/undici-types/fetch.d.ts","./node_modules/undici-types/formdata.d.ts","./node_modules/undici-types/connector.d.ts","./node_modules/undici-types/client.d.ts","./node_modules/undici-types/errors.d.ts","./node_modules/undici-types/dispatcher.d.ts","./node_modules/undici-types/global-dispatcher.d.ts","./node_modules/undici-types/global-origin.d.ts","./node_modules/undici-types/pool-stats.d.ts","./node_modules/undici-types/pool.d.ts","./node_modules/undici-types/handlers.d.ts","./node_modules/undici-types/balanced-pool.d.ts","./node_modules/undici-types/agent.d.ts","./node_modules/undici-types/mock-interceptor.d.ts","./node_modules/undici-types/mock-agent.d.ts","./node_modules/undici-types/mock-client.d.ts","./node_modules/undici-types/mock-pool.d.ts","./node_modules/undici-types/mock-errors.d.ts","./node_modules/undici-types/proxy-agent.d.ts","./node_modules/undici-types/env-http-proxy-agent.d.ts","./node_modules/undici-types/retry-handler.d.ts","./node_modules/undici-types/retry-agent.d.ts","./node_modules/undici-types/api.d.ts","./node_modules/undici-types/interceptors.d.ts","./node_modules/undici-types/util.d.ts","./node_modules/undici-types/cookies.d.ts","./node_modules/undici-types/patch.d.ts","./node_modules/undici-types/websocket.d.ts","./node_modules/undici-types/eventsource.d.ts","./node_modules/undici-types/filereader.d.ts","./node_modules/undici-types/diagnostics-channel.d.ts","./node_modules/undici-types/content-type.d.ts","./node_modules/undici-types/cache.d.ts","./node_modules/undici-types/index.d.ts","./node_modules/@types/node/web-globals/fetch.d.ts","./node_modules/@types/node/web-globals/navigator.d.ts","./node_modules/@types/node/web-globals/storage.d.ts","./node_modules/@types/node/assert.d.ts","./node_modules/@types/node/assert/strict.d.ts","./node_modules/@types/node/async_hooks.d.ts","./node_modules/@types/node/buffer.d.ts","./node_modules/@types/node/child_process.d.ts","./node_modules/@types/node/cluster.d.ts","./node_modules/@types/node/console.d.ts","./node_modules/@types/node/constants.d.ts","./node_modules/@types/node/crypto.d.ts","./node_modules/@types/node/dgram.d.ts","./node_modules/@types/node/diagnostics_channel.d.ts","./node_modules/@types/node/dns.d.ts","./node_modules/@types/node/dns/promises.d.ts","./node_modules/@types/node/domain.d.ts","./node_modules/@types/node/events.d.ts","./node_modules/@types/node/fs.d.ts","./node_modules/@types/node/fs/promises.d.ts","./node_modules/@types/node/http.d.ts","./node_modules/@types/node/http2.d.ts","./node_modules/@types/node/https.d.ts","./node_modules/@types/node/inspector.d.ts","./node_modules/@types/node/inspector.generated.d.ts","./node_modules/@types/node/module.d.ts","./node_modules/@types/node/net.d.ts","./node_modules/@types/node/os.d.ts","./node_modules/@types/node/path.d.ts","./node_modules/@types/node/perf_hooks.d.ts","./node_modules/@types/node/process.d.ts","./node_modules/@types/node/punycode.d.ts","./node_modules/@types/node/querystring.d.ts","./node_modules/@types/node/readline.d.ts","./node_modules/@types/node/readline/promises.d.ts","./node_modules/@types/node/repl.d.ts","./node_modules/@types/node/sea.d.ts","./node_modules/@types/node/sqlite.d.ts","./node_modules/@types/node/stream.d.ts","./node_modules/@types/node/stream/promises.d.ts","./node_modules/@types/node/stream/consumers.d.ts","./node_modules/@types/node/stream/web.d.ts","./node_modules/@types/node/string_decoder.d.ts","./node_modules/@types/node/test.d.ts","./node_modules/@types/node/timers.d.ts","./node_modules/@types/node/timers/promises.d.ts","./node_modules/@types/node/tls.d.ts","./node_modules/@types/node/trace_events.d.ts","./node_modules/@types/node/tty.d.ts","./node_modules/@types/node/url.d.ts","./node_modules/@types/node/util.d.ts","./node_modules/@types/node/v8.d.ts","./node_modules/@types/node/vm.d.ts","./node_modules/@types/node/wasi.d.ts","./node_modules/@types/node/worker_threads.d.ts","./node_modules/@types/node/zlib.d.ts","./node_modules/@types/node/index.d.ts","./node_modules/@types/react/canary.d.ts","./node_modules/@types/react/experimental.d.ts","./node_modules/@types/react-dom/index.d.ts","./node_modules/@types/react-dom/canary.d.ts","./node_modules/@types/react-dom/experimental.d.ts","./node_modules/next/dist/lib/fallback.d.ts","./node_modules/next/dist/compiled/webpack/webpack.d.ts","./node_modules/next/dist/shared/lib/modern-browserslist-target.d.ts","./node_modules/next/dist/shared/lib/entry-constants.d.ts","./node_modules/next/dist/shared/lib/constants.d.ts","./node_modules/next/dist/lib/bundler.d.ts","./node_modules/next/dist/server/config.d.ts","./node_modules/next/dist/lib/load-custom-routes.d.ts","./node_modules/next/dist/shared/lib/image-config.d.ts","./node_modules/next/dist/build/webpack/plugins/subresource-integrity-plugin.d.ts","./node_modules/next/dist/server/body-streams.d.ts","./node_modules/next/dist/server/request/search-params.d.ts","./node_modules/next/dist/shared/lib/segment-cache/vary-params-decoding.d.ts","./node_modules/next/dist/server/app-render/vary-params.d.ts","./node_modules/next/dist/server/request/params.d.ts","./node_modules/next/dist/server/route-kind.d.ts","./node_modules/next/dist/server/route-definitions/route-definition.d.ts","./node_modules/next/dist/server/route-matches/route-match.d.ts","./node_modules/next/dist/client/components/app-router-headers.d.ts","./node_modules/next/dist/server/lib/cache-control.d.ts","./node_modules/next/dist/shared/lib/app-router-types.d.ts","./node_modules/next/dist/server/lib/cache-handlers/types.d.ts","./node_modules/next/dist/server/use-cache/use-cache-wrapper.d.ts","./node_modules/next/dist/server/resume-data-cache/cache-store.d.ts","./node_modules/next/dist/server/resume-data-cache/resume-data-cache.d.ts","./node_modules/next/dist/lib/constants.d.ts","./node_modules/next/dist/server/render-result.d.ts","./node_modules/next/dist/server/response-cache/types.d.ts","./node_modules/next/dist/server/response-cache/index.d.ts","./node_modules/@types/react/jsx-runtime.d.ts","./node_modules/next/dist/next-devtools/userspace/pages/pages-dev-overlay-setup.d.ts","./node_modules/next/dist/build/static-paths/types.d.ts","./node_modules/next/dist/server/route-definitions/app-page-route-definition.d.ts","./node_modules/next/dist/build/adapter/setup-node-env.external.d.ts","./node_modules/next/dist/server/instrumentation/types.d.ts","./node_modules/next/dist/lib/setup-exception-listeners.d.ts","./node_modules/next/dist/lib/worker.d.ts","./node_modules/next/dist/server/lib/experimental/ppr.d.ts","./node_modules/next/dist/lib/page-types.d.ts","./node_modules/next/dist/build/segment-config/app/app-segment-config.d.ts","./node_modules/next/dist/build/segment-config/pages/pages-segment-config.d.ts","./node_modules/next/dist/build/analysis/get-page-static-info.d.ts","./node_modules/next/dist/build/webpack/loaders/get-module-build-info.d.ts","./node_modules/next/dist/build/webpack/plugins/middleware-plugin.d.ts","./node_modules/next/dist/server/require-hook.d.ts","./node_modules/next/dist/server/node-polyfill-crypto.d.ts","./node_modules/next/dist/server/node-environment-baseline.d.ts","./node_modules/next/dist/server/node-environment-extensions/error-inspect.d.ts","./node_modules/next/dist/server/node-environment-extensions/console-file.d.ts","./node_modules/next/dist/server/node-environment-extensions/console-exit.d.ts","./node_modules/next/dist/server/node-environment-extensions/console-dim.external.d.ts","./node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.d.ts","./node_modules/next/dist/server/node-environment-extensions/random.d.ts","./node_modules/next/dist/server/node-environment-extensions/date.d.ts","./node_modules/next/dist/server/node-environment-extensions/web-crypto.d.ts","./node_modules/next/dist/server/node-environment-extensions/node-crypto.d.ts","./node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.d.ts","./node_modules/next/dist/server/node-environment.d.ts","./node_modules/next/dist/build/page-extensions-type.d.ts","./node_modules/next/dist/server/route-modules/app-page/module.compiled.d.ts","./node_modules/next/dist/server/route-definitions/app-route-route-definition.d.ts","./node_modules/next/dist/server/lib/i18n-provider.d.ts","./node_modules/next/dist/server/web/next-url.d.ts","./node_modules/next/dist/compiled/@edge-runtime/cookies/index.d.ts","./node_modules/next/dist/server/web/spec-extension/cookies.d.ts","./node_modules/next/dist/server/web/spec-extension/request.d.ts","./node_modules/next/dist/shared/lib/deep-readonly.d.ts","./node_modules/next/dist/server/lib/incremental-cache/index.d.ts","./node_modules/next/dist/shared/lib/router/utils/middleware-route-matcher.d.ts","./node_modules/next/dist/build/webpack/plugins/flight-manifest-plugin.d.ts","./node_modules/next/dist/build/webpack/plugins/next-font-manifest-plugin.d.ts","./node_modules/next/dist/server/route-definitions/locale-route-definition.d.ts","./node_modules/next/dist/server/route-definitions/pages-route-definition.d.ts","./node_modules/next/dist/shared/lib/mitt.d.ts","./node_modules/next/dist/client/with-router.d.ts","./node_modules/next/dist/client/router.d.ts","./node_modules/next/dist/client/route-loader.d.ts","./node_modules/next/dist/client/page-loader.d.ts","./node_modules/next/dist/shared/lib/bloom-filter.d.ts","./node_modules/next/dist/shared/lib/router/router.d.ts","./node_modules/next/dist/shared/lib/router-context.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/loadable-context.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/loadable.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/image-config-context.shared-runtime.d.ts","./node_modules/next/dist/client/components/readonly-url-search-params.d.ts","./node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.d.ts","./node_modules/next/dist/client/flight-data-helpers.d.ts","./node_modules/next/dist/client/components/segment-cache/cache-key.d.ts","./node_modules/next/dist/client/components/router-reducer/fetch-server-response.d.ts","./node_modules/next/dist/client/components/segment-cache/types.d.ts","./node_modules/next/dist/shared/lib/segment-cache/segment-value-encoding.d.ts","./node_modules/next/dist/client/components/segment-cache/scheduler.d.ts","./node_modules/next/dist/client/components/segment-cache/cache-map.d.ts","./node_modules/next/dist/client/components/segment-cache/vary-path.d.ts","./node_modules/next/dist/client/components/segment-cache/cache.d.ts","./node_modules/next/dist/client/components/router-reducer/ppr-navigations.d.ts","./node_modules/next/dist/client/components/segment-cache/navigation.d.ts","./node_modules/next/dist/client/components/router-reducer/router-reducer-types.d.ts","./node_modules/next/dist/shared/lib/app-router-context.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.d.ts","./node_modules/next/dist/server/route-modules/pages/vendored/contexts/entrypoints.d.ts","./node_modules/next/dist/server/route-modules/pages/module.compiled.d.ts","./node_modules/next/dist/build/templates/pages.d.ts","./node_modules/next/dist/server/route-modules/pages/module.d.ts","./node_modules/next/dist/server/render.d.ts","./node_modules/next/dist/build/webpack/plugins/pages-manifest-plugin.d.ts","./node_modules/next/dist/server/route-definitions/pages-api-route-definition.d.ts","./node_modules/next/dist/server/route-matches/pages-api-route-match.d.ts","./node_modules/next/dist/server/route-matchers/route-matcher.d.ts","./node_modules/next/dist/server/route-matcher-providers/route-matcher-provider.d.ts","./node_modules/next/dist/server/route-matcher-managers/route-matcher-manager.d.ts","./node_modules/next/dist/server/normalizers/normalizer.d.ts","./node_modules/next/dist/server/normalizers/locale-route-normalizer.d.ts","./node_modules/next/dist/server/normalizers/request/pathname-normalizer.d.ts","./node_modules/next/dist/server/normalizers/request/suffix.d.ts","./node_modules/next/dist/server/normalizers/request/rsc.d.ts","./node_modules/next/dist/server/normalizers/request/next-data.d.ts","./node_modules/next/dist/server/after/builtin-request-context.d.ts","./node_modules/next/dist/server/normalizers/request/segment-prefix-rsc.d.ts","./node_modules/next/dist/server/route-modules/pages/builtin/_error.d.ts","./node_modules/next/dist/server/load-default-error-components.d.ts","./node_modules/next/dist/server/base-server.d.ts","./node_modules/next/dist/server/after/after.d.ts","./node_modules/next/dist/server/after/after-context.d.ts","./node_modules/next/dist/server/use-cache/cache-life.d.ts","./node_modules/next/dist/server/app-render/work-async-storage-instance.d.ts","./node_modules/next/dist/server/lib/lazy-result.d.ts","./node_modules/next/dist/server/app-render/create-error-handler.d.ts","./node_modules/next/dist/shared/lib/action-revalidation-kind.d.ts","./node_modules/next/dist/server/app-render/work-async-storage.external.d.ts","./node_modules/next/dist/server/async-storage/work-store.d.ts","./node_modules/next/dist/server/web/http.d.ts","./node_modules/next/dist/client/components/hooks-server-context.d.ts","./node_modules/next/dist/server/route-modules/app-route/shared-modules.d.ts","./node_modules/next/dist/client/components/redirect-status-code.d.ts","./node_modules/next/dist/client/components/redirect-error.d.ts","./node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.d.ts","./node_modules/next/dist/server/async-storage/draft-mode-provider.d.ts","./node_modules/next/dist/server/web/spec-extension/adapters/headers.d.ts","./node_modules/next/dist/server/app-render/cache-signal.d.ts","./node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.d.ts","./node_modules/next/dist/server/app-render/instant-validation/instant-validation-error.d.ts","./node_modules/next/dist/shared/lib/router/utils/parse-relative-url.d.ts","./node_modules/next/dist/server/app-render/instant-validation/instant-samples.d.ts","./node_modules/next/dist/server/app-render/dynamic-rendering.d.ts","./node_modules/next/dist/server/app-render/work-unit-async-storage-instance.d.ts","./node_modules/next/dist/server/lib/implicit-tags.d.ts","./node_modules/next/dist/server/app-render/staged-rendering.d.ts","./node_modules/next/dist/server/app-render/work-unit-async-storage.external.d.ts","./node_modules/next/dist/build/templates/app-route.d.ts","./node_modules/next/dist/server/app-render/action-async-storage-instance.d.ts","./node_modules/next/dist/server/app-render/action-async-storage.external.d.ts","./node_modules/next/dist/server/route-modules/app-route/module.d.ts","./node_modules/next/dist/server/route-modules/app-route/module.compiled.d.ts","./node_modules/next/dist/build/segment-config/app/app-segments.d.ts","./node_modules/next/dist/build/get-supported-browsers.d.ts","./node_modules/next/dist/build/utils.d.ts","./node_modules/next/dist/build/rendering-mode.d.ts","./node_modules/next/dist/server/lib/router-utils/build-prefetch-segment-data-route.d.ts","./node_modules/next/dist/server/lib/cpu-profile.d.ts","./node_modules/next/dist/build/turborepo-access-trace/types.d.ts","./node_modules/next/dist/build/turborepo-access-trace/result.d.ts","./node_modules/next/dist/build/turborepo-access-trace/helpers.d.ts","./node_modules/next/dist/build/turborepo-access-trace/index.d.ts","./node_modules/next/dist/export/routes/types.d.ts","./node_modules/next/dist/export/types.d.ts","./node_modules/next/dist/export/worker.d.ts","./node_modules/next/dist/build/worker.d.ts","./node_modules/next/dist/build/index.d.ts","./node_modules/next/dist/lib/coalesced-function.d.ts","./node_modules/next/dist/server/lib/router-utils/types.d.ts","./node_modules/next/dist/trace/types.d.ts","./node_modules/next/dist/trace/trace.d.ts","./node_modules/next/dist/trace/shared.d.ts","./node_modules/next/dist/trace/index.d.ts","./node_modules/next/dist/build/load-jsconfig.d.ts","./node_modules/@next/env/dist/index.d.ts","./node_modules/next/dist/build/webpack/plugins/telemetry-plugin/use-cache-tracker-utils.d.ts","./node_modules/next/dist/build/webpack/plugins/telemetry-plugin/telemetry-plugin.d.ts","./node_modules/next/dist/telemetry/storage.d.ts","./node_modules/next/dist/build/build-context.d.ts","./node_modules/next/dist/build/webpack-config.d.ts","./node_modules/next/dist/build/swc/generated-native.d.ts","./node_modules/next/dist/build/define-env.d.ts","./node_modules/next/dist/build/swc/index.d.ts","./node_modules/next/dist/build/swc/types.d.ts","./node_modules/next/dist/server/dev/parse-version-info.d.ts","./node_modules/next/dist/next-devtools/shared/types.d.ts","./node_modules/next/dist/server/dev/dev-indicator-server-state.d.ts","./node_modules/next/dist/next-devtools/dev-overlay/cache-indicator.d.ts","./node_modules/next/dist/server/lib/parse-stack.d.ts","./node_modules/next/dist/next-devtools/server/shared.d.ts","./node_modules/next/dist/next-devtools/shared/stack-frame.d.ts","./node_modules/next/dist/next-devtools/dev-overlay/utils/get-error-by-type.d.ts","./node_modules/next/dist/next-devtools/dev-overlay/container/runtime-error/render-error.d.ts","./node_modules/next/dist/next-devtools/dev-overlay/shared.d.ts","./node_modules/next/dist/server/dev/debug-channel.d.ts","./node_modules/next/dist/server/dev/hot-reloader-types.d.ts","./node_modules/next/dist/server/web/spec-extension/fetch-event.d.ts","./node_modules/next/dist/server/web/spec-extension/response.d.ts","./node_modules/next/dist/build/segment-config/middleware/middleware-config.d.ts","./node_modules/next/dist/server/web/types.d.ts","./node_modules/next/dist/shared/lib/router/utils/parse-url.d.ts","./node_modules/next/dist/server/base-http/node.d.ts","./node_modules/next/dist/server/lib/async-callback-set.d.ts","./node_modules/next/dist/shared/lib/router/utils/route-regex.d.ts","./node_modules/next/dist/shared/lib/router/utils/route-matcher.d.ts","./node_modules/sharp/lib/index.d.ts","./node_modules/next/dist/server/image-optimizer.d.ts","./node_modules/next/dist/server/next-server.d.ts","./node_modules/next/dist/server/lib/types.d.ts","./node_modules/next/dist/server/lib/lru-cache.d.ts","./node_modules/next/dist/server/lib/dev-bundler-service.d.ts","./node_modules/next/dist/server/dev/static-paths-worker.d.ts","./node_modules/next/dist/server/dev/next-dev-server.d.ts","./node_modules/next/dist/server/next.d.ts","./node_modules/next/dist/server/lib/render-server.d.ts","./node_modules/next/dist/server/lib/router-server.d.ts","./node_modules/next/dist/shared/lib/router/utils/path-match.d.ts","./node_modules/next/dist/server/lib/router-utils/filesystem.d.ts","./node_modules/next/dist/server/lib/router-utils/setup-dev-bundler.d.ts","./node_modules/next/dist/server/lib/router-utils/router-server-context.d.ts","./node_modules/next/dist/server/route-modules/route-module.d.ts","./node_modules/next/dist/server/load-components.d.ts","./node_modules/next/dist/server/web/adapter.d.ts","./node_modules/next/dist/server/app-render/types.d.ts","./node_modules/next/dist/build/webpack/loaders/metadata/types.d.ts","./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.d.ts","./node_modules/next/dist/server/lib/app-dir-module.d.ts","./node_modules/next/dist/server/app-render/app-render.d.ts","./node_modules/next/dist/server/route-modules/app-page/vendored/contexts/entrypoints.d.ts","./node_modules/next/dist/client/components/error-boundary.d.ts","./node_modules/next/dist/client/components/layout-router.d.ts","./node_modules/next/dist/client/components/render-from-template-context.d.ts","./node_modules/next/dist/client/components/client-page.d.ts","./node_modules/next/dist/client/components/client-segment.d.ts","./node_modules/next/dist/client/components/http-access-fallback/error-boundary.d.ts","./node_modules/next/dist/lib/metadata/types/alternative-urls-types.d.ts","./node_modules/next/dist/lib/metadata/types/extra-types.d.ts","./node_modules/next/dist/lib/metadata/types/metadata-types.d.ts","./node_modules/next/dist/lib/metadata/types/manifest-types.d.ts","./node_modules/next/dist/lib/metadata/types/opengraph-types.d.ts","./node_modules/next/dist/lib/metadata/types/twitter-types.d.ts","./node_modules/next/dist/lib/metadata/types/metadata-interface.d.ts","./node_modules/next/dist/lib/metadata/types/resolvers.d.ts","./node_modules/next/dist/lib/metadata/types/icons.d.ts","./node_modules/next/dist/lib/metadata/resolve-metadata.d.ts","./node_modules/next/dist/lib/metadata/metadata.d.ts","./node_modules/next/dist/lib/framework/boundary-components.d.ts","./node_modules/next/dist/server/app-render/rsc/preloads.d.ts","./node_modules/next/dist/server/app-render/rsc/postpone.d.ts","./node_modules/next/dist/server/app-render/rsc/taint.d.ts","./node_modules/next/dist/server/app-render/collect-segment-data.d.ts","./node_modules/next/dist/server/app-render/instant-validation/instant-validation.d.ts","./node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.d.ts","./node_modules/next/dist/server/app-render/entry-base.d.ts","./node_modules/next/dist/build/templates/app-page.d.ts","./node_modules/next/dist/server/route-modules/app-page/helpers/prerender-manifest-matcher.d.ts","./node_modules/@types/react/jsx-dev-runtime.d.ts","./node_modules/@types/react/compiler-runtime.d.ts","./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/entrypoints.d.ts","./node_modules/@types/react-dom/client.d.ts","./node_modules/@types/react-dom/static.d.ts","./node_modules/@types/react-dom/server.d.ts","./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/entrypoints.d.ts","./node_modules/next/dist/server/route-modules/app-page/module.d.ts","./node_modules/next/dist/server/request/fallback-params.d.ts","./node_modules/next/dist/server/web/spec-extension/image-response.d.ts","./node_modules/next/dist/server/web/spec-extension/user-agent.d.ts","./node_modules/next/dist/server/web/spec-extension/url-pattern.d.ts","./node_modules/next/dist/server/after/index.d.ts","./node_modules/next/dist/server/request/connection.d.ts","./node_modules/next/dist/server/web/exports/index.d.ts","./node_modules/next/dist/server/request-meta.d.ts","./node_modules/next/dist/cli/next-test.d.ts","./node_modules/next/dist/shared/lib/size-limit.d.ts","./node_modules/next/dist/server/config-shared.d.ts","./node_modules/next/dist/server/base-http/index.d.ts","./node_modules/next/dist/server/api-utils/index.d.ts","./node_modules/next/dist/build/adapter/build-complete.d.ts","./node_modules/next/dist/types.d.ts","./node_modules/next/dist/shared/lib/html-context.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/utils.d.ts","./node_modules/next/dist/pages/_app.d.ts","./node_modules/next/app.d.ts","./node_modules/next/dist/server/web/spec-extension/unstable-cache.d.ts","./node_modules/next/dist/server/web/spec-extension/revalidate.d.ts","./node_modules/next/dist/server/web/spec-extension/unstable-no-store.d.ts","./node_modules/next/dist/server/use-cache/cache-tag.d.ts","./node_modules/next/cache.d.ts","./node_modules/next/dist/pages/_document.d.ts","./node_modules/next/document.d.ts","./node_modules/next/dist/shared/lib/dynamic.d.ts","./node_modules/next/dynamic.d.ts","./node_modules/next/dist/pages/_error.d.ts","./node_modules/next/dist/client/components/catch-error.d.ts","./node_modules/next/dist/api/error.d.ts","./node_modules/next/error.d.ts","./node_modules/next/dist/shared/lib/head.d.ts","./node_modules/next/head.d.ts","./node_modules/next/dist/server/request/cookies.d.ts","./node_modules/next/dist/server/request/headers.d.ts","./node_modules/next/dist/server/request/draft-mode.d.ts","./node_modules/next/headers.d.ts","./node_modules/next/dist/shared/lib/get-img-props.d.ts","./node_modules/next/dist/client/image-component.d.ts","./node_modules/next/dist/shared/lib/image-external.d.ts","./node_modules/next/image.d.ts","./node_modules/next/dist/client/link.d.ts","./node_modules/next/link.d.ts","./node_modules/next/dist/client/components/unrecognized-action-error.d.ts","./node_modules/next/dist/client/components/redirect.d.ts","./node_modules/next/dist/client/components/not-found.d.ts","./node_modules/next/dist/client/components/forbidden.d.ts","./node_modules/next/dist/client/components/unauthorized.d.ts","./node_modules/next/dist/client/components/unstable-rethrow.server.d.ts","./node_modules/next/dist/client/components/unstable-rethrow.d.ts","./node_modules/next/dist/client/components/navigation.react-server.d.ts","./node_modules/next/dist/client/components/navigation.d.ts","./node_modules/next/navigation.d.ts","./node_modules/next/router.d.ts","./node_modules/next/dist/client/script.d.ts","./node_modules/next/script.d.ts","./node_modules/next/dist/compiled/@edge-runtime/primitives/url.d.ts","./node_modules/next/dist/compiled/@vercel/og/satori/index.d.ts","./node_modules/next/dist/compiled/@vercel/og/types.d.ts","./node_modules/next/server.d.ts","./node_modules/next/types/global.d.ts","./node_modules/next/types/compiled.d.ts","./node_modules/next/types.d.ts","./node_modules/next/index.d.ts","./node_modules/next/image-types/global.d.ts","./.next/types/routes.d.ts","./next-env.d.ts","./node_modules/firebase-admin/lib/app/credential.d.ts","./node_modules/firebase-admin/lib/app/core.d.ts","./node_modules/firebase-admin/lib/app/lifecycle.d.ts","./node_modules/firebase-admin/lib/app/credential-factory.d.ts","./node_modules/firebase-admin/lib/messaging/messaging-api.d.ts","./node_modules/firebase-admin/lib/utils/error.d.ts","./node_modules/firebase-admin/lib/app/index.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/auth-context.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/metadata.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/call-credentials.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/constants.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/deadline.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/certificate-provider.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/compression-algorithms.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/channel-options.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/uri-parser.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/channel-credentials.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/connectivity-state.d.ts","./node_modules/@js-sdsl/ordered-map/dist/esm/index.d.ts","./node_modules/protobufjs/index.d.ts","./node_modules/protobufjs/ext/descriptor/index.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/node_modules/@grpc/proto-loader/build/src/util.d.ts","./node_modules/long/umd/types.d.ts","./node_modules/long/umd/index.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/node_modules/@grpc/proto-loader/build/src/index.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/timestamp.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/channelref.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/subchannelref.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/channeltraceevent.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/channeltrace.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/subchannel-address.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getchannelrequest.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/channelconnectivitystate.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/channeldata.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/socketref.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/channel.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getchannelresponse.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getserverrequest.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/serverref.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/serverdata.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/server.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getserverresponse.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getserversocketsrequest.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getserversocketsresponse.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getserversrequest.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getserversresponse.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getsocketrequest.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/int64value.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/any.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/socketoption.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/socketdata.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/address.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/security.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/socket.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getsocketresponse.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getsubchannelrequest.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/subchannel.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getsubchannelresponse.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/gettopchannelsrequest.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/gettopchannelsresponse.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/channelz.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/channelz.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/channel.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/client-interceptors.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/client.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/server-credentials.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/subchannel-call.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/transport.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/xds/data/orca/v3/orcaloadreport.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/duration.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/xds/service/orca/v3/orcaloadreportrequest.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/xds/service/orca/v3/openrcaservice.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/subchannel.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/subchannel-interface.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/duration.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/service-config.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/load-balancer.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/picker.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/orca.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/server-interceptors.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/server.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/make-client.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/events.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/object-stream.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/server-call.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/call-interface.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/call.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/status-builder.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/admin.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/logging.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/filter.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/resolver.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/backoff-timeout.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/load-balancer-pick-first.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/load-balancer-child-handler.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/filter-stack.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/load-balancer-outlier-detection.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/load-balancing-call.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/resolving-call.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/retrying-call.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/internal-channel.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/experimental.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/index.d.ts","./node_modules/@grpc/proto-loader/build/src/util.d.ts","./node_modules/@grpc/proto-loader/build/src/index.d.ts","./node_modules/gaxios/build/src/common.d.ts","./node_modules/gaxios/build/src/interceptor.d.ts","./node_modules/gaxios/build/src/gaxios.d.ts","./node_modules/gaxios/build/src/index.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/transporters.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/credentials.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/crypto/crypto.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/util.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/authclient.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/loginticket.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/oauth2client.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/idtokenclient.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/envdetect.d.ts","./node_modules/gtoken/build/src/index.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/jwtclient.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/refreshclient.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/impersonated.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/baseexternalclient.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/identitypoolclient.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/awsrequestsigner.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/awsclient.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/pluggable-auth-client.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/externalclient.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/externalaccountauthorizeduserclient.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/googleauth.d.ts","./node_modules/google-gax/node_modules/gcp-metadata/build/src/gcp-residency.d.ts","./node_modules/google-gax/node_modules/gcp-metadata/build/src/index.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/computeclient.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/iam.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/jwtaccess.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/downscopedclient.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/passthrough.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/index.d.ts","./node_modules/google-gax/build/src/status.d.ts","./node_modules/proto3-json-serializer/build/src/types.d.ts","./node_modules/proto3-json-serializer/build/src/toproto3json.d.ts","./node_modules/proto3-json-serializer/build/src/fromproto3json.d.ts","./node_modules/proto3-json-serializer/build/src/index.d.ts","./node_modules/google-gax/build/src/googleerror.d.ts","./node_modules/google-gax/build/src/call.d.ts","./node_modules/google-gax/build/src/streamingcalls/streaming.d.ts","./node_modules/google-gax/build/src/apicaller.d.ts","./node_modules/google-gax/build/src/paginationcalls/pagedescriptor.d.ts","./node_modules/google-gax/build/src/streamingcalls/streamdescriptor.d.ts","./node_modules/google-gax/build/src/normalcalls/normalapicaller.d.ts","./node_modules/google-gax/build/src/bundlingcalls/bundleapicaller.d.ts","./node_modules/google-gax/build/src/bundlingcalls/bundledescriptor.d.ts","./node_modules/google-gax/build/src/descriptor.d.ts","./node_modules/google-gax/build/protos/operations.d.ts","./node_modules/google-gax/build/src/clientinterface.d.ts","./node_modules/google-gax/build/src/routingheader.d.ts","./node_modules/google-gax/build/protos/http.d.ts","./node_modules/google-gax/build/protos/iam_service.d.ts","./node_modules/google-gax/build/protos/locations.d.ts","./node_modules/google-gax/build/src/pathtemplate.d.ts","./node_modules/google-gax/build/src/iamservice.d.ts","./node_modules/google-gax/build/src/locationservice.d.ts","./node_modules/google-gax/build/src/util.d.ts","./node_modules/protobufjs/minimal.d.ts","./node_modules/google-gax/build/src/warnings.d.ts","./node_modules/event-target-shim/index.d.ts","./node_modules/abort-controller/dist/abort-controller.d.ts","./node_modules/google-gax/build/src/streamarrayparser.d.ts","./node_modules/google-gax/build/src/fallbackservicestub.d.ts","./node_modules/google-gax/build/src/fallback.d.ts","./node_modules/google-gax/build/src/operationsclient.d.ts","./node_modules/google-gax/build/src/longrunningcalls/longrunningapicaller.d.ts","./node_modules/google-gax/build/src/longrunningcalls/longrunningdescriptor.d.ts","./node_modules/google-gax/build/src/longrunningcalls/longrunning.d.ts","./node_modules/google-gax/build/src/apitypes.d.ts","./node_modules/google-gax/build/src/bundlingcalls/task.d.ts","./node_modules/google-gax/build/src/bundlingcalls/bundleexecutor.d.ts","./node_modules/google-gax/build/src/gax.d.ts","./node_modules/google-gax/build/src/grpc.d.ts","./node_modules/google-gax/build/src/createapicall.d.ts","./node_modules/google-gax/build/src/index.d.ts","./node_modules/@google-cloud/firestore/types/protos/firestore_v1beta1_proto_api.d.ts","./node_modules/@google-cloud/firestore/types/v1beta1/firestore_client.d.ts","./node_modules/@google-cloud/firestore/types/protos/firestore_v1_proto_api.d.ts","./node_modules/@google-cloud/firestore/types/v1/firestore_client.d.ts","./node_modules/@google-cloud/firestore/types/protos/firestore_admin_v1_proto_api.d.ts","./node_modules/@google-cloud/firestore/types/v1/firestore_admin_client.d.ts","./node_modules/@google-cloud/firestore/types/firestore.d.ts","./node_modules/firebase-admin/lib/firestore/firestore-internal.d.ts","./node_modules/firebase-admin/lib/firestore/index.d.ts","./lib/firebase/seeddata.ts","./lib/firebase/autoseed.server.ts","./instrumentation.ts","./proxy.ts","./node_modules/rollup/node_modules/@types/estree/index.d.ts","./node_modules/rollup/dist/rollup.d.ts","./node_modules/rollup/dist/parseast.d.ts","./node_modules/vite/types/hmrpayload.d.ts","./node_modules/vite/types/customevent.d.ts","./node_modules/vite/types/hot.d.ts","./node_modules/vite/dist/node/types.d-agj9qkwt.d.ts","./node_modules/vite/node_modules/esbuild/lib/main.d.ts","./node_modules/source-map-js/source-map.d.ts","./node_modules/postcss/lib/previous-map.d.ts","./node_modules/postcss/lib/input.d.ts","./node_modules/postcss/lib/css-syntax-error.d.ts","./node_modules/postcss/lib/declaration.d.ts","./node_modules/postcss/lib/root.d.ts","./node_modules/postcss/lib/warning.d.ts","./node_modules/postcss/lib/lazy-result.d.ts","./node_modules/postcss/lib/no-work-result.d.ts","./node_modules/postcss/lib/processor.d.ts","./node_modules/postcss/lib/result.d.ts","./node_modules/postcss/lib/document.d.ts","./node_modules/postcss/lib/rule.d.ts","./node_modules/postcss/lib/node.d.ts","./node_modules/postcss/lib/comment.d.ts","./node_modules/postcss/lib/container.d.ts","./node_modules/postcss/lib/at-rule.d.ts","./node_modules/postcss/lib/list.d.ts","./node_modules/postcss/lib/postcss.d.ts","./node_modules/postcss/lib/postcss.d.mts","./node_modules/vite/dist/node/runtime.d.ts","./node_modules/vite/types/importglob.d.ts","./node_modules/vite/types/metadata.d.ts","./node_modules/vite/dist/node/index.d.ts","./node_modules/@vitest/pretty-format/dist/index.d.ts","./node_modules/@vitest/utils/dist/types.d.ts","./node_modules/@vitest/utils/dist/helpers.d.ts","./node_modules/tinyrainbow/dist/index-c1cfc5e9.d.ts","./node_modules/tinyrainbow/dist/node.d.ts","./node_modules/@vitest/utils/dist/index.d.ts","./node_modules/@vitest/runner/dist/tasks-3znpj1lr.d.ts","./node_modules/@vitest/utils/dist/types-bxe-2udy.d.ts","./node_modules/@vitest/utils/dist/diff.d.ts","./node_modules/@vitest/runner/dist/types.d.ts","./node_modules/@vitest/utils/dist/error.d.ts","./node_modules/@vitest/runner/dist/index.d.ts","./node_modules/vitest/dist/chunks/environment.looobwuu.d.ts","./node_modules/@vitest/snapshot/dist/environment-ddx0edty.d.ts","./node_modules/@vitest/snapshot/dist/rawsnapshot-cpnkto81.d.ts","./node_modules/@vitest/snapshot/dist/index.d.ts","./node_modules/@vitest/snapshot/dist/environment.d.ts","./node_modules/vitest/dist/chunks/config.cy0c388z.d.ts","./node_modules/vite-node/dist/trace-mapping.d-dlvdeqop.d.ts","./node_modules/vite-node/dist/index-z0r8hvru.d.ts","./node_modules/vite-node/dist/index.d.ts","./node_modules/@vitest/utils/dist/source-map.d.ts","./node_modules/vite-node/dist/client.d.ts","./node_modules/vite-node/dist/server.d.ts","./node_modules/@vitest/runner/dist/utils.d.ts","./node_modules/tinybench/dist/index.d.ts","./node_modules/vitest/dist/chunks/benchmark.geerunq4.d.ts","./node_modules/@vitest/snapshot/dist/manager.d.ts","./node_modules/vitest/dist/chunks/reporters.nr4dxcka.d.ts","./node_modules/vitest/dist/chunks/vite.czkp4x9w.d.ts","./node_modules/vitest/dist/config.d.ts","./node_modules/vitest/config.d.ts","./vitest.config.ts","./vitest.integration.config.ts","./vitest.unit.config.ts","./app/admin/actions.ts","./node_modules/@firebase/component/dist/src/provider.d.ts","./node_modules/@firebase/component/dist/src/component_container.d.ts","./node_modules/@firebase/component/dist/src/types.d.ts","./node_modules/@firebase/component/dist/src/component.d.ts","./node_modules/@firebase/component/dist/index.d.ts","./node_modules/@firebase/util/dist/util-public.d.ts","./node_modules/@firebase/logger/dist/src/logger.d.ts","./node_modules/@firebase/logger/dist/index.d.ts","./node_modules/@firebase/app/dist/app-public.d.ts","./node_modules/@firebase/firestore/dist/index.d.ts","./node_modules/firebase/firestore/dist/firestore/index.d.ts","./lib/firebase/constants.ts","./lib/firebase/types.ts","./lib/firebase/services.ts","./node_modules/firebase/app/dist/app/index.d.ts","./node_modules/@firebase/auth/dist/auth-public.d.ts","./node_modules/firebase/auth/dist/auth/index.d.ts","./node_modules/@firebase/storage/dist/storage-public.d.ts","./node_modules/firebase/storage/dist/storage/index.d.ts","./lib/firebase/clientapp.ts","./lib/firebase/getdefaultdb.ts","./lib/pagecontentconfig.ts","./lib/publicpagescontent.ts","./app/api/public/about/route.ts","./lib/publiccontent.ts","./app/api/public/blogs/route.ts","./app/api/public/blogs/[slug]/route.ts","./app/api/public/contacts/route.ts","./app/api/public/donate/route.ts","./app/api/public/home/route.ts","./app/api/public/media/route.ts","./app/api/public/reports/route.ts","./lib/tenant/masterdb.ts","./app/api/tenant/config/route.ts","./node_modules/lucide-react/dist/lucide-react.d.ts","./components/admin/shared/impacticons.ts","./node_modules/@radix-ui/react-context/dist/index.d.mts","./node_modules/@radix-ui/react-primitive/dist/index.d.mts","./node_modules/@radix-ui/react-dismissable-layer/dist/index.d.mts","./node_modules/@radix-ui/react-toast/dist/index.d.mts","./node_modules/clsx/clsx.d.mts","./node_modules/class-variance-authority/dist/types.d.ts","./node_modules/class-variance-authority/dist/index.d.ts","./node_modules/tailwind-merge/dist/types.d.ts","./lib/utils.ts","./components/ui/toast.tsx","./components/ui/use-toast.ts","./hooks/use-mobile.ts","./hooks/use-toast.ts","./types/editorpanel.ts","./lib/editorpanelmockdata.ts","./types/pagebuilder.ts","./lib/firebase/adminservices.ts","./lib/firebase/config.ts","./lib/firebase/editorservices.ts","./lib/firebase/helpers.ts","./lib/firebase/navservices.ts","./lib/firebase/storageutils.ts","./lib/firebase/tenantserverdb.ts","./lib/firebase/tenantfirebasecontext.tsx","./lib/firebase/hooks/usetenantservices.ts","./node_modules/zod/v3/helpers/typealiases.d.cts","./node_modules/zod/v3/helpers/util.d.cts","./node_modules/zod/v3/index.d.cts","./node_modules/zod/v3/zoderror.d.cts","./node_modules/zod/v3/locales/en.d.cts","./node_modules/zod/v3/errors.d.cts","./node_modules/zod/v3/helpers/parseutil.d.cts","./node_modules/zod/v3/helpers/enumutil.d.cts","./node_modules/zod/v3/helpers/errorutil.d.cts","./node_modules/zod/v3/helpers/partialutil.d.cts","./node_modules/zod/v3/standard-schema.d.cts","./node_modules/zod/v3/types.d.cts","./node_modules/zod/v3/external.d.cts","./node_modules/zod/index.d.cts","./lib/validation/forms.ts","./node_modules/firebase-admin/lib/auth/token-verifier.d.ts","./node_modules/firebase-admin/lib/auth/auth-config.d.ts","./node_modules/firebase-admin/lib/auth/user-record.d.ts","./node_modules/firebase-admin/lib/auth/identifier.d.ts","./node_modules/firebase-admin/lib/auth/user-import-builder.d.ts","./node_modules/firebase-admin/lib/auth/action-code-settings-builder.d.ts","./node_modules/firebase-admin/lib/auth/base-auth.d.ts","./node_modules/firebase-admin/lib/auth/tenant.d.ts","./node_modules/firebase-admin/lib/auth/tenant-manager.d.ts","./node_modules/firebase-admin/lib/auth/project-config.d.ts","./node_modules/firebase-admin/lib/auth/project-config-manager.d.ts","./node_modules/firebase-admin/lib/auth/auth.d.ts","./node_modules/firebase-admin/lib/auth/index.d.ts","./scripts/bootstrap.ts","./scripts/createusers.ts","./scripts/seedcollections.ts","./node_modules/firebase/compat/index.d.ts","./node_modules/@firebase/app-compat/dist/app-compat-public.d.ts","./node_modules/@firebase/app-types/index.d.ts","./node_modules/@firebase/database-types/index.d.ts","./node_modules/@firebase/database/dist/public.d.ts","./node_modules/@firebase/database-compat/dist/database-compat/src/index.d.ts","./node_modules/firebase/compat/database/dist/compat/database/index.d.ts","./node_modules/@firebase/firestore-types/index.d.ts","./node_modules/@firebase/firestore-compat/dist/src/register-module.d.ts","./node_modules/@firebase/firestore-compat/dist/src/index.d.ts","./node_modules/firebase/compat/firestore/dist/compat/firestore/index.d.ts","./node_modules/@firebase/app-types/private.d.ts","./node_modules/@firebase/storage-types/index.d.ts","./node_modules/@firebase/storage-compat/dist/src/index.d.ts","./node_modules/firebase/compat/storage/dist/compat/storage/index.d.ts","./node_modules/@firebase/rules-unit-testing/dist/rules-unit-testing/src/public_types/index.d.ts","./node_modules/@firebase/rules-unit-testing/dist/rules-unit-testing/src/initialize.d.ts","./node_modules/@firebase/rules-unit-testing/dist/rules-unit-testing/src/util.d.ts","./node_modules/@firebase/rules-unit-testing/dist/rules-unit-testing/index.d.ts","./scripts/testsecurityrules.ts","./node_modules/vitest/dist/chunks/worker.tn5kgiih.d.ts","./node_modules/vitest/dist/chunks/worker.b9fxpcac.d.ts","./node_modules/@vitest/expect/dist/chai.d.cts","./node_modules/@vitest/expect/dist/index.d.ts","./node_modules/@vitest/expect/index.d.ts","./node_modules/@vitest/spy/dist/index.d.ts","./node_modules/@vitest/mocker/dist/types-dzoqtgin.d.ts","./node_modules/@vitest/mocker/dist/index.d.ts","./node_modules/vitest/dist/chunks/mocker.crtm890j.d.ts","./node_modules/vitest/dist/chunks/suite.b2jumifp.d.ts","./node_modules/expect-type/dist/utils.d.ts","./node_modules/expect-type/dist/overloads.d.ts","./node_modules/expect-type/dist/branding.d.ts","./node_modules/expect-type/dist/messages.d.ts","./node_modules/expect-type/dist/index.d.ts","./node_modules/vitest/dist/index.d.ts","./tests/integration/helpers/emulator.ts","./tests/integration/blog.flow.test.ts","./tests/integration/contactmessage.flow.test.ts","./tests/integration/editor.blocked.test.ts","./tests/integration/editor.publishflow.test.ts","./tests/integration/unauth.blocked.test.ts","./tests/setup/integration.setup.ts","./tests/setup/unit.setup.ts","./tests/unit/attachments.test.ts","./tests/unit/clientapp.test.ts","./tests/unit/contactform.handler.test.ts","./tests/unit/getdefaultdb.test.ts","./tests/unit/masterdb.test.ts","./tests/unit/navservices.test.ts","./tests/unit/services.test.ts","./tests/unit/slugify.test.ts","./tests/unit/storageutils.test.ts","./tests/unit/timestamps.test.ts","./tests/unit/validation.test.ts","./node_modules/next/dist/compiled/@next/font/dist/types.d.ts","./node_modules/next/dist/compiled/@next/font/dist/google/index.d.ts","./node_modules/next/font/google/index.d.ts","./node_modules/@vercel/analytics/dist/next/index.d.mts","./lib/firebase/authcontext.tsx","./components/errorboundary.tsx","./app/providers.tsx","./components/layout/navprovider.tsx","./components/theme/themelistener.tsx","./app/layout.tsx","./node_modules/@radix-ui/react-slot/dist/index.d.mts","./components/ui/button.tsx","./components/layout/header.tsx","./components/layout/footer.tsx","./app/page.tsx","./app/about/page.tsx","./app/about/vision/page.tsx","./app/admin/layout.tsx","./components/ui/spinner.tsx","./components/adminrouteguard.tsx","./components/admin/adminshell.tsx","./app/admin/(protected)/layout.tsx","./app/admin/(protected)/page.tsx","./components/admin/shared/imageuploadwithurl.tsx","./app/admin/(protected)/board-members/page.tsx","./components/admin/shared/fileuploadwithurl.tsx","./app/admin/(protected)/bylaws/page.tsx","./app/admin/(protected)/calendar/page.tsx","./app/admin/(protected)/contacts/page.tsx","./app/admin/(protected)/donate/page.tsx","./components/admin/shared/iconpicker.tsx","./app/admin/(protected)/homepage/page.tsx","./app/admin/(protected)/iban/page.tsx","./components/admin/shared/imageuploadfield.tsx","./app/admin/(protected)/menu/page.tsx","./components/admin/pagebuilder/blocktypeselector.tsx","./components/admin/pagebuilder/heroblockeditor.tsx","./components/admin/pagebuilder/richtextblockeditor.tsx","./components/admin/pagebuilder/ctabannerblockeditor.tsx","./components/admin/pagebuilder/eventgridblockeditor.tsx","./components/admin/pagebuilder/reportlistblockeditor.tsx","./components/admin/pagebuilder/teamgridblockeditor.tsx","./components/admin/shared/faqitemseditor.tsx","./components/admin/pagebuilder/faqblockeditor.tsx","./components/admin/pagebuilder/statsbarblockeditor.tsx","./components/admin/pagebuilder/blockeditorcanvas.tsx","./node_modules/marked/lib/marked.d.ts","./components/admin/shared/fileattachmentmanager.tsx","./components/editorpanel/blogpostform.tsx","./components/admin/inlineblogmanager.tsx","./components/editorpanel/eventform.tsx","./components/admin/inlineeventmanager.tsx","./components/admin/shared/draftpublishtoggle.tsx","./components/admin/inlinemediamanager.tsx","./components/admin/inlinecampaignmanager.tsx","./components/admin/shared/impactitemseditor.tsx","./components/admin/inlineimpactmanager.tsx","./components/admin/inlinefaqmanager.tsx","./components/admin/shared/teammemberseditor.tsx","./components/admin/shared/contentimageseditor.tsx","./components/admin/inlinehakkimizdamanager.tsx","./app/admin/(protected)/menu/[key]/page.tsx","./app/admin/(protected)/my-details/page.tsx","./app/admin/(protected)/pages/page.tsx","./app/admin/(protected)/performance-review/page.tsx","./app/admin/(protected)/reports/page.tsx","./app/admin/(protected)/supporters/page.tsx","./node_modules/@radix-ui/react-label/node_modules/@radix-ui/react-primitive/dist/index.d.mts","./node_modules/@radix-ui/react-label/dist/index.d.mts","./components/ui/label.tsx","./components/ui/input.tsx","./app/admin/(protected)/theme/page.tsx","./app/admin/(protected)/theme/livepreview.tsx","./components/ui/card.tsx","./app/admin/login/page.tsx","./app/blogs/page.tsx","./node_modules/@types/trusted-types/lib/index.d.ts","./node_modules/dompurify/dist/purify.es.d.mts","./node_modules/isomorphic-dompurify/dist/browser.d.mts","./app/blogs/[slug]/page.tsx","./app/contacts/page.tsx","./components/ui/copybutton.tsx","./components/donate/generaldonationwidget.tsx","./app/donate/page.tsx","./components/donate/campaigndonationform.tsx","./app/donate/[id]/page.tsx","./app/editor/page.tsx","./context/editorpanelcontext.tsx","./components/editorrouteguard.tsx","./app/editorpanel/layout.tsx","./components/editorpanel/editorsidebar.tsx","./components/editorpanel/editortopbar.tsx","./components/editorpanel/editorshell.tsx","./app/editorpanel/announcements/page.tsx","./components/editorpanel/announcementform.tsx","./app/editorpanel/announcements/[id]/edit/page.tsx","./app/editorpanel/announcements/new/page.tsx","./app/editorpanel/blog-posts/page.tsx","./app/editorpanel/blog-posts/[id]/edit/page.tsx","./app/editorpanel/blog-posts/new/page.tsx","./app/editorpanel/calendar/page.tsx","./components/editorpanel/dashboardstats.tsx","./components/editorpanel/dashboardsections.tsx","./app/editorpanel/dashboard/page.tsx","./app/editorpanel/events/page.tsx","./app/editorpanel/events/[id]/edit/page.tsx","./app/editorpanel/events/new/page.tsx","./app/editorpanel/help/page.tsx","./app/editorpanel/media/page.tsx","./app/editorpanel/my-details/page.tsx","./app/editorpanel/performance-review/page.tsx","./app/events/page.tsx","./app/legal/page.tsx","./components/media/media-hero.tsx","./components/ui/badge.tsx","./components/media/featured-media.tsx","./components/media/media-grid.tsx","./components/media/media-gallery.tsx","./components/media/media-cta.tsx","./app/media/page.tsx","./app/mg/page.tsx","./app/mg/[slug]/page.tsx","./app/pagemanagement/pagemanagement.tsx","./components/blocks/heroblock.tsx","./components/blocks/richtextblock.tsx","./components/blocks/ctabannerblock.tsx","./components/blocks/eventgridblock.tsx","./components/blocks/reportlistblock.tsx","./components/blocks/teamgridblock.tsx","./components/blocks/faqaccordionblock.tsx","./components/blocks/statsbarblock.tsx","./components/blocks/blockrenderer.tsx","./app/pages/[slug]/page.tsx","./app/privacy/page.tsx","./components/reports/reports-hero.tsx","./components/reports/featured-report.tsx","./components/reports/reports-grid.tsx","./app/reports/page.tsx","./app/terms/page.tsx","./app/volunteer/page.tsx","./node_modules/next-themes/dist/index.d.ts","./components/theme-provider.tsx","./components/admin/pagebuilder/pagepreview.tsx","./components/editorpanel/notificationdropdown.tsx","./node_modules/@radix-ui/react-collapsible/dist/index.d.mts","./node_modules/@radix-ui/react-accordion/dist/index.d.mts","./components/ui/accordion.tsx","./node_modules/@radix-ui/react-focus-scope/dist/index.d.mts","./node_modules/@radix-ui/react-portal/dist/index.d.mts","./node_modules/@radix-ui/react-dialog/dist/index.d.mts","./node_modules/@radix-ui/react-alert-dialog/dist/index.d.mts","./components/ui/alert-dialog.tsx","./components/ui/alert.tsx","./node_modules/@radix-ui/react-aspect-ratio/node_modules/@radix-ui/react-primitive/dist/index.d.mts","./node_modules/@radix-ui/react-aspect-ratio/dist/index.d.mts","./components/ui/aspect-ratio.tsx","./node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-context/dist/index.d.mts","./node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-primitive/dist/index.d.mts","./node_modules/@radix-ui/react-avatar/dist/index.d.mts","./components/ui/avatar.tsx","./components/ui/breadcrumb.tsx","./node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-primitive/dist/index.d.mts","./node_modules/@radix-ui/react-separator/dist/index.d.mts","./components/ui/separator.tsx","./components/ui/button-group.tsx","./node_modules/@date-fns/tz/constants/index.d.ts","./node_modules/@date-fns/tz/date/index.d.ts","./node_modules/@date-fns/tz/date/mini.d.ts","./node_modules/@date-fns/tz/tz/index.d.ts","./node_modules/@date-fns/tz/tzoffset/index.d.ts","./node_modules/@date-fns/tz/tzscan/index.d.ts","./node_modules/@date-fns/tz/tzname/index.d.ts","./node_modules/@date-fns/tz/index.d.ts","./node_modules/date-fns/constants.d.ts","./node_modules/date-fns/locale/types.d.ts","./node_modules/date-fns/fp/types.d.ts","./node_modules/date-fns/types.d.ts","./node_modules/date-fns/add.d.ts","./node_modules/date-fns/addbusinessdays.d.ts","./node_modules/date-fns/adddays.d.ts","./node_modules/date-fns/addhours.d.ts","./node_modules/date-fns/addisoweekyears.d.ts","./node_modules/date-fns/addmilliseconds.d.ts","./node_modules/date-fns/addminutes.d.ts","./node_modules/date-fns/addmonths.d.ts","./node_modules/date-fns/addquarters.d.ts","./node_modules/date-fns/addseconds.d.ts","./node_modules/date-fns/addweeks.d.ts","./node_modules/date-fns/addyears.d.ts","./node_modules/date-fns/areintervalsoverlapping.d.ts","./node_modules/date-fns/clamp.d.ts","./node_modules/date-fns/closestindexto.d.ts","./node_modules/date-fns/closestto.d.ts","./node_modules/date-fns/compareasc.d.ts","./node_modules/date-fns/comparedesc.d.ts","./node_modules/date-fns/constructfrom.d.ts","./node_modules/date-fns/constructnow.d.ts","./node_modules/date-fns/daystoweeks.d.ts","./node_modules/date-fns/differenceinbusinessdays.d.ts","./node_modules/date-fns/differenceincalendardays.d.ts","./node_modules/date-fns/differenceincalendarisoweekyears.d.ts","./node_modules/date-fns/differenceincalendarisoweeks.d.ts","./node_modules/date-fns/differenceincalendarmonths.d.ts","./node_modules/date-fns/differenceincalendarquarters.d.ts","./node_modules/date-fns/differenceincalendarweeks.d.ts","./node_modules/date-fns/differenceincalendaryears.d.ts","./node_modules/date-fns/differenceindays.d.ts","./node_modules/date-fns/differenceinhours.d.ts","./node_modules/date-fns/differenceinisoweekyears.d.ts","./node_modules/date-fns/differenceinmilliseconds.d.ts","./node_modules/date-fns/differenceinminutes.d.ts","./node_modules/date-fns/differenceinmonths.d.ts","./node_modules/date-fns/differenceinquarters.d.ts","./node_modules/date-fns/differenceinseconds.d.ts","./node_modules/date-fns/differenceinweeks.d.ts","./node_modules/date-fns/differenceinyears.d.ts","./node_modules/date-fns/eachdayofinterval.d.ts","./node_modules/date-fns/eachhourofinterval.d.ts","./node_modules/date-fns/eachminuteofinterval.d.ts","./node_modules/date-fns/eachmonthofinterval.d.ts","./node_modules/date-fns/eachquarterofinterval.d.ts","./node_modules/date-fns/eachweekofinterval.d.ts","./node_modules/date-fns/eachweekendofinterval.d.ts","./node_modules/date-fns/eachweekendofmonth.d.ts","./node_modules/date-fns/eachweekendofyear.d.ts","./node_modules/date-fns/eachyearofinterval.d.ts","./node_modules/date-fns/endofday.d.ts","./node_modules/date-fns/endofdecade.d.ts","./node_modules/date-fns/endofhour.d.ts","./node_modules/date-fns/endofisoweek.d.ts","./node_modules/date-fns/endofisoweekyear.d.ts","./node_modules/date-fns/endofminute.d.ts","./node_modules/date-fns/endofmonth.d.ts","./node_modules/date-fns/endofquarter.d.ts","./node_modules/date-fns/endofsecond.d.ts","./node_modules/date-fns/endoftoday.d.ts","./node_modules/date-fns/endoftomorrow.d.ts","./node_modules/date-fns/endofweek.d.ts","./node_modules/date-fns/endofyear.d.ts","./node_modules/date-fns/endofyesterday.d.ts","./node_modules/date-fns/_lib/format/formatters.d.ts","./node_modules/date-fns/_lib/format/longformatters.d.ts","./node_modules/date-fns/format.d.ts","./node_modules/date-fns/formatdistance.d.ts","./node_modules/date-fns/formatdistancestrict.d.ts","./node_modules/date-fns/formatdistancetonow.d.ts","./node_modules/date-fns/formatdistancetonowstrict.d.ts","./node_modules/date-fns/formatduration.d.ts","./node_modules/date-fns/formatiso.d.ts","./node_modules/date-fns/formatiso9075.d.ts","./node_modules/date-fns/formatisoduration.d.ts","./node_modules/date-fns/formatrfc3339.d.ts","./node_modules/date-fns/formatrfc7231.d.ts","./node_modules/date-fns/formatrelative.d.ts","./node_modules/date-fns/fromunixtime.d.ts","./node_modules/date-fns/getdate.d.ts","./node_modules/date-fns/getday.d.ts","./node_modules/date-fns/getdayofyear.d.ts","./node_modules/date-fns/getdaysinmonth.d.ts","./node_modules/date-fns/getdaysinyear.d.ts","./node_modules/date-fns/getdecade.d.ts","./node_modules/date-fns/_lib/defaultoptions.d.ts","./node_modules/date-fns/getdefaultoptions.d.ts","./node_modules/date-fns/gethours.d.ts","./node_modules/date-fns/getisoday.d.ts","./node_modules/date-fns/getisoweek.d.ts","./node_modules/date-fns/getisoweekyear.d.ts","./node_modules/date-fns/getisoweeksinyear.d.ts","./node_modules/date-fns/getmilliseconds.d.ts","./node_modules/date-fns/getminutes.d.ts","./node_modules/date-fns/getmonth.d.ts","./node_modules/date-fns/getoverlappingdaysinintervals.d.ts","./node_modules/date-fns/getquarter.d.ts","./node_modules/date-fns/getseconds.d.ts","./node_modules/date-fns/gettime.d.ts","./node_modules/date-fns/getunixtime.d.ts","./node_modules/date-fns/getweek.d.ts","./node_modules/date-fns/getweekofmonth.d.ts","./node_modules/date-fns/getweekyear.d.ts","./node_modules/date-fns/getweeksinmonth.d.ts","./node_modules/date-fns/getyear.d.ts","./node_modules/date-fns/hourstomilliseconds.d.ts","./node_modules/date-fns/hourstominutes.d.ts","./node_modules/date-fns/hourstoseconds.d.ts","./node_modules/date-fns/interval.d.ts","./node_modules/date-fns/intervaltoduration.d.ts","./node_modules/date-fns/intlformat.d.ts","./node_modules/date-fns/intlformatdistance.d.ts","./node_modules/date-fns/isafter.d.ts","./node_modules/date-fns/isbefore.d.ts","./node_modules/date-fns/isdate.d.ts","./node_modules/date-fns/isequal.d.ts","./node_modules/date-fns/isexists.d.ts","./node_modules/date-fns/isfirstdayofmonth.d.ts","./node_modules/date-fns/isfriday.d.ts","./node_modules/date-fns/isfuture.d.ts","./node_modules/date-fns/islastdayofmonth.d.ts","./node_modules/date-fns/isleapyear.d.ts","./node_modules/date-fns/ismatch.d.ts","./node_modules/date-fns/ismonday.d.ts","./node_modules/date-fns/ispast.d.ts","./node_modules/date-fns/issameday.d.ts","./node_modules/date-fns/issamehour.d.ts","./node_modules/date-fns/issameisoweek.d.ts","./node_modules/date-fns/issameisoweekyear.d.ts","./node_modules/date-fns/issameminute.d.ts","./node_modules/date-fns/issamemonth.d.ts","./node_modules/date-fns/issamequarter.d.ts","./node_modules/date-fns/issamesecond.d.ts","./node_modules/date-fns/issameweek.d.ts","./node_modules/date-fns/issameyear.d.ts","./node_modules/date-fns/issaturday.d.ts","./node_modules/date-fns/issunday.d.ts","./node_modules/date-fns/isthishour.d.ts","./node_modules/date-fns/isthisisoweek.d.ts","./node_modules/date-fns/isthisminute.d.ts","./node_modules/date-fns/isthismonth.d.ts","./node_modules/date-fns/isthisquarter.d.ts","./node_modules/date-fns/isthissecond.d.ts","./node_modules/date-fns/isthisweek.d.ts","./node_modules/date-fns/isthisyear.d.ts","./node_modules/date-fns/isthursday.d.ts","./node_modules/date-fns/istoday.d.ts","./node_modules/date-fns/istomorrow.d.ts","./node_modules/date-fns/istuesday.d.ts","./node_modules/date-fns/isvalid.d.ts","./node_modules/date-fns/iswednesday.d.ts","./node_modules/date-fns/isweekend.d.ts","./node_modules/date-fns/iswithininterval.d.ts","./node_modules/date-fns/isyesterday.d.ts","./node_modules/date-fns/lastdayofdecade.d.ts","./node_modules/date-fns/lastdayofisoweek.d.ts","./node_modules/date-fns/lastdayofisoweekyear.d.ts","./node_modules/date-fns/lastdayofmonth.d.ts","./node_modules/date-fns/lastdayofquarter.d.ts","./node_modules/date-fns/lastdayofweek.d.ts","./node_modules/date-fns/lastdayofyear.d.ts","./node_modules/date-fns/_lib/format/lightformatters.d.ts","./node_modules/date-fns/lightformat.d.ts","./node_modules/date-fns/max.d.ts","./node_modules/date-fns/milliseconds.d.ts","./node_modules/date-fns/millisecondstohours.d.ts","./node_modules/date-fns/millisecondstominutes.d.ts","./node_modules/date-fns/millisecondstoseconds.d.ts","./node_modules/date-fns/min.d.ts","./node_modules/date-fns/minutestohours.d.ts","./node_modules/date-fns/minutestomilliseconds.d.ts","./node_modules/date-fns/minutestoseconds.d.ts","./node_modules/date-fns/monthstoquarters.d.ts","./node_modules/date-fns/monthstoyears.d.ts","./node_modules/date-fns/nextday.d.ts","./node_modules/date-fns/nextfriday.d.ts","./node_modules/date-fns/nextmonday.d.ts","./node_modules/date-fns/nextsaturday.d.ts","./node_modules/date-fns/nextsunday.d.ts","./node_modules/date-fns/nextthursday.d.ts","./node_modules/date-fns/nexttuesday.d.ts","./node_modules/date-fns/nextwednesday.d.ts","./node_modules/date-fns/parse/_lib/types.d.ts","./node_modules/date-fns/parse/_lib/setter.d.ts","./node_modules/date-fns/parse/_lib/parser.d.ts","./node_modules/date-fns/parse/_lib/parsers.d.ts","./node_modules/date-fns/parse.d.ts","./node_modules/date-fns/parseiso.d.ts","./node_modules/date-fns/parsejson.d.ts","./node_modules/date-fns/previousday.d.ts","./node_modules/date-fns/previousfriday.d.ts","./node_modules/date-fns/previousmonday.d.ts","./node_modules/date-fns/previoussaturday.d.ts","./node_modules/date-fns/previoussunday.d.ts","./node_modules/date-fns/previousthursday.d.ts","./node_modules/date-fns/previoustuesday.d.ts","./node_modules/date-fns/previouswednesday.d.ts","./node_modules/date-fns/quarterstomonths.d.ts","./node_modules/date-fns/quarterstoyears.d.ts","./node_modules/date-fns/roundtonearesthours.d.ts","./node_modules/date-fns/roundtonearestminutes.d.ts","./node_modules/date-fns/secondstohours.d.ts","./node_modules/date-fns/secondstomilliseconds.d.ts","./node_modules/date-fns/secondstominutes.d.ts","./node_modules/date-fns/set.d.ts","./node_modules/date-fns/setdate.d.ts","./node_modules/date-fns/setday.d.ts","./node_modules/date-fns/setdayofyear.d.ts","./node_modules/date-fns/setdefaultoptions.d.ts","./node_modules/date-fns/sethours.d.ts","./node_modules/date-fns/setisoday.d.ts","./node_modules/date-fns/setisoweek.d.ts","./node_modules/date-fns/setisoweekyear.d.ts","./node_modules/date-fns/setmilliseconds.d.ts","./node_modules/date-fns/setminutes.d.ts","./node_modules/date-fns/setmonth.d.ts","./node_modules/date-fns/setquarter.d.ts","./node_modules/date-fns/setseconds.d.ts","./node_modules/date-fns/setweek.d.ts","./node_modules/date-fns/setweekyear.d.ts","./node_modules/date-fns/setyear.d.ts","./node_modules/date-fns/startofday.d.ts","./node_modules/date-fns/startofdecade.d.ts","./node_modules/date-fns/startofhour.d.ts","./node_modules/date-fns/startofisoweek.d.ts","./node_modules/date-fns/startofisoweekyear.d.ts","./node_modules/date-fns/startofminute.d.ts","./node_modules/date-fns/startofmonth.d.ts","./node_modules/date-fns/startofquarter.d.ts","./node_modules/date-fns/startofsecond.d.ts","./node_modules/date-fns/startoftoday.d.ts","./node_modules/date-fns/startoftomorrow.d.ts","./node_modules/date-fns/startofweek.d.ts","./node_modules/date-fns/startofweekyear.d.ts","./node_modules/date-fns/startofyear.d.ts","./node_modules/date-fns/startofyesterday.d.ts","./node_modules/date-fns/sub.d.ts","./node_modules/date-fns/subbusinessdays.d.ts","./node_modules/date-fns/subdays.d.ts","./node_modules/date-fns/subhours.d.ts","./node_modules/date-fns/subisoweekyears.d.ts","./node_modules/date-fns/submilliseconds.d.ts","./node_modules/date-fns/subminutes.d.ts","./node_modules/date-fns/submonths.d.ts","./node_modules/date-fns/subquarters.d.ts","./node_modules/date-fns/subseconds.d.ts","./node_modules/date-fns/subweeks.d.ts","./node_modules/date-fns/subyears.d.ts","./node_modules/date-fns/todate.d.ts","./node_modules/date-fns/transpose.d.ts","./node_modules/date-fns/weekstodays.d.ts","./node_modules/date-fns/yearstodays.d.ts","./node_modules/date-fns/yearstomonths.d.ts","./node_modules/date-fns/yearstoquarters.d.ts","./node_modules/date-fns/index.d.ts","./node_modules/date-fns/locale/af.d.ts","./node_modules/date-fns/locale/ar.d.ts","./node_modules/date-fns/locale/ar-dz.d.ts","./node_modules/date-fns/locale/ar-eg.d.ts","./node_modules/date-fns/locale/ar-ma.d.ts","./node_modules/date-fns/locale/ar-sa.d.ts","./node_modules/date-fns/locale/ar-tn.d.ts","./node_modules/date-fns/locale/az.d.ts","./node_modules/date-fns/locale/be.d.ts","./node_modules/date-fns/locale/be-tarask.d.ts","./node_modules/date-fns/locale/bg.d.ts","./node_modules/date-fns/locale/bn.d.ts","./node_modules/date-fns/locale/bs.d.ts","./node_modules/date-fns/locale/ca.d.ts","./node_modules/date-fns/locale/ckb.d.ts","./node_modules/date-fns/locale/cs.d.ts","./node_modules/date-fns/locale/cy.d.ts","./node_modules/date-fns/locale/da.d.ts","./node_modules/date-fns/locale/de.d.ts","./node_modules/date-fns/locale/de-at.d.ts","./node_modules/date-fns/locale/el.d.ts","./node_modules/date-fns/locale/en-au.d.ts","./node_modules/date-fns/locale/en-ca.d.ts","./node_modules/date-fns/locale/en-gb.d.ts","./node_modules/date-fns/locale/en-ie.d.ts","./node_modules/date-fns/locale/en-in.d.ts","./node_modules/date-fns/locale/en-nz.d.ts","./node_modules/date-fns/locale/en-us.d.ts","./node_modules/date-fns/locale/en-za.d.ts","./node_modules/date-fns/locale/eo.d.ts","./node_modules/date-fns/locale/es.d.ts","./node_modules/date-fns/locale/et.d.ts","./node_modules/date-fns/locale/eu.d.ts","./node_modules/date-fns/locale/fa-ir.d.ts","./node_modules/date-fns/locale/fi.d.ts","./node_modules/date-fns/locale/fr.d.ts","./node_modules/date-fns/locale/fr-ca.d.ts","./node_modules/date-fns/locale/fr-ch.d.ts","./node_modules/date-fns/locale/fy.d.ts","./node_modules/date-fns/locale/gd.d.ts","./node_modules/date-fns/locale/gl.d.ts","./node_modules/date-fns/locale/gu.d.ts","./node_modules/date-fns/locale/he.d.ts","./node_modules/date-fns/locale/hi.d.ts","./node_modules/date-fns/locale/hr.d.ts","./node_modules/date-fns/locale/ht.d.ts","./node_modules/date-fns/locale/hu.d.ts","./node_modules/date-fns/locale/hy.d.ts","./node_modules/date-fns/locale/id.d.ts","./node_modules/date-fns/locale/is.d.ts","./node_modules/date-fns/locale/it.d.ts","./node_modules/date-fns/locale/it-ch.d.ts","./node_modules/date-fns/locale/ja.d.ts","./node_modules/date-fns/locale/ja-hira.d.ts","./node_modules/date-fns/locale/ka.d.ts","./node_modules/date-fns/locale/kk.d.ts","./node_modules/date-fns/locale/km.d.ts","./node_modules/date-fns/locale/kn.d.ts","./node_modules/date-fns/locale/ko.d.ts","./node_modules/date-fns/locale/lb.d.ts","./node_modules/date-fns/locale/lt.d.ts","./node_modules/date-fns/locale/lv.d.ts","./node_modules/date-fns/locale/mk.d.ts","./node_modules/date-fns/locale/mn.d.ts","./node_modules/date-fns/locale/ms.d.ts","./node_modules/date-fns/locale/mt.d.ts","./node_modules/date-fns/locale/nb.d.ts","./node_modules/date-fns/locale/nl.d.ts","./node_modules/date-fns/locale/nl-be.d.ts","./node_modules/date-fns/locale/nn.d.ts","./node_modules/date-fns/locale/oc.d.ts","./node_modules/date-fns/locale/pl.d.ts","./node_modules/date-fns/locale/pt.d.ts","./node_modules/date-fns/locale/pt-br.d.ts","./node_modules/date-fns/locale/ro.d.ts","./node_modules/date-fns/locale/ru.d.ts","./node_modules/date-fns/locale/se.d.ts","./node_modules/date-fns/locale/sk.d.ts","./node_modules/date-fns/locale/sl.d.ts","./node_modules/date-fns/locale/sq.d.ts","./node_modules/date-fns/locale/sr.d.ts","./node_modules/date-fns/locale/sr-latn.d.ts","./node_modules/date-fns/locale/sv.d.ts","./node_modules/date-fns/locale/ta.d.ts","./node_modules/date-fns/locale/te.d.ts","./node_modules/date-fns/locale/th.d.ts","./node_modules/date-fns/locale/tr.d.ts","./node_modules/date-fns/locale/ug.d.ts","./node_modules/date-fns/locale/uk.d.ts","./node_modules/date-fns/locale/uz.d.ts","./node_modules/date-fns/locale/uz-cyrl.d.ts","./node_modules/date-fns/locale/vi.d.ts","./node_modules/date-fns/locale/zh-cn.d.ts","./node_modules/date-fns/locale/zh-hk.d.ts","./node_modules/date-fns/locale/zh-tw.d.ts","./node_modules/date-fns/locale.d.ts","./node_modules/react-day-picker/dist/esm/components/button.d.ts","./node_modules/react-day-picker/dist/esm/components/captionlabel.d.ts","./node_modules/react-day-picker/dist/esm/components/chevron.d.ts","./node_modules/react-day-picker/dist/esm/components/monthcaption.d.ts","./node_modules/react-day-picker/dist/esm/components/week.d.ts","./node_modules/react-day-picker/dist/esm/labels/labeldaybutton.d.ts","./node_modules/react-day-picker/dist/esm/labels/labelgrid.d.ts","./node_modules/react-day-picker/dist/esm/labels/labelgridcell.d.ts","./node_modules/react-day-picker/dist/esm/labels/labelmonthdropdown.d.ts","./node_modules/react-day-picker/dist/esm/labels/labelnav.d.ts","./node_modules/react-day-picker/dist/esm/labels/labelnext.d.ts","./node_modules/react-day-picker/dist/esm/labels/labelprevious.d.ts","./node_modules/react-day-picker/dist/esm/labels/labelweekday.d.ts","./node_modules/react-day-picker/dist/esm/labels/labelweeknumber.d.ts","./node_modules/react-day-picker/dist/esm/labels/labelweeknumberheader.d.ts","./node_modules/react-day-picker/dist/esm/labels/labelyeardropdown.d.ts","./node_modules/react-day-picker/dist/esm/labels/index.d.ts","./node_modules/react-day-picker/dist/esm/ui.d.ts","./node_modules/react-day-picker/dist/esm/classes/calendarweek.d.ts","./node_modules/react-day-picker/dist/esm/classes/calendarmonth.d.ts","./node_modules/react-day-picker/dist/esm/types/props.d.ts","./node_modules/react-day-picker/dist/esm/types/selection.d.ts","./node_modules/react-day-picker/dist/esm/usedaypicker.d.ts","./node_modules/react-day-picker/dist/esm/types/deprecated.d.ts","./node_modules/react-day-picker/dist/esm/types/index.d.ts","./node_modules/react-day-picker/dist/esm/components/day.d.ts","./node_modules/react-day-picker/dist/esm/components/daybutton.d.ts","./node_modules/react-day-picker/dist/esm/components/dropdown.d.ts","./node_modules/react-day-picker/dist/esm/components/dropdownnav.d.ts","./node_modules/react-day-picker/dist/esm/components/footer.d.ts","./node_modules/react-day-picker/dist/esm/components/month.d.ts","./node_modules/react-day-picker/dist/esm/components/monthgrid.d.ts","./node_modules/react-day-picker/dist/esm/components/months.d.ts","./node_modules/react-day-picker/dist/esm/components/monthsdropdown.d.ts","./node_modules/react-day-picker/dist/esm/components/nav.d.ts","./node_modules/react-day-picker/dist/esm/components/nextmonthbutton.d.ts","./node_modules/react-day-picker/dist/esm/components/option.d.ts","./node_modules/react-day-picker/dist/esm/components/previousmonthbutton.d.ts","./node_modules/react-day-picker/dist/esm/components/root.d.ts","./node_modules/react-day-picker/dist/esm/components/select.d.ts","./node_modules/react-day-picker/dist/esm/components/weekday.d.ts","./node_modules/react-day-picker/dist/esm/components/weekdays.d.ts","./node_modules/react-day-picker/dist/esm/components/weeknumber.d.ts","./node_modules/react-day-picker/dist/esm/components/weeknumberheader.d.ts","./node_modules/react-day-picker/dist/esm/components/weeks.d.ts","./node_modules/react-day-picker/dist/esm/components/yearsdropdown.d.ts","./node_modules/react-day-picker/dist/esm/components/custom-components.d.ts","./node_modules/react-day-picker/dist/esm/formatters/formatcaption.d.ts","./node_modules/react-day-picker/dist/esm/formatters/formatday.d.ts","./node_modules/react-day-picker/dist/esm/formatters/formatmonthdropdown.d.ts","./node_modules/react-day-picker/dist/esm/formatters/formatweekdayname.d.ts","./node_modules/react-day-picker/dist/esm/formatters/formatweeknumber.d.ts","./node_modules/react-day-picker/dist/esm/formatters/formatweeknumberheader.d.ts","./node_modules/react-day-picker/dist/esm/formatters/formatyeardropdown.d.ts","./node_modules/react-day-picker/dist/esm/formatters/index.d.ts","./node_modules/react-day-picker/dist/esm/types/shared.d.ts","./node_modules/react-day-picker/dist/esm/locale/en-us.d.ts","./node_modules/react-day-picker/dist/esm/classes/datelib.d.ts","./node_modules/react-day-picker/dist/esm/classes/calendarday.d.ts","./node_modules/react-day-picker/dist/esm/classes/index.d.ts","./node_modules/react-day-picker/dist/esm/daypicker.d.ts","./node_modules/react-day-picker/dist/esm/helpers/getdefaultclassnames.d.ts","./node_modules/react-day-picker/dist/esm/helpers/index.d.ts","./node_modules/react-day-picker/dist/esm/utils/addtorange.d.ts","./node_modules/react-day-picker/dist/esm/utils/datematchmodifiers.d.ts","./node_modules/react-day-picker/dist/esm/utils/rangecontainsdayofweek.d.ts","./node_modules/react-day-picker/dist/esm/utils/rangecontainsmodifiers.d.ts","./node_modules/react-day-picker/dist/esm/utils/rangeincludesdate.d.ts","./node_modules/react-day-picker/dist/esm/utils/rangeoverlaps.d.ts","./node_modules/react-day-picker/dist/esm/utils/typeguards.d.ts","./node_modules/react-day-picker/dist/esm/utils/index.d.ts","./node_modules/react-day-picker/dist/esm/index.d.ts","./components/ui/calendar.tsx","./node_modules/embla-carousel/esm/components/alignment.d.ts","./node_modules/embla-carousel/esm/components/noderects.d.ts","./node_modules/embla-carousel/esm/components/axis.d.ts","./node_modules/embla-carousel/esm/components/slidestoscroll.d.ts","./node_modules/embla-carousel/esm/components/limit.d.ts","./node_modules/embla-carousel/esm/components/scrollcontain.d.ts","./node_modules/embla-carousel/esm/components/dragtracker.d.ts","./node_modules/embla-carousel/esm/components/utils.d.ts","./node_modules/embla-carousel/esm/components/animations.d.ts","./node_modules/embla-carousel/esm/components/counter.d.ts","./node_modules/embla-carousel/esm/components/eventhandler.d.ts","./node_modules/embla-carousel/esm/components/eventstore.d.ts","./node_modules/embla-carousel/esm/components/percentofview.d.ts","./node_modules/embla-carousel/esm/components/resizehandler.d.ts","./node_modules/embla-carousel/esm/components/vector1d.d.ts","./node_modules/embla-carousel/esm/components/scrollbody.d.ts","./node_modules/embla-carousel/esm/components/scrollbounds.d.ts","./node_modules/embla-carousel/esm/components/scrolllooper.d.ts","./node_modules/embla-carousel/esm/components/scrollprogress.d.ts","./node_modules/embla-carousel/esm/components/slideregistry.d.ts","./node_modules/embla-carousel/esm/components/scrolltarget.d.ts","./node_modules/embla-carousel/esm/components/scrollto.d.ts","./node_modules/embla-carousel/esm/components/slidefocus.d.ts","./node_modules/embla-carousel/esm/components/translate.d.ts","./node_modules/embla-carousel/esm/components/slidelooper.d.ts","./node_modules/embla-carousel/esm/components/slideshandler.d.ts","./node_modules/embla-carousel/esm/components/slidesinview.d.ts","./node_modules/embla-carousel/esm/components/engine.d.ts","./node_modules/embla-carousel/esm/components/optionshandler.d.ts","./node_modules/embla-carousel/esm/components/plugins.d.ts","./node_modules/embla-carousel/esm/components/emblacarousel.d.ts","./node_modules/embla-carousel/esm/components/draghandler.d.ts","./node_modules/embla-carousel/esm/components/options.d.ts","./node_modules/embla-carousel/esm/index.d.ts","./node_modules/embla-carousel-react/esm/components/useemblacarousel.d.ts","./node_modules/embla-carousel-react/esm/index.d.ts","./components/ui/carousel.tsx","./node_modules/recharts/types/container/surface.d.ts","./node_modules/recharts/types/container/layer.d.ts","./node_modules/@types/d3-time/index.d.ts","./node_modules/@types/d3-scale/index.d.ts","./node_modules/victory-vendor/d3-scale.d.ts","./node_modules/recharts/types/cartesian/xaxis.d.ts","./node_modules/recharts/types/cartesian/yaxis.d.ts","./node_modules/recharts/types/util/types.d.ts","./node_modules/recharts/types/component/defaultlegendcontent.d.ts","./node_modules/recharts/types/util/payload/getuniqpayload.d.ts","./node_modules/recharts/types/component/legend.d.ts","./node_modules/recharts/types/component/defaulttooltipcontent.d.ts","./node_modules/recharts/types/component/tooltip.d.ts","./node_modules/recharts/types/component/responsivecontainer.d.ts","./node_modules/recharts/types/component/cell.d.ts","./node_modules/recharts/types/component/text.d.ts","./node_modules/recharts/types/component/label.d.ts","./node_modules/recharts/types/component/labellist.d.ts","./node_modules/recharts/types/component/customized.d.ts","./node_modules/recharts/types/shape/sector.d.ts","./node_modules/@types/d3-path/index.d.ts","./node_modules/@types/d3-shape/index.d.ts","./node_modules/victory-vendor/d3-shape.d.ts","./node_modules/recharts/types/shape/curve.d.ts","./node_modules/recharts/types/shape/rectangle.d.ts","./node_modules/recharts/types/shape/polygon.d.ts","./node_modules/recharts/types/shape/dot.d.ts","./node_modules/recharts/types/shape/cross.d.ts","./node_modules/recharts/types/shape/symbols.d.ts","./node_modules/recharts/types/polar/polargrid.d.ts","./node_modules/recharts/types/polar/polarradiusaxis.d.ts","./node_modules/recharts/types/polar/polarangleaxis.d.ts","./node_modules/recharts/types/polar/pie.d.ts","./node_modules/recharts/types/polar/radar.d.ts","./node_modules/recharts/types/polar/radialbar.d.ts","./node_modules/recharts/types/cartesian/brush.d.ts","./node_modules/recharts/types/util/ifoverflowmatches.d.ts","./node_modules/recharts/types/cartesian/referenceline.d.ts","./node_modules/recharts/types/cartesian/referencedot.d.ts","./node_modules/recharts/types/cartesian/referencearea.d.ts","./node_modules/recharts/types/cartesian/cartesianaxis.d.ts","./node_modules/recharts/types/cartesian/cartesiangrid.d.ts","./node_modules/recharts/types/cartesian/line.d.ts","./node_modules/recharts/types/cartesian/area.d.ts","./node_modules/recharts/types/util/barutils.d.ts","./node_modules/recharts/types/cartesian/bar.d.ts","./node_modules/recharts/types/cartesian/zaxis.d.ts","./node_modules/recharts/types/cartesian/errorbar.d.ts","./node_modules/recharts/types/cartesian/scatter.d.ts","./node_modules/recharts/types/util/getlegendprops.d.ts","./node_modules/recharts/types/util/chartutils.d.ts","./node_modules/recharts/types/chart/accessibilitymanager.d.ts","./node_modules/recharts/types/chart/types.d.ts","./node_modules/recharts/types/chart/generatecategoricalchart.d.ts","./node_modules/recharts/types/chart/linechart.d.ts","./node_modules/recharts/types/chart/barchart.d.ts","./node_modules/recharts/types/chart/piechart.d.ts","./node_modules/recharts/types/chart/treemap.d.ts","./node_modules/recharts/types/chart/sankey.d.ts","./node_modules/recharts/types/chart/radarchart.d.ts","./node_modules/recharts/types/chart/scatterchart.d.ts","./node_modules/recharts/types/chart/areachart.d.ts","./node_modules/recharts/types/chart/radialbarchart.d.ts","./node_modules/recharts/types/chart/composedchart.d.ts","./node_modules/recharts/types/chart/sunburstchart.d.ts","./node_modules/recharts/types/shape/trapezoid.d.ts","./node_modules/recharts/types/numberaxis/funnel.d.ts","./node_modules/recharts/types/chart/funnelchart.d.ts","./node_modules/recharts/types/util/global.d.ts","./node_modules/recharts/types/index.d.ts","./components/ui/chart.tsx","./node_modules/@radix-ui/react-checkbox/dist/index.d.mts","./components/ui/checkbox.tsx","./components/ui/collapsible.tsx","./node_modules/cmdk/dist/index.d.ts","./components/ui/dialog.tsx","./components/ui/command.tsx","./node_modules/@radix-ui/react-arrow/dist/index.d.mts","./node_modules/@radix-ui/rect/dist/index.d.mts","./node_modules/@radix-ui/react-popper/dist/index.d.mts","./node_modules/@radix-ui/react-roving-focus/dist/index.d.mts","./node_modules/@radix-ui/react-menu/dist/index.d.mts","./node_modules/@radix-ui/react-context-menu/dist/index.d.mts","./components/ui/context-menu.tsx","./node_modules/vaul/dist/index.d.mts","./components/ui/drawer.tsx","./node_modules/@radix-ui/react-dropdown-menu/dist/index.d.mts","./components/ui/dropdown-menu.tsx","./components/ui/empty.tsx","./components/ui/field.tsx","./node_modules/react-hook-form/dist/constants.d.ts","./node_modules/react-hook-form/dist/utils/createsubject.d.ts","./node_modules/react-hook-form/dist/types/events.d.ts","./node_modules/react-hook-form/dist/types/path/common.d.ts","./node_modules/react-hook-form/dist/types/path/eager.d.ts","./node_modules/react-hook-form/dist/types/path/index.d.ts","./node_modules/react-hook-form/dist/types/fieldarray.d.ts","./node_modules/react-hook-form/dist/types/resolvers.d.ts","./node_modules/react-hook-form/dist/types/form.d.ts","./node_modules/react-hook-form/dist/types/utils.d.ts","./node_modules/react-hook-form/dist/types/fields.d.ts","./node_modules/react-hook-form/dist/types/errors.d.ts","./node_modules/react-hook-form/dist/types/validator.d.ts","./node_modules/react-hook-form/dist/types/controller.d.ts","./node_modules/react-hook-form/dist/types/watch.d.ts","./node_modules/react-hook-form/dist/types/index.d.ts","./node_modules/react-hook-form/dist/controller.d.ts","./node_modules/react-hook-form/dist/form.d.ts","./node_modules/react-hook-form/dist/formstatesubscribe.d.ts","./node_modules/react-hook-form/dist/logic/appenderrors.d.ts","./node_modules/react-hook-form/dist/logic/createformcontrol.d.ts","./node_modules/react-hook-form/dist/logic/index.d.ts","./node_modules/react-hook-form/dist/usecontroller.d.ts","./node_modules/react-hook-form/dist/usefieldarray.d.ts","./node_modules/react-hook-form/dist/useform.d.ts","./node_modules/react-hook-form/dist/useformcontext.d.ts","./node_modules/react-hook-form/dist/useformstate.d.ts","./node_modules/react-hook-form/dist/usewatch.d.ts","./node_modules/react-hook-form/dist/utils/get.d.ts","./node_modules/react-hook-form/dist/utils/set.d.ts","./node_modules/react-hook-form/dist/utils/index.d.ts","./node_modules/react-hook-form/dist/watch.d.ts","./node_modules/react-hook-form/dist/index.d.ts","./components/ui/form.tsx","./node_modules/@radix-ui/react-hover-card/dist/index.d.mts","./components/ui/hover-card.tsx","./components/ui/textarea.tsx","./components/ui/input-group.tsx","./node_modules/input-otp/dist/index.d.ts","./components/ui/input-otp.tsx","./components/ui/item.tsx","./components/ui/kbd.tsx","./node_modules/@radix-ui/react-menubar/dist/index.d.mts","./components/ui/menubar.tsx","./node_modules/@radix-ui/react-visually-hidden/dist/index.d.mts","./node_modules/@radix-ui/react-navigation-menu/dist/index.d.mts","./components/ui/navigation-menu.tsx","./components/ui/pagination.tsx","./node_modules/@radix-ui/react-popover/dist/index.d.mts","./components/ui/popover.tsx","./node_modules/@radix-ui/react-progress/node_modules/@radix-ui/react-context/dist/index.d.mts","./node_modules/@radix-ui/react-progress/node_modules/@radix-ui/react-primitive/dist/index.d.mts","./node_modules/@radix-ui/react-progress/dist/index.d.mts","./components/ui/progress.tsx","./node_modules/@radix-ui/react-radio-group/dist/index.d.mts","./components/ui/radio-group.tsx","./node_modules/react-resizable-panels/dist/declarations/src/panel.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/types.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/panelgroup.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/panelresizehandleregistry.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/panelresizehandle.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/constants.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/assert.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/csp.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/cursor.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/dom/getpanelelement.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/dom/getpanelelementsforgroup.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/dom/getpanelgroupelement.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/dom/getresizehandleelement.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/dom/getresizehandleelementindex.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/dom/getresizehandleelementsforgroup.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/dom/getresizehandlepanelids.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/rects/types.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/rects/getintersectingrectangle.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/rects/intersects.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/index.d.ts","./node_modules/react-resizable-panels/dist/react-resizable-panels.cjs.d.mts","./components/ui/resizable.tsx","./node_modules/@radix-ui/react-scroll-area/dist/index.d.mts","./components/ui/scroll-area.tsx","./node_modules/@radix-ui/react-select/dist/index.d.mts","./components/ui/select.tsx","./components/ui/sheet.tsx","./components/ui/skeleton.tsx","./node_modules/@radix-ui/react-tooltip/dist/index.d.mts","./components/ui/tooltip.tsx","./components/ui/sidebar.tsx","./node_modules/@radix-ui/react-slider/dist/index.d.mts","./components/ui/slider.tsx","./node_modules/sonner/dist/index.d.ts","./components/ui/sonner.tsx","./node_modules/@radix-ui/react-switch/dist/index.d.mts","./components/ui/switch.tsx","./components/ui/table.tsx","./node_modules/@radix-ui/react-tabs/dist/index.d.mts","./components/ui/tabs.tsx","./components/ui/toaster.tsx","./node_modules/@radix-ui/react-toggle/dist/index.d.mts","./node_modules/@radix-ui/react-toggle-group/dist/index.d.mts","./components/ui/toggle.tsx","./components/ui/toggle-group.tsx","./components/ui/use-mobile.tsx","./.next/types/cache-life.d.ts","./.next/types/validator.ts","./.next/dev/types/cache-life.d.ts","./.next/dev/types/routes.d.ts","./.next/dev/types/validator.ts","./node_modules/@types/caseless/index.d.ts","./node_modules/@types/d3-array/index.d.ts","./node_modules/@types/d3-color/index.d.ts","./node_modules/@types/d3-ease/index.d.ts","./node_modules/@types/d3-interpolate/index.d.ts","./node_modules/@types/d3-timer/index.d.ts","./node_modules/@types/estree/index.d.ts","./node_modules/@types/json-schema/index.d.ts","./node_modules/@types/json5/index.d.ts","./node_modules/@types/ms/index.d.ts","./node_modules/@types/jsonwebtoken/index.d.ts","./node_modules/@types/long/index.d.ts","./node_modules/@types/marked/index.d.ts","./node_modules/form-data/index.d.ts","./node_modules/tough-cookie/dist/index.d.cts","./node_modules/@types/request/index.d.ts","./node_modules/@types/statuses/index.d.ts","./node_modules/@types/tough-cookie/index.d.ts","./node_modules/@types/triple-beam/index.d.ts","./node_modules/@types/trusted-types/index.d.ts","./node_modules/@types/validate-npm-package-name/index.d.ts"],"fileIdsList":[[93,142,159,160,484,485,486,487,1771],[93,142,159,160,1771,1773],[93,142,159,160,227,525,528,818,820,821,822,823,824,825,826,828,951,956,957,958,959,963,964,966,968,969,970,971,973,974,976,1003,1004,1005,1006,1007,1008,1013,1016,1017,1021,1022,1025,1027,1028,1031,1035,1037,1038,1039,1040,1041,1042,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1061,1062,1063,1074,1075,1079,1080,1081,1771,1773,1774],[93,142,159,160,484,485,486,487,1773],[93,142,159,160,227,525,528,531,818,820,821,822,823,824,825,826,828,951,956,957,958,959,963,964,966,968,969,970,971,973,974,976,1003,1004,1005,1006,1007,1008,1013,1016,1017,1021,1022,1025,1027,1028,1031,1035,1037,1038,1039,1040,1041,1042,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1061,1062,1063,1074,1075,1079,1080,1081,1771,1773],[93,142,159,160,227,817,954,955,1771,1773],[93,142,159,160,227,508,817,954,955,1771,1773],[81,93,142,159,160,227,829,847,855,965,1771,1773],[81,93,142,159,160,227,855,967,1771,1773],[81,93,142,159,160,227,829,1771,1773],[81,93,142,159,160,227,829,847,855,1771,1773],[93,142,159,160,227,518,1771,1773],[81,93,142,159,160,227,794,817,829,855,972,1771,1773],[93,142,159,160,227,961,962,1771,1773],[81,93,142,159,160,227,518,794,816,829,846,847,851,855,984,987,991,993,995,996,997,998,999,1000,1001,1002,1771,1773],[81,93,142,159,160,227,518,794,829,846,851,855,975,1771,1773],[81,93,142,159,160,227,829,855,946,1771,1773],[81,93,142,159,160,227,508,829,847,855,946,1771,1773],[93,142,159,160,227,508,829,1771,1773],[93,142,159,160,227,829,1771,1773],[81,93,142,159,160,227,1013,1771,1773],[81,93,142,159,160,227,794,805,854,953,1011,1012,1014,1771,1773],[93,142,159,160,227,1771,1773],[81,93,142,159,160,227,518,811,854,946,953,1011,1012,1015,1771,1773],[93,142,159,160,227,525,817,1771,1773],[93,142,159,160,227,525,819,1771,1773],[93,142,159,160,227,525,827,1771,1773],[93,142,159,160,227,518,819,954,955,988,1020,1771,1773],[93,142,159,160,227,508,817,819,954,955,1771,1773],[81,93,142,159,160,227,816,817,829,855,870,954,955,1771,1773],[93,142,159,160,227,508,518,819,954,955,1026,1771,1773],[93,142,159,160,227,508,817,819,830,954,955,1023,1024,1771,1773],[93,142,159,160,227,508,518,844,1029,1034,1036,1771,1773],[93,142,159,160,227,518,844,1029,1034,1036,1771,1773],[81,93,142,159,160,227,508,829,844,1029,1034,1771,1773],[93,142,159,160,227,508,518,844,990,1029,1034,1771,1773],[93,142,159,160,227,518,844,990,1029,1034,1771,1773],[81,93,142,159,160,227,508,829,1029,1034,1771,1773],[81,93,142,159,160,227,1029,1034,1043,1044,1771,1773],[93,142,159,160,227,508,518,844,992,1029,1034,1771,1773],[93,142,159,160,227,518,844,992,1029,1034,1771,1773],[93,142,159,160,227,508,829,1034,1771,1773],[93,142,159,160,227,1029,1030,1771,1773],[81,93,142,159,160,227,829,844,1029,1034,1771,1773],[81,93,142,159,160,227,829,946,1034,1771,1773],[93,142,159,160,227,829,1029,1034,1771,1773],[93,142,159,160,227,508,817,819,829,954,955,1771,1773],[93,142,159,160,227,502,526,529,827,851,853,854,944,945,948,949,950,1771,1773],[93,142,159,160,227,508,954,955,1771,1773],[93,142,159,160,227,819,954,955,1055,1057,1058,1059,1060,1771,1773],[93,142,159,160,227,508,518,819,954,955,1771,1773],[93,142,159,160,227,508,817,819,829,830,953,954,955,1771,1773],[93,142,159,160,227,518,808,815,846,954,955,1073,1771,1773],[81,93,142,159,160,227,946,947,1771,1773],[93,142,159,160,227,819,954,955,1076,1077,1078,1771,1773],[81,93,142,159,160,227,829,855,870,954,955,1771,1773],[81,93,142,159,160,227,508,518,829,946,1771,1773],[81,93,142,159,160,227,794,829,844,855,990,1771,1773],[81,93,142,159,160,227,794,829,844,855,1771,1773],[81,93,142,159,160,227,794,829,844,855,992,1771,1773],[93,142,159,160,227,984,1771,1773],[93,142,159,160,227,975,1000,1001,1771,1773],[93,142,159,160,227,997,1771,1773],[81,93,142,159,160,227,794,829,844,855,975,994,1771,1773],[81,93,142,159,160,227,829,846,977,978,979,980,981,982,983,985,986,1771,1773],[93,142,159,160,227,829,846,1771,1773],[93,142,159,160,227,846,1771,1773],[93,142,159,160,227,829,846,975,1771,1773],[93,142,159,160,227,846,984,1771,1773],[93,142,159,160,227,846,1073,1771,1773],[81,93,142,159,160,227,829,846,1771,1773],[93,142,159,160,227,829,975,1771,1773],[81,93,142,159,160,227,829,855,1771,1773],[93,142,159,160,227,830,1771,1773],[93,142,159,160,227,829,972,1771,1773],[81,93,142,159,160,227,518,946,960,1771,1773],[93,142,159,160,227,846,1065,1066,1067,1068,1069,1070,1071,1072,1771,1773],[93,142,159,160,227,508,846,1771,1773],[93,142,159,160,227,508,819,829,846,1771,1773],[93,142,159,160,227,846,988,1771,1773],[93,142,159,160,227,815,829,846,847,1771,1773],[81,93,142,159,160,227,829,844,1771,1773],[81,93,142,159,160,227,829,844,975,988,989,1771,1773],[81,93,142,159,160,227,508,829,844,1771,1773],[81,93,142,159,160,227,1029,1771,1773],[81,93,142,159,160,227,518,1032,1033,1771,1773],[93,142,159,160,227,508,518,829,946,1771,1773],[81,93,142,159,160,227,508,829,946,1771,1773],[81,93,142,159,160,227,829,1029,1771,1773],[81,93,142,159,160,227,1771,1773],[93,142,159,160,227,508,1771,1773],[81,93,142,159,160,227,508,829,851,949,953,1771,1773],[81,93,142,159,160,227,851,855,1771,1773],[93,142,159,160,227,819,829,953,1056,1771,1773],[93,142,159,160,227,508,819,829,953,1012,1771,1773],[81,93,142,159,160,227,819,829,953,1771,1773],[81,93,142,159,160,227,819,829,953,1056,1771,1773],[93,142,159,160,227,508,819,829,1771,1773],[81,93,142,159,160,227,819,829,953,1012,1056,1771,1773],[81,93,142,159,160,227,1082,1771,1773],[81,93,142,159,160,227,829,839,1087,1771,1773],[81,93,142,159,160,227,839,953,1092,1771,1773],[81,93,142,159,160,227,837,839,1771,1773],[93,142,159,160,227,1096,1771,1773],[81,93,142,159,160,227,839,1100,1771,1773],[81,93,142,159,160,227,837,839,952,1771,1773],[81,93,142,159,160,227,829,839,952,1771,1773],[93,142,159,160,227,837,839,952,1105,1771,1773],[81,93,142,159,160,227,829,839,953,1540,1771,1773],[81,93,142,159,160,227,839,1771,1773],[81,93,142,159,160,227,829,839,953,1577,1771,1773],[81,93,142,159,160,227,839,1648,1771,1773],[81,93,142,159,160,227,829,839,1650,1771,1773],[93,142,159,160,227,1086,1771,1773],[81,93,142,159,160,227,829,839,1653,1654,1771,1773],[81,93,142,159,160,227,829,839,1661,1771,1773],[81,93,142,159,160,227,829,839,1091,1771,1773],[81,93,142,159,160,227,839,1663,1771,1773],[81,93,142,159,160,227,829,839,1665,1771,1773],[93,142,159,160,227,837,839,1771,1773],[81,93,142,159,160,227,837,839,1011,1105,1771,1773],[81,93,142,159,160,227,839,952,1010,1011,1701,1771,1773],[81,93,142,159,160,227,839,1703,1771,1773],[93,142,159,160,227,837,839,953,1012,1705,1771,1773],[81,93,142,159,160,227,829,839,1707,1771,1773],[81,93,142,159,160,227,837,839,952,1105,1771,1773],[93,142,159,160,227,839,1771,1773],[81,93,142,159,160,227,839,1010,1771,1773],[81,93,142,159,160,227,829,839,1711,1771,1773],[81,93,142,159,160,227,829,837,839,1714,1771,1773],[81,93,142,159,160,227,829,839,953,1771,1773],[81,93,142,159,160,227,839,1717,1771,1773],[81,93,142,159,160,227,839,1721,1771,1773],[81,93,142,159,160,227,829,839,1723,1771,1773],[81,93,142,159,160,227,829,839,1745,1771,1773],[81,93,142,159,160,227,839,1747,1771,1773],[81,93,142,159,160,227,829,839,1749,1771,1773],[81,93,142,159,160,227,839,1104,1771,1773],[81,93,142,159,160,227,829,837,839,842,952,953,1012,1105,1751,1752,1754,1771,1773],[81,93,142,159,160,227,839,1756,1771,1773],[93,142,159,160,227,1082,1758,1771,1773],[93,142,159,160,227,829,839,1771,1773],[81,93,142,159,160,227,839,1760,1771,1773],[81,93,142,159,160,227,839,1763,1771,1773],[81,93,142,159,160,227,829,834,837,839,1771,1773],[93,142,159,160,227,840,843,1771,1773],[81,93,142,159,160,227,837,839,1767,1768,1771,1773],[81,93,142,159,160,227,837,839,1766,1771,1773],[81,93,142,159,160,227,839,1753,1771,1773],[81,93,142,159,160,227,840,1771,1773],[81,93,142,159,160,227,844,855,1771,1773],[93,142,159,160,227,724,1771,1773],[93,142,159,160,227,844,1771,1773],[93,142,159,160,227,805,806,811,846,1771,1773],[81,93,142,159,160,227,805,811,854,1771,1773],[93,142,159,160,227,539,722,723,1771,1773],[93,142,159,160,227,805,809,811,813,1771,1773],[93,142,159,160,227,805,806,811,844,1771,1773],[93,142,159,160,227,805,814,1771,1773],[93,142,159,160,227,805,1771,1773],[81,93,142,159,160,227,808,847,849,851,852,854,1771,1773],[93,142,159,160,227,805,806,846,1771,1773],[93,142,159,160,227,805,806,807,1771,1773],[93,142,159,160,227,813,1771,1773],[81,93,142,159,160,227,814,1771,1773],[93,142,159,160,227,526,806,807,851,1771,1773],[93,142,159,160,227,723,808,815,816,1771,1773],[93,142,159,160,227,526,539,722,814,1771,1773],[93,142,159,160,227,835,838,1771,1773],[93,142,159,160,227,808,869,1771,1773],[93,142,159,160,529,530,531,1771,1773],[93,142,159,160,1107,1771,1773],[93,142,159,160,1108,1771,1773],[93,142,159,160,1107,1108,1109,1110,1111,1112,1113,1771,1773],[93,142,159,160,799,800,802,889,890,894,898,899,1771,1773],[93,142,159,160,799,802,890,894,898,899,1771,1773],[93,142,159,160,799,800,889,890,894,898,899,1771,1773],[93,142,159,160,800,803,1771,1773],[93,142,159,160,795,796,797,798,1771,1773],[93,142,159,160,797,1771,1773],[93,142,159,160,795,797,798,1771,1773],[93,142,159,160,796,797,798,1771,1773],[93,142,159,160,796,1771,1773],[93,142,159,160,888,890,891,892,895,896,900,1771,1773],[93,142,159,160,799,800,889,894,898,899,1771,1773],[93,142,159,160,804,888,889,892,894,895,896,900,1771,1773],[93,142,159,160,888,892,894,896,900,1771,1773],[93,142,159,160,799,800,889,890,898,899,1771,1773],[93,142,159,160,800,802,803,1771,1773],[93,142,159,160,801,1771,1773],[93,142,159,160,902,903,904,1771,1773],[93,142,159,160,902,1771,1773],[93,142,159,160,800,887,893,897,901,1771,1773],[93,142,159,160,812,888,892,895,896,898,899,900,1771,1773],[93,142,159,160,799,800,889,890,894,898,1771,1773],[93,142,159,160,715,717,719,1771,1773],[93,142,159,160,552,557,637,1771,1773],[93,142,159,160,174,713,718,1771,1773],[93,142,159,160,174,713,716,1771,1773],[93,142,159,160,174,713,714,1771,1773],[93,142,159,160,192,552,553,556,557,636,637,1771,1773],[81,93,142,159,160,831,832,1086,1771,1773],[81,93,142,159,160,831,1091,1771,1773],[81,93,142,159,160,832,1771,1773],[81,93,142,159,160,1009,1771,1773],[81,93,142,159,160,1771,1773],[81,93,142,159,160,1009,1098,1771,1773],[81,93,142,159,160,227,831,832,1771,1773],[81,93,142,159,160,831,832,1771,1773],[81,93,142,159,160,831,832,1660,1771,1773],[81,93,142,159,160,831,832,833,1089,1090,1771,1773],[81,93,142,159,160,831,832,833,1090,1658,1771,1773],[81,93,142,159,160,831,832,833,1089,1090,1658,1659,1771,1773],[81,93,142,159,160,227,831,832,1659,1660,1771,1773],[81,93,142,159,160,831,832,833,1713,1771,1773],[81,93,142,159,160,831,832,833,1089,1090,1658,1771,1773],[81,93,142,159,160,831,832,1656,1657,1771,1773],[81,93,142,159,160,831,832,1659,1771,1773],[81,85,93,142,159,160,193,194,195,196,197,479,524,1771,1773],[81,93,142,159,160,831,832,833,1771,1773],[81,93,142,159,160,831,832,1659,1766,1771,1773],[93,142,159,160,1771,1773,1778],[93,142,159,160,1581,1771,1773],[93,142,159,160,1599,1771,1773],[93,142,147,159,160,192,1771,1773,1785],[93,139,140,142,159,160,1771,1773],[93,141,142,159,160,1771,1773],[142,159,160,1771,1773],[93,142,147,159,160,177,1771,1773],[93,142,143,148,153,159,160,162,174,185,1771,1773],[93,142,143,144,153,159,160,162,1771,1773],[88,89,90,93,142,159,160,1771,1773],[93,142,145,159,160,186,1771,1773],[93,142,146,147,154,159,160,163,1771,1773],[93,142,147,159,160,174,182,1771,1773],[93,142,148,150,153,159,160,162,1771,1773],[93,141,142,149,159,160,1771,1773],[93,142,150,151,159,160,1771,1773],[93,142,152,153,159,160,1771,1773],[93,141,142,153,159,160,1771,1773],[93,142,153,154,155,159,160,174,185,1771,1773],[93,142,153,154,155,159,160,169,174,177,1771,1773],[93,135,142,150,153,156,159,160,162,174,185,1771,1773],[93,142,153,154,156,157,159,160,162,174,182,185,1771,1773],[93,142,156,158,159,160,174,182,185,1771,1773],[91,92,93,94,95,96,97,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,1771,1773],[93,142,153,159,160,1771,1773],[93,142,159,160,161,185,1771,1773],[93,142,150,153,159,160,162,174,1771,1773],[93,142,159,160,163,1771,1773],[93,142,159,160,164,1771,1773],[93,141,142,159,160,165,1771,1773],[93,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,1771,1773],[93,142,159,160,167,1771,1773],[93,142,159,160,168,1771,1773],[93,142,153,159,160,169,170,1771,1773],[93,142,159,160,169,171,186,188,1771,1773],[93,142,154,159,160,1771,1773],[93,142,153,159,160,174,175,177,1771,1773],[93,142,159,160,176,177,1771,1773],[93,142,159,160,174,175,1771,1773],[93,142,159,160,177,1771,1773],[93,142,159,160,178,1771,1773],[93,139,142,159,160,174,179,185,1771,1773],[93,142,153,159,160,180,181,1771,1773],[93,142,159,160,180,181,1771,1773],[93,142,147,159,160,162,174,182,1771,1773],[93,142,159,160,183,1771,1773],[93,142,159,160,162,184,1771,1773],[93,142,156,159,160,168,185,1771,1773],[93,142,147,159,160,186,1771,1773],[93,142,159,160,174,187,1771,1773],[93,142,159,160,161,188,1771,1773],[93,142,159,160,189,1771,1773],[93,135,142,159,160,1771,1773],[93,135,142,153,155,159,160,165,174,177,185,187,188,190,1771,1773],[93,142,159,160,174,191,1771,1773],[81,85,93,142,159,160,193,194,195,197,479,524,952,1771,1773],[81,85,93,142,159,160,193,194,195,196,460,479,524,952,1771,1773],[81,85,93,142,159,160,193,194,196,197,479,524,952,1771,1773],[81,93,142,159,160,197,460,461,1771,1773],[81,93,142,159,160,197,460,1771,1773],[81,85,93,142,159,160,194,195,196,197,479,524,952,1771,1773],[81,85,93,142,159,160,193,195,196,197,479,524,952,1771,1773],[79,80,93,142,159,160,1771,1773],[93,142,154,156,158,159,160,162,174,185,192,1771,1773,1776,1789,1790],[93,142,159,160,1018,1771,1773],[93,142,159,160,763,764,767,1771,1773],[93,142,159,160,910,1771,1773],[93,142,159,160,913,1771,1773],[93,142,159,160,764,765,767,768,769,1771,1773],[93,142,159,160,764,1771,1773],[93,142,159,160,764,765,767,1771,1773],[93,142,159,160,764,765,1771,1773],[93,142,159,160,772,1771,1773],[93,142,159,160,759,772,773,1771,1773],[93,142,159,160,759,772,1771,1773],[93,142,159,160,759,766,1771,1773],[93,142,159,160,760,1771,1773],[93,142,159,160,759,760,761,763,1771,1773],[93,142,159,160,759,1771,1773],[93,142,159,160,698,1771,1773],[93,142,159,160,835,836,1771,1773],[93,142,159,160,835,1771,1773],[81,93,142,159,160,1091,1771,1773],[93,142,159,160,1118,1771,1773],[93,142,159,160,1116,1118,1771,1773],[93,142,159,160,1116,1771,1773],[93,142,159,160,1118,1182,1183,1771,1773],[93,142,159,160,1118,1185,1771,1773],[93,142,159,160,1118,1186,1771,1773],[93,142,159,160,1203,1771,1773],[93,142,159,160,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1181,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,1201,1202,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273,1274,1275,1276,1277,1278,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289,1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,1304,1305,1306,1307,1308,1309,1310,1311,1312,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,1323,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,1356,1357,1358,1359,1360,1361,1362,1363,1364,1365,1366,1367,1368,1369,1370,1371,1771,1773],[93,142,159,160,1118,1279,1771,1773],[93,142,159,160,1116,1373,1374,1375,1376,1377,1378,1379,1380,1381,1382,1383,1384,1385,1386,1387,1388,1389,1390,1391,1392,1393,1394,1395,1396,1397,1398,1399,1400,1401,1402,1403,1404,1405,1406,1407,1408,1409,1410,1411,1412,1413,1414,1415,1416,1417,1418,1419,1420,1421,1422,1423,1424,1425,1426,1427,1428,1429,1430,1431,1432,1433,1434,1435,1436,1437,1438,1439,1440,1441,1442,1443,1444,1445,1446,1447,1448,1449,1450,1451,1452,1453,1454,1455,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467,1771,1773],[93,142,159,160,1118,1183,1303,1771,1773],[93,142,159,160,1116,1300,1301,1771,1773],[93,142,159,160,1302,1771,1773],[93,142,159,160,1118,1300,1771,1773],[93,142,159,160,1115,1116,1117,1771,1773],[93,142,159,160,1575,1771,1773],[93,142,159,160,1576,1771,1773],[93,142,159,160,1549,1569,1771,1773],[93,142,159,160,1543,1771,1773],[93,142,159,160,1544,1548,1549,1550,1551,1552,1554,1556,1557,1562,1563,1572,1771,1773],[93,142,159,160,1544,1549,1771,1773],[93,142,159,160,1552,1569,1571,1574,1771,1773],[93,142,159,160,1543,1544,1545,1546,1549,1550,1551,1552,1553,1554,1555,1556,1557,1558,1559,1560,1561,1562,1563,1564,1565,1566,1567,1568,1573,1574,1771,1773],[93,142,159,160,1572,1771,1773],[93,142,159,160,1542,1544,1545,1547,1555,1564,1567,1568,1573,1771,1773],[93,142,159,160,1549,1574,1771,1773],[93,142,159,160,1570,1572,1574,1771,1773],[93,142,159,160,1543,1544,1549,1552,1572,1771,1773],[93,142,159,160,1556,1771,1773],[93,142,159,160,1546,1554,1556,1557,1771,1773],[93,142,159,160,1546,1771,1773],[93,142,159,160,1546,1556,1771,1773],[93,142,159,160,1550,1551,1552,1556,1557,1562,1771,1773],[93,142,159,160,1552,1553,1557,1561,1563,1572,1771,1773],[93,142,159,160,1544,1556,1565,1771,1773],[93,142,159,160,1545,1546,1547,1771,1773],[93,142,159,160,1552,1572,1771,1773],[93,142,159,160,1552,1771,1773],[93,142,159,160,1543,1544,1771,1773],[93,142,159,160,1544,1771,1773],[93,142,159,160,1548,1771,1773],[93,142,159,160,1552,1557,1569,1570,1571,1572,1574,1771,1773],[93,142,159,160,917,918,1771,1773],[93,142,159,160,917,918,919,920,1771,1773],[93,142,159,160,917,919,1771,1773],[93,142,159,160,917,1771,1773],[93,142,156,159,160,533,1771,1773],[93,142,159,160,533,534,535,536,538,1771,1773],[93,142,159,160,534,1771,1773],[93,142,159,160,539,877,879,881,1771,1773],[93,142,159,160,539,871,872,873,874,875,876,1771,1773],[93,142,159,160,538,539,871,872,873,874,875,876,877,878,879,880,881,882,1771,1773],[93,142,159,160,880,1771,1773],[93,142,159,160,872,1771,1773],[93,142,159,160,871,877,878,1771,1773],[93,142,159,160,539,872,1771,1773],[93,142,159,160,539,720,1771,1773],[93,142,159,160,538,539,720,721,1771,1773],[93,142,159,160,539,1771,1773],[93,142,159,160,537,539,1771,1773],[93,142,159,160,803,1771,1773],[93,142,159,160,810,1771,1773],[93,142,159,160,892,1771,1773],[93,142,159,160,896,1771,1773],[93,142,159,160,900,1771,1773],[93,142,159,160,804,896,1771,1773],[93,142,159,160,812,900,1771,1773],[93,142,156,159,160,174,192,1771,1773],[93,142,156,159,160,174,185,1771,1773],[93,142,156,159,160,185,638,639,1771,1773],[93,142,159,160,638,639,640,1771,1773],[93,142,159,160,638,1771,1773],[93,142,159,160,552,556,557,637,1771,1773],[93,142,159,160,676,677,678,685,707,710,1771,1773],[93,142,159,160,174,676,677,706,710,1771,1773],[93,142,159,160,676,677,679,707,709,710,1771,1773],[93,142,159,160,682,683,685,710,1771,1773],[93,142,159,160,684,707,708,1771,1773],[93,142,159,160,707,1771,1773],[93,142,159,160,670,685,686,706,710,711,1771,1773],[93,142,159,160,685,707,710,1771,1773],[93,142,159,160,679,680,681,684,705,710,1771,1773],[93,142,156,159,160,552,557,637,670,676,678,685,686,688,689,690,691,692,693,694,695,696,697,701,703,706,707,710,711,1771,1773],[93,142,159,160,700,702,1771,1773],[93,142,159,160,552,557,637,676,707,709,1771,1773],[93,142,159,160,552,557,637,671,675,711,1771,1773],[93,142,156,159,160,552,557,597,635,637,670,689,710,1771,1773],[93,142,159,160,662,670,687,690,702,710,711,1771,1773],[93,142,159,160,552,557,635,637,670,671,675,676,677,678,685,686,687,688,690,691,692,693,694,695,696,697,702,703,706,707,710,711,712,1771,1773],[93,142,159,160,670,687,691,702,710,711,1771,1773],[93,142,153,159,160,676,677,686,705,707,710,711,1771,1773],[93,142,159,160,676,677,679,705,707,710,1771,1773],[93,142,159,160,552,557,637,685,703,704,1771,1773],[93,142,159,160,676,677,679,707,1771,1773],[93,142,159,160,174,662,670,677,685,686,687,702,707,710,711,1771,1773],[93,142,159,160,174,679,685,707,710,1771,1773],[93,142,159,160,174,699,1771,1773],[93,142,159,160,678,679,685,1771,1773],[93,142,159,160,174,676,707,710,1771,1773],[93,142,159,160,613,614,1771,1773],[93,142,159,160,182,1771,1773],[93,142,159,160,541,1771,1773],[93,142,159,160,540,541,542,543,544,617,1771,1773],[93,142,153,159,160,174,540,541,596,615,616,618,1771,1773],[93,142,159,160,162,182,542,545,547,548,1771,1773],[93,142,159,160,546,1771,1773],[93,142,159,160,544,547,549,550,594,617,618,1771,1773],[93,142,159,160,550,551,562,563,593,1771,1773],[93,142,159,160,540,541,543,595,597,614,618,1771,1773],[93,142,159,160,541,542,544,547,549,595,596,614,617,619,1771,1773],[93,142,159,160,545,548,549,563,598,606,607,609,610,618,621,622,623,624,625,626,627,628,629,633,1771,1773],[93,142,159,160,541,618,623,1771,1773],[93,142,159,160,541,618,1771,1773],[93,142,159,160,557,1771,1773],[93,142,159,160,581,1771,1773],[93,142,159,160,559,560,566,567,1771,1773],[93,142,159,160,557,558,562,565,1771,1773],[93,142,159,160,557,558,561,1771,1773],[93,142,159,160,558,559,560,1771,1773],[93,142,159,160,557,564,569,570,574,575,576,577,578,579,587,588,590,591,592,635,1771,1773],[93,142,159,160,568,1771,1773],[93,142,159,160,573,1771,1773],[93,142,159,160,567,1771,1773],[93,142,159,160,586,1771,1773],[93,142,159,160,589,1771,1773],[93,142,159,160,567,571,572,1771,1773],[93,142,159,160,557,558,562,1771,1773],[93,142,159,160,567,583,584,585,1771,1773],[93,142,159,160,557,558,580,582,1771,1773],[93,142,159,160,557,601,603,635,1771,1773],[93,142,159,160,602,1771,1773],[93,142,159,160,541,542,543,544,546,547,549,550,594,595,596,597,598,608,611,612,613,614,617,618,619,620,621,634,1771,1773],[93,142,159,160,541,542,544,547,549,550,594,606,610,617,618,624,630,631,632,1771,1773],[93,142,159,160,547,563,609,618,1771,1773],[93,142,159,160,547,563,607,608,609,618,634,1771,1773],[93,142,159,160,547,550,563,609,610,618,1771,1773],[93,142,159,160,547,550,563,594,606,608,610,618,1771,1773],[93,142,159,160,540,541,542,543,544,618,624,633,1771,1773],[93,142,159,160,543,1771,1773],[93,142,159,160,547,549,597,613,1771,1773],[93,142,157,159,160,1771,1773],[93,142,159,160,174,615,1771,1773],[93,142,159,160,595,601,604,606,610,613,1771,1773],[93,142,159,160,541,543,606,609,618,1771,1773],[93,142,159,160,541,543,547,548,563,608,618,623,1771,1773],[93,142,159,160,540,541,542,543,618,628,633,1771,1773],[93,142,153,159,160,174,540,541,544,611,612,614,616,618,1771,1773],[93,142,157,159,160,182,545,635,1771,1773],[93,142,157,159,160,540,541,544,547,600,611,614,617,618,1771,1773],[93,142,159,160,174,547,563,594,598,612,614,617,1771,1773],[93,142,159,160,543,607,1771,1773],[93,142,159,160,541,543,618,1771,1773],[93,142,157,159,160,540,543,600,618,1771,1773],[93,142,159,160,542,550,594,595,605,1771,1773],[93,142,159,160,541,542,547,548,549,550,563,594,595,599,600,606,1771,1773],[93,142,157,159,160,540,541,547,548,549,563,594,599,618,1771,1773],[93,142,159,160,192,552,553,554,556,557,637,1771,1773],[93,142,156,159,160,663,1771,1773],[93,142,153,159,160,641,642,643,645,648,1771,1773],[93,142,159,160,645,646,655,657,1771,1773],[93,142,159,160,641,1771,1773],[93,142,159,160,641,642,643,645,646,648,1771,1773],[93,142,159,160,641,648,1771,1773],[93,142,159,160,641,642,643,646,648,1771,1773],[93,142,159,160,641,642,643,646,648,655,1771,1773],[93,142,159,160,646,655,656,658,659,1771,1773],[93,142,159,160,174,641,642,643,646,648,649,650,652,653,654,655,660,661,670,1771,1773],[93,142,159,160,645,646,655,1771,1773],[93,142,159,160,648,1771,1773],[93,142,159,160,646,648,649,662,1771,1773],[93,142,159,160,174,643,648,1771,1773],[93,142,159,160,174,643,648,649,651,1771,1773],[93,142,159,160,168,641,642,643,644,646,647,1771,1773],[93,142,159,160,641,646,648,1771,1773],[93,142,159,160,646,655,1771,1773],[93,142,159,160,641,642,643,646,647,648,649,650,652,653,654,655,656,657,658,659,660,662,664,665,666,667,668,669,670,1771,1773],[93,142,159,160,1019,1771,1773],[93,142,159,160,555,1771,1773],[93,142,159,160,482,1771,1773],[93,142,159,160,484,485,486,487,1771,1773],[93,142,159,160,430,493,494,1771,1773],[93,142,159,160,202,203,205,217,241,356,367,475,1771,1773],[93,142,159,160,205,236,237,238,240,475,1771,1773],[93,142,159,160,205,373,375,377,378,380,475,477,1771,1773],[93,142,159,160,205,239,276,475,1771,1773],[93,142,159,160,203,205,216,217,223,229,234,355,356,357,366,475,477,1771,1773],[93,142,159,160,475,1771,1773],[93,142,159,160,212,218,237,257,352,1771,1773],[93,142,159,160,205,1771,1773],[93,142,159,160,198,212,218,1771,1773],[93,142,159,160,384,1771,1773],[93,142,159,160,381,382,384,1771,1773],[93,142,159,160,381,383,475,1771,1773],[93,142,156,159,160,257,454,472,1771,1773],[93,142,156,159,160,328,331,347,352,472,1771,1773],[93,142,156,159,160,300,472,1771,1773],[93,142,159,160,360,1771,1773],[93,142,159,160,359,360,361,1771,1773],[93,142,159,160,359,1771,1773],[87,93,142,156,159,160,198,205,217,223,229,235,237,241,242,255,256,323,353,354,367,475,479,1771,1773],[93,142,159,160,202,205,239,276,373,374,379,475,527,1771,1773],[93,142,159,160,239,527,1771,1773],[93,142,159,160,202,256,425,475,527,1771,1773],[93,142,159,160,527,1771,1773],[93,142,159,160,205,239,240,527,1771,1773],[93,142,159,160,376,527,1771,1773],[93,142,159,160,242,355,358,365,1771,1773],[81,93,142,159,160,430,1771,1773],[93,142,159,160,168,212,227,1771,1773],[93,142,159,160,212,227,1771,1773],[81,93,142,159,160,297,1771,1773],[81,93,142,159,160,218,227,430,1771,1773],[93,142,159,160,212,283,297,298,509,516,1771,1773],[93,142,159,160,282,510,511,512,513,515,1771,1773],[93,142,159,160,333,1771,1773],[93,142,159,160,333,334,1771,1773],[93,142,159,160,216,218,285,286,1771,1773],[93,142,159,160,218,292,293,1771,1773],[93,142,159,160,218,287,295,1771,1773],[93,142,159,160,292,1771,1773],[93,142,159,160,210,218,285,286,287,288,289,290,291,292,295,1771,1773],[93,142,159,160,218,285,292,293,294,296,1771,1773],[93,142,159,160,218,286,288,289,1771,1773],[93,142,159,160,286,288,291,293,1771,1773],[93,142,159,160,514,1771,1773],[93,142,159,160,218,1771,1773],[81,93,142,159,160,206,503,1771,1773],[81,93,142,159,160,185,1771,1773],[81,93,142,159,160,239,274,1771,1773],[81,93,142,159,160,239,367,1771,1773],[93,142,159,160,272,277,1771,1773],[81,93,142,159,160,273,481,1771,1773],[93,142,159,160,942,1771,1773],[81,85,93,142,156,159,160,193,194,195,196,197,479,523,952,1771,1773],[93,142,156,159,160,218,1771,1773],[93,142,156,159,160,217,222,303,320,362,363,367,422,424,475,476,1771,1773],[93,142,159,160,255,364,1771,1773],[93,142,159,160,479,1771,1773],[93,142,159,160,204,1771,1773],[81,93,142,159,160,209,212,427,443,445,1771,1773],[93,142,159,160,168,212,427,442,443,444,526,1771,1773],[93,142,159,160,436,437,438,439,440,441,1771,1773],[93,142,159,160,438,1771,1773],[93,142,159,160,442,1771,1773],[93,142,159,160,227,391,392,394,1771,1773],[81,93,142,159,160,218,385,386,387,388,393,1771,1773],[93,142,159,160,391,393,1771,1773],[93,142,159,160,389,1771,1773],[93,142,159,160,390,1771,1773],[81,93,142,159,160,227,273,481,1771,1773],[81,93,142,159,160,227,480,481,1771,1773],[81,93,142,159,160,227,481,1771,1773],[93,142,159,160,320,321,1771,1773],[93,142,159,160,321,1771,1773],[93,142,156,159,160,476,481,1771,1773],[93,142,159,160,350,1771,1773],[93,141,142,159,160,349,1771,1773],[93,142,159,160,212,218,224,226,328,341,345,347,424,427,464,465,472,476,1771,1773],[93,142,159,160,218,267,289,1771,1773],[93,142,159,160,328,339,342,347,1771,1773],[81,93,142,159,160,209,212,328,331,347,350,384,431,432,433,434,435,446,447,448,449,450,451,452,453,527,1771,1773],[93,142,159,160,209,212,237,328,335,336,337,340,341,1771,1773],[93,142,159,160,174,218,237,339,346,427,428,472,1771,1773],[93,142,159,160,343,1771,1773],[93,142,156,159,160,168,206,218,222,232,264,265,268,320,323,388,422,423,464,475,476,477,479,527,1771,1773],[93,142,159,160,209,210,212,1771,1773],[93,142,159,160,328,1771,1773],[93,141,142,159,160,237,264,265,322,323,324,325,326,327,476,1771,1773],[93,142,159,160,347,1771,1773],[93,141,142,159,160,211,212,222,226,262,328,335,336,337,338,339,342,343,344,345,346,465,1771,1773],[93,142,156,159,160,262,263,335,476,477,1771,1773],[93,142,159,160,237,265,320,323,328,424,476,1771,1773],[93,142,156,159,160,475,477,1771,1773],[93,142,156,159,160,174,472,476,477,1771,1773],[93,142,156,159,160,168,198,212,217,224,226,229,232,239,259,264,265,266,267,268,303,304,306,309,311,314,315,316,317,319,367,422,424,472,475,476,477,1771,1773],[93,142,156,159,160,174,1771,1773],[93,142,159,160,205,206,207,235,472,473,474,479,481,527,1771,1773],[93,142,159,160,202,203,475,1771,1773],[93,142,159,160,396,1771,1773],[93,142,156,159,160,174,185,214,380,384,385,386,387,388,394,395,527,1771,1773],[93,142,159,160,168,185,198,212,214,226,229,265,304,309,319,320,373,400,401,402,408,411,412,422,424,472,475,1771,1773],[93,142,159,160,229,235,242,255,265,323,475,1771,1773],[93,142,156,159,160,185,206,217,226,265,406,472,475,1771,1773],[93,142,159,160,426,1771,1773],[93,142,156,159,160,396,409,410,419,1771,1773],[93,142,159,160,472,475,1771,1773],[93,142,159,160,325,465,1771,1773],[93,142,159,160,226,264,367,481,1771,1773],[93,142,156,159,160,168,204,309,369,373,402,408,411,414,472,1771,1773],[93,142,156,159,160,242,255,373,415,1771,1773],[93,142,159,160,205,266,367,417,475,477,1771,1773],[93,142,156,159,160,185,388,475,1771,1773],[93,142,156,159,160,239,266,367,368,369,378,396,416,418,475,1771,1773],[87,93,142,156,159,160,264,421,479,481,1771,1773],[93,142,159,160,318,422,1771,1773],[93,142,156,159,160,168,212,215,217,218,224,226,232,241,242,255,265,268,304,306,316,319,320,367,400,401,402,403,405,407,422,424,472,481,1771,1773],[93,142,156,159,160,174,242,408,413,419,472,1771,1773],[93,142,159,160,245,246,247,248,249,250,251,252,253,254,1771,1773],[93,142,159,160,259,310,1771,1773],[93,142,159,160,312,1771,1773],[93,142,159,160,310,1771,1773],[93,142,159,160,312,313,1771,1773],[93,142,156,159,160,216,217,218,222,223,476,1771,1773],[93,142,156,159,160,168,204,206,224,228,264,267,268,302,422,472,477,479,481,1771,1773],[93,142,156,159,160,168,185,208,215,216,226,228,265,420,465,471,476,1771,1773],[93,142,159,160,335,1771,1773],[93,142,159,160,336,1771,1773],[93,142,159,160,218,229,464,1771,1773],[93,142,159,160,337,1771,1773],[93,142,159,160,211,1771,1773],[93,142,159,160,213,225,1771,1773],[93,142,156,159,160,213,217,224,1771,1773],[93,142,159,160,220,225,1771,1773],[93,142,159,160,221,1771,1773],[93,142,159,160,213,214,1771,1773],[93,142,159,160,213,269,1771,1773],[93,142,159,160,213,1771,1773],[93,142,159,160,215,259,308,1771,1773],[93,142,159,160,307,1771,1773],[93,142,159,160,212,214,215,1771,1773],[93,142,159,160,215,305,1771,1773],[93,142,159,160,212,214,1771,1773],[93,142,159,160,264,367,1771,1773],[93,142,159,160,464,1771,1773],[93,142,156,159,160,185,224,226,230,264,367,421,424,427,428,429,455,456,459,463,465,472,476,1771,1773],[93,142,159,160,278,281,283,284,297,298,1771,1773],[81,93,142,159,160,195,197,227,457,458,1771,1773],[81,93,142,159,160,195,197,227,457,458,462,1771,1773],[93,142,159,160,351,1771,1773],[93,142,159,160,237,258,263,264,328,329,330,331,332,334,347,348,350,353,421,424,475,477,1771,1773],[93,142,159,160,297,1771,1773],[93,142,156,159,160,302,472,1771,1773],[93,142,159,160,302,1771,1773],[93,142,156,159,160,224,270,299,301,303,421,472,479,481,1771,1773],[93,142,159,160,278,279,280,281,283,284,297,298,480,1771,1773],[87,93,142,156,159,160,168,185,213,214,226,232,264,265,268,367,419,420,422,472,475,476,479,1771,1773],[93,142,159,160,209,212,219,1771,1773],[93,142,159,160,263,265,397,400,1771,1773],[93,142,159,160,263,398,466,467,468,469,470,1771,1773],[93,142,156,159,160,259,475,1771,1773],[93,142,156,159,160,1771,1773],[93,142,159,160,262,347,1771,1773],[93,142,159,160,261,1771,1773],[93,142,159,160,263,316,1771,1773],[93,142,159,160,260,262,475,1771,1773],[93,142,156,159,160,208,263,397,398,399,472,475,476,1771,1773],[81,93,142,159,160,212,218,296,1771,1773],[81,93,142,159,160,210,1771,1773],[93,142,159,160,200,201,1771,1773],[81,93,142,159,160,206,1771,1773],[81,93,142,159,160,212,282,1771,1773],[81,87,93,142,159,160,264,268,479,481,1771,1773],[93,142,159,160,206,503,504,1771,1773],[81,93,142,159,160,277,1771,1773],[81,93,142,159,160,168,185,204,271,273,275,276,481,1771,1773],[93,142,159,160,212,239,476,1771,1773],[93,142,159,160,212,404,1771,1773],[81,93,142,154,156,159,160,168,202,204,277,375,479,480,1771,1773],[81,93,142,159,160,193,194,195,196,197,479,524,952,1771,1773],[81,82,83,84,85,93,142,159,160,1771,1773],[93,142,147,159,160,1771,1773],[93,142,159,160,370,371,372,1771,1773],[93,142,159,160,370,1771,1773],[81,85,93,142,156,158,159,160,168,192,193,194,195,196,197,198,204,232,237,414,442,477,478,481,524,952,1771,1773],[93,142,159,160,489,1771,1773],[93,142,159,160,491,1771,1773],[93,142,159,160,495,1771,1773],[93,142,159,160,943,1771,1773],[93,142,159,160,497,1771,1773],[93,142,159,160,499,500,501,1771,1773],[93,142,159,160,505,1771,1773],[86,93,142,159,160,483,488,490,492,496,498,502,506,508,518,519,521,525,526,527,528,1771,1773],[93,142,159,160,507,1771,1773],[93,142,159,160,517,1771,1773],[93,142,159,160,273,1771,1773],[93,142,159,160,520,1771,1773],[93,141,142,159,160,263,397,398,400,466,467,469,470,522,524,1771,1773],[93,142,159,160,192,1771,1773],[93,142,159,160,750,1771,1773],[93,142,159,160,748,750,1771,1773],[93,142,159,160,739,747,748,749,751,753,1771,1773],[93,142,159,160,737,1771,1773],[93,142,159,160,740,745,750,753,1771,1773],[93,142,159,160,736,753,1771,1773],[93,142,159,160,740,741,744,745,746,753,1771,1773],[93,142,159,160,740,741,742,744,745,753,1771,1773],[93,142,159,160,737,738,739,740,741,745,746,747,749,750,751,753,1771,1773],[93,142,159,160,753,1771,1773],[93,142,159,160,735,737,738,739,740,741,742,744,745,746,747,748,749,750,751,752,1771,1773],[93,142,159,160,735,753,1771,1773],[93,142,159,160,740,742,743,745,746,753,1771,1773],[93,142,159,160,744,753,1771,1773],[93,142,159,160,745,746,750,753,1771,1773],[93,142,159,160,738,748,1771,1773],[93,142,159,160,552,557,637,672,1771,1773],[93,142,159,160,672,673,674,1771,1773],[93,142,159,160,1526,1771,1773],[93,142,159,160,1487,1771,1773],[93,142,159,160,1527,1771,1773],[93,142,159,160,1372,1468,1524,1525,1771,1773],[93,142,159,160,1487,1488,1526,1527,1771,1773],[93,142,159,160,1469,1470,1471,1472,1473,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,1771,1773],[81,93,142,159,160,1493,1528,1771,1773],[81,93,142,159,160,1493,1771,1773],[81,93,142,159,160,1488,1771,1773],[81,93,142,159,160,1528,1771,1773],[81,93,142,159,160,1496,1771,1773],[93,142,159,160,1516,1517,1518,1519,1520,1521,1522,1771,1773],[93,142,159,160,1493,1771,1773],[93,142,159,160,1530,1771,1773],[93,142,159,160,1114,1485,1486,1491,1493,1515,1523,1528,1529,1531,1539,1771,1773],[93,142,159,160,1474,1475,1476,1477,1478,1479,1480,1481,1482,1483,1484,1771,1773],[93,142,159,160,1493,1526,1771,1773],[93,142,159,160,1472,1473,1485,1486,1489,1491,1524,1771,1773],[93,142,159,160,1489,1490,1492,1524,1771,1773],[81,93,142,159,160,1486,1524,1526,1771,1773],[93,142,159,160,1489,1524,1771,1773],[81,93,142,159,160,1485,1486,1515,1523,1771,1773],[81,93,142,159,160,1488,1489,1490,1524,1527,1771,1773],[93,142,159,160,1532,1533,1534,1535,1536,1537,1538,1771,1773],[81,93,142,159,160,1684,1771,1773],[93,142,159,160,1684,1685,1686,1687,1690,1691,1692,1693,1694,1695,1696,1699,1700,1771,1773],[93,142,159,160,1684,1771,1773],[93,142,159,160,1688,1689,1771,1773],[81,93,142,159,160,1681,1684,1771,1773],[93,142,159,160,1678,1679,1681,1771,1773],[93,142,159,160,1674,1677,1679,1681,1771,1773],[93,142,159,160,1678,1681,1771,1773],[81,93,142,159,160,1669,1670,1671,1674,1675,1676,1678,1679,1680,1681,1771,1773],[93,142,159,160,1671,1674,1675,1676,1677,1678,1679,1680,1681,1682,1683,1771,1773],[93,142,159,160,1678,1771,1773],[93,142,159,160,1672,1678,1679,1771,1773],[93,142,159,160,1672,1673,1771,1773],[93,142,159,160,1677,1679,1680,1771,1773],[93,142,159,160,1677,1771,1773],[93,142,159,160,1669,1674,1677,1679,1680,1771,1773],[81,93,142,159,160,1674,1677,1678,1679,1771,1773],[93,142,159,160,1697,1698,1771,1773],[93,142,159,160,1725,1727,1728,1729,1730,1731,1732,1733,1734,1735,1736,1737,1738,1739,1740,1742,1743,1771,1773],[81,93,142,159,160,1726,1771,1773],[81,93,142,159,160,1728,1771,1773],[93,142,159,160,1726,1771,1773],[93,142,159,160,1725,1771,1773],[93,142,159,160,1741,1771,1773],[93,142,159,160,1744,1771,1773],[81,93,142,159,160,1584,1585,1586,1602,1605,1771,1773],[81,93,142,159,160,1584,1585,1586,1595,1603,1623,1771,1773],[81,93,142,159,160,1583,1586,1771,1773],[81,93,142,159,160,1586,1771,1773],[81,93,142,159,160,1584,1585,1586,1771,1773],[81,93,142,159,160,1584,1585,1586,1621,1624,1627,1771,1773],[81,93,142,159,160,1584,1585,1586,1595,1602,1605,1771,1773],[81,93,142,159,160,1584,1585,1586,1595,1603,1615,1771,1773],[81,93,142,159,160,1584,1585,1586,1595,1605,1615,1771,1773],[81,93,142,159,160,1584,1585,1586,1595,1615,1771,1773],[81,93,142,159,160,1584,1585,1586,1590,1596,1602,1607,1625,1626,1771,1773],[93,142,159,160,1586,1771,1773],[81,93,142,159,160,1586,1630,1631,1632,1771,1773],[81,93,142,159,160,1586,1629,1630,1631,1771,1773],[81,93,142,159,160,1586,1603,1771,1773],[81,93,142,159,160,1586,1629,1771,1773],[81,93,142,159,160,1586,1595,1771,1773],[81,93,142,159,160,1586,1587,1588,1771,1773],[81,93,142,159,160,1586,1588,1590,1771,1773],[93,142,159,160,1579,1580,1584,1585,1586,1587,1589,1590,1591,1592,1593,1594,1595,1596,1597,1598,1602,1603,1604,1605,1606,1607,1608,1609,1610,1611,1612,1613,1614,1616,1617,1618,1619,1620,1621,1622,1624,1625,1626,1627,1633,1634,1635,1636,1637,1638,1639,1640,1641,1642,1643,1644,1645,1646,1647,1771,1773],[81,93,142,159,160,1586,1644,1771,1773],[81,93,142,159,160,1586,1598,1771,1773],[81,93,142,159,160,1586,1605,1609,1610,1771,1773],[81,93,142,159,160,1586,1596,1598,1771,1773],[81,93,142,159,160,1586,1601,1771,1773],[81,93,142,159,160,1586,1624,1771,1773],[81,93,142,159,160,1586,1601,1628,1771,1773],[81,93,142,159,160,1589,1629,1771,1773],[81,93,142,159,160,1583,1584,1585,1771,1773],[93,142,159,160,728,757,1771,1773],[93,142,159,160,727,728,1771,1773],[93,142,159,160,174,192,1771,1773],[93,142,159,160,762,1771,1773],[93,107,111,142,159,160,185,1771,1773],[93,107,142,159,160,174,185,1771,1773],[93,102,142,159,160,1771,1773],[93,104,107,142,159,160,182,185,1771,1773],[93,142,159,160,162,182,1771,1773],[93,102,142,159,160,192,1771,1773],[93,104,107,142,159,160,162,185,1771,1773],[93,99,100,103,106,142,153,159,160,174,185,1771,1773],[93,107,114,142,159,160,1771,1773],[93,99,105,142,159,160,1771,1773],[93,107,128,129,142,159,160,1771,1773],[93,103,107,142,159,160,177,185,192,1771,1773],[93,128,142,159,160,192,1771,1773],[93,101,102,142,159,160,192,1771,1773],[93,107,142,159,160,1771,1773],[93,101,102,103,104,105,106,107,108,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,129,130,131,132,133,134,142,159,160,1771,1773],[93,107,122,142,159,160,1771,1773],[93,107,114,115,142,159,160,1771,1773],[93,105,107,115,116,142,159,160,1771,1773],[93,106,142,159,160,1771,1773],[93,99,102,107,142,159,160,1771,1773],[93,107,111,115,116,142,159,160,1771,1773],[93,111,142,159,160,1771,1773],[93,105,107,110,142,159,160,185,1771,1773],[93,99,104,107,114,142,159,160,1771,1773],[93,142,159,160,174,1771,1773],[93,102,107,128,142,159,160,190,192,1771,1773],[93,142,159,160,1582,1771,1773],[93,142,159,160,1600,1771,1773],[93,142,159,160,777,778,1771,1773],[93,142,159,160,777,1771,1773],[93,142,159,160,758,777,778,788,1771,1773],[93,142,153,154,156,157,158,159,160,162,174,182,185,191,192,728,729,730,731,732,733,734,754,755,756,757,1771,1773],[93,142,159,160,730,731,732,733,1771,1773],[93,142,159,160,730,731,732,1771,1773],[93,142,159,160,730,1771,1773],[93,142,159,160,731,1771,1773],[93,142,159,160,728,1771,1773],[93,142,159,160,789,1771,1773],[93,142,159,160,770,783,784,922,1771,1773],[93,142,159,160,759,770,774,775,922,1771,1773],[93,142,159,160,914,1771,1773],[93,142,154,159,160,174,758,759,764,770,771,774,776,779,780,781,782,785,786,788,909,922,1771,1773],[93,142,159,160,770,783,784,785,922,1771,1773],[93,142,159,160,758,787,1771,1773],[93,142,159,160,190,907,1771,1773],[93,142,159,160,770,771,774,776,779,922,1771,1773],[93,142,154,159,160,174,758,759,764,770,771,774,775,776,779,780,781,782,783,784,785,786,787,788,909,922,1771,1773],[93,142,154,159,160,174,190,758,759,764,767,770,771,774,775,776,779,780,781,782,783,784,785,786,787,788,907,908,909,911,912,914,915,916,921,922,1771,1773],[93,142,159,160,868,1771,1773],[93,142,159,160,859,860,1771,1773],[93,142,159,160,856,857,859,861,862,867,1771,1773],[93,142,159,160,857,859,1771,1773],[93,142,159,160,867,1771,1773],[93,142,159,160,859,1771,1773],[93,142,159,160,856,857,859,862,863,864,865,866,1771,1773],[93,142,159,160,856,857,858,1771,1773],[93,142,159,160,227,525,1771,1773],[93,142,154,159,160,164,227,539,722,883,1771,1773],[93,142,154,159,160,164,227,805,905,1771,1773],[93,142,159,160,227,805,905,922,923,1771,1773],[93,142,154,159,160,164,227,905,1771,1773],[93,142,159,160,227,922,1771,1773],[93,142,159,160,227,849,922,1771,1773],[93,142,159,160,227,814,922,1771,1773],[93,142,159,160,227,870,922,1771,1773],[93,142,159,160,227,815,922,1771,1773],[93,142,159,160,227,827,922,1771,1773],[93,142,159,160,227,805,851,922,1771,1773],[93,142,159,160,227,805,808,922,1771,1773],[93,142,159,160,227,813,852,922,1771,1773],[93,142,159,160,227,805,849,922,1771,1773],[93,142,159,160,164,185,227,790,1771,1773]],"fileInfos":[{"version":"e41c290ef7dd7dab3493e6cbe5909e0148edf4a8dad0271be08edec368a0f7b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","impliedFormat":1},{"version":"8fd575e12870e9944c7e1d62e1f5a73fcf23dd8d3a321f2a2c74c20d022283fe","impliedFormat":1},{"version":"e12a46ce14b817d4c9e6b2b478956452330bf00c9801b79de46f7a1815b5bd40","impliedFormat":1},{"version":"4fd3f3422b2d2a3dfd5cdd0f387b3a8ec45f006c6ea896a4cb41264c2100bb2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"69e65d976bf166ce4a9e6f6c18f94d2424bf116e90837ace179610dbccad9b42","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"62bb211266ee48b2d0edf0d8d1b191f0c24fc379a82bd4c1692a082c540bc6b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"f1e2a172204962276504466a6393426d2ca9c54894b1ad0a6c9dad867a65f876","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"b5ce7a470bc3628408429040c4e3a53a27755022a32fd05e2cb694e7015386c7","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"bab26767638ab3557de12c900f0b91f710c7dc40ee9793d5a27d32c04f0bf646","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true,"impliedFormat":1},{"version":"87dc0f382502f5bbce5129bdc0aea21e19a3abbc19259e0b43ae038a9fc4e326","affectsGlobalScope":true,"impliedFormat":1},{"version":"b1cb28af0c891c8c96b2d6b7be76bd394fddcfdb4709a20ba05a7c1605eea0f9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true,"impliedFormat":1},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ece9f17b3866cc077099c73f4983bddbcb1dc7ddb943227f1ec070f529dedd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1c9319a09485199c1f7b0498f2988d6d2249793ef67edda49d1e584746be9032","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3a2a0cee0f03ffdde24d89660eba2685bfbdeae955a6c67e8c4c9fd28928eeb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true,"impliedFormat":1},{"version":"61d6a2092f48af66dbfb220e31eea8b10bc02b6932d6e529005fd2d7b3281290","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"7e29f41b158de217f94cb9676bf9cbd0cd9b5a46e1985141ed36e075c52bf6ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"dc0a7f107690ee5cd8afc8dbf05c4df78085471ce16bdd9881642ec738bc81fe","impliedFormat":1},{"version":"acd8fd5090ac73902278889c38336ff3f48af6ba03aa665eb34a75e7ba1dccc4","impliedFormat":1},{"version":"d6258883868fb2680d2ca96bc8b1352cab69874581493e6d52680c5ffecdb6cc","impliedFormat":1},{"version":"1b61d259de5350f8b1e5db06290d31eaebebc6baafd5f79d314b5af9256d7153","impliedFormat":1},{"version":"f258e3960f324a956fc76a3d3d9e964fff2244ff5859dcc6ce5951e5413ca826","impliedFormat":1},{"version":"643f7232d07bf75e15bd8f658f664d6183a0efaca5eb84b48201c7671a266979","impliedFormat":1},{"version":"21da358700a3893281ce0c517a7a30cbd46be020d9f0c3f2834d0a8ad1f5fc75","impliedFormat":1},{"version":"6c7176368037af28cb72f2392010fa1cef295d6d6744bca8cfb54985f3a18c3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"98cffbf06d6bab333473c70a893770dbe990783904002c4f1a960447b4b53dca","affectsGlobalScope":true,"impliedFormat":1},{"version":"3af97acf03cc97de58a3a4bc91f8f616408099bc4233f6d0852e72a8ffb91ac9","affectsGlobalScope":true,"impliedFormat":1},{"version":"808069bba06b6768b62fd22429b53362e7af342da4a236ed2d2e1c89fcca3b4a","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"b52476feb4a0cbcb25e5931b930fc73cb6643fb1a5060bf8a3dda0eeae5b4b68","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9501cc13ce624c72b61f12b3963e84fad210fbdf0ffbc4590e08460a3f04eba","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0fa06ada475b910e2106c98c68b10483dc8811d0c14a8a8dd36efb2672485b29","impliedFormat":1},{"version":"33e5e9aba62c3193d10d1d33ae1fa75c46a1171cf76fef750777377d53b0303f","impliedFormat":1},{"version":"2b06b93fd01bcd49d1a6bd1f9b65ddcae6480b9a86e9061634d6f8e354c1468f","impliedFormat":1},{"version":"6a0cd27e5dc2cfbe039e731cf879d12b0e2dded06d1b1dedad07f7712de0d7f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f5c844119c43e51ce777c509267f14d6aaf31eafb2c2b002ca35584cd13b29","impliedFormat":1},{"version":"e60477649d6ad21542bd2dc7e3d9ff6853d0797ba9f689ba2f6653818999c264","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"4c829ab315f57c5442c6667b53769975acbf92003a66aef19bce151987675bd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"b2ade7657e2db96d18315694789eff2ddd3d8aea7215b181f8a0b303277cc579","impliedFormat":1},{"version":"9855e02d837744303391e5623a531734443a5f8e6e8755e018c41d63ad797db2","impliedFormat":1},{"version":"4d631b81fa2f07a0e63a9a143d6a82c25c5f051298651a9b69176ba28930756d","impliedFormat":1},{"version":"836a356aae992ff3c28a0212e3eabcb76dd4b0cc06bcb9607aeef560661b860d","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"41670ee38943d9cbb4924e436f56fc19ee94232bc96108562de1a734af20dc2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c906fb15bd2aabc9ed1e3f44eb6a8661199d6c320b3aa196b826121552cb3695","impliedFormat":1},{"version":"22295e8103f1d6d8ea4b5d6211e43421fe4564e34d0dd8e09e520e452d89e659","impliedFormat":1},{"version":"58647d85d0f722a1ce9de50955df60a7489f0593bf1a7015521efe901c06d770","impliedFormat":1},{"version":"6b4e081d55ac24fc8a4631d5dd77fe249fa25900abd7d046abb87d90e3b45645","impliedFormat":1},{"version":"a10f0e1854f3316d7ee437b79649e5a6ae3ae14ffe6322b02d4987071a95362e","impliedFormat":1},{"version":"e208f73ef6a980104304b0d2ca5f6bf1b85de6009d2c7e404028b875020fa8f2","impliedFormat":1},{"version":"d163b6bc2372b4f07260747cbc6c0a6405ab3fbcea3852305e98ac43ca59f5bc","impliedFormat":1},{"version":"e6fa9ad47c5f71ff733744a029d1dc472c618de53804eae08ffc243b936f87ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"83e63d6ccf8ec004a3bb6d58b9bb0104f60e002754b1e968024b320730cc5311","impliedFormat":1},{"version":"24826ed94a78d5c64bd857570fdbd96229ad41b5cb654c08d75a9845e3ab7dde","impliedFormat":1},{"version":"8b479a130ccb62e98f11f136d3ac80f2984fdc07616516d29881f3061f2dd472","impliedFormat":1},{"version":"928af3d90454bf656a52a48679f199f64c1435247d6189d1caf4c68f2eaf921f","affectsGlobalScope":true,"impliedFormat":1},{"version":"bceb58df66ab8fb00170df20cd813978c5ab84be1d285710c4eb005d8e9d8efb","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"77fbe5eecb6fac4b6242bbf6eebfc43e98ce5ccba8fa44e0ef6a95c945ff4d98","impliedFormat":1},{"version":"4f9d8ca0c417b67b69eeb54c7ca1bedd7b56034bb9bfd27c5d4f3bc4692daca7","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"a3fc63c0d7b031693f665f5494412ba4b551fe644ededccc0ab5922401079c95","impliedFormat":1},{"version":"f27524f4bef4b6519c604bdb23bf4465bddcccbf3f003abb901acbd0d7404d99","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"6b039f55681caaf111d5eb84d292b9bee9e0131d0db1ad0871eef0964f533c73","affectsGlobalScope":true,"impliedFormat":1},{"version":"18fd40412d102c5564136f29735e5d1c3b455b8a37f920da79561f1fde068208","impliedFormat":1},{"version":"c8d3e5a18ba35629954e48c4cc8f11dc88224650067a172685c736b27a34a4dc","impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"2b55d426ff2b9087485e52ac4bc7cfafe1dc420fc76dad926cd46526567c501a","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"5b7aa3c4c1a5d81b411e8cb302b45507fea9358d3569196b27eb1a27ae3a90ef","affectsGlobalScope":true,"impliedFormat":1},{"version":"5987a903da92c7462e0b35704ce7da94d7fdc4b89a984871c0e2b87a8aae9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea08a0345023ade2b47fbff5a76d0d0ed8bff10bc9d22b83f40858a8e941501c","impliedFormat":1},{"version":"47613031a5a31510831304405af561b0ffaedb734437c595256bb61a90f9311b","impliedFormat":1},{"version":"ae062ce7d9510060c5d7e7952ae379224fb3f8f2dd74e88959878af2057c143b","impliedFormat":1},{"version":"8a1a0d0a4a06a8d278947fcb66bf684f117bf147f89b06e50662d79a53be3e9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"358765d5ea8afd285d4fd1532e78b88273f18cb3f87403a9b16fef61ac9fdcfe","impliedFormat":1},{"version":"9f55299850d4f0921e79b6bf344b47c420ce0f507b9dcf593e532b09ea7eeea1","impliedFormat":1},{"version":"2beff543f6e9a9701df88daeee3cdd70a34b4a1c11cb4c734472195a5cb2af54","impliedFormat":1},{"version":"2e07abf27aa06353d46f4448c0bbac73431f6065eef7113128a5cd804d0c384d","impliedFormat":1},{"version":"be1cc4d94ea60cbe567bc29ed479d42587bf1e6cba490f123d329976b0fe4ee5","impliedFormat":1},{"version":"42bc0e1a903408137c3df2b06dfd7e402cdab5bbfa5fcfb871b22ebfdb30bd0b","impliedFormat":1},{"version":"9894dafe342b976d251aac58e616ac6df8db91fb9d98934ff9dd103e9e82578f","impliedFormat":1},{"version":"413df52d4ea14472c2fa5bee62f7a40abd1eb49be0b9722ee01ee4e52e63beb2","impliedFormat":1},{"version":"db6d2d9daad8a6d83f281af12ce4355a20b9a3e71b82b9f57cddcca0a8964a96","impliedFormat":1},{"version":"446a50749b24d14deac6f8843e057a6355dd6437d1fac4f9e5ce4a5071f34bff","impliedFormat":1},{"version":"182e9fcbe08ac7c012e0a6e2b5798b4352470be29a64fdc114d23c2bab7d5106","impliedFormat":1},{"version":"2f4e6b4d39426a1b85ecf4bdeb9dddbf4d9b3397d95d8555d46f925c9519ec7d","impliedFormat":1},{"version":"78a2869ad0cbf3f9045dda08c0d4562b7e1b2bfe07b19e0db072f5c3c56e9584","impliedFormat":1},{"version":"89d5d28d4f57e000b836ac273079be1b75710e28ce14750d081fb420d37e2ca5","impliedFormat":1},{"version":"fd4e24ccff3966390600d7f5d6aa1fed5a512e92ada735ea5fbc933d313ad3d3","impliedFormat":1},{"version":"b7cddfe1aa6b86b5fad3c9ccb30d05b3ccb165aebbf112f48d2d8a5f69dd98b1","impliedFormat":1},{"version":"a86f82d646a739041d6702101afa82dcb935c416dd93cbca7fd754fd0282ce1f","impliedFormat":1},{"version":"ad0d1d75d129b1c80f911be438d6b61bfa8703930a8ff2be2f0e1f8a91841c64","impliedFormat":1},{"version":"bd2c7ada3dee03653d3f601011d30072194bc3970cd93208f9588fbdc0c69347","impliedFormat":1},{"version":"e480da45d32313e7174b265674da504f075f59ef326852f0c5a5d863b438ae85","impliedFormat":1},{"version":"ad54850f61fcf5d014e11be80d2f46fea9265cfa7e77456da876f7833ef81769","impliedFormat":1},{"version":"6f7c9e8bd2b5b6a080b07080065f94900bd3c7e5ebbd3047bc33fcce2fab1dd8","impliedFormat":1},{"version":"3e7efde639c6a6c3edb9847b3f61e308bf7a69685b92f665048c45132f51c218","impliedFormat":1},{"version":"df45ca1176e6ac211eae7ddf51336dc075c5314bc5c253651bae639defd5eec5","impliedFormat":1},{"version":"8a0e762ceb20c7e72504feef83d709468a70af4abccb304f32d6b9bac1129b2c","impliedFormat":1},{"version":"da5950ee2a90721df6f3fba45f5d05308f7e4c35835392215dd2cd404505e2de","impliedFormat":1},{"version":"ce75b1aebb33d510ff28af960a9221410a3eaf7f18fc5f21f9404075fba77256","impliedFormat":1},{"version":"f42d5fed19610d485c646a0c430e768115567d078c7fc855c57b0c578b3d6cd3","impliedFormat":1},{"version":"ee8df1cb8d0faaca4013a1b442e99130769ce06f438d18d510fed95890067563","impliedFormat":1},{"version":"d5630f2ad9b4541e5ce891648121022f9412ecdca1820baa1f0104f70fd7eff7","impliedFormat":1},{"version":"4d15375ab13497104bc8fe56fdef2b5fd6853f29255737d23a33fa306ff7fd69","impliedFormat":1},{"version":"2cd3fc1d0d6a1e85baffd2d4f50f5efb192b5446eef567e97c94765402f0aad4","impliedFormat":1},{"version":"e4cbf2f1e89ecccaddd2c045e600ae41b732295953fb06247c7dcbc2d281ed30","impliedFormat":1},{"version":"27bbdb7509a5bb564020321fc5485764d0db3230a10d2336ae5ce2c1d401b0e7","impliedFormat":1},{"version":"8c1697d90c394a6fd955b98eae01238eff628e129b987a68aea10f898a48e7da","impliedFormat":1},{"version":"7580e62139cb2b44a0270c8d01abcbfcba2819a02514a527342447fa69b34ef1","impliedFormat":1},{"version":"42c169fb8c2d42f4f668c624a9a11e719d5d07dacbebb63cbcf7ef365b0a75b3","impliedFormat":1},{"version":"f374cb24e93e7798c4d9e83ff872fa52d2cdb36306392b840a6ddf46cb925cb6","impliedFormat":1},{"version":"d10d63718e1646c2279e3b33831f82c60e31f622b2b7020f1196409ca4c09242","impliedFormat":1},{"version":"106c6025f1d99fd468fd8bf6e5bda724e11e5905a4076c5d29790b6c3745e50c","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"148679c6d0f449210a96e7d2e562d589e56fcde87f843a92808b3ff103f1a774","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"02436d7e9ead85e09a2f8e27d5f47d9464bced31738dec138ca735390815c9f0","impliedFormat":1},{"version":"f8d5ff8eafd37499f2b6a98659dd9b45a321de186b8db6b6142faed0fea3de77","impliedFormat":1},{"version":"c86fe861cf1b4c46a0fb7d74dffe596cf679a2e5e8b1456881313170f092e3fa","impliedFormat":1},{"version":"a22dd55aa4d39906252000ab8e8a1b83b195eef7f4274eb51e457c1f11cf6580","impliedFormat":1},{"version":"540cc83ab772a2c6bc509fe1354f314825b5dba3669efdfbe4693ecd3048e34f","impliedFormat":1},{"version":"121b0696021ab885c570bbeb331be8ad82c6efe2f3b93a6e63874901bebc13e3","impliedFormat":1},{"version":"612d9da66bb046a9c1e2e8d026245ded881fc4b9f98cbfae714415d57ee0ae0b","impliedFormat":1},{"version":"32c2ad9494dad5d11b0564a619fee18f388db6c1e9e2cd3c360b3122549691eb","impliedFormat":1},{"version":"6c301d40aec56a74ec7bd7324e31a728dadf9bfba3e96def02938d3d973534ec","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"aa14cee20aa0db79f8df101fc027d929aec10feb5b8a8da3b9af3895d05b7ba2","impliedFormat":1},{"version":"493c700ac3bd317177b2eb913805c87fe60d4e8af4fb39c41f04ba81fae7e170","impliedFormat":1},{"version":"aeb554d876c6b8c818da2e118d8b11e1e559adbe6bf606cc9a611c1b6c09f670","impliedFormat":1},{"version":"acf5a2ac47b59ca07afa9abbd2b31d001bf7448b041927befae2ea5b1951d9f9","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"d71291eff1e19d8762a908ba947e891af44749f3a2cbc5bd2ec4b72f72ea795f","impliedFormat":1},{"version":"c0480e03db4b816dff2682b347c95f2177699525c54e7e6f6aa8ded890b76be7","impliedFormat":1},{"version":"25a5f6fd3a2243c859eddc99ab5fba11d970af2fe7a5df9c32b7668f76f97b01","impliedFormat":1},{"version":"8d207e1f9d2c30d6f77dfa693f3827c3fbf0d89240297e10bdfe1041d433df68","impliedFormat":1},{"version":"b620391fe8060cf9bedc176a4d01366e6574d7a71e0ac0ab344a4e76576fcbb8","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"2652448ac55a2010a1f71dd141f828b682298d39728f9871e1cdf8696ef443fd","impliedFormat":1},{"version":"d682336018141807fb602709e2d95a192828fcb8d5ba06dda3833a8ea98f69e3","impliedFormat":1},{"version":"6124e973eab8c52cabf3c07575204efc1784aca6b0a30c79eb85fe240a857efa","impliedFormat":1},{"version":"0d891735a21edc75df51f3eb995e18149e119d1ce22fd40db2b260c5960b914e","impliedFormat":1},{"version":"3b414b99a73171e1c4b7b7714e26b87d6c5cb03d200352da5342ab4088a54c85","impliedFormat":1},{"version":"4fbd3116e00ed3a6410499924b6403cc9367fdca303e34838129b328058ede40","impliedFormat":1},{"version":"9c82171d836c47486074e4ca8e059735bf97b205e70b196535b5efd40cbe1bc5","impliedFormat":1},{"version":"8c70ddc0c22d85e56011d49fddfaae3405eb53d47b59327b9dd589e82df672e7","impliedFormat":1},{"version":"2f9c89cbb29d362290531b48880a4024f258c6033aaeb7e59fbc62db26819650","impliedFormat":1},{"version":"a365c4d3bed3be4e4e20793c999c51f5cd7e6792322f14650949d827fbcd170f","impliedFormat":1},{"version":"c5426dbfc1cf90532f66965a7aa8c1136a78d4d0f96d8180ecbfc11d7722f1a5","impliedFormat":1},{"version":"65a15fc47900787c0bd18b603afb98d33ede930bed1798fc984d5ebb78b26cf9","impliedFormat":1},{"version":"9d202701f6e0744adb6314d03d2eb8fc994798fc83d91b691b75b07626a69801","impliedFormat":1},{"version":"de9d2df7663e64e3a91bf495f315a7577e23ba088f2949d5ce9ec96f44fba37d","impliedFormat":1},{"version":"c7af78a2ea7cb1cd009cfb5bdb48cd0b03dad3b54f6da7aab615c2e9e9d570c5","impliedFormat":1},{"version":"1ee45496b5f8bdee6f7abc233355898e5bf9bd51255db65f5ff7ede617ca0027","impliedFormat":1},{"version":"273782b8454e78f6a8b30d2cfbf6860499c930595095fcc1689637115f0eddda","affectsGlobalScope":true,"impliedFormat":1},{"version":"3fbdd025f9d4d820414417eeb4107ffa0078d454a033b506e22d3a23bc3d9c41","affectsGlobalScope":true,"impliedFormat":1},{"version":"dba114fb6a32b355a9cfc26ca2276834d72fe0e94cd2c3494005547025015369","impliedFormat":1},{"version":"a8f8e6ab2fa07b45251f403548b78eaf2022f3c2254df3dc186cb2671fe4996d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa6c12a7c0f6b84d512f200690bfc74819e99efae69e4c95c4cd30f6884c526e","impliedFormat":1},{"version":"f1c32f9ce9c497da4dc215c3bc84b722ea02497d35f9134db3bb40a8d918b92b","impliedFormat":1},{"version":"b73c319af2cc3ef8f6421308a250f328836531ea3761823b4cabbd133047aefa","affectsGlobalScope":true,"impliedFormat":1},{"version":"e433b0337b8106909e7953015e8fa3f2d30797cea27141d1c5b135365bb975a6","impliedFormat":1},{"version":"9f9bb6755a8ce32d656ffa4763a8144aa4f274d6b69b59d7c32811031467216e","impliedFormat":1},{"version":"5c32bdfbd2d65e8fffbb9fbda04d7165e9181b08dad61154961852366deb7540","impliedFormat":1},{"version":"ddff7fc6edbdc5163a09e22bf8df7bef75f75369ebd7ecea95ba55c4386e2441","impliedFormat":1},{"version":"0c05e9842ec4f8b7bfebfd3ca61604bb8c914ba8da9b5337c4f25da427a005f2","impliedFormat":1},{"version":"faed7a5153215dbd6ebe76dfdcc0af0cfe760f7362bed43284be544308b114cf","impliedFormat":1},{"version":"7029e566b8df176f703fb59fd437a38670c7a0e02c58b2d66dfb5b2e2b2defdb","impliedFormat":1},{"version":"7f2aa4d4989a82530aaac3f72b3dceca90e9c25bee0b1a327e8a08a1262435ad","impliedFormat":1},{"version":"d96b39301d0ded3f1a27b47759676a33a02f6f5049bfcbde81e533fd10f50dcb","impliedFormat":1},{"version":"e9f147ecca73d9346a4c073432843c159ccbe50bdcb678a78f6da10eae2cecf4","impliedFormat":1},{"version":"de061f7d72bd65c06fc1419f841dfdcb29a8e22fe6fa527d1e6eb20b897d4de0","impliedFormat":1},{"version":"663beafc2446079574570cba86e9b15f986f908ddb1b01274509970126fee945","impliedFormat":1},{"version":"a3102887d5058bf4cb5b37fa6964c09e9527c42053b3b5c642b89878620748de","impliedFormat":1},{"version":"0aaaa1727edd29673d85c9b26d7ca4d54e5407a48586903c51b48b7f7d196f61","impliedFormat":1},{"version":"d35bca0b261bff02635758c48e8ab99c61c420d0dfabbcf467e847171d876b7d","impliedFormat":1},{"version":"3bc12c40d90c342ff88a3d876996c555ed5cbee5fe8c3308a240b321f401ee46","impliedFormat":1},{"version":"ba130768aae855a5477e9e148e5c879548e6e7ccbcc56fd1934c8a18ea5b7569","impliedFormat":1},{"version":"2e4f37ffe8862b14d8e24ae8763daaa8340c0df0b859d9a9733def0eee7562d9","impliedFormat":1},{"version":"d38530db0601215d6d767f280e3a3c54b2a83b709e8d9001acb6f61c67e965fc","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"b499af2054a037a162b3b72cd886f48bbf32a3502c865c6e29fac7d2ab3ce0b5","impliedFormat":1},{"version":"b83cb14474fa60c5f3ec660146b97d122f0735627f80d82dd03e8caa39b4388c","impliedFormat":1},{"version":"d87f90d2df7b638204d81d6c57e1f2a8cc9317c45ca331c691c375649aa9255c","impliedFormat":1},{"version":"7274fbffbd7c9589d8d0ffba68157237afd5cecff1e99881ea3399127e60572f","impliedFormat":1},{"version":"b73cbf0a72c8800cf8f96a9acfe94f3ad32ca71342a8908b8ae484d61113f647","impliedFormat":1},{"version":"bae6dd176832f6423966647382c0d7ba9e63f8c167522f09a982f086cd4e8b23","impliedFormat":1},{"version":"20865ac316b8893c1a0cc383ccfc1801443fbcc2a7255be166cf90d03fac88c9","impliedFormat":1},{"version":"c9958eb32126a3843deedda8c22fb97024aa5d6dd588b90af2d7f2bfac540f23","impliedFormat":1},{"version":"461d0ad8ae5f2ff981778af912ba71b37a8426a33301daa00f21c6ccb27f8156","impliedFormat":1},{"version":"e927c2c13c4eaf0a7f17e6022eee8519eb29ef42c4c13a31e81a611ab8c95577","impliedFormat":1},{"version":"fcafff163ca5e66d3b87126e756e1b6dfa8c526aa9cd2a2b0a9da837d81bbd72","impliedFormat":1},{"version":"70246ad95ad8a22bdfe806cb5d383a26c0c6e58e7207ab9c431f1cb175aca657","impliedFormat":1},{"version":"f00f3aa5d64ff46e600648b55a79dcd1333458f7a10da2ed594d9f0a44b76d0b","impliedFormat":1},{"version":"772d8d5eb158b6c92412c03228bd9902ccb1457d7a705b8129814a5d1a6308fc","impliedFormat":1},{"version":"802e797bcab5663b2c9f63f51bdf67eff7c41bc64c0fd65e6da3e7941359e2f7","impliedFormat":1},{"version":"b01bd582a6e41457bc56e6f0f9de4cb17f33f5f3843a7cf8210ac9c18472fb0f","impliedFormat":1},{"version":"8b4327413e5af38cd8cb97c59f48c3c866015d5d642f28518e3a891c469f240e","impliedFormat":1},{"version":"4cceef18d7f088e797a463e90b7a9dad10c6bc667724b7686e3e740ae00122be","impliedFormat":1},{"version":"7ee86fbb3754388e004de0ef9e6505485ddfb3be7640783d6d015711c03d302d","impliedFormat":1},{"version":"cc1954b539604b1e562319119ac7e888172208b32ca873f9a357a92c826bd046","impliedFormat":1},{"version":"a67b87d0281c97dfc1197ef28dfe397fc2c865ccd41f7e32b53f647184cc7307","impliedFormat":1},{"version":"771ffb773f1ddd562492a6b9aaca648192ac3f056f0e1d997678ff97dbb6bf9b","impliedFormat":1},{"version":"43e96a3d5d1411ab40ba2f61d6a3192e58177bcf3b133a80ad2a16591611726d","impliedFormat":1},{"version":"232f70c0cf2b432f3a6e56a8dc3417103eb162292a9fd376d51a3a9ea5fbbf6f","impliedFormat":1},{"version":"bb8f2dbc03533abca2066ce4655c119bff353dd4514375beb93c08590c03e023","impliedFormat":1},{"version":"706dd95827e7ebaabda91d5db2b755233e0952d98570e9c032b0f066a15c1177","affectsGlobalScope":true,"impliedFormat":1},{"version":"0b103e9abfe82d14c0ad06a55d9f91d6747154ef7cacc73cf27ecad2bfb3afcf","impliedFormat":1},{"version":"990b8fad2327b77e6920cc792af320e8867e68f02ce849b12c0a6ab9a1aebb09","impliedFormat":1},{"version":"5eb8cd1cb0c9143d74a8190b577c522720878c31aef67d866fcd29973f83e955","impliedFormat":1},{"version":"120599fd965257b1f4d0ff794bc696162832d9d8467224f4665f713a3119078b","impliedFormat":1},{"version":"43ba4f2fa8c698f5c304d21a3ef596741e8e85a810b7c1f9b692653791d8d97a","impliedFormat":1},{"version":"5433f33b0a20300cca35d2f229a7fc20b0e8477c44be2affeb21cb464af60c76","impliedFormat":1},{"version":"db036c56f79186da50af66511d37d9fe77fa6793381927292d17f81f787bb195","impliedFormat":1},{"version":"a6805fcafed712aea7759f8bc731014f9d22738c1d6ef9d43b8091d1d48346d5","impliedFormat":1},{"version":"c49469a5349b3cc1965710b5b0f98ed6c028686aa8450bcb3796728873eb923e","impliedFormat":1},{"version":"4a889f2c763edb4d55cb624257272ac10d04a1cad2ed2948b10ed4a7fda2a428","impliedFormat":1},{"version":"7bb79aa2fead87d9d56294ef71e056487e848d7b550c9a367523ee5416c44cfa","impliedFormat":1},{"version":"d88ea80a6447d7391f52352ec97e56b52ebec934a4a4af6e2464cfd8b39c3ba8","impliedFormat":1},{"version":"142617b3cdf902b69c6464c9fbd942b60ab3e733ca18c032b19e0f7e2adbefe8","impliedFormat":1},{"version":"0b603555f1881f87256ffd6344d3e3ed6d466c2e701eabf381f28be8c2125892","impliedFormat":1},{"version":"897e4f7662488e3ecc79e743bdd3b78f13bdb69a97851afa5b440c4211e32ea9","impliedFormat":1},{"version":"e2e1c6d3b2d93add5200bd7bc1a8cccb4e446836b2111ece45db8683a2c765de","impliedFormat":1},{"version":"251b03d5cd243854ce870d9a9a39f491faf69898c5d6b5eee28cc7649c57417b","impliedFormat":1},{"version":"27ff4196654e6373c9af16b6165120e2dd2169f9ad6abb5c935af5abd8c7938c","impliedFormat":1},{"version":"2c4de79f406d137390608e8c0a44fba2ff8e00bacfcae7c9d1781fef10e9440d","impliedFormat":1},{"version":"07ba23a10465791be5d22deaf5ef7de7658774ddff53721e5ea17fedea1bc721","impliedFormat":1},{"version":"dca8c645c5afeb03b1ecedbf16323f33e7d0afaa6256c8e047e6e38087a97f53","impliedFormat":1},{"version":"775f181bd4a533d6f8b5e55ec1d9f1624559720ae8a70e9432258da26b38d27c","impliedFormat":1},{"version":"796273b2edc72e78a04e86d7c58ae94d370ab93a0ddf40b1aa85a37a1c29ecd7","impliedFormat":1},{"version":"5df15a69187d737d6d8d066e189ae4f97e41f4d53712a46b2710ff9f8563ec9f","impliedFormat":1},{"version":"9109a1291dd4b9f1541bea81ee11c247a2ca9e1ea89f87f13aa1811c3c069616","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"622694a8522b46f6310c2a9b5d2530dde1e2854cb5829354e6d1ff8f371cf469","impliedFormat":1},{"version":"cd8ce8d68567f62dd580b3c3c37777ac3f5b81944c7417f5ea83030eab533385","impliedFormat":1},{"version":"e374d1eaa05b7dc38580062942ac8351ce79cbe11f6dbce4946a582a5680582d","impliedFormat":1},{"version":"9e2739b32f741859263fdba0244c194ca8e96da49b430377930b8f721d77c000","impliedFormat":1},{"version":"a9e6c0ff3f8186fccd05752cf75fc94e147c02645087ac6de5cc16403323d870","impliedFormat":1},{"version":"49af4b52f0d4d2304c5f2c6fe5fab3e153e0acc38830d0202821b877c097dd02","impliedFormat":1},{"version":"49c346823ba6d4b12278c12c977fb3a31c06b9ca719015978cb145eb86da1c61","impliedFormat":1},{"version":"bfac6e50eaa7e73bb66b7e052c38fdc8ccfc8dbde2777648642af33cf349f7f1","impliedFormat":1},{"version":"92f7c1a4da7fbfd67a2228d1687d5c2e1faa0ba865a94d3550a3941d7527a45d","impliedFormat":1},{"version":"f53b120213a9289d9a26f5af90c4c686dd71d91487a0aa5451a38366c70dc64b","impliedFormat":1},{"version":"e68b8e5a1df7c1be2bc105141456ecba70215806e1c28bfbc5c12bfce4be6e68","impliedFormat":1},{"version":"511c8f02329808d47d00b859c532ae9115590048b17325a946c74dac48428650","impliedFormat":1},{"version":"57d67b72e06059adc5e9454de26bbfe567d412b962a501d263c75c2db430f40e","impliedFormat":1},{"version":"b5f9e66625783eefcbe3d2da074b2e7ba2066d61ce3fc6ef4f22805ad946cab4","impliedFormat":1},{"version":"e37115962d284b9f7a37c2bdd2add50f88365dde41f5e0ff591ffc48a8ec7575","impliedFormat":1},{"version":"6459054aabb306821a043e02b89d54da508e3a6966601a41e71c166e4ea1474f","impliedFormat":1},{"version":"bb37588926aba35c9283fe8d46ebf4e79ffe976343105f5c6d45f282793352b2","impliedFormat":1},{"version":"f89488602bec98a142072fae7ea5ba99431a569ff580c64b7be39896474799d8","impliedFormat":1},{"version":"bbbc47961f39a57df103cf4ca3bb8f8732b4b6678a18225a0aa76d59c466956c","impliedFormat":1},{"version":"2e6114a7dd6feeef85b2c80120fdbfb59a5529c0dcc5bfa8447b6996c97a69f5","impliedFormat":1},{"version":"2ffb043dc5163458e473b7010859f86e01dc4edffcae0a93d885d028b426a546","impliedFormat":1},{"version":"c8f004e6036aa1c764ad4ec543cf89a5c1893a9535c80ef3f2b653e370de45e6","impliedFormat":1},{"version":"dd80b1e600d00f5c6a6ba23f455b84a7db121219e68f89f10552c54ba46e4dc9","impliedFormat":1},{"version":"b064c36f35de7387d71c599bfcf28875849a1dbc733e82bd26cae3d1cd060521","impliedFormat":1},{"version":"05c7280d72f3ed26f346cbe7cbbbb002fb7f15739197cbbee6ab3fd1a6cb9347","impliedFormat":1},{"version":"8de9fe97fa9e00ec00666fa77ab6e91b35d25af8ca75dabcb01e14ad3299b150","impliedFormat":1},{"version":"04b7b2e0832dfd3c31e81df3975e8d8fda28e7ff999b0aa2932608a8f6661d5c","impliedFormat":1},{"version":"ca2d34c6ed5cbd3070b8b6f32f42ae54adcc6499c1e4b99f0a5798b3f27cc653","impliedFormat":1},{"version":"9ec68995e66dd6b9dac834bf5ae85fde802714ea2e82151a5d1d53ef01b463ef","impliedFormat":1},{"version":"5c4d626b4902f2ef8a1cc146d761d276cef988016dc674e3b98fbad70e64bc9f","impliedFormat":1},{"version":"fdfaa0aad899524962e2955287b5b991ffe3be50f64e02eb60c933ca44644a94","impliedFormat":1},{"version":"53c972a0f9bc3a4ec70fff7314123ea8cfcf75b3703046f767d2dc1eea87b2fb","impliedFormat":1},{"version":"f974e4a06953682a2c15d5bd5114c0284d5abf8bc0fe4da25cb9159427b70072","impliedFormat":1},{"version":"50256e9c31318487f3752b7ac12ff365c8949953e04568009c8705db802776fb","impliedFormat":1},{"version":"7d73b24e7bf31dfb8a931ca6c4245f6bb0814dfae17e4b60c9e194a631fe5f7b","impliedFormat":1},{"version":"d130c5f73768de51402351d5dc7d1b36eaec980ca697846e53156e4ea9911476","impliedFormat":1},{"version":"413586add0cfe7369b64979d4ec2ed56c3f771c0667fbde1bf1f10063ede0b08","impliedFormat":1},{"version":"06472528e998d152375ad3bd8ebcb69ff4694fd8d2effaf60a9d9f25a37a097a","impliedFormat":1},{"version":"7303b45138d2511035056a5901a1490ebdcbf055cbb1276f8629c5121cbe733e","impliedFormat":1},{"version":"27f874cd5327507eeff699a74567f60c1215b94509f4308633a7b01922471ed2","impliedFormat":1},{"version":"a401617604fa1f6ce437b81689563dfdc377069e4c58465dbd8d16069aede0a5","impliedFormat":1},{"version":"2c6cf04bc525caf6546e859e8ef10bfb9573837ec0bc5ec7b53a7b1b8ca72781","impliedFormat":1},{"version":"8695dec09ad439b0ceef3776ea68a232e381135b516878f0901ed2ea114fd0fe","impliedFormat":1},{"version":"304b44b1e97dd4c94697c3313df89a578dca4930a104454c99863f1784a54357","impliedFormat":1},{"version":"0a437ae178f999b46b6153d79095b60c42c996bc0458c04955f1c996dc68b971","impliedFormat":1},{"version":"74b2a5e5197bd0f2e0077a1ea7c07455bbea67b87b0869d9786d55104006784f","impliedFormat":1},{"version":"4a7baeb6325920044f66c0f8e5e6f1f52e06e6d87588d837bdf44feb6f35c664","impliedFormat":1},{"version":"87cc05fe13108f02e12da7e3efd8e360fef78d96a0c9e11408ea1b1b9fb3e03d","impliedFormat":1},{"version":"1abbf67c218d23c2ce76887caac2df6c7dab3d97ba2b65348432b876f510002a","impliedFormat":1},{"version":"1a82deef4c1d39f6882f28d275cad4c01f907b9b39be9cbc472fcf2cf051e05b","impliedFormat":1},{"version":"4b20fcf10a5413680e39f5666464859fc56b1003e7dfe2405ced82371ebd49b6","impliedFormat":1},{"version":"c06ef3b2569b1c1ad99fcd7fe5fba8d466e2619da5375dfa940a94e0feea899b","impliedFormat":1},{"version":"f7d628893c9fa52ba3ab01bcb5e79191636c4331ee5667ecc6373cbccff8ae12","impliedFormat":1},{"version":"1d879125d1ec570bf04bc1f362fdbe0cb538315c7ac4bcfcdf0c1e9670846aa6","impliedFormat":1},{"version":"8bd496cf710d4873d15e4891a5dbf945673e3321ca74cf75187e347fd5ed295e","impliedFormat":1},{"version":"a6dba407fc287f1e25454e75028c91bbc00675f2d1c4e8b3edcc36c08611a486","impliedFormat":1},{"version":"d663134457d8d669ae0df34eabd57028bddc04fc444c4bc04bc5215afc91e1f4","impliedFormat":1},{"version":"e91f7b1344577a02f051b9b471f33044fef8334a76dc9e1de003d17595a5219b","impliedFormat":1},{"version":"c0723195c85e19656d6b5b9fdb81d3f3403c1ae4679e722c6ea058c516b38d12","impliedFormat":1},{"version":"186eea74805194f04e41038fc5eca653788b9dedbab7c2d7d17e10139622dd92","impliedFormat":1},{"version":"71d9eb4c4e99456b78ae182fb20a5dfc20eb1667f091dbb9335b3c017dd1c783","impliedFormat":1},{"version":"cfa846a7b7847a1d973605fbb8c91f47f3a0f0643c18ac05c47077ebc72e71c7","impliedFormat":1},{"version":"1594da19968752a22b2ac48c2d0e60575700e745c577a8a4a676b841238ad5bb","impliedFormat":1},{"version":"e0cee12109e0a10a4c3d6769fcc7644b7c1ea7f52365bea51728f5af29f8a137","impliedFormat":1},{"version":"7d4254b4c6c67a29d5e7f65e67d72540480ac2cfb041ca484847f5ae70480b62","impliedFormat":1},{"version":"3536968defef8a75514f547ead5e2e9c1e984820290ec9b00c5fdfb6ef786535","impliedFormat":1},{"version":"d83773870080c30a230e322ce13a9c6f3398e8dacea4ea8a83e26370f3bac23e","impliedFormat":1},{"version":"dcfeaf98d66314fec29a9076c4290e45d0b196a65827becc19138e9c7b855f37","impliedFormat":1},{"version":"6849fe9210fe4946d5f085bfed36758f33dc6ae15a751338d178dd4daa017c46","impliedFormat":1},{"version":"888cda0fa66d7f74e985a3f7b1af1f64b8ff03eb3d5e80d051c3cbdeb7f32ab7","impliedFormat":1},{"version":"60681e13f3545be5e9477acb752b741eae6eaf4cc01658a25ec05bff8b82a2ef","impliedFormat":1},{"version":"ffae4e1e06aa848a1e4bcef162cd1c48e5909b26223515981310af9c036bdfc7","impliedFormat":1},{"version":"a57b1802794433adec9ff3fed12aa79d671faed86c49b09e02e1ac41b4f1d33a","impliedFormat":1},{"version":"34e16eb7c31768a11a08aebcfb3d70d7b8f0b016197e98d8419e566ceae6d6c8","impliedFormat":1},{"version":"f94ec1f7e4b709d26960306c9082a7a1b728a6e13089346aa48ba57c74cbf47e","impliedFormat":1},{"version":"9a11cb4033405e96c247cd5aa29790212aaffdd127869e8a5219103f0b389fd5","impliedFormat":1},{"version":"01479d9d5a5dda16d529b91811375187f61a06e74be294a35ecce77e0b9e8d6c","impliedFormat":1},{"version":"aff5213585cb72e94054dfe17250ff315f3569b3919d1ef1ad235f37c4ee894e","impliedFormat":1},{"version":"fb2ea35e1be6388d722d7725e2b49c697d34d9c890c3b96758faaeb86d35cef8","impliedFormat":1},{"version":"ce0df82a9ae6f914ba08409d4d883983cc08e6d59eb2df02d8e4d68309e7848b","impliedFormat":1},{"version":"1a4dc28334a926d90ba6a2d811ba0ff6c22775fcc13679521f034c124269fd40","impliedFormat":1},{"version":"f05315ff85714f0b87cc0b54bcd3dde2716e5a6b99aedcc19cad02bf2403e08c","impliedFormat":1},{"version":"5fad3b31fc17a5bc58095118a8b160f5260964787c52e7eb51e3d4fcf5d4a6f0","impliedFormat":1},{"version":"72105519d0390262cf0abe84cf41c926ade0ff475d35eb21307b2f94de985778","impliedFormat":1},{"version":"456006a6975b26c0a1785feddae165f6d307e2d601ffde27e21fc4a790e448a4","impliedFormat":1},{"version":"c857e0aae3f5f444abd791ec81206020fbcc1223e187316677e026d1c1d6fe08","impliedFormat":1},{"version":"ccf6dd45b708fb74ba9ed0f2478d4eb9195c9dfef0ff83a6092fa3cf2ff53b4f","impliedFormat":1},{"version":"1fe0d18b111e1145a7e7601855bccd4ca20f24e3b9a5aba6bb1fa9d1a7059170","impliedFormat":1},{"version":"5632c3c26d420c063eebe64c45b1248b9492a67bf44f1d0c57e9dc8f6cf449bb","impliedFormat":1},{"version":"0df5aa619ab12993a39ea6dae062ee46eadbb4d738916460e636ada52bced75b","impliedFormat":1},{"version":"8fca3039857709484e5893c05c1f9126ab7451fa6c29e19bb8c2411a2e937345","impliedFormat":1},{"version":"35069c2c417bd7443ae7c7cafd1de02f665bf015479fec998985ffbbf500628c","impliedFormat":1},{"version":"10ab7be91f87ebe8916b62cf28af2e45b5601fc7b0e311adf838f912c6b31dd8","impliedFormat":1},{"version":"bc636fbc08e0979ceb7eb0731a33000283d77a33b62e1f71ee65be50394e40ba","impliedFormat":1},{"version":"7e0b7f91c5ab6e33f511efc640d36e6f933510b11be24f98836a20a2dc914c2d","impliedFormat":1},{"version":"045b752f44bf9bbdcaffd882424ab0e15cb8d11fa94e1448942e338c8ef19fba","impliedFormat":1},{"version":"2894c56cad581928bb37607810af011764a2f511f575d28c9f4af0f2ef02d1ab","impliedFormat":1},{"version":"0a72186f94215d020cb386f7dca81d7495ab6c17066eb07d0f44a5bf33c1b21a","impliedFormat":1},{"version":"75bbd3be047d539988a0ff0b56384ef7a6a25f3b676ad96bee547d44c31622a7","impliedFormat":1},{"version":"42960001a776b089ade681ab5cfddc936e0afb0615133ec1841f3dee89d3e1bf","impliedFormat":1},{"version":"0aedb02516baf3e66b2c1db9fef50666d6ed257edac0f866ea32f1aa05aa474f","impliedFormat":1},{"version":"da47712b394d944328245482603bc6f416d3949b67c9392279caab595076b510","affectsGlobalScope":true,"impliedFormat":1},{"version":"37d0071d8f0a06dc55c2c5e0ec3391affd4fd107c53410bf358196ec0bf3923f","impliedFormat":1},{"version":"b213dad76ca37fd552274c9499056e1c0d9c1bd38a55bb7f68b22ba6b84c3ad7","impliedFormat":1},{"version":"56ccb49443bfb72e5952f7012f0de1a8679f9f75fc93a5c1ac0bafb28725fc5f","impliedFormat":1},{"version":"20fa37b636fdcc1746ea0738f733d0aed17890d1cd7cb1b2f37010222c23f13e","impliedFormat":1},{"version":"d90b9f1520366d713a73bd30c5a9eb0040d0fb6076aff370796bc776fd705943","impliedFormat":1},{"version":"bc03c3c352f689e38c0ddd50c39b1e65d59273991bfc8858a9e3c0ebb79c023b","impliedFormat":1},{"version":"19df3488557c2fc9b4d8f0bac0fd20fb59aa19dec67c81f93813951a81a867f8","affectsGlobalScope":true,"impliedFormat":1},{"version":"b25350193e103ae90423c5418ddb0ad1168dc9c393c9295ef34980b990030617","affectsGlobalScope":true,"impliedFormat":1},{"version":"bef86adb77316505c6b471da1d9b8c9e428867c2566270e8894d4d773a1c4dc2","impliedFormat":1},{"version":"5a49adaef698b7ad7e6127949fa1b0bbd3d46b7cbd11c54e392a4dcdd51f5190","impliedFormat":1},{"version":"96171c03c2e7f314d66d38acd581f9667439845865b7f85da8df598ff9617476","impliedFormat":1},{"version":"27be6622e2922a1b412eb057faa854831b95db9db5035c3f6d4b677b902ab3b7","impliedFormat":1},{"version":"5c634644d45a1b6bc7b05e71e05e52ec04f3d73d9ac85d5927f647a5f965181a","impliedFormat":1},{"version":"2489bf04d77dc025ba67f49f1a56eb24b9db477d5ff88123d887e163ed1776aa","impliedFormat":1},{"version":"63a7595a5015e65262557f883463f934904959da563b4f788306f699411e9bac","impliedFormat":1},{"version":"4ba137d6553965703b6b55fd2000b4e07ba365f8caeb0359162ad7247f9707a6","impliedFormat":1},{"version":"0b77b819b5417775fccb20c678293cf614c054a5b1a65421a5b933a9124ba998","impliedFormat":1},{"version":"e1f6076688a95bd82deaac740fccbe3cdea0d8a22057cccc9c5bce4398bdd33b","impliedFormat":1},{"version":"9252d498a77517aab5d8d4b5eb9d71e4b225bbc7123df9713e08181de63180f6","impliedFormat":1},{"version":"b1f1d57fde8247599731b24a733395c880a6561ec0c882efaaf20d7df968c5af","impliedFormat":1},{"version":"d7c1bbcddb06dcc8c9184013ace33c0dc71af715ab5987ccb42b903d2ec91193","impliedFormat":1},{"version":"35e6379c3f7cb27b111ad4c1aa69538fd8e788ab737b8ff7596a1b40e96f4f90","impliedFormat":1},{"version":"1fffe726740f9787f15b532e1dc870af3cd964dbe29e191e76121aa3dd8693f2","impliedFormat":1},{"version":"5a3ea721d03a361ccbdd7390ccd75f6e84cbca3a3f01f4b331ecc9af31890c49","impliedFormat":1},{"version":"e7dfaee4af38d45b1cab8a1ee0b3bc1f85ddcf64545ed391d675d78ae6526274","affectsGlobalScope":true,"impliedFormat":1},{"version":"98e2b197bf7fe7800f89c87825e2556d66474869845e97ad9c2b36f347c43539","impliedFormat":1},{"version":"af48e58339188d5737b608d41411a9c054685413d8ae88b8c1d0d9bfabdf6e7e","impliedFormat":1},{"version":"616775f16134fa9d01fc677ad3f76e68c051a056c22ab552c64cc281a9686790","impliedFormat":1},{"version":"65c24a8baa2cca1de069a0ba9fba82a173690f52d7e2d0f1f7542d59d5eb4db0","impliedFormat":1},{"version":"f9fe6af238339a0e5f7563acee3178f51db37f32a2e7c09f85273098cee7ec49","impliedFormat":1},{"version":"1de8c302fd35220d8f29dea378a4ae45199dc8ff83ca9923aca1400f2b28848a","impliedFormat":1},{"version":"77e71242e71ebf8528c5802993697878f0533db8f2299b4d36aa015bae08a79c","impliedFormat":1},{"version":"98a787be42bd92f8c2a37d7df5f13e5992da0d967fab794adbb7ee18370f9849","impliedFormat":1},{"version":"332248ee37cca52903572e66c11bef755ccc6e235835e63d3c3e60ddda3e9b93","impliedFormat":1},{"version":"94e8cc88ae2ef3d920bb3bdc369f48436db123aa2dc07f683309ad8c9968a1e1","impliedFormat":1},{"version":"4545c1a1ceca170d5d83452dd7c4994644c35cf676a671412601689d9a62da35","impliedFormat":1},{"version":"320f4091e33548b554d2214ce5fc31c96631b513dffa806e2e3a60766c8c49d9","impliedFormat":1},{"version":"a2d648d333cf67b9aeac5d81a1a379d563a8ffa91ddd61c6179f68de724260ff","impliedFormat":1},{"version":"d90d5f524de38889d1e1dbc2aeef00060d779f8688c02766ddb9ca195e4a713d","impliedFormat":1},{"version":"07ed3ddab975995eea41b22f3010506fb9f5fb301d04820b07d7a1aee5477d7c","impliedFormat":1},{"version":"969d8b0965849f4bae7cab0ba90bd1e1220e95999c2c6f01117fa7500901c017","impliedFormat":1},{"version":"6ec840ee5e2bc103f557fe38b1d585ee250540468713d7634ee066de372bf332","impliedFormat":1},{"version":"b0309e1eda99a9e76f87c18992d9c3689b0938266242835dd4611f2b69efe456","impliedFormat":1},{"version":"47699512e6d8bebf7be488182427189f999affe3addc1c87c882d36b7f2d0b0e","impliedFormat":1},{"version":"6ceb10ca57943be87ff9debe978f4ab73593c0c85ee802c051a93fc96aaf7a20","impliedFormat":1},{"version":"1de3ffe0cc28a9fe2ac761ece075826836b5a02f340b412510a59ba1d41a505a","impliedFormat":1},{"version":"e46d6cc08d243d8d0d83986f609d830991f00450fb234f5b2f861648c42dc0d8","impliedFormat":1},{"version":"1c0a98de1323051010ce5b958ad47bc1c007f7921973123c999300e2b7b0ecc0","impliedFormat":1},{"version":"ff863d17c6c659440f7c5c536e4db7762d8c2565547b2608f36b798a743606ca","impliedFormat":1},{"version":"5412ad0043cd60d1f1406fc12cb4fb987e9a734decbdd4db6f6acf71791e36fe","impliedFormat":1},{"version":"ad036a85efcd9e5b4f7dd5c1a7362c8478f9a3b6c3554654ca24a29aa850a9c5","impliedFormat":1},{"version":"fedebeae32c5cdd1a85b4e0504a01996e4a8adf3dfa72876920d3dd6e42978e7","impliedFormat":1},{"version":"e297c0a524edee7677939122f90027bfbe5f2698939d9a85728e5044b39c7124","impliedFormat":1},{"version":"cdf21eee8007e339b1b9945abf4a7b44930b1d695cc528459e68a3adc39a622e","impliedFormat":1},{"version":"bc9ee0192f056b3d5527bcd78dc3f9e527a9ba2bdc0a2c296fbc9027147df4b2","impliedFormat":1},{"version":"b62381cae176db34f003cc6172ee8f3e0122014889d66391aa73698105cf4934","impliedFormat":1},{"version":"1d9c0a9a6df4e8f29dc84c25c5aa0bb1da5456ebede7a03e03df08bb8b27bae6","impliedFormat":1},{"version":"84380af21da938a567c65ef95aefb5354f676368ee1a1cbb4cae81604a4c7d17","impliedFormat":1},{"version":"1af3e1f2a5d1332e136f8b0b95c0e6c0a02aaabd5092b36b64f3042a03debf28","impliedFormat":1},{"version":"30d8da250766efa99490fc02801047c2c6d72dd0da1bba6581c7e80d1d8842a4","impliedFormat":1},{"version":"03566202f5553bd2d9de22dfab0c61aa163cabb64f0223c08431fb3fc8f70280","impliedFormat":1},{"version":"41eb514d9ce0a6e87957f08a4b7af70d93f87637f37dee706e2d92a6601c25a9","impliedFormat":1},{"version":"e7765aa8bcb74a38b3230d212b4547686eb9796621ffb4367a104451c3f9614f","impliedFormat":1},{"version":"1de80059b8078ea5749941c9f863aa970b4735bdbb003be4925c853a8b6b4450","impliedFormat":1},{"version":"1d079c37fa53e3c21ed3fa214a27507bda9991f2a41458705b19ed8c2b61173d","impliedFormat":1},{"version":"5bf5c7a44e779790d1eb54c234b668b15e34affa95e78eada73e5757f61ed76a","impliedFormat":1},{"version":"5835a6e0d7cd2738e56b671af0e561e7c1b4fb77751383672f4b009f4e161d70","impliedFormat":1},{"version":"4b7f74b772140395e7af67c4841be1ab867c11b3b82a51b1aeb692822b76c872","impliedFormat":1},{"version":"7bd01f0f28cd3aeb2046274d85208e245965f6f2948edf4f7b2057bcf9f22ccc","impliedFormat":99},{"version":"d2f2cf2b8cc92bea913cda4a076e0f790b23a21e84f989d12f0116a7fe3906e0","impliedFormat":99},{"version":"6de125ea94866c736c6d58d68eb15272cf7d1020a5b459fea1c660027eca9a90","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5b20bc288ee49989c95b20847fc93b96bf61cc0845598897a6a53a967dd7d07","affectsGlobalScope":true,"impliedFormat":1},{"version":"064ac1c2ac4b2867c2ceaa74bbdce0cb6a4c16e7c31a6497097159c18f74aa7c","impliedFormat":1},{"version":"3dc14e1ab45e497e5d5e4295271d54ff689aeae00b4277979fdd10fa563540ae","impliedFormat":1},{"version":"d3b315763d91265d6b0e7e7fa93cfdb8a80ce7cdd2d9f55ba0f37a22db00bdb8","impliedFormat":1},{"version":"b789bf89eb19c777ed1e956dbad0925ca795701552d22e68fd130a032008b9f9","impliedFormat":1},{"version":"42fb3e6be3cf1e414dd7f85f41952e01d3d1247e4bc2837c3acefbf8df15848d","affectsGlobalScope":true},"7b550dda9686c16f36a17bf9051d5dbf31e98555b30d114ac49fc49a1e712651",{"version":"bd71532d2ef9685100fc1d5af27700e00c124bcef822714de033d1ef8ceae68d","impliedFormat":1},{"version":"1500f8d59bcddb77e890fe5b7032496ce022480e842f06cbdc373b1e0351b4a4","impliedFormat":1},{"version":"3e9d75b64d36ee20eae2089fab7de08c37d851a61052431a2ad748836a676edf","impliedFormat":1},{"version":"1fd82d80d129bc16cae6ca3f86fd5eeb2f04caf08209a3130928e8c09f894962","impliedFormat":1},{"version":"6a15f821211db88f7bb36c7278d113ef014804ce53689ef8e1a207dce0c848de","impliedFormat":1},{"version":"5e3e75a4982fee4e3435e6b517e7efddcd3c0508d148e35707b78522a76edeb8","impliedFormat":1},{"version":"752c24b6d7e82f3397f60ded02915bfe90df06370d0dc991c3d491ac2b2083cc","impliedFormat":1},{"version":"ddc11f385daa285bb0038898cef607ec492c7072e92df84d52df9d05a7092458","impliedFormat":1},{"version":"a22806a27f1b4c5d5616a87a62a3d89ad5b296fac68ae0a897429eb212ea3136","impliedFormat":1},{"version":"7c2c53a02a478ca87cab2342d35702e201775143cebee8b368372a181209decd","impliedFormat":1},{"version":"181694d1f7a579e57c55efb1418904efc513ebce0b08601e94f288674104359e","impliedFormat":1},{"version":"7e9b2581de465503aad53611709c61a3becd372b86c43bf9863f5715a1616fd5","impliedFormat":1},{"version":"d415bfa0853e03226a2342ab7ee3ef0d085e6d94e7dde869fe745ab11a8b3cc6","impliedFormat":1},{"version":"eed0cfbd238f0f9def37d26d793393c8cfb59afe28ecd1a4639a58905abdadf1","impliedFormat":1},{"version":"014705d98454b8d9f5bbf5c7dffa2079d151866d6e12d552e5faa2df8ee2fd5b","impliedFormat":1},{"version":"ab1296040de80ee4c7cfa5c52ff8f3b34a3f19a80ba4c9d3902ee9f98d34b6b5","impliedFormat":1},{"version":"952dc396aaf92bf4061cefdeb1a8619e52a44d7c3c0cc3bad1a1ddc6c2b417e4","impliedFormat":1},{"version":"416eec23b202526964d0f5ebf0ca9e0d8c08e4260bc0946143b66f1a1e17b787","impliedFormat":1},{"version":"bcb14be213a11d4ae3a33bd4af11d57b50a0897c0f7df0fa98cd8ee80a1b4a20","impliedFormat":1},{"version":"116b961153d86b304e788884c4a05630fe98423bcfc14c7a7ea8d542092aac10","impliedFormat":1},{"version":"f17c007d95f666ecf664ff13ca8efc196980597c4ca152a0baaa82b2525e2328","impliedFormat":1},{"version":"02ff761f690163463a4e7594d666e4c73995c4f72746a5967b3477d9ecf62c4e","impliedFormat":1},{"version":"84206a85be8e7e8f9307c1d5c087aedb4d389e05b755234aa8f37cc22f717aaf","impliedFormat":1},{"version":"45b1df23c0a6e5b45cb8fc998bd90fa9a6a79f2931f6bb1bd15cf8f7efd886d0","impliedFormat":1},{"version":"5f318c52eac7a06cd901b55e8e930d2c3dd51b7dbdca01b130e61c3e9b8b4f0a","impliedFormat":1},{"version":"f5b284ceadf71472a8fbf555dbd91079cce0ce7ba54f65dd63d18deec84cd11d","impliedFormat":1},{"version":"11f848107bc2f7535adccd37b55f018a0f18abbf5a1cd276f5776779618c37ed","impliedFormat":1},{"version":"8f47ed340254a8ccdf37035d9cba70f53a4d899804da840b47f4c3b07a7b2063","impliedFormat":1},{"version":"e79e9c45db9751fa7819ee7ba2eadbe8bface0b0f5d4a93c75f65bbb92e2f5c5","impliedFormat":1},{"version":"50b54f6dac82c34e8c12b35eac220ccc178f51e84813179826da0e3e96283af9","impliedFormat":1},{"version":"8acbcc0484e6495472d86da47abe9765541a2ecbaf88f4fecdab40670aeed333","impliedFormat":1},{"version":"6fd6fcadeab3b973ea52c2dbfcc960f23e086ea3bc07aaa0e1c6d0d690f8e776","impliedFormat":1},{"version":"7eed214004cc8d86022792c07075758fe61847c70c6c360235f3960492fd6155","impliedFormat":1},{"version":"a59fdd5525468b9afe1fef2238f5b990c640723bd430c589b4c963d576209be8","impliedFormat":1},{"version":"23c0f554c1fab508370678aca41cf9b1d6a6a00069e499d803d43387067fea9d","impliedFormat":1},{"version":"016f140691ab5fea3357a89c6a254ff8ada91173d22d36921bb8295fe5d828ab","impliedFormat":1},{"version":"ee219b4332439451cbf9ee34584e8a7e67be35d8ed3d1b292769a09483a102ce","impliedFormat":1},{"version":"305c2373ff739ceca5780a204766c76617e74b551f6fc646a358b5f687a77333","impliedFormat":1},{"version":"61c5821b70e113b15f24593e7061e6302635448ae700d813f06560ca5f140727","impliedFormat":1},{"version":"1e127052ae269b7f278b828978b962eb93bbc6134c0bda8b03e3f39df5c3865d","impliedFormat":1},{"version":"716cb84b8b410c52de9e7b310b2125cbc390a7c59e929a5c0a29514345b9ba9f","impliedFormat":1},{"version":"edabf50cfd2310b9af7214ecb821e0af6c43f66d8b5fb297d532f27bba242088","impliedFormat":1},{"version":"1687d528ca6c51a635f9a4022973f472221700464be83810788238a595cb588c","impliedFormat":1},{"version":"32162214c3f25748f784283a3f6059ad3d09d845faccc52b5c2cf521eace6bd6","impliedFormat":1},{"version":"4a13f78f265e7deb260bd0cc9063b9927a39f99f7cc8bb62b0310aa3a1df3efd","impliedFormat":1},{"version":"c04c509a58cc86b654326592aca64d7ceab81a208735c391dd171ca438114ea9","impliedFormat":1},{"version":"74c6a2352b00e41d352cc23e98e8d6313d5631738a5ea734f1c7bff0192b0f47","impliedFormat":1},{"version":"fc94bcfb823846ba8b4c1727520a3d509c9f517d4e803dfb45e6a71b41000eb8","impliedFormat":1},{"version":"0f6f23cdfb415a7c1c1d825a29d7750a4d65908e519ceff44feca8eb7f9a8ca4","impliedFormat":1},{"version":"e4c09f8a818679f80931fae1d0ca3dec192708c510c9f33fe56d71abe8337c59","impliedFormat":1},{"version":"b1cc0dfdc0455283ccf003185dbbc51e2c15299aff343413310eaf45c4572323","impliedFormat":1},{"version":"6efbec437d1022c2fd82055687710f25019fe703528a7033a3fc6fbfc08b1361","impliedFormat":1},{"version":"2a343c23d4be0af3d5b136ad2009a40d6704c901b6b385cc4df355cf6c0acfaa","impliedFormat":1},{"version":"af4beeac0e879b673f8b874e5fe013bdebfb17f0213142e5037ac90aea86d636","impliedFormat":1},{"version":"c620ccd98c18e71d7e39a79bea47b4f4724c3a1f30f78d2cdd03cf707ae64e4d","impliedFormat":1},{"version":"150f375c7f5c01a15d531c961468f1a04a1c21dc4e4a372ca4661700d66cc9c2","impliedFormat":1},{"version":"8aabc7d8676ba6098fc30c95eca03a331df41ac4c08213207a9329998f32d1b0","impliedFormat":1},{"version":"9d8464e1c6b7f30c4121d28b11c112da81c496c65e65948fbc7d5b5f23b50cdc","impliedFormat":1},{"version":"6b88a632af960a4140730527eb670c3d3e6eae0da573f0df2849909d9bb3e5f3","impliedFormat":1},{"version":"ab2f4f2d874d18918f0abb55e5a89a36ab875e01e3e9efa6e19efbd65295800b","impliedFormat":1},{"version":"2212906ab48ae8891080a68a19ba3ab53a4927d360feb34120051aff4ae980ae","impliedFormat":1},{"version":"309ea20e86462f6f0a60ea7b1a35e70443054cd3e067a3b1a7ec9e357b12c4b4","impliedFormat":1},{"version":"61be4fb5600f49c7f2f5ade98f4d348d72493702dd6ba030275c23b970af3290","impliedFormat":1},{"version":"7461653b170e68cbe4be7bffaf2614ec832f31c99e2e49e4001f02c608ea59cb","impliedFormat":1},{"version":"bfb3200df4675c3b0c4a9346c42df10bd0cc28191e5c4bab51cc3b720b7a9e33","impliedFormat":1},{"version":"415d86471331c03ea56dd1f1bc3316090eef24a1b65a129a14579a97dff19539","impliedFormat":1},{"version":"743f84b507c5f9277e37f5e99b4587f03b9ef871625f7b1c10713ddc57733fca","impliedFormat":1},{"version":"75b894c18d2ee4c8b61e1c7dcfd475e51422ff0b8ce166874e7ab3447092ed25","impliedFormat":1},{"version":"22a1be63fb29b28628376bf90a0cb1706a9e10eda46cacfddbf544913c5d0b4d","impliedFormat":1},{"version":"8223f879f70edb086a7f0ef541eb87fa987c006b28f51aaa4a12b51bb82229f9","impliedFormat":1},{"version":"01ef7c7fc81a6064f52f4830b7c29ca0fcc00b1024dd5d12abc01d93e4266914","impliedFormat":1},{"version":"57610357bc1c035d31aac6cceb4d52655b4326c138a7bcf34d2aa71b33ed6157","impliedFormat":1},{"version":"122c203d7674cd08bf6962dafd4286b3319d8267cf6f513d3b42758f20056fa8","impliedFormat":1},{"version":"da242ab9bfe5833acf730ade2f6966aa207ef4d372de8bc6498b723fef422846","impliedFormat":1},{"version":"ac737900a71c3e090585b62b58864a490066dd4d5b3920fea19aeb5895df0407","impliedFormat":1},{"version":"7a888b10a2b8b0f2980f4c8d6f95d8a3dab3cf936b0bbfaf90b8950c619f0152","impliedFormat":1},{"version":"6fd8108448d9a07abbc520d1041e4ef6e696aa8ba00743267bcad319f0502fc6","impliedFormat":1},{"version":"f6bfdca1b0aee97e70167a35b3aba08cac13280ce8d61d5fd629bce8f44261b0","impliedFormat":1},{"version":"a039d5d54c4d608941aaab6a5d8a24786f03ebe1f810feb6026e184f35b41cf8","impliedFormat":1},{"version":"01ea567dd2334d0707a4cebaa7b1dd035473cfe87c77b0e10aed7e35692d51b2","impliedFormat":1},{"version":"5ea29d748e694add73212d6076aac98b15b87fd2fe413df3bf64c93e065b1524","impliedFormat":1},{"version":"94db805ae4e2a5f805e09458ba2c89c572056f920116ee65beba8c15090b8193","impliedFormat":1},{"version":"df4b5e6fe2a91140a1ed2f8f94e01d4c836a069cee23a2d0a83a00cf649f8505","impliedFormat":1},{"version":"5acef0f6a0afa32b582a7ad0a13688466bece4544ef3c8506131bd7342f528fe","impliedFormat":1},{"version":"4dc9b86feaac2ee1eafa02bd550f5851de7ac604fbf661278b14e40443d9d0e4","impliedFormat":1},{"version":"43879c8f3e8a599baeb696ec2319cafb6458ce1b0045cb2d98699f38ccdaa630","impliedFormat":1},{"version":"d85dda762b52fd95ac7456ab33be540ef9e24339370ab3981b8a4c68232259b4","impliedFormat":1},{"version":"fb0d83c2e2dc390a2a0f5c55834a301fe1cbc1021062d75a27059893f307bcc5","impliedFormat":1},{"version":"17aadaec93ee74b8c244050bd3a8c671c2968307fbef3f375483a185a2462681","impliedFormat":1},{"version":"401fa7edce893a618c09a1bbf3828e688057e4e46ffe020113ce9552cb6bc2d0","impliedFormat":1},{"version":"2e2cf6354f64725b2826804843bdffa041ca7600fef3d29b06b9fa04b96bf99f","impliedFormat":1},{"version":"9aedd5430b48e1ef15ca37a53699394be1aedfb75916eaa7d26f78ab8ef2dbed","impliedFormat":1},{"version":"482603b60ae36425005dda60408d32b75c49ef4b2dd037f64c9ccad0ee320a9d","impliedFormat":1},{"version":"d72f9fcc99d533dcc39bbf01d48f11eb58f5356ff20734c55fe7ae2db0d71720","impliedFormat":1},{"version":"c18304517d056cdf57c142f6bd662ff92672e641693b3cf89208a89ebf7a0141","impliedFormat":1},{"version":"37cb02c345b5315b2e47f41cb6c5946b2a4dbcb033cde3988b793730e343925f","impliedFormat":1},{"version":"950472b97087047840647e295474f799c98a3ac092977e01e7c5f669b88a88d5","impliedFormat":1},{"version":"5defecd97ccc564057ed56028d4ff752ce20fe2c55d89a21331e92494d807f04","impliedFormat":1},{"version":"3f61c190904ca6eae98904614cff4a77a7581bffde53b06846018b0377afbfa8","impliedFormat":1},{"version":"b6ce1e776bff7d6914ba88fc0c079d041cd7a011c8f72e7a53e6aa89c6fb88bc","impliedFormat":1},{"version":"37f5e7d5ba458ea6343ce2884b1278ec5a23c972f021db17c5f47d91b26a1f7a","impliedFormat":1},{"version":"f427ac544498d9c749073ed6bdd314cbbd87240ca9e739db1c7fa2cc1f639ea5","impliedFormat":1},{"version":"41992c944708bdff74908aff1de6fa2d24488325a1f6cace3e1a059c4400976b","impliedFormat":1},{"version":"02ff761f690163463a4e7594d666e4c73995c4f72746a5967b3477d9ecf62c4e","impliedFormat":1},{"version":"84dc97f65f9455619d0721a7e8c9bcafe25d25e4e40d175c09b4a5fa6b012c11","impliedFormat":1},{"version":"005f10cafe0939ae8d6a98e19c4ddf8b59faf3f9ae38dfa5907b82b9a6cb4de9","impliedFormat":1},{"version":"089c056ad8ecb34ee72cb831491ab72c214d8fb7ecf94b96a1b4736ab54397a1","impliedFormat":1},{"version":"e643ef3093cba63af26396ae8dc58dc542c241027749dcdf715f3d3209f79a03","impliedFormat":1},{"version":"f40e6338b8137033a5b4efbe01de45a4399f2c304648eace01d852cd05eb861e","impliedFormat":1},{"version":"89d879fae02696e226dbcb7444d6153158fa264bb646071988f19a2e422b314f","impliedFormat":1},{"version":"57de3f0b1730cf8439c8aa4686f78f38b170a9b55e7a8393ae6f8a524bb3ba5a","impliedFormat":1},{"version":"e933bd300ea4f6c724d222bf2d93a0ae2b1e748baa1db09cb71d67d563794b2d","impliedFormat":1},{"version":"c43d0df83d8bb68ab9e2795cf1ec896ff1b5fab2023c977f3777819bc6b5c880","impliedFormat":1},{"version":"bf810d50332562d1b223a7ce607e5f8dc42714d8a3fa7bf39afe33830e107bf7","impliedFormat":1},{"version":"f025aff69699033567ebb4925578dedb18f63b4aa185f85005451cfd5fc53343","impliedFormat":1},{"version":"3d36c36df6ce6c4c3651a5f804ab07fe1c9bb8ce7d40ef4134038c364b429cb3","impliedFormat":1},{"version":"e9243dd3c92d2c56a2edf96cbce8faf357caf9397b95acaa65e960ad36cb7235","impliedFormat":1},{"version":"a24a9c59b7baecbb85c0ace2c07c9c5b7c2330bb5a2ae5d766f6bbf68f75e727","impliedFormat":1},{"version":"3c264d6a0f6be4f8684cb9e025f32c9b131cca7199c658eea28f0dae1f439124","impliedFormat":1},{"version":"d3cd789b0eebd5cebde1404383fd32c610bec782c74a415aa05ab3593abc35c8","impliedFormat":1},{"version":"8c1babb42f52952a6593b678f4cfb4afea5dc91e5cfaf3ca922cdd2d23b1277a","impliedFormat":1},{"version":"04ebb965333800caba800cabd1e18b02e0e69ab6a6f8948f2d53211df00a193c","impliedFormat":1},{"version":"f8e2be107b3e756e0a1c4f5e195e69dce69d38d0ff5c0b0509933e970c6d915b","impliedFormat":1},{"version":"309e580094520f9675a85c406ab5d1de4735f74a38f36690d569dbc5341f36a8","impliedFormat":1},{"version":"c2fa79fd37e4b0e4040de9d8db1b79accb1f8f63b3458cd0e5dac9d4f9e6f3f1","impliedFormat":1},{"version":"4f0d1a7e2a5a8b85d69f60a7be2a6223827f5fec473ba2142279841a54e8a845","impliedFormat":1},{"version":"ae2fb62b3647083fe8299e95dbfab2063c8301e9a626f42be0f360a57e434797","impliedFormat":1},{"version":"f53d803d9c9c8acdbb82ef5c6b8f224d42be50e9ab8bc09c8a9a942717214f9a","impliedFormat":1},{"version":"d2d70166533a2233aa35977eecea4b08c2f0f2e6e7b56c12a1c613c5ebf2c384","impliedFormat":1},{"version":"1097820fae2d12eb60006de0b5d057105e60d165cf8a6e6125f9876e6335cde7","impliedFormat":1},{"version":"8f62905f50830a638fd1a5ff68d9c8f2c1347ff046908eeb9119d257e8e8ae4a","impliedFormat":1},{"version":"8b4d34279952175f972f1aa62e136248311889148eb40a3e4782b244cece09f3","impliedFormat":1},{"version":"d3c3cc0840704fe524dbe8a812290bfd303e43d3bd43dcaac83ee682d2e15be0","impliedFormat":1},{"version":"71725ba9235f9d2aa02839162b1df2df59fd9dd91c110a54ea02112243d7a4d9","impliedFormat":1},{"version":"80af0c272dcb64518f7768428cdf91d21966a7f24ed0dfc69fad964d4c2ed8c1","impliedFormat":1},{"version":"1dc9702aa16e3ada78c84aa96868a7e5502001c402918b6d85ed25acbe80fd51","impliedFormat":1},{"version":"35f891c1bc36c97469df06316c65a718956515c8b3bdbeb146b468c02493ef13","impliedFormat":1},{"version":"2e9b05d7db853315f44d824e13840e6fdf17d615d13170b5f5cf830442018dcd","impliedFormat":1},{"version":"75efaf7dee18ee6d8f78255e370175a788984656170872fd7c6dfba9ed78e456","impliedFormat":1},{"version":"45801e746ccc061d516dd9b3ada8577176382cbf1fa010921211a697cc362355","impliedFormat":1},{"version":"529f07b003aa6d6916e84a5c503c6dc244280bed1d0e528d49c34fe54960c8dc","impliedFormat":1},{"version":"a4d6781f2d709fe9f1378181deb3f457036c7ebc7968a233f7bc16f343b98ced","impliedFormat":1},{"version":"94d6b9e12ee034b99c3bfff70b5f92df1fbcb1d8ebcb46fd940047fe1bd68db9","impliedFormat":1},{"version":"d0d843664c2251b877ab4d7e67fea4054bad5a33b1f8cce634f0acb4397e4ddb","impliedFormat":1},{"version":"6ae375916cb1ab039b0d8191a1b2a4c5ee7d54ca55523edf9c648751d9bf4f3f","impliedFormat":1},{"version":"cfa00459332e385bd6d999dc1d87adeec5ed7d383bde9f7ebf61159d370e5938","impliedFormat":1},{"version":"5b016a20523753fb55e44223ad7e4f2728a3d6b83771e8f2b52a3212d612f494","impliedFormat":1},{"version":"996e31673fe2d4cbd4708d14dc547f79b694e40d58622c982eb26e15eabd78eb","impliedFormat":1},{"version":"27f91d5df194be07adba9331db4861ebce0250d2401c56d4a56979fa2d8d9685","impliedFormat":1},{"version":"f9a8a74a3277dba5994b7830faa0a72ccbbdde4edc546579ea5f3bfdd833f1c3","impliedFormat":1},{"version":"6396e07ac9d5653e2ea225c491e7d5b548165eddb49e4293dcad42445fdd2b5b","impliedFormat":1},{"version":"4356f53b3bcd48f4253465746ccdb0baa38c6bf929712349bffea5426e59c2f4","impliedFormat":1},{"version":"c07dcc52ff4bf2fe6b9027067089b2696ea8debfab01c5a89567b57c85a8143a","impliedFormat":1},{"version":"01c7b17b4106823329939ac4971770aa720b35749401312a9c6610ba61a689f3","impliedFormat":1},{"version":"53902be908625a56e222e1e005948b242822863c62bbd8fcd1ea047da47ac29e","impliedFormat":1},{"version":"6ff08a01c33e70289d44268bb3954c9f3c71162085b829dc323279fbf3a70b2a","impliedFormat":1},{"version":"35a7696566e4ceabf7bb6e9edf0256c8e8411783565c26511033e2edda9e3911","impliedFormat":1},{"version":"88ab5c0465b89250245fb97b17192adbd7d3ee26b26e29f948a410c4dc554663","impliedFormat":1},{"version":"2368808dcbd42d82a70cccb12a06d6e20022f65e1feaf0251789ee24a85e0e67","impliedFormat":1},{"version":"25f989f57da0150fc531eb60696097517c300e41c48f9a35cf8c39a2884e9e9e","impliedFormat":1},{"version":"801ffcacdae7f0a2486c3ca2cf59022b289519e660a4001acc81cde94080c262","impliedFormat":1},{"version":"eec90c87a90d6f26e36ba3d1048957132682558ef88d0128241b83cee373ede9","impliedFormat":1},{"version":"706623c288a5e8a35eab6317786cc2b8e0e1753f5c3f0d57fe494c1ae269e8a3","impliedFormat":1},{"version":"932cade1c5802123b5831f332ad8a6297f0f7d14d0ee04f5a774408f393e2200","impliedFormat":1},{"version":"95874c2af12afd52e7042a326aef0303f3a6f66733c7f18a88a9c6f3fa78d2ee","impliedFormat":1},{"version":"2859adaa4f2db3d4f0fc37ad86f056045341496b58fba0dbc16a222f9d5d55b1","impliedFormat":1},{"version":"655ed305e8f4cb95d3f578040301a4e4d6ace112b1bd8824cd32bda66c3677d1","impliedFormat":1},{"version":"8511f1d1ea7b35c09639f540810b9e8f29d3c23edbf0c6f2a3f24df9911339a0","impliedFormat":1},{"version":"2ce02eb3ddb9b248ff59ca08c88e0add1942d32d10e38354600d4d3d0e3823f5","impliedFormat":1},{"version":"a8db2bf4766dc9ca09b626483c0c78b8f082f9e664b1aed5775277ca91966a32","impliedFormat":1},{"version":"21489ccc5387a3b7ec72288f35825eef99d1550cb5cf4448655f60788c2dd2bf","impliedFormat":1},{"version":"b97c43cc5c758375c762546242bd2e5dfecea495d11e7ab8670cdf7800a78a55","impliedFormat":1},{"version":"76e8204d6c3f2411c8b0f3e0db34e190880acbc525be4facf882abac3c6e9868","impliedFormat":1},{"version":"ae11c2830121324c7f7b3c2c72f6c96eaeee9bd36217893531f965be93940b01","impliedFormat":1},{"version":"3a8d1eb7be079997217f3343f26d11af23d1e330ae8edaa15d0ee6b3663405bd","impliedFormat":1},{"version":"75191cd4f498eecaa71d357b68f198aabff6e9aeb094783bc2e88224f2440e91","impliedFormat":1},{"version":"68ab7ba45dd13e321f9b4ffa2cc9092c66c8a32eac53f8268ef992c9d83bddae","impliedFormat":1},{"version":"df2f57459fcc94dcfbc999311ce1927d35accdbee5bc79751467f16121ee99b7","impliedFormat":1},{"version":"a0c1105a4dd57d412dceaa7cc2211e9ee7a9102849d69ea6610e690eba6eb24c","impliedFormat":1},{"version":"069953e197846ae2c271627a01f114623b58eac2fd40bc0b49058c7a2cb79d22","impliedFormat":1},{"version":"506b6ed00eaf46798979021e707f4e0a9b5efa39600a0d6fa8d4ba7a96d3331a","impliedFormat":1},{"version":"48d5a3642727e962342b760621baa9b30c05b0c1a327ad1832a53b2f580c62c9","impliedFormat":1},{"version":"655a1702bca6a1c60b932118cf142bcf3d4f246628cbb8a7a1160205f45016e7","impliedFormat":1},{"version":"6dcf9ebaf569318a67670d24958ac49fbb820114ec939c6a019405dd61468f33","impliedFormat":1},{"version":"cec2aaab4a551be0935d6166cb7f098ccfe2172c10e611c9321b3b676a53c496","impliedFormat":1},{"version":"3f08c2595b48fa8b71831fdff3af41bfce96eb48cec81ea6d2d9d9d957cd97fe","impliedFormat":1},{"version":"61dcb5357451ea04ddd06391bbc87ecd9f6b8397d2a386ea40df3b6806141c99","impliedFormat":1},{"version":"f17f889f40110c2dd21e7b8a067af42432a1c34fb16a9e0c8b2c4a3a735a54ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"47b468b147b355fdf30059f6ad308d7d85161c29ebe7cc5d0770ab8191938d98","impliedFormat":1},{"version":"e1eb5f70580ac243224881474cc32f499023a433c06ffabc40bbb32ca7baab1a","impliedFormat":1},{"version":"8fc7c65d1d135f16e083467519ec5e8e1cd6e807ab6448d8c6df5bebde9263cc","signature":"8b4f29d3434820dc290625b2231b79239d7633e0b711c784e9a515ef5bde4cc7"},{"version":"625fa438795e6394a9331dc9d9db8f941e04240dd05b5d02609597608afd0a9a","signature":"dac82def0889da4788920859546b62313bdbb0099d367b33cc52c9f0afc49314"},{"version":"4ee1655397c6a2fdb7b2f6f216beafc197c0d6cdc6d1d8935cd943941fbfb8f6","signature":"12e9ee117b4ecc86558bfa54b7129e86990581e4ff4cff350e04ad1f7f5fd7f1"},{"version":"bd5c3906d1bb096b7c044419aa00d28407e9fb87b15f721ad83fa11fab684bba","signature":"6ed06215475f95a208f003c7a3e86678aee8f082964886aa4d4b585a6024dff9"},{"version":"151ff381ef9ff8da2da9b9663ebf657eac35c4c9a19183420c05728f31a6761d","impliedFormat":1},{"version":"ee70b8037ecdf0de6c04f35277f253663a536d7e38f1539d270e4e916d225a3f","affectsGlobalScope":true,"impliedFormat":1},{"version":"a660aa95476042d3fdcc1343cf6bb8fdf24772d31712b1db321c5a4dcc325434","impliedFormat":1},{"version":"282f98006ed7fa9bb2cd9bdbe2524595cfc4bcd58a0bb3232e4519f2138df811","impliedFormat":1},{"version":"6222e987b58abfe92597e1273ad7233626285bc2d78409d4a7b113d81a83496b","impliedFormat":1},{"version":"cbe726263ae9a7bf32352380f7e8ab66ee25b3457137e316929269c19e18a2be","impliedFormat":1},{"version":"8b96046bf5fb0a815cba6b0880d9f97b7f3a93cf187e8dcfe8e2792e97f38f87","impliedFormat":99},{"version":"bacf2c84cf448b2cd02c717ad46c3d7fd530e0c91282888c923ad64810a4d511","affectsGlobalScope":true,"impliedFormat":1},{"version":"402e5c534fb2b85fa771170595db3ac0dd532112c8fa44fc23f233bc6967488b","impliedFormat":1},{"version":"52dcc257df5119fb66d864625112ce5033ac51a4c2afe376a0b299d2f7f76e4a","impliedFormat":1},{"version":"e5bab5f871ef708d52d47b3e5d0aa72a08ee7a152f33931d9a60809711a2a9a3","impliedFormat":1},{"version":"e16dc2a81595736024a206c7d5c8a39bfe2e6039208ef29981d0d95434ba8fcf","impliedFormat":1},{"version":"cc4a4903fb698ca1d961d4c10dce658aa3a479faf40509d526f122b044eaf6a4","impliedFormat":1},{"version":"19ee8416e6473ed6c7adb868fa796b5653cf0fa2a337658e677eaa0d134388c3","impliedFormat":1},{"version":"1328ab4e442614b28cdb3d4b414cf68325c0da0dca07287a338d0654b7a00261","impliedFormat":1},{"version":"a039dc21f045919f3cbee2ec13812cc6cc3eebc99dae4be00973230f468d19a6","impliedFormat":1},{"version":"3fbe57af01460e49dcd29df55d6931e1672bc6f1be0fb073d11410bc16f9037d","impliedFormat":1},{"version":"f760be449e8562ec5c09bb5187e8e1eabf3c113c0c58cddda53ef8c69f3e2131","impliedFormat":1},{"version":"44325ed13294fce6ab825b82947bbeed2611db7dad9d9135260192f375e5a189","impliedFormat":1},{"version":"e392e8fb5b514eafc585601c1d781485aa6dd6a320e75daf1064a4c6918a1b45","impliedFormat":1},{"version":"46e4a36e8ddbdfb4e7330e11c81c970dc8b218611df9183d39c41c5f8c653b55","impliedFormat":1},{"version":"370bde134aa8c2abc926d0e99d3a4d5d5dba65c6ee65459137e4f02670cbf841","impliedFormat":1},{"version":"6332f565867cf4a740a70e30f31cefba37ef7cebcf74f22eab8d744fde6d193e","impliedFormat":1},{"version":"2977b7884aedc895a1d0c9c210c7cf3272c29d6959a08a6fa3ff71e0aff08175","impliedFormat":1},{"version":"17f2922d41ddd032830a91371c948cd9ce903b35c95adca72271a54584f19b0b","impliedFormat":1},{"version":"3eed76ede2a1a14d7c9bb0a642041282dcc264811139d3dd275c9fe14efc9840","impliedFormat":1},{"version":"e3cf0611709328b449ec13f8c436712d62003620ce480139fae46ce001c2ee9f","impliedFormat":1},{"version":"8d369483f0c2b9ee388129cfdb6a43bc8112b377e86a41884bd06e19ce04f4c1","impliedFormat":99},{"version":"82e687ebd99518bc63ea04b0c3810fb6e50aa6942decd0ca6f7a56d9b9a212a6","impliedFormat":99},{"version":"7f698624bbbb060ece7c0e51b7236520ebada74b747d7523c7df376453ed6fea","impliedFormat":1},{"version":"8f07f2b6514744ac96e51d7cb8518c0f4de319471237ea10cf688b8d0e9d0225","impliedFormat":1},{"version":"257b83faa134d971c738a6b9e4c47e59bb7b23274719d92197580dd662bfafc3","impliedFormat":99},{"version":"d2e64a6f25013b099e83bfadb2c388d7bef3e8f3fdb25528225bbc841e7e7e3a","impliedFormat":99},{"version":"369ba5259e66ca8c7d35e3234f7a2a0863a770fdb8266505747c65cf346a0804","impliedFormat":99},{"version":"64d984f55025daf604f670b7dfd090ea765f2098aee871174ef2ee3e94479098","impliedFormat":99},{"version":"f147b6710441cf3ec3234adf63b0593ce5e8c9b692959d21d3babc8454bcf743","impliedFormat":99},{"version":"e96d5373a66c2cfbbc7e6642cf274055aa2c7ff6bd37be7480c66faf9804db6d","impliedFormat":99},{"version":"02bcdd7a76c5c1c485cbf05626d24c86ac8f9a1d8dc31f8924108bbaa4cf3ba9","impliedFormat":99},{"version":"c874ab6feac6e0fdf9142727c9a876065777a5392f14b0bbcf869b1e69eb46b5","impliedFormat":99},{"version":"7c553fc9e34773ddbaabe0fa1367d4b109101d0868a008f11042bee24b5a925d","impliedFormat":99},{"version":"9962ce696fbdce2421d883ca4b062a54f982496625437ae4d3633376c5ad4a80","impliedFormat":99},{"version":"e3ea467c4a7f743f3548c9ed61300591965b1d12c08c8bb9aaff8a002ba95fce","impliedFormat":99},{"version":"4c17183a07a63bea2653fbfc0a942b027160ddbee823024789a415f9589de327","impliedFormat":99},{"version":"3e2203c892297ea44b87470fde51b3d48cfe3eeb6901995de429539462894464","impliedFormat":99},{"version":"c84bf7a4abc5e7fdf45971a71b25b0e0d34ccd5e720a866dd78bb71d60d41a3f","impliedFormat":99},{"version":"e01ea380015ed698c3c0e2ccd0db72f3fc3ef1abc4519f122aa1c1a8d419a505","impliedFormat":99},{"version":"5ada1f8a9580c0f7478fe03ae3e07e958f0b79bdfb9dd50eeb98c1324f40011b","impliedFormat":99},{"version":"a8301dc90b4bd9fba333226ee0f1681aeeff1bd90233a8f647e687cb4b7d3521","impliedFormat":99},{"version":"e3225dc0bec183183509d290f641786245e6652bc3dce755f7ef404060693c35","impliedFormat":99},{"version":"09a03870ed8c55d7453bc9ad684df88965f2f770f987481ca71b8a09be5205bc","impliedFormat":99},{"version":"e6233e1c976265e85aa8ad76c3881febe6264cb06ae3136f0257e1eab4a6cc5a","impliedFormat":99},{"version":"2cdd50ddc49e2d608ee848fc4ab0db9a2716624fabb4209c7c683d87e54d79c5","impliedFormat":99},{"version":"e431d664338b8470abb1750d699c7dfcebb1a25434559ef85bb96f1e82de5972","impliedFormat":99},{"version":"2c4254139d037c3caca66ce291c1308c1b5092cfcb151eb25980db932dd3b01a","impliedFormat":99},{"version":"970ae00ed018cb96352dc3f37355ef9c2d9f8aa94d7174ccd6d0ed855e462097","impliedFormat":99},{"version":"d2f8dee457ef7660b604226d471d55d927c3051766bdd80353553837492635c3","impliedFormat":99},{"version":"110a503289a2ef76141ffff3ffceb9a1c3662c32748eb9f6777a2bd0866d6fb1","impliedFormat":99},{"version":"69bf2422313487956e4dacf049f30cb91b34968912058d244cb19e4baa24da97","impliedFormat":99},{"version":"310e6b62c493ce991624169a1c1904015769d947be88dc67e00adc7ebebcfa87","impliedFormat":99},{"version":"62fefda288160bf6e435b21cc03d3fbac11193d8d3bd0e82d86623cca7691c29","impliedFormat":99},{"version":"fcc46a8bcbf9bef21023bba1995160a25f0bc590ca3563ec44c315b4f4c1b18a","impliedFormat":99},{"version":"669573548930fb7d0a0761b827e203dc623581e21febf0be80fb02414f217d74","impliedFormat":99},{"version":"f974db5be6d7428044e19c2848e72495a9b56a8d33b6fcab392e7fb5328eb8df","impliedFormat":99},{"version":"aa348c4fb2f8ac77df855f07fb66281c9f6e71746fdff3b13c7932aa7642b788","impliedFormat":99},{"version":"3199efb0fd6792ac46f191ef78a17c5f77e1745ef473c71cc0d6a041a0c83479","signature":"4b96dd19fd2949d28ce80e913412b0026dc421e5bf6c31d87c7b5eb11b5753b4"},{"version":"dbf638b475f5e13b6e0a94f4c3ce88309e28858c11b35e3988f78e97c631c6a5","signature":"4b96dd19fd2949d28ce80e913412b0026dc421e5bf6c31d87c7b5eb11b5753b4"},{"version":"ea43c4da2fe56b305cfd98e0c0d4bd1060c46842bb1504c2d8a50d51ea44b059","signature":"4b96dd19fd2949d28ce80e913412b0026dc421e5bf6c31d87c7b5eb11b5753b4"},{"version":"f8a4e0893aea703c049b57b7860619fa9877abbb9a4f158f21b22ddf01e76f0f","signature":"6ed9c94f927aabb828e1949b030102a09ce2f506cbff37550412e70033dc6e9e"},{"version":"cdbd35458f506b843f280d695d192968af4b0f27db3d5c0707934d97e96dd88d","impliedFormat":1},{"version":"0d86e751cdf42541f9b0dc579f1fad78ba02c9b57104723187d942c53bd63092","impliedFormat":1},{"version":"dae32a2a0cc5be690082fc59bd4b16ab58fc400d8802dc3073657ff4e825c48a","impliedFormat":1},{"version":"654bbcc8726e2a7a684460eda9c7d25847716587b04a72e0b88e75d828aa3db1","impliedFormat":1},{"version":"5c252941b1299551ad4f3f44ef995ee7a79585aebe2c5318271297496f2611c6","impliedFormat":1},{"version":"5a39b65f1aa6dac1a189afe5b95a5dcc0f82459b859ce2377cdfb1e994b90c3d","impliedFormat":1},{"version":"84ab1b8202996d370d7580cd15c85fe5981c9fd8ce4e20019de7203c8e9b594e","impliedFormat":1},{"version":"b7b58b11be801068222c596659957f4defdeec281974feb02a28d9c9ea38cd51","impliedFormat":1},{"version":"27a8d35a2910e71c796d71fb6d570a36dfcaef8cc69bd02e0b14fd143b908e04","impliedFormat":1},{"version":"7a3d5f0f7b701633da88a36f869865c61fe6e00fd9547521133147afe391d1b3","impliedFormat":1},{"version":"7656a4096d1d60bdd81b8b1909afdf0aedb36a1d97b05edf71887d023dd59ea9","impliedFormat":1},{"version":"6fa303b96d93e5fb24c90f12dfd3a0f53b18b8f7b1d22e7b9e9cb5077d8f9108","signature":"fd2054b409c2d94abedcffcc24242121b7c192484212cb2d9b1b114972d4f404"},{"version":"d70f9eaefe73d3840a84890fe8e3cca8428e65cea32c7166d57cca68d186eeb4","signature":"db4122822479abd67f3f0b2f2f25861e3caf04fe0973a0d764e7e36bc3df4148"},{"version":"fe1628d7d953daf654f6e7670a052361f737efb0f9fd296c37d8801ecd46983a","signature":"bee07d34cd49a60655ce16c151da9957f93c86ef96f29cd5d125b08a632e6b61"},{"version":"d488bd13a9d714f30014a5f8a8df1be6b11ae3411efa63ba6643af44749bc153","impliedFormat":1},{"version":"197dd169eff598c8888dd37a3f5c3e45c1759251085119b166c1b37b50ee43b1","impliedFormat":1},{"version":"898f97b7fab287b8dd26c0f8d91fafe17bec2578645a9741ce8242f3c70ae517","impliedFormat":1},{"version":"d5a0858f7e98793a455e8f3d23f04077d1e588e72d82570bca31bab2d9f8ceae","impliedFormat":1},{"version":"6a9069e81da9856ed6780b17db0417d8a8ce217babf3681bfe29dcdad8f15f3d","impliedFormat":1},{"version":"842453114114d514599679b23cf62d6f2252cbd6731d101a0033f6068c5efd94","signature":"2e1213e06fa56524372406adcea2a19734e8c52ee23434d79bdcac5f77ca524b"},{"version":"fb00d13ec5cad6778761b14ad01679153eb5ac566f15f03cd8e834b4fad9983b","signature":"69a01d99446257614e09b8b51c2ecbee24c7525d01d0cffab062877a7f8f0955"},{"version":"76935aafe2c7322f946ac166e33b1ff41bb948a732f7500978e825e0a81d2f51","signature":"3321763c15018a4d20197de5e66d9119599423122d55c98c845440c507b7b1db"},{"version":"ae2b1e46a2f72e81315c6c5c43f2472818ee4f7ff33154d64c84d9cb8e46daec","signature":"e0f8cc9de39ccfe20015acfc60e6939c8796d1f069ce1dacd3859c6c98c3ade9"},{"version":"1499a71b303c1ffd54df26db03d586d5d38c62618c519e806a9e3de38dae686e","signature":"bf14a5be91235f574e16d68ef5eb4eb59a41409075eabbb2a39ed22b9545020c"},{"version":"40f11e12b89c44f73089b81b945484fbf9117fcfecc7af4a0650fca0d0087d95","signature":"9518bbf082b40d78067674c01fecec47fb70edc1c13e90b64d7298822cc95ae6"},{"version":"2a13f26b889a266a4a55c224a4aae94d3a6c160703d573dd8cb2cc8758653aeb","signature":"ae76773186abb83c8dd05a9433e034c6e51382015b7eb865252fdf3121c72313"},{"version":"a059a124d6d2d7530bac76a276d7419fdac41562e7683e78386a026bbadc933d","signature":"a83877ed75e24dd47d245bb16bad9a6ae76d84208d07bdbd981fe74de12d1c6c"},{"version":"b3de84306e70357ba82260c9fa8fbeaf5601f6e71aabe8e1829e9e8632268df0","signature":"4993362aa551e47159786f5d77be6c1223ec855bf940686737a6afe951418d21"},{"version":"78ce398996f8a67a6aa9976bd20f85ee917414b578043235473d5a82d38ccc7e","signature":"5dddf9fed7f9befedd2eb133b4fe1051625bce3b55cd63fdb257001a46f3a1e6"},{"version":"042b1c730536f00d3513ab09d1f2216952aa354e232edc19abd06d45f5c2e1fe","signature":"17bcd2cbd9e90a2750f56b0ad9962da9b86ce3aa1c9c76e225a6f4233242131e"},{"version":"b2d1100961d982ecbb72cd6ed08ea25779b8523b71c76836750ed7cda474d49d","signature":"95600cf6afe56beaac9665bcae225c7e68765d539258922628f697d55b058354"},{"version":"68910609e5cd0046aab78f218a30debac9b06762afe8c94175161951e66145b1","signature":"103949d86734806523a4f938a42d2dd4fd753b678cddba536fa90a3cb7f225d6"},{"version":"7cb95fdfc6f26be1ec3d9aaad83fdaef1dc3fcab80b1501e5c55ef40c4914e98","signature":"bbe5937a09aa2c3fe86bd53e42ffc5082461ed99582ac1deee2c2a6cc2fade14"},{"version":"72c4d5b3143f9566889f8d80c105912778a932fc29cb5ddb50121ede46a89d92","signature":"3dc082271cf03bec741233036b44693bf7303ffb3fbafd8536c995e4160d6b18"},{"version":"4c54300bb2670678e16cb98079486f3f2bfa061dd1b954e7e4a8999959420507","impliedFormat":1},{"version":"1b4bebb7057c294e3baa3fba40d27e240e16493ddea81d8af2363ee1ac03e305","signature":"6a8ec9486cb4c47d3828f29e3cf46a07e75c3651750d71ac8b1696fa33de0791"},{"version":"a9373d52584b48809ffd61d74f5b3dfd127da846e3c4ee3c415560386df3994b","impliedFormat":99},{"version":"caf4af98bf464ad3e10c46cf7d340556f89197aab0f87f032c7b84eb8ddb24d9","impliedFormat":99},{"version":"7ec047b73f621c526468517fea779fec2007dd05baa880989def59126c98ef79","impliedFormat":99},{"version":"c5013d60cbff572255ccc87c314c39e198c8cc6c5aa7855db7a21b79e06a510f","impliedFormat":99},{"version":"c57b441e0c0a9cbdfa7d850dae1f8a387d6f81cbffbc3cd0465d530084c2417d","impliedFormat":99},{"version":"2fbe402f0ee5aa8ab55367f88030f79d46211c0a0f342becaa9f648bf8534e9d","impliedFormat":1},{"version":"b94258ef37e67474ac5522e9c519489a55dcb3d4a8f645e335fc68ea2215fe88","impliedFormat":1},{"version":"8658354b90861a76abc7b3c04ece2124295c7da0cc4c4d31c2c78d8607188d03","impliedFormat":1},{"version":"e46429536f43f5910f5b2b0c50bb2769b510a4558bb4b5d20a3b0a9091dbf7c3","signature":"400b40fe5d5f4140993b0ac871686d2b7611ab791e8810b2e14f2d89701fc49e"},{"version":"37ee2f94a1c5df7a0194cd1740414722e58de5a94fd46e82329b4c217f5fbf36","signature":"710a00acd5f919a99bdd9b40824b024b39e9d546b5e611558fbc0ce155f422d6"},{"version":"3b5f8c9c5257f1cf36a94eeffed2588037e9cc7931d90b752604c2baed30cf81","signature":"f238db8bd54a02c277895ef9300e2d809ef738cfda6e91dd295e48d7196a7f0b"},{"version":"1b43441b273aa21c1e74fefa774d5a7cb50068e5d4c192a8f63b9c95c5580431","signature":"32f7c168ee545e9b432d2a861f4fb0bc645e21e88c774cedf54e72d1e3ccc049"},{"version":"3b5f8c9c5257f1cf36a94eeffed2588037e9cc7931d90b752604c2baed30cf81","signature":"f238db8bd54a02c277895ef9300e2d809ef738cfda6e91dd295e48d7196a7f0b"},{"version":"7911fc20da7c1bf8860879f6417adc93c58ed445e22b331bcb065913e6212841","signature":"32406f4009a1b6615d7b291f9f614ac789735b59fde5525f3d36b514b158eba4"},{"version":"0a85f27a2846ba7c39c561e617d45b44cb8464d664d2d4037ef98e407ef6f82c","signature":"f903d0c52e72e543eb8b577ac6c5c4aa6e80dc1eb7da261775edc786236f2fd4"},{"version":"a12e3223a172bd366b191223599a59bf068b74b64c0dd2a35467ec0dc8080d1f","signature":"d4837328a91f53058734ec71b4230224bf3172fbd86953ffd5fc6991468fa1b7"},{"version":"94b091568641e772bf11fa2349ab26e7cf8f892a7930aa737198cd17ddb1bcfa","signature":"20cae44ce6fabeb0a47a8f1de58d04c9ff760069c1142e6441a15080bdf32708"},{"version":"50a9383d17d9973c3017ab5904132ebb04a87439e58d129d88b80699d5a0f1ae","signature":"0ccb629a2151123906284c317498ebd737a4ee59722cf3d7ff001160a432d432"},{"version":"00852df39903bcae586c2060e8fce611d8be42fe11026fb07025ba8705c84eb3","signature":"0d3e4c6e9f625835144ef2578e10a42b327aa2ff7fe46b960dddb2f124666b4f"},{"version":"6d413a872143e8412d730e5d6ff0d27931394e6398bde5fa3b01aff2c5fddb14","signature":"8e7e1c454896a754cffa74b82cbe919da1acbec9fa3780350be1906af34e897c"},{"version":"cb99206ef158f9ca64968766e286838bee7ee53b2be8a77a98b9305d775e6125","signature":"e713391f294f91c813829a03e93f28ba633332b32261217eb26f4aeb1e729ff0"},{"version":"550b34f12d08b2829618b1be8172bc010e2baa9d26f17bda7b0ff8857dadb9e3","signature":"bcbccad6c2fc1b7fbd297bab8cd538a94cc04d2f2af184589fb8be27f2194a4b"},{"version":"ddf6b01646122efc8c86375f86dc14fa59c113b031a1f4f16e5b90b20b4a65d3","signature":"e033d09fb5fafb262c0a62e9c53da2a1ea5b322e468cb9b2b66569f0d2a974af"},{"version":"e519ce2b0b3923a8e7a78e8ecdd9df3bad3782387520def51c307677d7fcf2a5","signature":"d47e443d8869921cb769765e42ec0e7525d0f0f17cbdc15e6252059cd71beb4d"},{"version":"09960773470e03338011b23b2c5f98c42148accbec39dee44d475d500491e1d9","signature":"b7e1a759233aca6619760f30960cb41c39ff1afed3e51ebda3acb348b7de3482"},{"version":"d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5","impliedFormat":1},{"version":"293eadad9dead44c6fd1db6de552663c33f215c55a1bfa2802a1bceed88ff0ec","impliedFormat":1},{"version":"833e92c058d033cde3f29a6c7603f517001d1ddd8020bc94d2067a3bc69b2a8e","impliedFormat":1},{"version":"08b2fae7b0f553ad9f79faec864b179fc58bc172e295a70943e8585dd85f600c","impliedFormat":1},{"version":"f12edf1672a94c578eca32216839604f1e1c16b40a1896198deabf99c882b340","impliedFormat":1},{"version":"e3498cf5e428e6c6b9e97bd88736f26d6cf147dedbfa5a8ad3ed8e05e059af8a","impliedFormat":1},{"version":"dba3f34531fd9b1b6e072928b6f885aa4d28dd6789cbd0e93563d43f4b62da53","impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":1},{"version":"e4b03ddcf8563b1c0aee782a185286ed85a255ce8a30df8453aade2188bbc904","impliedFormat":1},{"version":"2329d90062487e1eaca87b5e06abcbbeeecf80a82f65f949fd332cfcf824b87b","impliedFormat":1},{"version":"25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262","impliedFormat":1},{"version":"4fdb529707247a1a917a4626bfb6a293d52cd8ee57ccf03830ec91d39d606d6d","impliedFormat":1},{"version":"a9ebb67d6bbead6044b43714b50dcb77b8f7541ffe803046fdec1714c1eba206","impliedFormat":1},{"version":"5780b706cece027f0d4444fbb4e1af62dc51e19da7c3d3719f67b22b033859b9","impliedFormat":1},{"version":"b2c6c3d31cbed9a8b02b9aafb55f9f93090d44f032efa30de68617fd039d2030","signature":"5754e59cf4111f12e809f9a57d72c4898055f72d7ea4426b8b2c4741989bd6c3"},{"version":"1e2163ae17cf19f1c1ea9093f6ebaff01b48f38191221ea767ae83c721b9c2f6","impliedFormat":1},{"version":"3ba2febe74741cd904e1543af71e461a4958060817bd415e48ce019f9138588b","impliedFormat":1},{"version":"d50e8c3ede7635bd7adbdfa1e2d67e53d7f776bcda71599d7bc4c4513a640900","impliedFormat":1},{"version":"4f9c7bb8ad1824d80b6dad1fb9b9d16b16711b0abf6310f3e9920080ac3cbb36","impliedFormat":1},{"version":"4e12a77955772fbef1c0b7e5a8ec1366c1f65ca814c7796200cb77644f47f016","impliedFormat":1},{"version":"e605e0d80c5c72078d95814ae0233220b7eb7de4133d74ea0e939f6ff6c1b32a","impliedFormat":1},{"version":"01f37a126fd0123f283de7a8948c524c470589e4a484f7feb1245000c467f993","impliedFormat":1},{"version":"a68f2c54a7ea3c3f6bddcbe082c6577f8ddcdfbc98cea62884d0bef95aea6d4b","impliedFormat":1},{"version":"87c95a764e805bd584f47fce680a038e8c994a168a4bf2fa2c903f3ff7963524","impliedFormat":1},{"version":"26859100325a713f0f6be33f88ca82fed0d44c32ee4487ff3db39b72d675fdc4","impliedFormat":1},{"version":"9fe62175a94addab3f5d81ca26c5dd5eb4c1fae5a2e51807563c56457bd17721","impliedFormat":1},{"version":"2304bb78254e907df33ce92191d5b23dd5cdcd68b82ae8a41628e71bf3c7d3ef","impliedFormat":1},{"version":"705b89f719845a12b9bb4fcccd52dce29857494908ee6efcb481e2ec0f4aca7b","impliedFormat":1},{"version":"399dc210e42ef10b3ea207df71ac17e96320b0a7b696373e74dbc5df2efcb73a","signature":"df7a7939fa508ea369c734c762fd616dda97d192afbc6a82a5452740afd86d44"},{"version":"3d59bf11fffa85e54dfd4b50054664d014cc605b72ce60318f523e427fd99655","signature":"918ad805a38f3ca75830eaff2956f2670f4f3e88d2776fdc8a51f4214e578f02"},{"version":"fdb51e4793edbb4efcabc6385f427858ffdc7c435b28607f519a87394bfb2800","signature":"9169a39a3a574329c9ebed1ca4c349b6b54203eea3f65d92e342308682dece0b"},{"version":"f1d10d0c73eff8edfe8067c4a6aa442ec5433a837e6db7063db677cb5d4e4147","impliedFormat":1},{"version":"76d05f74738803d2079d5bd16b2ca667930f8b0c8c2268c5b41f77df9cb251c5","impliedFormat":1},{"version":"c1c48c344b692d15ac2967966b880111a1be8f51060e968dacec5ac9aac722cc","impliedFormat":1},{"version":"a0b7e4b84b52f872a363ce25aa5232efb617442dde54ad6920e50c0aa1dd933e","impliedFormat":1},{"version":"6773e0f5acdff242d7f686bd20910be96af0cc22205c042e7884f0fcf0339efa","impliedFormat":1},{"version":"f4f924f379dcd0b01a00181e02e1731ecdb62c61c46c17703d182a2650f50b39","impliedFormat":1},{"version":"08f8f0964227b04179b9086168309668bcb5913e47250dc0f049d564f4da594e","impliedFormat":1},{"version":"7820fe061431bdba0b819b6582ede2e05adc62caa4df077c0d1e655eaf0f7a5f","impliedFormat":1},{"version":"d69ac15196597b626de2d013fba011558d6c61ac5f5a1d8204157875fdec4b8d","impliedFormat":1},{"version":"b07ec15bc09909bfb190b793627f2dbec053163caefb1fd6d4f6aa76d88a29ca","impliedFormat":1},{"version":"9508bf9db05fe73847021c361c7f925c8326763cab53737958cfef9fa126cb5f","impliedFormat":1},{"version":"8c58a42464e63fcd9958d03e7d42b04dfbaa00171e14d9e0c54800e5defd3784","impliedFormat":1},{"version":"37b92684a256e2cd399127f82f0200d898c6e0b98300739a61d290a5a1a3d557","impliedFormat":1},{"version":"26233e13f02e90b6f438d665af6fd2234f722b33be81a80a65bae433c163cdab","impliedFormat":1},{"version":"1baec60d4d336d81eb675e4ffcdfbf50f5cdb1f555e748aa8e17e9686be60bd1","impliedFormat":1},{"version":"5bc7721c39f2bcc4ef5bd084e11d4649cb812fff6d37fa54411674d5435aa112","impliedFormat":1},{"version":"eabea9cda1d4c7539d6f8dbeae9703bec671fc26e7482fe4b7e1effaaa651870","impliedFormat":1},{"version":"74d414f8c5b664dd0f5239704a70cb7a4c25b0c8ca632005f02308c4e4279d26","impliedFormat":1},{"version":"fcc9d944e0fa38d0b05897d9ba60781cc0a6da4c2a9b5c190d4dc816ee4f4273","impliedFormat":1},{"version":"33c2805445e6e3282d90041cc827c90c200ae98f049073708d3746608ed011f0","signature":"76f1c77f230eec4b6c720038630a0f78999fd0a0f7a6783d8b62bd9b696a59a5"},{"version":"0309a01650023994ed96edbd675ea4fdc3779a823ce716ad876cc77afb792b62","impliedFormat":99},{"version":"f13d7beeea58e219daef3a40e0dc4f2bd7d9581ac04cedec236102a12dfd2090","impliedFormat":99},{"version":"48c411efce1848d1ed55de41d7deb93cbf7c04080912fd87aa517ed25ef42639","affectsGlobalScope":true,"impliedFormat":1},{"version":"a094636c05f3e75cb072684dd42cd25a4c1324bec4a866706c85c04cecd49613","affectsGlobalScope":true,"impliedFormat":99},{"version":"fe2d63fcfdde197391b6b70daf7be8c02a60afa90754a5f4a04bdc367f62793d","impliedFormat":99},{"version":"9a3e2c85ec1ab7a0874a19814cc73c691b716282cb727914093089c5a8475955","impliedFormat":99},{"version":"cbdc781d2429935c9c42acd680f2a53a9f633e8de03290ec6ea818e4f7bff19a","impliedFormat":99},{"version":"9f6d9f5dd710922f82f69abf9a324e28122b5f31ae6f6ce78427716db30a377e","impliedFormat":99},{"version":"ac2414a284bdecfd6ab7b87578744ab056cd04dd574b17853cd76830ef5b72f2","impliedFormat":99},{"version":"c3f921bbc9d2e65bd503a56fbc66da910e68467baedb0b9db0cc939e1876c0d7","impliedFormat":99},{"version":"c30a41267fc04c6518b17e55dcb2b810f267af4314b0b6d7df1c33a76ce1b330","impliedFormat":1},{"version":"72422d0bac4076912385d0c10911b82e4694fc106e2d70added091f88f0824ba","impliedFormat":1},{"version":"da251b82c25bee1d93f9fd80c5a61d945da4f708ca21285541d7aff83ecb8200","impliedFormat":1},{"version":"64db14db2bf37ac089766fdb3c7e1160fabc10e9929bc2deeede7237e4419fc8","impliedFormat":1},{"version":"98b94085c9f78eba36d3d2314affe973e8994f99864b8708122750788825c771","impliedFormat":1},{"version":"0cc99fbb161d78729d71fad66c6c363e3095862d6277160f29fa960744b785c6","affectsGlobalScope":true,"impliedFormat":99},{"version":"b6f40bc2efa755bb5a0367566a4f2020b768bc4f3881a55b9e40dd2a7a7b87bf","signature":"394f6534d7054310afb553c9c0cbccf79aff46c427d62b9878f296633108245d"},{"version":"7a64618116beb790d3159a3a145e9b68b762491934433e0beb06d93c427fd336","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e36380e326b9ed6dea622d402755e07209311ca1d37382eccbd7243c6a94af47","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"147b89d5242cf647d554cae0bb03f7e3de39e5430a78ded9a8d9eed9d95ceac3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4f3c1f10e8af3369b21d45bcf2e81f004ac8e28f602e9152bd7784098992d5b1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b0f857fb290a653351414d798374f240bdc9a48b4097e6656268a931c2516a4e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e368e5f9f6e2aa754e64ecc23226e3e78fba9e7e44646bb3b55219781ae5e482","signature":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","affectsGlobalScope":true},{"version":"ca4ca7019d7a27316d7362da9bf72fed8aa05686de25f8febbbb4d500f726352","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"10157db45c6a9c5f2daba88e42043fe640ceb5484e42a441908088ef36fcab75","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"07dfb49eed88f49f6ea5dc809e2c7de0c5d4ff1cf3da5808eefdd1b9e39e61ed","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5b3a1c57528ba69f40543ccc5519e39143b761bf8a4cddf9ab4334aae4358b56","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"921916b47c36e8ead3d985bc061d1dcb5027def6f242983c76f7cf1667919c4b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9d2ce8ef0a3a0a69342da0c3035635449888a4b5292b94b4308081e496c4726d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e1c75bef16cb1900872a0745dea9743cc32116bc8da389e2d88d219dc0fd2b8d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6d2e2925d354aa9aedc9c9c6cfb1efdc6fd2e844b3d65ce5a50a05c16d85b652","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b522db4dbad940b31d5382ae20ebf362d7d929cff62fdd24e16aa5b31fc95ce1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b68e87b21d5bdbc33969d39a7b276342fbf223159a2744e124b892176c170169","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2362c0b19b50661bdce39c17b81cdc24cad0d42a9d53a691c6be6c5faa7f06d8","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2663fb3980209e0596df1852403d8cca9248b8ca86392a071568e6201f280001","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"fe93c474ab38ac02e30e3af073412b4f92b740152cf3a751fdaee8cbea982341","impliedFormat":1},{"version":"3255b97f3f24af29c79cc1aa88004efb13b6285ebdde0a567bf32e19bb65250d","impliedFormat":1},{"version":"1e00b8bf9e3766c958218cd6144ffe08418286f89ff44ba5a2cc830c03dd22c7","impliedFormat":1},{"version":"6e33223b4de404a63f431d223ce05f7c6afbeff873199b608773bdd9ad70f9cc","affectsGlobalScope":true,"impliedFormat":99},{"version":"aaa137244668d5000cf65b9fef1e2fe27e6be6e030d8c7f1d680341b56a2c2f3","signature":"8000afd8be3da06deec57867d192421df0a1f7a84054d25cb272437ba2e3b47e"},{"version":"4372974c7a61ecfa8d855a25b717cb04752e80f7685fef78ce24d8a15805f119","signature":"f7e282e72cde10862cd8ce8805016645a49b895035f39791a1fee6f300302e0d"},{"version":"58590c4dc13f9e6ea1464f13ea794f8c19ac95ecb8cd71b611e04fe971dbf84f","signature":"11ec656c71cf64147c36964b7bc9c741a7c2b3e3838cb1926295acb992b73b14"},{"version":"5db980b9e7c994b51ad01e3e7d642634e941567134de400927bc4ad68a523a69","signature":"4676f50bee2bf7c1d9cd74f83f8f4fcb4b32719c9545fb206e694164ac2322ae"},{"version":"5fea2486c1da31d5b47ea5c423b2507ec0efca3dd91792deabbfa9d86d6da448","signature":"06987ed088fd35273d8be03f35027e7fce83284c4afd7734c14d5bc5769d167f"},{"version":"ed1a99e57f3e4fe47addc9593ea24f0b198bbc87d48519f1e9f7249a91e2af31","signature":"6171c673e99895b411dbd416f9fb27f1558a779524d9297772d0b0f091aab4fa"},{"version":"a346701ad6dcdaa58e388fe0995fc5304c09c395b8cba68ed872780f8c102004","impliedFormat":99},{"version":"7cb96ee534dedef7eb138952dc02fda0cb2caf2e02f2d3c08afab7f978d58dc3","signature":"171b593e7d096c79ddcaf10da3111066ec0608f62633dbc643117b023d279bc0"},{"version":"db726916b739ccfe583694c9636e42de2a7f028d4b6fe3f5ebc621f616eb19e4","signature":"c85244ac5c3c80511058cbd6ca38eeb748525e08d090f312a4858d37d967b79f"},{"version":"db912c5082800bc1f219cea45bb637dc8d26f54a3881c02d9e960726f4ac1eb8","signature":"1043c497f77ed2451a49a4fde80a171b375ea0bc554ac33d929ae2858abba968"},{"version":"823dd66b5c24c66498aac7ae678c2f0814e65e53b65e887736cb1c651ae3627d","signature":"248705b390f502aac0ae24888936fbc83b3e5916693baba7086150e8b6abd6a1"},{"version":"9b04448729b949433b4ade298b51b2ef22ef83526c393b9816b255665dca3e68","signature":"f0ddb53df9a844624e69d3dc7dbed14965a04122cf1d639d625d2f0650e8fe62"},{"version":"36b20000508997532fbea51d936e3cf8dc703e1e416bef9e00dff664f05057b8","signature":"0c594909f250069d1aea127c2f24d3246af6e450a6e280871ec1c751748d0944"},{"version":"aa746caf4b774931121ea3d5134a52c60ea9655230ab5a0045873a64320098d9","signature":"4700694dfabd3f749ec00d345f77a5aa63190cca29e959beb9eca57f7d96d1c6"},{"version":"006b673fb9c6922aae885173748176c0daec31d8b396a04335143808a5ec89c4","signature":"4bee0726981e0857928e286c1778d6935dbdcd9fa66d256174860c5d951a8721"},{"version":"00dbf4bde0c458e6b46fcd7acec29f387c7958645277c45500b137973657a8fb","signature":"ced1432f241ae8e46ba87a46a084a10828fe8b2f602ecda6ec9c3b47d6695248"},{"version":"83f23ad2c6aa8f100f677581be8c9173b1291720f2af45b960bd43ba19a9d4bd","signature":"ad76819ac5acc24bb85f10ca7cd177ab6f22b10d01530a32d71ad9598c1d61bd"},{"version":"f0cc17c3b251ddd8f29664fdf532bfb100faea9d411d5e3964ba7b95d577ec5b","signature":"77129ce45a937e93d3dce14c2de330d0a75370eed8f9c9b905c36cb273df950d"},{"version":"7f0023e401c760fdce590f7dbb263e8c9b6f4471bdaf407b6157714f9e702542","signature":"239de7357bee058760afe6d8108792c66f3e35cd9f74b288a5317c141e3826a8"},{"version":"a29bd12be03c8b05de8648a664205a7cedf1cc26461a753ddb72fb8b8efbf6fd","signature":"ac947a81f9fd55e794cda3b515b9599e1791205165c3f45649113b217294e245"},{"version":"901a99f4e2efb0edec385c2729cb0cbc5813e68a68fb4579bdc13aa59cd873d0","signature":"73e5b7a00c97b320715faaf88a9213ddb3393a0d966023e2245d2230dd10335c"},{"version":"5641e54e48a61321b7b1b03c3da3d633d9a23f6e4b9cdb662c5cddbb76c50cce","signature":"be9fdf87d66930660cb2190107e90c28608195008a81e9996dab546ceb957b52"},{"version":"1c77f0cb929e31cc441a3bdf26b3651a1d5c9aacb6e23d9341eaf1662c859569","signature":"7a633b33540097747dbde69cb92293a0cb432a436acfbf3ee604cf7d2ce5f280"},{"version":"50ea3966e4765b401969e6cc1a3d7fe38dbe469aeb34ea330c4f80906e64ab51","signature":"91463f4efd9dab0f478a6baa9a1266e40172f7b596328f6ec42e0cbbdac71b8c"},{"version":"407907dddbfa248a866c8b56c610e79c99d9a025ab2e2dd80099aa9c3529c5c8","signature":"4635ab547ad19e32755b8315a919fd76a344968ae7ea54f85bc08625e63c9855"},{"version":"5ff7210a95ec65f6a276c9394a84b6ad10b22505b26ab16dc1b938691b41844b","signature":"254f2d0412cb6449f13413c24b5120cfe8442111bd3f7fcea54239ae1fb9dbcd"},{"version":"7ddf3cfe8b36b647a37c7ed3c233704d686a6d546b64402a6a1e54bfa265efee","signature":"a7aa4ca6623df027ee1a4998ac1d1e1dbddd5161fbec0a5ea05a2d0853479d9b"},{"version":"28888d02e30fa8081cd6252b9f3fee4aa3216c608a2b1581b7817bb5dfcafcf2","signature":"0198d9333ebc7f8e2e5c60b7917a5e4a8849269e09d88f7d63cca35cf67c4592"},{"version":"e2dca0dc67708a6d9756b11c40cb8b33c8d12e311884058113b47a52ee5c34d9","signature":"7366ef9071b257c64ef13441648dbb1ac473bba083356d9b4ca4581109e67f71"},{"version":"150553ce304a14060ae30682ba14db83cc5c6a811f272fe068772cf574336918","signature":"9392cff4c3ccabf213309ce39544f7372af805a23bd8f3d0b23530979177ea55"},{"version":"b80ad6a5c764b3eb59788c37d6c4871fbbf07bc364f6544c35b4eb61db6b2dbb","signature":"e902b6f68888de2b4785face50f0b92337635b13cd3a475fae4c66f5cd5e141c"},{"version":"bf7e9e5024ceee8f12febbc0ccb2fb53eab40f4316e4ec3b8bed3681965e2417","signature":"964bf2e49997a970b4e532d9179fec2efc61527d6489842d470f0d9f6afb255d"},{"version":"a9ae7d9a6628150246078a22dad4084dd76234f1f42dc9d8408ef1aa0ffde5eb","signature":"7dbcaf9533e75200dc24a916356e52c6a09cc4f7fcfae6f3883f3722a1ad5d61"},{"version":"cba5bc67535110d589525064d504fac20a0d3f2bcf14e549ca3988eff6d878ea","signature":"2dc7238964ac69c37b38ddf442768cfc0a6be0d415ee115a823e7afbdba546fe"},{"version":"afd4e5c1d32fe27196599b850b158a89a34fc00d2c55570e72f6b38072c71a8c","signature":"5b44b451d5ae7c740cf2739074bf6222f11e0f0adabf29118c34a60f12af82cc"},{"version":"df1c05605ee27dbfd752a99b50f2fc4fa89a5109e05a36fbc4e67cc5d8c4c864","signature":"e66505ed8c6478a526f96b7eea646a0ab02fa6c37648f175e307ff9eb1d25fa8"},{"version":"7df74332af3ac6d581dc872dc77c28f5889fee99da8a28b2b12e707c079efc15","signature":"db0de7a12a7dc714f578f90c48f78e0e5dadd29e6a85826f1c150dd52c36b8fa"},{"version":"ed955ca54583a8cb9502d136a6acee58bb6d208dfd15436b2dbefe53188244ce","signature":"e0979b1050f874febb5fffc8a1dc1b728dcb35f4d36a834bb66b33910561a28e"},{"version":"ef11fe436505ea7671d36661837cdb98d5b0e60f26898d2772e0e1a1a3219db8","signature":"60ee7eeb43017c05f5bfdf6485621ab533adc487a85261612e15ccf276f07836"},{"version":"9c220f7425bc6cb24aa6b38c6375c55d73218cebd83108f0a0e82bcbee8492f4","signature":"4edefc81156a239b6b03b186e93faceccd10b1167625724044429880efc7f2f5"},{"version":"2bc222ac147c64a087a8ac7b89b03284c95127e8c8d1eb2696907ca51a5e8fe4","signature":"a80a5097036100840a1fe904ce5bd38c9f2e6193c9d3196b0e709bc66d97be41"},{"version":"5c702097b79dd4708ce15582ed4b3f42f48fc40fb783b9025cdd391016fadd8c","signature":"64182d13188524f5f8906846006b2cbbf13bc7e4f9b89ac0fc2ef6c677ab23e6"},{"version":"115c859509e2bde22ef97ac2fe351c0cb2bd897f846aa45336ef941c90b597dc","impliedFormat":99},{"version":"79721ecdc73abe914ef5adb573cbfe8e8a7cd71f4ce82b0deccae921628a422e","signature":"a2c7797009b70eb52348e41a67459b3906c8ac468912c27a98574f7bc69de38a"},{"version":"76a9d681afaacb0e9d3e9af58d339f862d2eb6b6733e5a306bbf3d2f4eec3868","signature":"822d991b4986d54b97bc7d08cb8a7f3213b51edfff57122c821ad9a73ebae6cb"},{"version":"9724bcc6fe7ab37385fb3fd790972b9b9e0f99dd7db5eaaa2e87ef3d4196d736","signature":"67dfebd66d8651887b54d63d5816c4a90ef322d5579b9b47b078f94d4fe47b90"},{"version":"eb37e123f9d93dff4d46e89c03abfd60428bb381b86c455ee5790192f9ddea6f","signature":"c0f29f97cf72d4cd8ed2ec1cada93c2135b88962cda2fe579e2249721fe32e75"},{"version":"b49e0a10b0752f6f0d992bc87033128bcff849a6b29f5ee3f9c3528cf8f50b01","signature":"98434ed05a6a75435c505db2d7879113d7e65dbe842381176c38d36998cc4e41"},{"version":"ac3df436c52133e80820497dfb5fcf208ee5c0fdecc75b98ef9b2917b9e635b0","signature":"62b2f4129fb58b08ab3553307b41aa933142a016ff76012e7d26f844c2cf44e5"},{"version":"d3abe45d682e4febf7390d365c69a160e2156dcad22625b2f5489f464658a6aa","signature":"697c0ac1721ba85ec04be8ab39f47d73bedd8e2d55b711745c14cde38e8ea985"},{"version":"df20ff82361e8109ab2d4c055dfbfbb93e28de02a6411fd0b414e9f8f2e52abd","signature":"285238eb95909d7c27fd98a3a1de43bed3e41220f7ac364e31f8195f92ca987e"},{"version":"05d9b7244f10dbcd7edf40f9af81749a47cab3e1b758ab613aefb8704899e133","signature":"c97030eab9e358e68f1c70998363aecea3fdce3b38f3832644cb8e7c7764a65b"},{"version":"6d7b4fbb9ec429006dff47ee929b76d2b2a3f682f3419971f9226d44ae572778","signature":"0ec93629cfd99d26d0225c378572d114562702ec0e8b652a6b2d0f0f6c5ef503"},{"version":"6da728750c67c82c9edf912d78f373e18f0ac3fbe3ba95286a4f60730f50b47c","signature":"8ba01ae5d0ade7b20a590b443419655bf2337968fca7d87e809289309e18f36b"},{"version":"4368fe719ed584b967e25bddcebc2e9892e9b238be3a1cd3e40307f4400b1521","signature":"169586a67ce7dee1034f614cee95ff898a88822c7fe5dbc794bb112b5d8f4db8"},{"version":"0b63fe47383260ce1d27dfcb6b88a2e17cef82abea81ce6a1b62b7187e678488","signature":"886a2069ce42f7bf55baba0047fe251b5f336b3fb06df28f6914b101edeaf930"},{"version":"a7fbc38d1e005d6b966e63ac48115e6bdaf4a93246d94f64e5bb4d8c3b5aadce","signature":"c0efe7b29098f7f49a9d242b51215e3c2edeea1fdbe775fd93d58ff5b8c682d8"},{"version":"32143b3e9488590350155e32cddc198c20f7f83908e49ddff2b8bedca3892f33","signature":"a6df73fc08ea6f2c24ddaad8b3a4e967079af6f2ccfadb845bd2c979e09bbe9a"},{"version":"4e7f2315a9ca9fea972f3c3481342b36cd755dba37f35b2ad454723859b7af0d","signature":"1a30d4ebd9126c35f33756940d4e4d6d00337d10c98b96a680a9fa82dea447c8"},{"version":"29d4f26c8eb09dd13a06068abfaf4d891a168d02e915423e5f19ab2f8e2efba4","signature":"8626bc2d28f81058cc21974b461150efc87807b61429c2911c3c7598464af530"},{"version":"2f1127757db7e68daa7ae6d1f18cce1d9c178223f75a899d4956645680fab2e5","signature":"5f15b86916caa5f7befa35bca073d61b00801c1248cdcc21233bc5f6df058856"},{"version":"d4135bf02443b62d8a883567bd93440edcc9dd14b77310525c68186be7ff165b","signature":"904debe1aa988d5720874e18979aa0cf1a92fb84fb4da1e3d3d73ef7532462be"},{"version":"f25f4aa289a11a6735eefc7cd0ce5f85359b7ed0c81ac6d98478e9d131a166e1","signature":"5c30c5a74eaf5b9c981b9d8c9002c464fe6b96d04a54884769f3982663e27ebf"},{"version":"caf4af98bf464ad3e10c46cf7d340556f89197aab0f87f032c7b84eb8ddb24d9","impliedFormat":99},{"version":"71acd198e19fa38447a3cbc5c33f2f5a719d933fccf314aaff0e8b0593271324","impliedFormat":99},{"version":"dfd466a53a86f0bd002050d33e96b5385ac4e102e93485ff8d9943fdc2fbeb12","signature":"bb0dfbd93a35b232bb2b36042266c565e235afd18be59f6568c76ce998c22234"},{"version":"b67dea8a8d35c004c6d94c22aacbbf2340b0e536c614e4c87a69d8814a7b4502","signature":"3309423a2837bf899df1568eaa9c41430753bf2957451b4b0494c7e4f829ada1"},{"version":"ac3af1fdac2d0795fdee4f28fcb0da2a2aefc0c428e1f6c640fba553eba158e1","signature":"972c711055e029e0650ad81cc14b92426a65c11a198b67efc40af8e395ef0a6a"},{"version":"7b425e907607442aa65df951ae3f9b28bcf189b74250c17528d270a98ca7ead5","signature":"064c58c74c8cdedeae7024e4c8801dd48d674561809fd9448c79566283854eef"},{"version":"541ffffc9e6533063116770ae651e359b41de8546c52a29a3b560074878a37db","signature":"93cbe28740c0a714593faad25b594962c03c44e6d9fc85b3c467ae4c2f39f005"},{"version":"7590151b26b5ab4a6a6a142e3636d3be7716cf520f54a2ff75d61e31740460ed","signature":"48ce6782ddafceb64328a816678f98cf662e6d1a16955218d094f476904ddd23"},{"version":"e9bab5eb3850e99a5f9b9bfd91b531e53530674fb1c381cb33943a906a771a01","signature":"80eb3d26011f447341d4a36ee59d629f8847db59908ec382813db6a666bc18bd"},{"version":"15fe687c59d62741b4494d5e623d497d55eb38966ecf5bea7f36e48fc3fbe15e","impliedFormat":1},{"version":"2b6ec8950599c0726f0ec925ed3a8e147f0a85009a0c91c77e3cbc56a5ad5a02","impliedFormat":99},{"version":"ebeadde9612fd023e900496704064e1c6d0be89e9ca567dbedfe2ca6b9cea735","impliedFormat":99},{"version":"edd6040f6ca92d4b487cef451b7b33241bd5d75ea00e9e791e8732f307bda048","signature":"b8699f38ef7fb96d76de1f255fc37ee39abeac41184755b2f190ceec8240e4ee"},{"version":"bf919bf87560e80e08c859efca43291a34c48d46e8d54f46a8d85731d9991cd1","signature":"ce379c50c5c126ca315b138e37224731eb84f2c63704be56660b13b72e56df5b"},{"version":"5d7a42bee648293b76ac3da24a695c710302acfb10a15c58077cca2455d25805","signature":"1b97933626af2745edc2f350a6d0caa79f282103e6e4ff58998ffd883c5a487b"},{"version":"2d98ad52d79e4d5c346baf5c61c0ecb0c8917d0eadf113f1cfc27c44c058e00f","signature":"e4f1a77245e9a616ec641166da50b75dddfed5e6e40e85f7c7a3d82e48a24c47"},{"version":"b5d8b2a11bf875d8b531be6deec917c49bb641d17b369ce94b5433704f402d21","signature":"7a0ebc54f5b3c7937efcd6c9e52c754cc967ecb04f7cc888e0ad33d867858c76"},{"version":"1ddf3032bcce8a5212af623c72f8c034bdf89ff5b853cd56d0de26f07c8c1816","signature":"5be3203a30e047b20f6955fbfdbf8ef9ee1b6cd82e55ad31e318417e86ade6b1"},{"version":"b47ec64dc94b6124879b1e04bf35af23be20ff5b7367c6c690cd8dcac1f7abb9","signature":"4ce710b55d63b2d527a7e1a71bc8acedf0a0090c79b292930ad63fffa8b90d5f"},{"version":"a7f80b91b62ba9b5f733c635caace8a104e20d58cf266921546977b73a1585ff","signature":"2e4e29cf92a7ce5b64d08195b9d5c6445a2b110b5174adce32c15fa3ae592c69"},{"version":"ec942825454b3f20e367fe06bde1bd470304f6987dbd644a8b5ab36cf6749f3f","signature":"cd9b7e7b5dd71a693371645163e7ed28242bf55b92f2a658a09ce575d8af6113"},{"version":"75f59a0d59ab1ce3307a56c276b153ce7bba0516ba40b7325beac4ecc480d945","signature":"c50578a9f51ce444556114aed0119face9f19856c19c886b90657a2bf520cea1"},{"version":"373aafbc76907968f44cbf6647ec8f0afa9e64047f75e174512930907bef9b33","signature":"70669acd8e1436dfd63ffd9bc7f5e26980350507348a058b564ef20903b49ebd"},{"version":"cfb938b8ec67b15f1163abf56001716bffb706ea6e50305e00a2d9c023edefb2","signature":"e7335fdc093ade3bcd466ff8352ef95702de8b8f6d341ae7e49587c14deab6f5"},{"version":"daa0eb34cf9ae014d1ed292636abbd43ed4ec6b42dd14e60fe795c3b2300cfc4","signature":"c9b131c7e29755466a2e3c2c4896cfd2579654686cf7545693752fa4669cacae"},{"version":"5f4b3359fc71f18e6f5daa4f23fbe2aece02272e6b93eb3e794d336009eda03f","signature":"822d2abcd7adbc3e09e69b6d502776b3ffc86937e00b686765ca5a269ce551a0"},{"version":"0fce02c9316a75b4a97987a320863cfb47d040b16dc5e924691f7a1beae5a6a8","signature":"ce366f111dbb29bf43e2dfa84711e4cd67a560fe4254ee17551b2d4a5b688c26"},{"version":"a57ba85f8d0392b5d28bded3dec06f5d370f8b188940c92c5a18115bf20dbf14","signature":"8de1cf72c7bd93329d3956e8501b219032f6cd23c44c78f7f85167637d1ba7b1"},{"version":"aa33e5aedce46597b35669ae80ac7d3b2c8f8335ccc594a75b1d8f8b65d9df11","signature":"295d7e8cafe641356009481cf1befa292bede8e6fcef05eacb93151911d7aa83"},{"version":"280dc52ec56efb97164addf21a607a3444831c3311d25728be7302a27b5674de","signature":"f91322ec943522d4a8067dff4b5ffc7d9d9b17084a83ce1aaae919702a0fba3c"},{"version":"ba529cb429af1ca12d8673ab84da4f142012f72f7ebfe8966175b033991fd4b8","signature":"e561cef83b21cd10c162924f7f785aa30a1a9869e3c5c73c7c38ac46b224db98"},{"version":"0a020a3bf4ddba448ec43932f3ab9f2c3bfd9f3860f5bf79e155c5fd2f9acfdc","signature":"bf93cc2d12d8fc10055b711eefd1c25bbbbde22a791cc9c8dfd459f841f7ce29"},{"version":"4cdddb1ede1b65dd6c42e6d9ce69ae8758c4de13dda6db6ae2934d9e1c9a7f7a","signature":"288d13190912295d7025b217bd6cf68e5871774df7a0181a441383dc733a33ca"},{"version":"8e127414cb9d8279edff835839f3c3baafd21bcc024ac7e02d0480abbca52326","signature":"34ea665e0cdd7c5f7ecdcd421a0b1482d47e6612733580e00a2745f279a19432"},{"version":"3770ed561dadaa1530802fcb0c34ad59e141e15fa84cb3f405937783668a1d5e","signature":"410fa9c815c0fb21541beb4a493a954acb49a3589adeed62be1f99419074f893"},{"version":"a5ed8a6bcd15e2100d8e58326e4e5eb15a37b0ce9c809924d0d94ea756f103a0","signature":"bfbfb5da2672542187ff1390d5fd578aedc1d372f92b8f2f62ba56dac74b1328"},{"version":"ce31b442fda5f1f15d72e447482901baac00e2e34c0d6a6da1eea438d8c4f87d","signature":"166cfdb4e4cb6ddd7ad6ae7b418d8c8ebaefc86e7bce4c71270cbcf7da9e9292"},{"version":"7d372af3987f7ce08e5c89935763714d5a69bac877b64f5dbc9699251177ceed","signature":"4b87a0e125a2ee58d056ec733501bdf70c84c405c380ae98c84b5c19154ac5e8"},{"version":"4ad4378aeea43621957da3c52353da5687e2bcd32bc52f4c00672a0621c9a8fc","signature":"2af055f16ebdd21cffc468298036c526486b794a85150e939ad3b022cdba723a"},{"version":"8613e297afea111110ff33d262cf84ca259bd500b8b163bc7edef48a98d2a966","signature":"e0964b07a6da8be0019f04be45968c67f1e512380015c677c7db20fcf077aeb7"},{"version":"53d65e57d1a314a9e84d30c7a4c666db0a96e708c7675b7281b407e20019a102","signature":"82007a55f8a97943d16a14551d2e8eb31a415a920fec7d51a0d529d018f54617"},{"version":"d46785e38210fe20b0a865d5d88b55a20c31194a9050aa15dde0315c13bbc53a","signature":"c6179d1d5bbba5a5509873ae73538335061c703069424fc04606ca414660f9ef"},{"version":"0feb65a0967d2482d47aece7f14bb8bdeaeb5d9f828c9351ecef7cb406bbac4d","signature":"c818c7e331ada03b73a83993119583693d419d6e411e634349a1343f01c2b8e0"},{"version":"6ff2ec600a544dfa83182d5174cb76845428d6cca0f42c72f59873ae72621d3d","signature":"cc57f36d860cfc1005e7c6630424e32200824b16843cd9892c2974132b032cde"},{"version":"5b8b552ec4e924056da66a478c3d51761296e8ddceff9b047acc1fbf88154a69","signature":"3396b8f04165c0921c46fcaa5d0f5afd46b761724e6d86432f4a7d7d0636b79b"},{"version":"d834028f4c754991a04318699d9dea2c19c971696d909f0ff04952e0fde37f35","signature":"6b2c6a617a84f35c2c8f2e51faf56ec6a74f77785132723f7e343d5272c1b742"},{"version":"16ef615c9cbee5b35d1633f587ba2d06297ef6aaabaad20323a29317fd982210","signature":"7f5497aeced54141e2274d029b0b3d95ea70cd5c7cc1956699c85209772f5c77"},{"version":"92dfe1cb7278ffac5c23656e33d0827da93b067724f377923f618c248204fa67","signature":"dc9ec8fcc1d97c07508efc913755665fde1feb62430a327ea3f9ad0989a31ad9"},{"version":"6d6b297cbb5990aa61b4cc4b15d32a3c211ebb6b55151a4610733264e9eb1e85","signature":"891103f36f5b37ca5b93e78077873529644f1f37bb1330f1629854bf8f4a565a"},{"version":"bfaa88f361eadaad415790d23b96fadb3f5e6ba8d0f9efd24486c745b1d8f406","signature":"399b0feb0194a998b788764abcb79550f2362963281e2620e9fdc15ae069c3de"},{"version":"686f2734d8ad760eafccfdc84c0a8a029f45350c7c23291edebd2533a8c5015a","signature":"61afe6a510c76e088624b41582b8ba29b5926995ac8a8748892ac8f1f0e7597c"},{"version":"6e153b017c3322bfcda2c256af4a9d5984eeb87266f0430c9f9becc502cf6b18","signature":"ed8d1d8700183e4263d9bfa0a3824cc91a3032b444c6785395235be3d2ee4005"},{"version":"9650e83bae742de79822409feb6f2b2ed61f70475ab4f038950e55b4f932ad66","signature":"c155f97cc640363cab3c4afb6be19ec9a9be99a9185bed63fda61e8d8e173c0d"},{"version":"a3abde6175e10aa119577819a0ee33ba42b42a34bf29311bbb6c808bd7a525cc","signature":"ce55706fc964be3e6a7f642912a57000a1faba8f480ebb9fb215373f92e3654a"},{"version":"5c51e4e64d264ea6aec8b854be1f04003c46f42042f8946c77f3e4277c18c10d","signature":"692642703cd89694ed502fa1ec27d0a24694221589eb3d11df14bc78d994b368"},{"version":"7fe426549f34db44b48b1e71379e355b24ac217cd463899495475356c17c4f8f","signature":"0a587cb277a11779346f192f2698cd77754f38fefcaca16c30f4336484c02722"},{"version":"364eeacfbc1bdf1d16690154d949ad91baa68d296dbec19ba1e2dc43b2328d31","signature":"24991486fe411737297c1ab312906c3783c68cf7bb7994067adec02f5b09f84a"},{"version":"bf1daafe347b0601738730267356f3cce0fa0b7e1e120177d24cfd47be1000b1","signature":"758cc6cd7d09f30edcb54eef0e34374361a594a71a812d05e99127a0096658a8"},{"version":"727e89104c93ad93287dc48193457a29cb14476f33cb557e727d34d24bea450a","signature":"8501181dfb03812f099d96b6136fea90d96012c395b543329b79c7fc4c5058aa"},{"version":"4e45ba5a28388f7d0446c30d49e3c1527b70540d711a063bf337558603acd517","signature":"3c3b6fb70b7cb90edb2144b045a9e33a5fd050305ea61f4f71d2ce66c144035b"},{"version":"32cd0dca1710c86231fdd586c1c84cdd879dbc113341c2701c1a5fef80e40a69","signature":"7fbed88d7c7058501d9c5040e43eb53eae6dbc7ac1241af308dc5f66c1f89b76"},{"version":"5ff49db5c9add02660f22c8825d1c3e0c56574c0129799d678ca6bae7756ad59","signature":"8fd57a820bfffc00a5287a809d870f9826867c1681d6d3609d4e54850a76e417"},{"version":"4c92a1329a7d6d78642f6cd74814981c21fac78a3079522e375a9a67ed52e138","signature":"9f4c9ef2efe75e269dc07e9cf3a500d44314c25e59b3525a5a2ae97c53638199"},{"version":"99dd3e0d4f258fae4cecf325c08e61c3f4bf2b1c6dc53e748802ff0b357122ac","signature":"c4a68a57535ba786c1328af5242c190c36cc63dfe614c29c1c8dc5efde3eb78d"},{"version":"a58481cfd655fba8aea4a656e31d0b4b7506ee94d93e87449f9a6faa012e0984","signature":"68a792f587621b0d3774bf4b66f23d45acef8c8c648539925b5420f259afba6c"},{"version":"d5251ece84d633828c7255574a70b76878eb5ec1c29d5d6fdf9e1a8cd6c303ad","signature":"a70060af261697b22b454824094357adf2125e7f37fd1a97f5349f53ce4e5584"},{"version":"f724ade2d4e93a4d05f81875466f4475f1a327a8aacf3f195f50ff55329e742a","signature":"0bbf18568ed5c8bfe25a6ac9d17485251e9c0d8ef9cb7dd1c53cc41d804e0df7"},{"version":"854268d3897e2321f6571ec1935b3f7d5852cce27347b823006c5dd823b85fc9","signature":"235a5b6ccd589820e01ce258b1ab2293ef5f5e8551676f5a3c25c1df67e63289"},{"version":"625127b39354798a2fbec4de8efc713e51b77a3ed82890225ca32c8dfe7ff16d","signature":"c4e930527562856e471ae6fcc18a40d122f7bf68c0d7ab45d70d00c26fbc2a24"},{"version":"668527131b36a1314594648ff5834d3ce4f5773a3467a2e15c457a6f3101808f","signature":"44f67e7dc12960b148988fc948ebffe44a21bdd44088a678ad4e122b8a31dda5"},{"version":"3529cd4cdc1a04dc5de2af15edefc3a977c1b58c3ea7069d737eb99e2b76a522","signature":"6957edc175ca3fad278307b5268767536ce55cb833f3fc2b5dc2eb7e246ccf12"},{"version":"fa0e7853b961b76dd44df0b648d4e77590a8c907dd813d69d7b301582905aa33","signature":"df48334f28055aa3ccdbfeed46ee5018704cf5b18133fb4776fbe5104134d601"},{"version":"590f4595f7e2edfd32358250591680e60b83bfd8502cd1a5b4eba74bde8248d8","signature":"4a50c9f21c01f1f6f8c0bfe5e3339fde13246d00a12c2e9757ed6c8d6678f4db"},{"version":"6c05d0fcee91437571513c404e62396ee798ff37a2d8bef2104accdc79deb9c0","impliedFormat":1},{"version":"7c1edcfa7a0614bfc279aeb8ce3e60e0642b1c24a6ff3d4d03d3e256efc95b20","signature":"8ced3e19a179346437c1ac65e063a793f4559fd0281c8b4c6ab4e34e51892085"},{"version":"40f95f7a7fc201de996bd17616be83cba94bdd04cd141529968438db7fc02cb3","signature":"8d1550565807bc336cf75eccb964ccc9740e7114ec7280112b19723098bbce32"},{"version":"5f2a29301885e099ed2829cb22b2624f173ab2cdd44ae682ae4d35a89234a561","signature":"0ba47dae54dc8c665cfe61c940bb9ca42b81c00ba794e71e757a51d8a97ffc15"},{"version":"0943a6e4e026d0de8a4969ee975a7283e0627bf41aa4635d8502f6f24365ac9b","impliedFormat":99},{"version":"1461efc4aefd3e999244f238f59c9b9753a7e3dfede923ebe2b4a11d6e13a0d0","impliedFormat":99},{"version":"789b258bfc80b22f9634539e5b7b8d06acb68eb2842347326fdfb5b9eed79d93","signature":"0bb7dc51869cf43a818dd6d08599897543f5375fc02213c86c980cd8a56eb396"},{"version":"8dd450de6d756cee0761f277c6dc58b0b5a66b8c274b980949318b8cad26d712","impliedFormat":99},{"version":"904d6ad970b6bd825449480488a73d9b98432357ab38cf8d31ffd651ae376ff5","impliedFormat":99},{"version":"dfcf16e716338e9fe8cf790ac7756f61c85b83b699861df970661e97bf482692","impliedFormat":99},{"version":"31c30cc54e8c3da37c8e2e40e5658471f65915df22d348990d1601901e8c9ff3","impliedFormat":99},{"version":"8181c7be76533bb5e1d721274cf16bcc07dbe25c521aa6f15e01fe8a302eb481","signature":"506de066b3c5993482ff65065ba1d1fa69180a24eb20b6c5fb15141fc9d42400"},{"version":"dce4f80f612a79389688cc8f765cccde46d5af4881ea899cc694187ac386757a","signature":"6730bbdfd0ecd7e5e023e8609313bb5a25a7f1594a133669f4febf373eb5c6f1"},{"version":"caf4af98bf464ad3e10c46cf7d340556f89197aab0f87f032c7b84eb8ddb24d9","impliedFormat":99},{"version":"36d8011f1437aecf0e6e88677d933e4fb3403557f086f4ac00c5a4cb6d028ac2","impliedFormat":99},{"version":"09035a9c5b8211fffd34f06a6ec44e053b0d753390e40aea970cb59773176714","signature":"fca9bc9ef189961ee8b8ae7a29d2ee2ddbab2e15d1fefa8f3fb4d6005ef35bd8"},{"version":"a9373d52584b48809ffd61d74f5b3dfd127da846e3c4ee3c415560386df3994b","impliedFormat":99},{"version":"caf4af98bf464ad3e10c46cf7d340556f89197aab0f87f032c7b84eb8ddb24d9","impliedFormat":99},{"version":"8085954ba165e611c6230596078063627f3656fed3fb68ad1e36a414c4d7599a","impliedFormat":99},{"version":"9effa6f9decfeb6230e20958c815cdfef8bd84f6ec6aafc8e2e87c5e4c64b4b2","signature":"a548630f941a3440739c0de45a1e20495f57ea8abebe98425a124bfc6ebb8d75"},{"version":"801c5fac01248e8e4692b58a6ee5c6a50a3cddb9b095e0bb2e04aff201313b6c","signature":"5759cb11825992823d4a1b694974bf261d262a376225b14bb295845851160aa2"},{"version":"caf4af98bf464ad3e10c46cf7d340556f89197aab0f87f032c7b84eb8ddb24d9","impliedFormat":99},{"version":"9c580c6eae94f8c9a38373566e59d5c3282dc194aa266b23a50686fe10560159","impliedFormat":99},{"version":"96ef29b5aa9a169fd23a813ebbd4a721ba693c9ba73b9bdd9b4ece6788e9279c","signature":"dbb75a08150c6031b2a036d35c99fe58bd58afb83ea378200726f7686979b649"},{"version":"07203100cedafa78bd03b8ffe71559d29c35bfe7ea034449ed21d1008907cc0e","signature":"7f1a63df38832b63ac8fd0d109e01b04dca1a8911debb304a6e6a6b129dda6f5"},{"version":"57ae71d27ee71b7d1f2c6d867ddafbbfbaa629ad75565e63a508dbaa3ef9f859","impliedFormat":99},{"version":"60924ca0c60f0674f208bfa1eaaa54e6973ced7650df7c7a81ae069730ef665a","impliedFormat":99},{"version":"e3181c7595a89dd03ba9a20eb5065fa37e0b0a514261bed774f6ae2241634470","impliedFormat":99},{"version":"c42d5cbf94816659c01f7c2298d0370247f1a981f8ca6370301b7a03b3ced950","impliedFormat":99},{"version":"18c18ab0341fd5fdfefb5d992c365be1696bfe000c7081c964582b315e33f8f2","impliedFormat":99},{"version":"dafbd4199902d904e3d4a233b5faf5dc4c98847fcd8c0ddd7617b2aed50e90d8","impliedFormat":99},{"version":"9fc866f9783d12d0412ed8d68af5e4c9e44f0072d442b0c33c3bda0a5c8cae15","impliedFormat":99},{"version":"5fc13d24a2d0328eac00c4e73cc052a987fbced2151bc0d3b7eb8f3ba4d0f4e2","impliedFormat":99},{"version":"2cef84bf00cbdb452fdc5d8ecfe7b8c0aa3fa788bdc4ad8961e2e636530dbb60","impliedFormat":99},{"version":"24104650185414f379d5cc35c0e2c19f06684a73de5b472bae79e0d855771ecf","impliedFormat":99},{"version":"799003c0ab928582fca04977f47b8d85b43a8de610f4eef0ad2d069fbb9f9399","impliedFormat":99},{"version":"b13dd41c344a23e085f81b2f5cd96792e6b35ae814f32b25e39d9841844ad240","impliedFormat":99},{"version":"17d8b4e6416e48b6e23b73d05fd2fde407e2af8fddbe9da2a98ede14949c3489","impliedFormat":99},{"version":"6d17b2b41f874ab4369b8e04bdbe660163ea5c8239785c850f767370604959e3","impliedFormat":99},{"version":"04b4c044c8fe6af77b6c196a16c41e0f7d76b285d036d79dcaa6d92e24b4982b","impliedFormat":99},{"version":"30bdeead5293c1ddfaea4097d3e9dd5a6b0bc59a1e07ff4714ea1bbe7c5b2318","impliedFormat":99},{"version":"e7df226dcc1b0ce76b32f160556f3d1550124c894aae2d5f73cefaaf28df7779","impliedFormat":99},{"version":"f2b7eef5c46c61e6e72fba9afd7cc612a08c0c48ed44c3c5518559d8508146a2","impliedFormat":99},{"version":"00f0ba57e829398d10168b7db1e16217f87933e61bd8612b53a894bd7d6371da","impliedFormat":99},{"version":"126b20947d9fa74a88bb4e9281462bda05e529f90e22d08ee9f116a224291e84","impliedFormat":99},{"version":"40d9e43acee39702745eb5c641993978ac40f227475eacc99a83ba893ad995db","impliedFormat":99},{"version":"8a66b69b21c8de9cb88b4b6d12f655d5b7636e692a014c5aa1bd81745c8c51d5","impliedFormat":99},{"version":"ebbb846bdd5a78fdacff59ae04cea7a097912aeb1a2b34f8d88f4ebb84643069","impliedFormat":99},{"version":"7321adb29ffd637acb33ee67ea035f1a97d0aa0b14173291cc2fd58e93296e04","impliedFormat":99},{"version":"320816f1a4211188f07a782bdb6c1a44555b3e716ce13018f528ad7387108d5f","impliedFormat":99},{"version":"b2cc8a474b7657f4a03c67baf6bff75e26635fd4b5850675e8cad524a09ddd0c","impliedFormat":99},{"version":"0d081e9dc251063cc69611041c17d25847e8bdbe18164baaa89b7f1f1633c0ab","impliedFormat":99},{"version":"a64c25d8f4ec16339db49867ea2324e77060782993432a875d6e5e8608b0de1e","impliedFormat":99},{"version":"0739310b6b777f3e2baaf908c0fbc622c71160e6310eb93e0d820d86a52e2e23","impliedFormat":99},{"version":"37b32e4eadd8cd3c263e7ac1681c58b2ac54f3f77bb34c5e4326cc78516d55a9","impliedFormat":99},{"version":"9b7a8974e028c4ed6f7f9abb969e3eb224c069fd7f226e26fcc3a5b0e2a1eba8","impliedFormat":99},{"version":"e8100b569926a5592146ed68a0418109d625a045a94ed878a8c5152b1379237c","impliedFormat":99},{"version":"594201c616c318b7f3149a912abd8d6bdf338d765b7bcbde86bca2e66b144606","impliedFormat":99},{"version":"03e380975e047c5c6ded532cf8589e6cc85abb7be3629e1e4b0c9e703f2fd36f","impliedFormat":99},{"version":"fae14b53b7f52a8eb3274c67c11f261a58530969885599efe3df0277b48909e1","impliedFormat":99},{"version":"c41206757c428186f2e0d1fd373915c823504c249336bdc9a9c9bbdf9da95fef","impliedFormat":99},{"version":"e961f853b7b0111c42b763a6aa46fc70d06a697db3d8ed69b38f7ba0ae42a62b","impliedFormat":99},{"version":"3db90f79e36bcb60b3f8de1bc60321026800979c150e5615047d598c787a64b7","impliedFormat":99},{"version":"639b6fb3afbb8f6067c1564af2bd284c3e883f0f1556d59bd5eb87cdbbdd8486","impliedFormat":99},{"version":"49795f5478cb607fd5965aa337135a8e7fd1c58bc40c0b6db726adf186dd403f","impliedFormat":99},{"version":"7d8890e6e2e4e215959e71d5b5bd49482cf7a23be68d48ea446601a4c99bd511","impliedFormat":99},{"version":"d56f72c4bb518de5702b8b6ae3d3c3045c99e0fd48b3d3b54c653693a8378017","impliedFormat":99},{"version":"4c9ac40163e4265b5750510d6d2933fb7b39023eed69f7b7c68b540ad960826e","impliedFormat":99},{"version":"8dfab17cf48e7be6e023c438a9cdf6d15a9b4d2fa976c26e223ba40c53eb8da8","impliedFormat":99},{"version":"38bdf7ccacfd8e418de3a7b1e3cecc29b5625f90abc2fa4ac7843a290f3bf555","impliedFormat":99},{"version":"9819e46a914735211fbc04b8dc6ba65152c62e3a329ca0601a46ba6e05b2c897","impliedFormat":99},{"version":"50f0dc9a42931fb5d65cdd64ba0f7b378aedd36e0cfca988aa4109aad5e714cb","impliedFormat":99},{"version":"894f23066f9fafccc6e2dd006ed5bd85f3b913de90f17cf1fe15a2eb677fd603","impliedFormat":99},{"version":"abdf39173867e6c2d6045f120a316de451bbb6351a6929546b8470ddf2e4b3b9","impliedFormat":99},{"version":"aa2cb4053f948fbd606228195bbe44d78733861b6f7204558bbee603202ee440","impliedFormat":99},{"version":"6911b41bfe9942ac59c2da1bbcbe5c3c1f4e510bf65cae89ed00f434cc588860","impliedFormat":99},{"version":"7b81bc4d4e2c764e85d869a8dd9fe3652b34b45c065482ac94ffaacc642b2507","impliedFormat":99},{"version":"895df4edb46ccdcbce2ec982f5eed292cf7ea3f7168f1efea738ee346feab273","impliedFormat":99},{"version":"8692bb1a4799eda7b2e3288a6646519d4cebb9a0bddf800085fc1bd8076997a0","impliedFormat":99},{"version":"239c9e98547fe99711b01a0293f8a1a776fc10330094aa261f3970aaba957c82","impliedFormat":99},{"version":"34833ec50360a32efdc12780ae624e9a710dd1fd7013b58c540abf856b54285a","impliedFormat":99},{"version":"647538e4007dcc351a8882067310a0835b5bb8559d1cfa5f378e929bceb2e64d","impliedFormat":99},{"version":"992d6b1abcc9b6092e5a574d51d441238566b6461ade5de53cb9718e4f27da46","impliedFormat":99},{"version":"938702305649bf1050bd79f3803cf5cc2904596fc1edd4e3b91033184eae5c54","impliedFormat":99},{"version":"1e931d3c367d4b96fe043e792196d9c2cf74f672ff9c0b894be54e000280a79d","impliedFormat":99},{"version":"05bec322ea9f6eb9efcd6458bb47087e55bd688afdd232b78379eb5d526816ed","impliedFormat":99},{"version":"4c449a874c2d2e5e5bc508e6aa98f3140218e78c585597a21a508a647acd780a","impliedFormat":99},{"version":"dae15e326140a633d7693e92b1af63274f7295ea94fb7c322d5cbe3f5e48be88","impliedFormat":99},{"version":"c2b0a869713bca307e58d81d1d1f4b99ebfc7ec8b8f17e80dde40739aa8a2bc6","impliedFormat":99},{"version":"6e4b4ff6c7c54fa9c6022e88f2f3e675eac3c6923143eb8b9139150f09074049","impliedFormat":99},{"version":"69559172a9a97bbe34a32bff8c24ef1d8c8063feb5f16a6d3407833b7ee504cf","impliedFormat":99},{"version":"86b94a2a3edcb78d9bfcdb3b382547d47cb017e71abe770c9ee8721e9c84857f","impliedFormat":99},{"version":"e3fafafda82853c45c0afc075fea1eaf0df373a06daf6e6c7f382f9f61b2deb3","impliedFormat":99},{"version":"a4ba4b31de9e9140bc49c0addddbfaf96b943a7956a46d45f894822e12bf5560","impliedFormat":99},{"version":"d8a7926fc75f2ed887f17bae732ee31a4064b8a95a406c87e430c58578ee1f67","impliedFormat":99},{"version":"9886ffbb134b0a0059fd82219eba2a75f8af341d98bc6331b6ef8a921e10ec68","impliedFormat":99},{"version":"c2ead057b70d0ae7b87a771461a6222ebdb187ba6f300c974768b0ae5966d10e","impliedFormat":99},{"version":"46687d985aed8485ab2c71085f82fafb11e69e82e8552cf5d3849c00e64a00a5","impliedFormat":99},{"version":"999ca66d4b5e2790b656e0a7ce42267737577fc7a52b891e97644ec418eff7ec","impliedFormat":99},{"version":"ec948ee7e92d0888f92d4a490fdd0afb27fbf6d7aabebe2347a3e8ac82c36db9","impliedFormat":99},{"version":"03ef2386c683707ce741a1c30cb126e8c51a908aa0acc01c3471fafb9baaacd5","impliedFormat":99},{"version":"66a372e03c41d2d5e920df5282dadcec2acae4c629cb51cab850825d2a144cea","impliedFormat":99},{"version":"ddf9b157bd4c06c2e4646c9f034f36267a0fbd028bd4738214709de7ea7c548b","impliedFormat":99},{"version":"3e795aac9be23d4ad9781c00b153e7603be580602e40e5228e2dafe8a8e3aba1","impliedFormat":99},{"version":"98c461ec5953dfb1b5d5bca5fee0833c8a932383b9e651ca6548e55f1e2c71c3","impliedFormat":99},{"version":"5c42107b46cb1d36b6f1dee268df125e930b81f9b47b5fa0b7a5f2a42d556c10","impliedFormat":99},{"version":"7e32f1251d1e986e9dd98b6ff25f62c06445301b94aeebdf1f4296dbd2b8652f","impliedFormat":99},{"version":"2f7e328dda700dcb2b72db0f58c652ae926913de27391bd11505fc5e9aae6c33","impliedFormat":99},{"version":"3de7190e4d37da0c316db53a8a60096dbcd06d1a50677ccf11d182fa26882080","impliedFormat":99},{"version":"a9d6f87e59b32b02c861aade3f4477d7277c30d43939462b93f48644fa548c58","impliedFormat":99},{"version":"2bce8fd2d16a9432110bbe0ba1e663fd02f7d8b8968cd10178ea7bc306c4a5df","impliedFormat":99},{"version":"798bedbf45a8f1e55594e6879cd46023e8767757ecce1d3feaa78d16ad728703","impliedFormat":99},{"version":"62723d5ac66f7ed6885a3931dd5cfa017797e73000d590492988a944832e8bc2","impliedFormat":99},{"version":"03db8e7df7514bf17fc729c87fff56ca99567b9aa50821f544587a666537c233","impliedFormat":99},{"version":"9b1f311ba4409968b68bf20b5d892dbd3c5b1d65c673d5841c7dbde351bc0d0b","impliedFormat":99},{"version":"2d1e8b5431502739fe335ceec0aaded030b0f918e758a5d76f61effa0965b189","impliedFormat":99},{"version":"e725839b8f884dab141b42e9d7ff5659212f6e1d7b4054caa23bc719a4629071","impliedFormat":99},{"version":"4fa38a0b8ae02507f966675d0a7d230ed67c92ab8b5736d99a16c5fbe2b42036","impliedFormat":99},{"version":"50ec1e8c23bad160ddedf8debeebc722becbddda127b8fdce06c23eacd3fe689","impliedFormat":99},{"version":"9a0aea3a113064fd607f41375ade308c035911d3c8af5ae9db89593b5ca9f1f9","impliedFormat":99},{"version":"8d643903b58a0bf739ce4e6a8b0e5fb3fbdfaacbae50581b90803934b27d5b89","impliedFormat":99},{"version":"19de2915ccebc0a1482c2337b34cb178d446def2493bf775c4018a4ea355adb8","impliedFormat":99},{"version":"9be8fc03c8b5392cd17d40fd61063d73f08d0ee3457ecf075dcb3768ae1427bd","impliedFormat":99},{"version":"a2d89a8dc5a993514ca79585039eea083a56822b1d9b9d9d85b14232e4782cbe","impliedFormat":99},{"version":"f526f20cae73f17e8f38905de4c3765287575c9c4d9ecacee41cfda8c887da5b","impliedFormat":99},{"version":"d9ec0978b7023612b9b83a71fee8972e290d02f8ff894e95cdd732cd0213b070","impliedFormat":99},{"version":"7ab10c473a058ec8ac4790b05cae6f3a86c56be9b0c0a897771d428a2a48a9f9","impliedFormat":99},{"version":"451d7a93f8249d2e1453b495b13805e58f47784ef2131061821b0e456a9fd0e1","impliedFormat":99},{"version":"21c56fe515d227ed4943f275a8b242d884046001722a4ba81f342a08dbe74ae2","impliedFormat":99},{"version":"d8311f0c39381aa1825081c921efde36e618c5cf46258c351633342a11601208","impliedFormat":99},{"version":"6b50c3bcc92dc417047740810596fcb2df2502aa3f280c9e7827e87896da168a","impliedFormat":99},{"version":"18a6b318d1e7b31e5749a52be0cf9bbce1b275f63190ef32e2c79db0579328ca","impliedFormat":99},{"version":"6a2d0af2c27b993aa85414f3759898502aa198301bc58b0d410948fe908b07b0","impliedFormat":99},{"version":"2da11b6f5c374300e5e66a6b01c3c78ec21b5d3fec0748a28cc28e00be73e006","impliedFormat":99},{"version":"0729691b39c24d222f0b854776b00530877217bfc30aac1dc7fa2f4b1795c536","impliedFormat":99},{"version":"ca45bb5c98c474d669f0e47615e4a5ae65d90a2e78531fda7862ee43e687a059","impliedFormat":99},{"version":"c1c058b91d5b9a24c95a51aea814b0ad4185f411c38ac1d5eef0bf3cebec17dc","impliedFormat":99},{"version":"3ab0ed4060b8e5b5e594138aab3e7f0262d68ad671d6678bcda51568d4fc4ccc","impliedFormat":99},{"version":"e2bf1faba4ff10a6020c41df276411f641d3fdce5c6bae1db0ec84a0bf042106","impliedFormat":99},{"version":"80b0a8fe14d47a71e23d7c3d4dcee9584d4282ef1d843b70cab1a42a4ea1588c","impliedFormat":99},{"version":"a0f02a73f6e3de48168d14abe33bf5970fdacdb52d7c574e908e75ad571e78f7","impliedFormat":99},{"version":"c728002a759d8ec6bccb10eed56184e86aeff0a762c1555b62b5d0fa9d1f7d64","impliedFormat":99},{"version":"586f94e07a295f3d02f847f9e0e47dbf14c16e04ccc172b011b3f4774a28aaea","impliedFormat":99},{"version":"cfe1a0f4ed2df36a2c65ea6bc235dbb8cf6e6c25feb6629989f1fa51210b32e7","impliedFormat":99},{"version":"8ba69c9bf6de79c177329451ffde48ddab7ec495410b86972ded226552f664df","impliedFormat":99},{"version":"15111cbe020f8802ad1d150524f974a5251f53d2fe10eb55675f9df1e82dbb62","impliedFormat":99},{"version":"782dc153c56a99c9ed07b2f6f497d8ad2747764966876dbfef32f3e27ce11421","impliedFormat":99},{"version":"cc2db30c3d8bb7feb53a9c9ff9b0b859dd5e04c83d678680930b5594b2bf99cb","impliedFormat":99},{"version":"46909b8c85a6fd52e0807d18045da0991e3bdc7373435794a6ba425bc23cc6be","impliedFormat":99},{"version":"e4e511ff63bb6bd69a2a51e472c6044298bca2c27835a34a20827bc3ef9b7d13","impliedFormat":99},{"version":"2c86f279d7db3c024de0f21cd9c8c2c972972f842357016bfbbd86955723b223","impliedFormat":99},{"version":"112c895cff9554cf754f928477c7d58a21191c8089bffbf6905c87fe2dc6054f","impliedFormat":99},{"version":"8cfc293b33082003cacbf7856b8b5e2d6dd3bde46abbd575b0c935dc83af4844","impliedFormat":99},{"version":"d2c5c53f85ce0474b3a876d76c4fc44ff7bb766b14ed1bf495f9abac181d7f5f","impliedFormat":99},{"version":"3c523f27926905fcbe20b8301a0cc2da317f3f9aea2273f8fc8d9ae88b524819","impliedFormat":99},{"version":"9ca0d706f6b039cc52552323aeccb4db72e600b67ddc7a54cebc095fc6f35539","impliedFormat":99},{"version":"a64909a9f75081342ddd061f8c6b49decf0d28051bc78e698d347bdcb9746577","impliedFormat":99},{"version":"7d8d55ae58766d0d52033eae73084c4db6a93c4630a3e17f419dd8a0b2a4dcd8","impliedFormat":99},{"version":"b8b5c8ba972d9ffff313b3c8a3321e7c14523fc58173862187e8d1cb814168ac","impliedFormat":99},{"version":"9c42c0fa76ee36cf9cc7cc34b1389fbb4bd49033ec124b93674ec635fabf7ffe","impliedFormat":99},{"version":"6184c8da9d8107e3e67c0b99dedb5d2dfe5ccf6dfea55c2a71d4037caf8ca196","impliedFormat":99},{"version":"4030ceea7bf41449c1b86478b786e3b7eadd13dfe5a4f8f5fe2eb359260e08b3","impliedFormat":99},{"version":"7bf516ec5dfc60e97a5bde32a6b73d772bd9de24a2e0ec91d83138d39ac83d04","impliedFormat":99},{"version":"e6a6fb3e6525f84edf42ba92e261240d4efead3093aca3d6eb1799d5942ba393","impliedFormat":99},{"version":"45df74648934f97d26800262e9b2af2f77ef7191d4a5c2eb1df0062f55e77891","impliedFormat":99},{"version":"3fe361e4e567f32a53af1f2c67ad62d958e3d264e974b0a8763d174102fe3b29","impliedFormat":99},{"version":"28b520acee4bc6911bfe458d1ad3ebc455fa23678463f59946ad97a327c9ab2b","impliedFormat":99},{"version":"121b39b1a9ad5d23ed1076b0db2fe326025150ef476dccb8bf87778fcc4f6dd7","impliedFormat":99},{"version":"f791f92a060b52aa043dde44eb60307938f18d4c7ac13df1b52c82a1e658953f","impliedFormat":99},{"version":"df09443e7743fd6adc7eb108e760084bacdf5914403b7aac5fbd4dc4e24e0c2c","impliedFormat":99},{"version":"eeb4ff4aa06956083eaa2aad59070361c20254b865d986bc997ee345dbd44cbb","impliedFormat":99},{"version":"ed84d5043444d51e1e5908f664addc4472c227b9da8401f13daa565f23624b6e","impliedFormat":99},{"version":"146bf888b703d8baa825f3f2fb1b7b31bda5dff803e15973d9636cdda33f4af3","impliedFormat":99},{"version":"b4ec8b7a8d23bdf7e1c31e43e5beac3209deb7571d2ccf2a9572865bf242da7c","impliedFormat":99},{"version":"3fba0d61d172091638e56fba651aa1f8a8500aac02147d29bd5a9cc0bc8f9ec2","impliedFormat":99},{"version":"a5a57deb0351b03041e0a1448d3a0cc5558c48e0ed9b79b69c99163cdca64ad8","impliedFormat":99},{"version":"9bcecf0cbc2bfc17e33199864c19549905309a0f9ecc37871146107aac6e05ae","impliedFormat":99},{"version":"d6a211db4b4a821e93c978add57e484f2a003142a6aef9dbfa1fe990c66f337b","impliedFormat":99},{"version":"bd4d10bd44ce3f630dd9ce44f102422cb2814ead5711955aa537a52c8d2cae14","impliedFormat":99},{"version":"08e4c39ab1e52eea1e528ee597170480405716bae92ebe7a7c529f490afff1e0","impliedFormat":99},{"version":"625bb2bc3867557ea7912bd4581288a9fca4f3423b8dffa1d9ed57fafc8610e3","impliedFormat":99},{"version":"d1992164ecc334257e0bef56b1fd7e3e1cea649c70c64ffc39999bb480c0ecdf","impliedFormat":99},{"version":"a53ff2c4037481eb357e33b85e0d78e8236e285b6428b93aa286ceea1db2f5dc","impliedFormat":99},{"version":"4fe608d524954b6857d78857efce623852fcb0c155f010710656f9db86e973a5","impliedFormat":99},{"version":"b53b62a9838d3f57b70cc456093662302abb9962e5555f5def046172a4fe0d4e","impliedFormat":99},{"version":"9866369eb72b6e77be2a92589c9df9be1232a1a66e96736170819e8a1297b61f","impliedFormat":99},{"version":"43abfbdf4e297868d780b8f4cfdd8b781b90ecd9f588b05e845192146a86df34","impliedFormat":99},{"version":"582419791241fb851403ae4a08d0712a63d4c94787524a7419c2bc8e0eb1b031","impliedFormat":99},{"version":"18437eeb932fe48590b15f404090db0ab3b32d58f831d5ffc157f63b04885ee5","impliedFormat":99},{"version":"0c5eaedf622d7a8150f5c2ec1f79ac3d51eea1966b0b3e61bfdea35e8ca213a7","impliedFormat":99},{"version":"fac39fc7a9367c0246de3543a6ee866a0cf2e4c3a8f64641461c9f2dac0d8aae","impliedFormat":99},{"version":"3b9f559d0200134f3c196168630997caedeadc6733523c8b6076a09615d5dec8","impliedFormat":99},{"version":"932af64286d9723da5ef7b77a0c4229829ce8e085e6bcc5f874cb0b83e8310d4","impliedFormat":99},{"version":"adeb9278f11f5561157feee565171c72fd48f5fe34ed06f71abf24e561fcaa1e","impliedFormat":99},{"version":"2269fef79b4900fc6b08c840260622ca33524771ff24fda5b9101ad98ea551f3","impliedFormat":99},{"version":"73d47498a1b73d5392d40fb42a3e7b009ae900c8423f4088c4faa663cc508886","impliedFormat":99},{"version":"7efc34cdc4da0968c3ba687bc780d5cacde561915577d8d1c1e46c7ac931d023","impliedFormat":99},{"version":"3c20a3bb0c50c819419f44aa55acc58476dad4754a16884cef06012d02b0722f","impliedFormat":99},{"version":"4569abf6bc7d51a455503670f3f1c0e9b4f8632a3b030e0794c61bfbba2d13be","impliedFormat":99},{"version":"98b2297b4dc1404078a54b61758d8643e4c1d7830af724f3ed2445d77a7a2d57","impliedFormat":99},{"version":"952ba89d75f1b589e07070fea2d8174332e3028752e76fd46e1c16cc51e6e2af","impliedFormat":99},{"version":"b6c9a2deefb6a57ff68d2a38d33c34407b9939487fc9ee9f32ba3ecf2987a88a","impliedFormat":99},{"version":"f6b371377bab3018dac2bca63e27502ecbd5d06f708ad7e312658d3b5315d948","impliedFormat":99},{"version":"31947dd8f1c8eeb7841e1f139a493a73bd520f90e59a6415375d0d8e6a031f01","impliedFormat":99},{"version":"95cd83b807e10b1af408e62caf5fea98562221e8ddca9d7ccc053d482283ddda","impliedFormat":99},{"version":"19287d6b76288c2814f1633bdd68d2b76748757ffd355e73e41151644e4773d6","impliedFormat":99},{"version":"fc4e6ec7dade5f9d422b153c5d8f6ad074bd9cc4e280415b7dc58fb5c52b5df1","impliedFormat":99},{"version":"3aea973106e1184db82d8880f0ca134388b6cbc420f7309d1c8947b842886349","impliedFormat":99},{"version":"765e278c464923da94dda7c2b281ece92f58981642421ae097862effe2bd30fa","impliedFormat":99},{"version":"de260bed7f7d25593f59e859bd7c7f8c6e6bb87e8686a0fcafa3774cb5ca02d8","impliedFormat":99},{"version":"b5c341ce978f5777fbe05bc86f65e9906a492fa6b327bda3c6aae900c22e76c6","impliedFormat":99},{"version":"686ddbfaf88f06b02c6324005042f85317187866ca0f8f4c9584dd9479653344","impliedFormat":99},{"version":"7f789c0c1db29dd3aab6e159d1ba82894a046bf8df595ac48385931ae6ad83e0","impliedFormat":99},{"version":"8eb3057d4fe9b59b2492921b73a795a2455ebe94ccb3d01027a7866612ead137","impliedFormat":99},{"version":"1e43c5d7aee1c5ec20611e28b5417f5840c75d048de9d7f1800d6808499236f8","impliedFormat":99},{"version":"d42610a5a2bee4b71769968a24878885c9910cd049569daa2d2ee94208b3a7a5","impliedFormat":99},{"version":"f6ed95506a6ed2d40ed5425747529befaa4c35fcbbc1e0d793813f6d725690fa","impliedFormat":99},{"version":"a6fcc1cd6583939506c906dff1276e7ebdc38fbe12d3e108ba38ad231bd18d97","impliedFormat":99},{"version":"ed13354f0d96fb6d5878655b1fead51722b54875e91d5e53ef16de5b71a0e278","impliedFormat":99},{"version":"1193b4872c1fb65769d8b164ca48124c7ebacc33eae03abf52087c2b29e8c46c","impliedFormat":99},{"version":"af682dfabe85688289b420d939020a10eb61f0120e393d53c127f1968b3e9f66","impliedFormat":99},{"version":"0dca04006bf13f72240c6a6a502df9c0b49c41c3cab2be75e81e9b592dcd4ea8","impliedFormat":99},{"version":"79d6ac4a2a229047259116688f9cd62fda25422dee3ad304f77d7e9af53a41ef","impliedFormat":99},{"version":"64534c17173990dc4c3d9388d16675a059aac407031cfce8f7fdffa4ee2de988","impliedFormat":99},{"version":"ba46d160a192639f3ca9e5b640b870b1263f24ac77b6895ab42960937b42dcbb","impliedFormat":99},{"version":"5e5ddd6fc5b590190dde881974ab969455e7fad61012e32423415ae3d085b037","impliedFormat":99},{"version":"1c16fd00c42b60b96fe0fa62113a953af58ddf0d93b0a49cb4919cf5644616f0","impliedFormat":99},{"version":"eb240c0e6b412c57f7d9a9f1c6cd933642a929837c807b179a818f6e8d3a4e44","impliedFormat":99},{"version":"4a7bde5a1155107fc7d9483b8830099f1a6072b6afda5b78d91eb5d6549b3956","impliedFormat":99},{"version":"3c1baaffa9a24cc7ef9eea6b64742394498e0616b127ca630aca0e11e3298006","impliedFormat":99},{"version":"87ca1c31a326c898fa3feb99ec10750d775e1c84dbb7c4b37252bcf3742c7b21","impliedFormat":99},{"version":"d7bd26af1f5457f037225602035c2d7e876b80d02663ab4ca644099ad3a55888","impliedFormat":99},{"version":"2ad0a6b93e84a56b64f92f36a07de7ebcb910822f9a72ad22df5f5d642aff6f3","impliedFormat":99},{"version":"523d1775135260f53f672264937ee0f3dc42a92a39de8bee6c48c7ea60b50b5a","impliedFormat":99},{"version":"e441b9eebbc1284e5d995d99b53ed520b76a87cab512286651c4612d86cd408e","impliedFormat":99},{"version":"76f853ee21425c339a79d28e0859d74f2e53dee2e4919edafff6883dd7b7a80f","impliedFormat":99},{"version":"00cf042cd6ba1915648c8d6d2aa00e63bbbc300ea54d28ed087185f0f662e080","impliedFormat":99},{"version":"f57e6707d035ab89a03797d34faef37deefd3dd90aa17d90de2f33dce46a2c56","impliedFormat":99},{"version":"cc8b559b2cf9380ca72922c64576a43f000275c72042b2af2415ce0fb88d7077","impliedFormat":99},{"version":"1a337ca294c428ba8f2eb01e887b28d080ee4a4307ae87e02e468b1d26af4a74","impliedFormat":99},{"version":"5a15362fc2e72765a908c0d4dd89e3ab3b763e8bc8c23f19234a709ecfd202fe","impliedFormat":99},{"version":"2dffdfe62ac8af0943853234519616db6fd8958fc7ff631149fd8364e663f361","impliedFormat":99},{"version":"5dbdb2b2229b5547d8177c34705272da5a10b8d0033c49efbc9f6efba5e617f2","impliedFormat":99},{"version":"6fc0498cd8823d139004baff830343c9a0d210c687b2402c1384fb40f0aa461c","impliedFormat":99},{"version":"8492306a4864a1dc6fc7e0cc0de0ae9279cbd37f3aae3e9dc1065afcdc83dddc","impliedFormat":99},{"version":"c011b378127497d6337a93f020a05f726db2c30d55dc56d20e6a5090f05919a6","impliedFormat":99},{"version":"f4556979e95a274687ae206bbab2bb9a71c3ad923b92df241d9ab88c184b3f40","impliedFormat":99},{"version":"50e82bb6e238db008b5beba16d733b77e8b2a933c9152d1019cf8096845171a4","impliedFormat":99},{"version":"d6011f8b8bbf5163ef1e73588e64a53e8bf1f13533c375ec53e631aad95f1375","impliedFormat":99},{"version":"693cd7936ac7acfa026d4bcb5801fce71cec49835ba45c67af1ef90dbfd30af7","impliedFormat":99},{"version":"195e2cf684ecddfc1f6420564535d7c469f9611ce7a380d6e191811f84556cd2","impliedFormat":99},{"version":"1dc6b6e7b2a7f2962f31c77f4713f3a5a132bbe14c00db75d557568fe82e4311","impliedFormat":99},{"version":"add93b1180e9aaac2dae4ef3b16f7655893e2ecbe62bd9e48366c305f0063d89","impliedFormat":99},{"version":"594bd896fe37c970aafb7a376ebeec4c0d636b62a5f611e2e27d30fb839ad8a5","impliedFormat":99},{"version":"b1c6a6faf60542ba4b4271db045d7faea56e143b326ef507d2797815250f3afc","impliedFormat":99},{"version":"8c8b165beb794260f462679329b131419e9f5f35212de11c4d53e6d4d9cbedf6","impliedFormat":99},{"version":"ee5a4cf57d49fcf977249ab73c690a59995997c4672bb73fcaaf2eed65dbd1b2","impliedFormat":99},{"version":"f9f36051f138ab1c40b76b230c2a12b3ce6e1271179f4508da06a959f8bee4c1","impliedFormat":99},{"version":"9dc2011a3573d271a45c12656326530c0930f92539accbec3531d65131a14a14","impliedFormat":99},{"version":"091521ce3ede6747f784ae6f68ad2ea86bbda76b59d2bf678bcad2f9d141f629","impliedFormat":99},{"version":"202c2be951f53bafe943fb2c8d1245e35ed0e4dfed89f48c9a948e4d186dd6d4","impliedFormat":99},{"version":"c618aead1d799dbf4f5b28df5a6b9ce13d72722000a0ec3fe90a8115b1ea9226","impliedFormat":99},{"version":"9b0bf59708549c3e77fddd36530b95b55419414f88bbe5893f7bc8b534617973","impliedFormat":99},{"version":"7e216f67c4886f1bde564fb4eebdd6b185f262fe85ad1d6128cad9b229b10354","impliedFormat":99},{"version":"cd51e60b96b4d43698df74a665aa7a16604488193de86aa60ec0c44d9f114951","impliedFormat":99},{"version":"b63341fb6c7ba6f2aeabd9fc46b43e6cc2d2b9eec06534cfd583d9709f310ec2","impliedFormat":99},{"version":"be2af50c81b15bcfe54ad60f53eb1c72dae681c72d0a9dce1967825e1b5830a3","impliedFormat":99},{"version":"be5366845dfb9726f05005331b9b9645f237f1ddc594c0def851208e8b7d297b","impliedFormat":99},{"version":"5ddd536aaeadd4bf0f020492b3788ed209a7050ce27abec4e01c7563ff65da81","impliedFormat":99},{"version":"e243b24da119c1ef0d79af2a45217e50682b139cb48e7607efd66cc01bd9dcda","impliedFormat":99},{"version":"5b1398c8257fd180d0bf62e999fe0a89751c641e87089a83b24392efda720476","impliedFormat":99},{"version":"1588b1359f8507a16dbef67cd2759965fc2e8d305e5b3eb71be5aa9506277dff","impliedFormat":99},{"version":"4c99f2524eee1ec81356e2b4f67047a4b7efaf145f1c4eb530cd358c36784423","impliedFormat":99},{"version":"b30c6b9f6f30c35d6ef84daed1c3781e367f4360171b90598c02468b0db2fc3d","impliedFormat":99},{"version":"79c0d32274ccfd45fae74ac61d17a2be27aea74c70806d22c43fc625b7e9f12a","impliedFormat":99},{"version":"1b7e3958f668063c9d24ac75279f3e610755b0f49b1c02bb3b1c232deb958f54","impliedFormat":99},{"version":"779d4022c3d0a4df070f94858a33d9ebf54af3664754536c4ce9fd37c6f4a8db","impliedFormat":99},{"version":"e662f063d46aa8c088edffdf1d96cb13d9a2cbf06bc38dc6fc62b4d125fb7b49","impliedFormat":99},{"version":"d1d612df1e41c90d9678b07740d13d4f8e6acec2f17390d4ff4be5c889a6d37d","impliedFormat":99},{"version":"c95933fe140918892d569186f17b70ef6b1162f851a0f13f6a89e8f4d599c5a1","impliedFormat":99},{"version":"1d8d30677f87c13c2786980a80750ac1e281bdb65aa013ea193766fe9f0edd74","impliedFormat":99},{"version":"4661673cbc984b8a6ee5e14875a71ed529b64e7f8e347e12c0db4cecc25ad67d","impliedFormat":99},{"version":"7f980a414274f0f23658baa9a16e21d828535f9eac538e2eab2bb965325841db","impliedFormat":99},{"version":"20fb747a339d3c1d4a032a31881d0c65695f8167575e01f222df98791a65da9b","impliedFormat":99},{"version":"dd4e7ebd3f205a11becf1157422f98db675a626243d2fbd123b8b93efe5fb505","impliedFormat":99},{"version":"43ec6b74c8d31e88bb6947bb256ad78e5c6c435cbbbad991c3ff39315b1a3dba","impliedFormat":99},{"version":"b27242dd3af2a5548d0c7231db7da63d6373636d6c4e72d9b616adaa2acef7e1","impliedFormat":99},{"version":"e0ee7ba0571b83c53a3d6ec761cf391e7128d8f8f590f8832c28661b73c21b68","impliedFormat":99},{"version":"072bfd97fc61c894ef260723f43a416d49ebd8b703696f647c8322671c598873","impliedFormat":99},{"version":"e70875232f5d5528f1650dd6f5c94a5bed344ecf04bdbb998f7f78a3c1317d02","impliedFormat":99},{"version":"8e495129cb6cd8008de6f4ff8ce34fe1302a9e0dcff8d13714bd5593be3f7898","impliedFormat":99},{"version":"0345bc0b1067588c4ea4c48e34425d3284498c629bc6788ebc481c59949c9037","impliedFormat":99},{"version":"e30f5b5d77c891bc16bd65a2e46cd5384ea57ab3d216c377f482f535db48fc8f","impliedFormat":99},{"version":"f113afe92ee919df8fc29bca91cab6b2ffbdd12e4ac441d2bb56121eb5e7dbe3","impliedFormat":99},{"version":"49d567cc002efb337f437675717c04f207033f7067825b42bb59c9c269313d83","impliedFormat":99},{"version":"1d248f707d02dc76555298a934fba0f337f5028bb1163ce59cd7afb831c9070f","impliedFormat":99},{"version":"5d8debffc9e7b842dc0f17b111673fe0fc0cca65e67655a2b543db2150743385","impliedFormat":99},{"version":"5fccbedc3eb3b23bc6a3a1e44ceb110a1f1a70fa8e76941dce3ae25752caa7a9","impliedFormat":99},{"version":"f4031b95f3bab2b40e1616bd973880fb2f1a97c730bac5491d28d6484fac9560","impliedFormat":99},{"version":"dbe75b3c5ed547812656e7945628f023c4cd0bc1879db0db3f43a57fb8ec0e2b","impliedFormat":99},{"version":"b754718a546a1939399a6d2a99f9022d8a515f2db646bab09f7d2b5bff3cbb82","impliedFormat":99},{"version":"2eef10fb18ed0b4be450accf7a6d5bcce7b7f98e02cac4e6e793b7ad04fc0d79","impliedFormat":99},{"version":"c46f471e172c3be12c0d85d24876fedcc0c334b0dab48060cdb1f0f605f09fed","impliedFormat":99},{"version":"7d6ddeead1d208588586c58c26e4a23f0a826b7a143fb93de62ed094d0056a33","impliedFormat":99},{"version":"7c5782291ff6e7f2a3593295681b9a411c126e3736b83b37848032834832e6b9","impliedFormat":99},{"version":"3a3f09df6258a657dd909d06d4067ee360cd2dccc5f5d41533ae397944a11828","impliedFormat":99},{"version":"ea54615be964503fec7bce04336111a6fa455d3e8d93d44da37b02c863b93eb8","impliedFormat":99},{"version":"2a83694bc3541791b64b0e57766228ea23d92834df5bf0b0fcb93c5bb418069c","impliedFormat":99},{"version":"b5913641d6830e7de0c02366c08b1d26063b5758132d8464c938e78a45355979","impliedFormat":99},{"version":"46c095d39c1887979d9494a824eda7857ec13fb5c20a6d4f7d02c2975309bf45","impliedFormat":99},{"version":"f6e02ca076dc8e624aa38038e3488ebd0091e2faea419082ed764187ba8a6500","impliedFormat":99},{"version":"4d49e8a78aba1d4e0ad32289bf8727ae53bc2def9285dff56151a91e7d770c3e","impliedFormat":99},{"version":"63315cf08117cc728eab8f3eec8801a91d2cd86f91d0ae895d7fd928ab54596d","impliedFormat":99},{"version":"a14a6f3a5636bcaebfe9ec2ccfa9b07dc94deb1f6c30358e9d8ea800a1190d5e","impliedFormat":99},{"version":"21206e7e81876dabf2a7af7aa403f343af1c205bdcf7eff24d9d7f4eee6214c4","impliedFormat":99},{"version":"cd0a9f0ffec2486cad86b7ef1e4da42953ffeb0eb9f79f536e16ff933ec28698","impliedFormat":99},{"version":"f609a6ec6f1ab04dba769e14d6b55411262fd4627a099e333aa8876ea125b822","impliedFormat":99},{"version":"6d8052bb814be030c64cb22ca0e041fe036ad3fc8d66208170f4e90d0167d354","impliedFormat":99},{"version":"851f72a5d3e8a2bf7eeb84a3544da82628f74515c92bdf23c4a40af26dcc1d16","impliedFormat":99},{"version":"59692a7938aab65ea812a8339bbc63c160d64097fe5a457906ea734d6f36bcd4","impliedFormat":99},{"version":"8cb3b95e610c44a9986a7eab94d7b8f8462e5de457d5d10a0b9c6dd16bde563b","impliedFormat":99},{"version":"f571713abd9a676da6237fe1e624d2c6b88c0ca271c9f1acc1b4d8efeea60b66","impliedFormat":99},{"version":"16c5d3637d1517a3d17ed5ebcfbb0524f8a9997a7b60f6100f7c5309b3bb5ac8","impliedFormat":99},{"version":"ca1ec669726352c8e9d897f24899abf27ad15018a6b6bcf9168d5cd1242058ab","impliedFormat":99},{"version":"bffb1b39484facf6d0c5d5feefe6c0736d06b73540b9ce0cf0f12da2edfd8e1d","impliedFormat":99},{"version":"f1663c030754f6171b8bb429096c7d2743282de7733bccd6f67f84a4c588d96e","impliedFormat":99},{"version":"dd09693285e58504057413c3adc84943f52b07d2d2fd455917f50fa2a63c9d69","impliedFormat":99},{"version":"d94c94593d03d44a03810a85186ae6d61ebeb3a17a9b210a995d85f4b584f23d","impliedFormat":99},{"version":"c7c3bf625a8cb5a04b1c0a2fbe8066ecdbb1f383d574ca3ffdabe7571589a935","impliedFormat":99},{"version":"7a2f39a4467b819e873cd672c184f45f548511b18f6a408fe4e826136d0193bb","impliedFormat":99},{"version":"f8a0ae0d3d4993616196619da15da60a6ec5a7dfaf294fe877d274385eb07433","impliedFormat":99},{"version":"2cca80de38c80ef6c26deb4e403ca1ff4efbe3cf12451e26adae5e165421b58d","impliedFormat":99},{"version":"0070d3e17aa5ad697538bf865faaff94c41f064db9304b2b949eb8bcccb62d34","impliedFormat":99},{"version":"53df93f2db5b7eb8415e98242c1c60f6afcac2db44bce4a8830c8f21eee6b1dd","impliedFormat":99},{"version":"d67bf28dc9e6691d165357424c8729c5443290367344263146d99b2f02a72584","impliedFormat":99},{"version":"932557e93fbdf0c36cc29b9e35950f6875425b3ac917fa0d3c7c2a6b4f550078","impliedFormat":99},{"version":"e3dc7ec1597fb61de7959335fb7f8340c17bebf2feb1852ed8167a552d9a4a25","impliedFormat":99},{"version":"b64e15030511c5049542c2e0300f1fe096f926cf612662884f40227267f5cd9f","impliedFormat":99},{"version":"1932796f09c193783801972a05d8fb1bfef941bb46ac76fbe1abb0b3bfb674fa","impliedFormat":99},{"version":"d9575d5787311ee7d61ad503f5061ebcfaf76b531cfecce3dc12afb72bb2d105","impliedFormat":99},{"version":"5b41d96c9a4c2c2d83f1200949f795c3b6a4d2be432b357ad1ab687e0f0de07c","impliedFormat":99},{"version":"38ec829a548e869de4c5e51671245a909644c8fb8e7953259ebb028d36b4dd06","impliedFormat":99},{"version":"20c2c5e44d37dac953b516620b5dba60c9abd062235cdf2c3bfbf722d877a96b","impliedFormat":99},{"version":"875fe6f7103cf87c1b741a0895fda9240fed6353d5e7941c8c8cbfb686f072b4","impliedFormat":99},{"version":"c0ccccf8fbcf5d95f88ed151d0d8ce3015aa88cf98d4fd5e8f75e5f1534ee7ae","impliedFormat":99},{"version":"1b1f4aba21fd956269ced249b00b0e5bfdbd5ebd9e628a2877ab1a2cf493c919","impliedFormat":99},{"version":"939e3299952dff0869330e3324ba16efe42d2cf25456d7721d7f01a43c1b0b34","impliedFormat":99},{"version":"f0a9b52faec508ba22053dedfa4013a61c0425c8b96598cef3dea9e4a22637c6","impliedFormat":99},{"version":"d5b302f50db61181adc6e209af46ae1f27d7ef3d822de5ea808c9f44d7d219fd","impliedFormat":99},{"version":"19131632ba492c83e8eeadf91a481def0e0b39ffc3f155bc20a7f640e0570335","impliedFormat":99},{"version":"4581c03abea21396c3e1bb119e2fd785a4d91408756209cbeed0de7070f0ab5b","impliedFormat":99},{"version":"ebcd3b99e17329e9d542ef2ccdd64fddab7f39bc958ee99bbdb09056c02d6e64","impliedFormat":99},{"version":"4b148999deb1d95b8aedd1a810473a41d9794655af52b40e4894b51a8a4e6a6d","impliedFormat":99},{"version":"1781cc99a0f3b4f11668bb37cca7b8d71f136911e87269e032f15cf5baa339bf","impliedFormat":99},{"version":"33f1b7fa96117d690035a235b60ecd3cd979fb670f5f77b08206e4d8eb2eb521","impliedFormat":99},{"version":"01429b306b94ff0f1f5548ce5331344e4e0f5872b97a4776bd38fd2035ad4764","impliedFormat":99},{"version":"c1bc4f2136de7044943d784e7a18cb8411c558dbb7be4e4b4876d273cbd952af","impliedFormat":99},{"version":"5470f84a69b94643697f0d7ec2c8a54a4bea78838aaa9170189b9e0a6e75d2cf","impliedFormat":99},{"version":"36aaa44ee26b2508e9a6e93cd567e20ec700940b62595caf962249035e95b5e3","impliedFormat":99},{"version":"f8343562f283b7f701f86ad3732d0c7fd000c20fe5dc47fa4ed0073614202b4d","impliedFormat":99},{"version":"a53c572630a78cd99a25b529069c1e1370f8a5d8586d98e798875f9052ad7ad1","impliedFormat":99},{"version":"4ad3451d066711dde1430c544e30e123f39e23c744341b2dfd3859431c186c53","impliedFormat":99},{"version":"8069cbef9efa7445b2f09957ffbc27b5f8946fdbade4358fb68019e23df4c462","impliedFormat":99},{"version":"cd8b4e7ad04ba9d54eb5b28ac088315c07335b837ee6908765436a78d382b4c3","impliedFormat":99},{"version":"d533d8f8e5c80a30c51f0cbfe067b60b89b620f2321d3a581b5ba9ac8ffd7c3a","impliedFormat":99},{"version":"33f49f22fdda67e1ddbacdcba39e62924793937ea7f71f4948ed36e237555de3","impliedFormat":99},{"version":"710c31d7c30437e2b8795854d1aca43b540cb37cefd5900f09cfcd9e5b8540c4","impliedFormat":99},{"version":"b2c03a0e9628273bc26a1a58112c311ffbc7a0d39938f3878837ab14acf3bc41","impliedFormat":99},{"version":"a93beb0aa992c9b6408e355ea3f850c6f41e20328186a8e064173106375876c2","impliedFormat":99},{"version":"efdcba88fcd5421867898b5c0e8ea6331752492bd3547942dea96c7ebcb65194","impliedFormat":99},{"version":"a98e777e7a6c2c32336a017b011ba1419e327320c3556b9139413e48a8460b9a","impliedFormat":99},{"version":"ea44f7f8e1fe490516803c06636c1b33a6b82314366be1bd6ffa4ba89bc09f86","impliedFormat":99},{"version":"c25f22d78cc7f46226179c33bef0e4b29c54912bde47b62e5fdaf9312f22ffcb","impliedFormat":99},{"version":"d57579cfedc5a60fda79be303080e47dfe0c721185a5d95276523612228fcefc","impliedFormat":99},{"version":"a41630012afe0d4a9ff14707f96a7e26e1154266c008ddbd229e3f614e4d1cf7","impliedFormat":99},{"version":"298a858633dfa361bb8306bbd4cfd74f25ab7cc20631997dd9f57164bc2116d1","impliedFormat":99},{"version":"921782c45e09940feb232d8626a0b8edb881be2956520c42c44141d9b1ddb779","impliedFormat":99},{"version":"06117e4cc7399ce1c2b512aa070043464e0561f956bda39ef8971a2fcbcdbf2e","impliedFormat":99},{"version":"daccf332594b304566c7677c2732fed6e8d356da5faac8c5f09e38c2f607a4ab","impliedFormat":99},{"version":"4386051a0b6b072f35a2fc0695fecbe4a7a8a469a1d28c73be514548e95cd558","impliedFormat":99},{"version":"78e41de491fe25947a7fd8eeef7ebc8f1c28c1849a90705d6e33f34b1a083b90","impliedFormat":99},{"version":"3ccd198e0a693dd293ed22e527c8537c76b8fe188e1ebf20923589c7cfb2c270","impliedFormat":99},{"version":"2ebf2ee015d5c8008428493d4987e2af9815a76e4598025dd8c2f138edc1dcae","impliedFormat":99},{"version":"0dcc8f61382c9fcdafd48acc54b6ffda69ca4bb7e872f8ad12fb011672e8b20c","impliedFormat":99},{"version":"9db563287eb527ead0bcb9eb26fbec32f662f225869101af3cabcb6aee9259cf","impliedFormat":99},{"version":"068489bec523be43f12d8e4c5c337be4ff6a7efb4fe8658283673ae5aae14b85","impliedFormat":99},{"version":"838212d0dc5b97f7c5b5e29a89953de3906f72fce13c5ae3c5ade346f561d226","impliedFormat":99},{"version":"ddc78d29af824ad7587152ea523ed5d60f2bc0148d8741c5dacf9b5b44587b1b","impliedFormat":99},{"version":"019b522e3783e5519966927ceeb570eefcc64aba3f9545828a5fb4ae1fde53c6","impliedFormat":99},{"version":"b34623cc86497a5123de522afba770390009a56eebddba38d2aa5798b70b0a87","impliedFormat":99},{"version":"d2a8cbeb0c0caaf531342062b4b5c227118862879f6a25033e31fad00797b7eb","impliedFormat":99},{"version":"14891c20f15be1d0d42ecbbd63de1c56a4d745e3ea2b4c56775a4d5d36855630","impliedFormat":99},{"version":"e55a1f6b198a39e38a3cea3ffe916aab6fde7965c827db3b8a1cacf144a67cd9","impliedFormat":99},{"version":"f7910ccfe56131e99d52099d24f3585570dc9df9c85dd599a387b4499596dd4d","impliedFormat":99},{"version":"9409ac347c5779f339112000d7627f17ede6e39b0b6900679ce5454d3ad2e3c9","impliedFormat":99},{"version":"22dfe27b0aa1c669ce2891f5c89ece9be18074a867fe5dd8b8eb7c46be295ca1","impliedFormat":99},{"version":"684a5c26ce2bb7956ef6b21e7f2d1c584172cd120709e5764bc8b89bac1a10eb","impliedFormat":99},{"version":"93761e39ce9d3f8dd58c4327e615483f0713428fa1a230883eb812292d47bbe8","impliedFormat":99},{"version":"c66be51e3d121c163a4e140b6b520a92e1a6a8a8862d44337be682e6f5ec290a","impliedFormat":99},{"version":"66e486a9c9a86154dc9780f04325e61741f677713b7e78e515938bf54364fee2","impliedFormat":99},{"version":"d211bc80b6b6e98445df46fe9dd3091944825dd924986a1c15f9c66d7659c495","impliedFormat":99},{"version":"8dd2b72f5e9bf88939d066d965144d07518e180efec3e2b6d06ae5e725d84c7d","impliedFormat":99},{"version":"949cb88e315ab1a098c3aa4a8b02496a32b79c7ef6d189eee381b96471a7f609","impliedFormat":99},{"version":"bc43af2a5fa30a36be4a3ed195ff29ffb8067bf4925aa350ace9d9f18f380cc2","impliedFormat":99},{"version":"f280b47f4ad3a3a8d6c53dc31aee21a40da6977ec43ea890b7c86d672933335b","impliedFormat":99},{"version":"8428e71f6d1b63acf55ceb56244aad9cf07678cf9626166e4aded15e3d252f8a","impliedFormat":99},{"version":"11505212ab24aa0f06d719a09add4be866e26f0fc15e96a1a2a8522c0c6a73a8","impliedFormat":99},{"version":"8228186214a5d7da60bd1dd91387a725e19c6c31a7ed4e114cf68d5ce6629c52","impliedFormat":99},{"version":"c44bb0071cededc08236d57d1131c44339c1add98b029a95584dfe1462533575","impliedFormat":99},{"version":"7a4935af71877da3bbc53938af00e5d4f6d445ef850e1573a240447dcb137b5c","impliedFormat":99},{"version":"4e313033202712168ecc70a6d830964ad05c9c93f81d806d7a25d344f6352565","impliedFormat":99},{"version":"8a1fc69eaf8fc8d447e6f776fbfa0c1b12245d7f35f1dbfb18fbc2d941f5edd8","impliedFormat":99},{"version":"afb9b4c8bd38fb43d38a674de56e6f940698f91114fded0aa119de99c6cd049a","impliedFormat":99},{"version":"1d277860f19b8825d027947fca9928ee1f3bfaa0095e85a97dd7a681b0698dfc","impliedFormat":99},{"version":"6d32122bb1e7c0b38b6f126d166dff1f74c8020f8ba050248d182dcafc835d08","impliedFormat":99},{"version":"cfac5627d337b82d2fbeff5f0f638b48a370a8d72d653327529868a70c5bc0f8","impliedFormat":99},{"version":"8a826bc18afa4c5ed096ceb5d923e2791a5bae802219e588a999f535b1c80492","impliedFormat":99},{"version":"73e94021c55ab908a1b8c53792e03bf7e0d195fee223bdc5567791b2ccbfcdec","impliedFormat":99},{"version":"5f73eb47b37f3a957fe2ac6fe654648d60185908cab930fc01c31832a5cb4b10","impliedFormat":99},{"version":"cb6372a2460010a342ba39e06e1dcfd722e696c9d63b4a71577f9a3c72d09e0a","impliedFormat":99},{"version":"1e289698069f553f36bbf12ee0084c492245004a69409066faceb173d2304ec4","impliedFormat":99},{"version":"f1ca71145e5c3bba4d7f731db295d593c3353e9a618b40c4af0a4e9a814bb290","impliedFormat":99},{"version":"ac12a6010ff501e641f5a8334b8eaf521d0e0739a7e254451b6eea924c3035c7","impliedFormat":99},{"version":"97395d1e03af4928f3496cc3b118c0468b560765ab896ce811acb86f6b902b5c","impliedFormat":99},{"version":"7dcfbd6a9f1ce1ddf3050bd469aa680e5259973b4522694dc6291afe20a2ae28","impliedFormat":99},{"version":"6e545419ad200ae4614f8e14d32b7e67e039c26a872c0f93437b0713f54cde53","impliedFormat":99},{"version":"efc225581aae9bb47d421a1b9f278db0238bc617b257ce6447943e59a2d1621e","impliedFormat":99},{"version":"8833b88e26156b685bc6f3d6a014c2014a878ffbd240a01a8aee8a9091014e9c","impliedFormat":99},{"version":"7a2a42a1ac642a9c28646731bd77d9849cb1a05aa1b7a8e648f19ab7d72dd7dc","impliedFormat":99},{"version":"4d371c53067a3cc1a882ff16432b03291a016f4834875b77169a2d10bb1b023e","impliedFormat":99},{"version":"99b38f72e30976fd1946d7b4efe91aa227ecf0c9180e1dd6502c1d39f37445b4","impliedFormat":99},{"version":"df1bcf0b1c413e2945ce63a67a1c5a7b21dbbec156a97d55e9ea0eed90d2c604","impliedFormat":99},{"version":"6e2011a859fa435b1196da1720be944ed59c668bb42d2f2711b49a506b3e4e90","impliedFormat":99},{"version":"b4bfa90fac90c6e0d0185d2fe22f059fec67587cc34281f62294f9c4615a8082","impliedFormat":99},{"version":"036d363e409ebe316a6366aff5207380846f8f82e100c2e3db4af5fe0ad0c378","impliedFormat":99},{"version":"5ae6642588e4a72e5a62f6111cb750820034a7fbe56b5d8ec2bcb29df806ce52","impliedFormat":99},{"version":"6fca09e1abc83168caf36b751dec4ddda308b5714ec841c3ff0f3dc07b93c1b8","impliedFormat":99},{"version":"2f7268e6ac610c7122b6b416e34415ce42b51c56d080bef41786d2365f06772d","impliedFormat":99},{"version":"9a07957f75128ed0be5fc8a692a14da900878d5d5c21880f7c08f89688354aa4","impliedFormat":99},{"version":"8b6f3ae84eab35c50cf0f1b608c143fe95f1f765df6f753cd5855ae61b3efbe2","impliedFormat":99},{"version":"992491d83ff2d1e7f64a8b9117daee73724af13161f1b03171f0fa3ffe9b4e3e","impliedFormat":99},{"version":"12bcf6af851be8dd5f3e66c152bb77a83829a6a8ba8c5acc267e7b15e11aa9ab","impliedFormat":99},{"version":"e2704efc7423b077d7d9a21ddb42f640af1565e668d5ec85f0c08550eff8b833","impliedFormat":99},{"version":"e0513c71fd562f859a98940633830a7e5bcd7316b990310e8bb68b1d41d676a3","impliedFormat":99},{"version":"712071b9066a2d8f4e11c3b8b3d5ada6253f211a90f06c6e131cff413312e26d","impliedFormat":99},{"version":"5a187a7bc1e7514ef1c3d6eaafa470fc45541674d8fca0f9898238728d62666a","impliedFormat":99},{"version":"0c06897f7ab3830cef0701e0e083b2c684ed783ae820b306aedd501f32e9562d","impliedFormat":99},{"version":"56cc6eae48fd08fa709cf9163d01649f8d24d3fea5806f488d2b1b53d25e1d6c","impliedFormat":99},{"version":"57a925b13947b38c34277d93fb1e85d6f03f47be18ca5293b14082a1bd4a48f5","impliedFormat":99},{"version":"9d9d64c1fa76211dd529b6a24061b8d724e2110ee55d3829131bca47f3fe4838","impliedFormat":99},{"version":"c13042e244bb8cf65586e4131ef7aed9ca33bf1e029a43ed0ebab338b4465553","impliedFormat":99},{"version":"54be9b9c71a17cb2519b841fad294fa9dc6e0796ed86c8ac8dd9d8c0d1c3a631","impliedFormat":99},{"version":"10881be85efd595bef1d74dfa7b9a76a5ab1bfed9fb4a4ca7f73396b72d25b90","impliedFormat":99},{"version":"925e71eaa87021d9a1215b5cf5c5933f85fe2371ddc81c32d1191d7842565302","impliedFormat":99},{"version":"faed0b3f8979bfbfb54babcff9d91bd51fda90931c7716effa686b4f30a09575","impliedFormat":99},{"version":"53c72d68328780f711dbd39de7af674287d57e387ddc5a7d94f0ffd53d8d3564","impliedFormat":99},{"version":"51129924d359cdebdccbf20dbabc98c381b58bfebe2457a7defed57002a61316","impliedFormat":99},{"version":"7270a757071e3bc7b5e7a6175f1ac9a4ddf4de09f3664d80cb8805138f7d365b","impliedFormat":99},{"version":"ea7b5c6a79a6511cdeeedc47610370be1b0e932e93297404ef75c90f05fc1b61","impliedFormat":99},{"version":"11b817aaa791d8ebd39a882f80827a7d4a99c6d451c8b836a81b186fcb2de87a","signature":"e7828ab708d23dd98370a8de5d7ad81d44fc5817dffa5a53c4adce749cf30d58"},{"version":"e516240bc1e5e9faef055432b900bc0d3c9ca7edce177fdabbc6c53d728cced8","impliedFormat":99},{"version":"5402765feacf44e052068ccb4535a346716fa1318713e3dae1af46e1e85f29a9","impliedFormat":99},{"version":"e16ec5d4796e7a765810efee80373675cedc4aa4814cf7272025a88addf5f0be","impliedFormat":99},{"version":"1f57157fcd45f9300c6efcfc53e2071fbe43396b0a7ed2701fbd1efb5599f07f","impliedFormat":99},{"version":"9f1886f3efddfac35babcada2d454acd4e23164345d11c979966c594af63468b","impliedFormat":99},{"version":"a3541c308f223863526df064933e408eba640c0208c7345769d7dc330ad90407","impliedFormat":99},{"version":"59af208befeb7b3c9ab0cb6c511e4fec54ede11922f2ffb7b497351deaf8aa2e","impliedFormat":99},{"version":"928b16f344f6cddaba565da8238f4cf2ddf12fe03eb426ab46a7560e9b3078fa","impliedFormat":99},{"version":"120bdf62bccef4ea96562a3d30dd60c9d55481662f5cf31c19725f56c0056b34","impliedFormat":99},{"version":"39e0da933908de42ba76ea1a92e4657305ae195804cfaa8760664e80baac2d6a","impliedFormat":99},{"version":"55ce6ca8df9d774d60cef58dd5d716807d5cc8410b8b065c06d3edac13f2e726","impliedFormat":99},{"version":"788a0faf3f28d43ce3793b4147b7539418a887b4a15a00ffb037214ed8f0b7f6","impliedFormat":99},{"version":"a3e66e7b8ccdab967cd4ada0f178151f1c42746eabb589a06958482fd4ed354e","impliedFormat":99},{"version":"bf45a2964a872c9966d06b971d0823daecbd707f97e927f2368ba54bb1b13a90","impliedFormat":99},{"version":"39973a12c57e06face646fb79462aabe8002e5523eec4e86e399228eb34b32c9","impliedFormat":99},{"version":"f01091e9b5028acfb38208113ae051fad8a0b4b8ec1f7137a2a5cf903c47eefc","impliedFormat":99},{"version":"b3e87824c9e7e3a3be7f76246e45c8d603ce83d116733047200b3aa95875445b","impliedFormat":99},{"version":"7e1f7f9ae14e362d41167dc861be6a8d76eca30dde3a9893c42946dc5a5fc686","impliedFormat":99},{"version":"9308ef3b9433063ac753a55c3f36d6d89fa38a8e6c51e05d9d8329c7f1174f24","impliedFormat":99},{"version":"cd3bb1aa24726a0abd67558fde5759fe968c3c6aa3ec7bad272e718851502894","impliedFormat":99},{"version":"1ae0f22c3b8420b5c2fec118f07b7ebd5ae9716339ab3477f63c603fe7a151c8","impliedFormat":99},{"version":"919ff537fff349930acc8ad8b875fd985a17582fb1beb43e2f558c541fd6ecd9","impliedFormat":99},{"version":"4e67811e45bae6c44bd6f13a160e4188d72fd643665f40c2ac3e8a27552d3fd9","impliedFormat":99},{"version":"3d1450fd1576c1073f6f4db9ebae5104e52e2c4599afb68d7d6c3d283bdbaf4f","impliedFormat":99},{"version":"c072af873c33ff11af126c56a846dfada32461b393983a72b6da7bff373e0002","impliedFormat":99},{"version":"de66e997ea5376d4aeb16d77b86f01c7b7d6d72fbb738241966459d42a4089e0","impliedFormat":99},{"version":"d77ea3b91e4bc44d710b7c9487c2c6158e8e5a3439d25fc578befeb27b03efd7","impliedFormat":99},{"version":"a3d5c695c3d1ebc9b0bd55804afaf2ac7c97328667cbeedf2c0861b933c45d3e","impliedFormat":99},{"version":"270724545d446036f42ddea422ee4d06963db1563ccc5e18b01c76f6e67968ae","impliedFormat":99},{"version":"85441c4f6883f7cfd1c5a211c26e702d33695acbabec8044e7fa6831ed501b45","impliedFormat":99},{"version":"0f268017a6b1891fdeea69c2a11d576646d7fd9cdfc8aac74d003cd7e87e9c5a","impliedFormat":99},{"version":"9ece188c336c80358742a5a0279f2f550175f5a07264349d8e0ce64db9701c0b","impliedFormat":99},{"version":"cf41b0fc7d57643d1a8d21af07b0247db2f2d7e2391c2e55929e9c00fbe6ab9a","impliedFormat":99},{"version":"11e7ddddd9eddaac56a6f23d8699ae7a94c2a55ae8c986fdabc719d3c3e875a1","impliedFormat":99},{"version":"dd129c2d348be7dbf9f15d34661defdfc11ee00628ca6f7161bead46095c6bc3","impliedFormat":99},{"version":"c38d8e7cfc64bbfc14a63346388249c1cfa2cc02166c5f37e5a57da4790ce27f","impliedFormat":99},{"version":"67237a35be1473c2436d9438a17330e183bf720e84391dd8d0a00a73f289a371","signature":"0d2ec35e98301af187839a1a6110c5f2dd8202b514755c1b6450394eac8cb5bc"},{"version":"7e3373dde2bba74076250204bd2af3aa44225717435e46396ef076b1954d2729","impliedFormat":1},{"version":"1c3dfad66ff0ba98b41c98c6f41af096fc56e959150bc3f44b2141fb278082fd","impliedFormat":1},{"version":"56208c500dcb5f42be7e18e8cb578f257a1a89b94b3280c506818fed06391805","impliedFormat":1},{"version":"0c94c2e497e1b9bcfda66aea239d5d36cd980d12a6d9d59e66f4be1fa3da5d5a","impliedFormat":1},{"version":"eb9271b3c585ea9dc7b19b906a921bf93f30f22330408ffec6df6a22057f3296","impliedFormat":1},{"version":"82b7bf38f1bc606dc662c35b8c80905e40956e4c2212d523402ae925bd75de63","impliedFormat":1},{"version":"81be14ad77be99cea7343fdc92a0f4058bcdebaa789d944e04ce4f86f0ca5fbb","impliedFormat":1},{"version":"9f1e00eab512de990ba27afa8634ca07362192063315be1f8166bc3dcc7f0e0f","impliedFormat":1},{"version":"1cdbf5cc31860b39bd1881f19809357ee3600331ff1317f9d700c21665649aa8","impliedFormat":1},{"version":"86dac6ce3fcd0a069b67a1ac9abdbce28588ea547fd2b42d73c1a2b7841cf182","impliedFormat":1},{"version":"4d34fbeadba0009ed3a1a5e77c99a1feedec65d88c4d9640910ff905e4e679f7","impliedFormat":1},{"version":"2f3ec8a345eefed1af66b5975da98ccf3178d13ba9308359d34d2f7f87dd4c9c","impliedFormat":1},{"version":"8fcc5571404796a8fe56e5c4d05049acdeac9c7a72205ac15b35cb463916d614","impliedFormat":1},{"version":"a3b3a1712610260c7ab96e270aad82bd7b28a53e5776f25a9a538831057ff44c","impliedFormat":1},{"version":"33a2af54111b3888415e1d81a7a803d37fada1ed2f419c427413742de3948ff5","impliedFormat":1},{"version":"d5a4fca3b69f2f740e447efb9565eecdbbe4e13f170b74dd4a829c5c9a5b8ebf","impliedFormat":1},{"version":"56f1e1a0c56efce87b94501a354729d0a0898508197cb50ab3e18322eb822199","impliedFormat":1},{"version":"8960e8c1730aa7efb87fcf1c02886865229fdbf3a8120dd08bb2305d2241bd7e","impliedFormat":1},{"version":"27bf82d1d38ea76a590cbe56873846103958cae2b6f4023dc59dd8282b66a38a","impliedFormat":1},{"version":"0daaab2afb95d5e1b75f87f59ee26f85a5f8d3005a799ac48b38976b9b521e69","impliedFormat":1},{"version":"2c378d9368abcd2eba8c29b294d40909845f68557bc0b38117e4f04fc56e5f9c","impliedFormat":1},{"version":"9b048390bcffe88c023a4cd742a720b41d4cd7df83bc9270e6f2339bf38de278","affectsGlobalScope":true,"impliedFormat":1},{"version":"c60b14c297cc569c648ddaea70bc1540903b7f4da416edd46687e88a543515a1","impliedFormat":1},{"version":"d03cf6cd011da250c9a67c35a3378de326f6136c4192a90dd11f3a84627b4ef6","impliedFormat":1},{"version":"9c0217750253e3bf9c7e3821e51cff04551c00e63258d5e190cf8bd3181d5d4a","impliedFormat":1},{"version":"5c2e7f800b757863f3ddf1a98d7521b8da892a95c1b2eafb48d652a782891677","impliedFormat":1},{"version":"73ed3ff18ca862b9d7272de3b0d137d284a0c40e1c94cbf37acd5270ce9b7cd6","impliedFormat":1},{"version":"c61d8275c35a76cb12c271b5fa8707bb46b1e5778a370fd6037c244c4df6a725","impliedFormat":1},{"version":"c7793cb5cd2bef461059ca340fbcd19d7ddac7ab3dcc6cd1c90432fca260a6ae","impliedFormat":1},{"version":"fd3bf6d545e796ebd31acc33c3b20255a5bc61d963787fc8473035ea1c09d870","impliedFormat":1},{"version":"c7af51101b509721c540c86bb5fc952094404d22e8a18ced30c38a79619916fa","impliedFormat":1},{"version":"59c8f7d68f79c6e3015f8aee218282d47d3f15b85e5defc2d9d1961b6ffed7a0","impliedFormat":1},{"version":"93a2049cbc80c66aa33582ec2648e1df2df59d2b353d6b4a97c9afcbb111ccab","impliedFormat":1},{"version":"d04d359e40db3ae8a8c23d0f096ad3f9f73a9ef980f7cb252a1fdc1e7b3a2fb9","impliedFormat":1},{"version":"84aa4f0c33c729557185805aae6e0df3bd084e311da67a10972bbcf400321ff0","impliedFormat":1},{"version":"cf6cbe50e3f87b2f4fd1f39c0dc746b452d7ce41b48aadfdb724f44da5b6f6ed","impliedFormat":1},{"version":"3cf494506a50b60bf506175dead23f43716a088c031d3aa00f7220b3fbcd56c9","impliedFormat":1},{"version":"f2d47126f1544c40f2b16fc82a66f97a97beac2085053cf89b49730a0e34d231","impliedFormat":1},{"version":"724ac138ba41e752ae562072920ddee03ba69fe4de5dafb812e0a35ef7fb2c7e","impliedFormat":1},{"version":"e4eb3f8a4e2728c3f2c3cb8e6b60cadeb9a189605ee53184d02d265e2820865c","impliedFormat":1},{"version":"f16cb1b503f1a64b371d80a0018949135fbe06fb4c5f78d4f637b17921a49ee8","impliedFormat":1},{"version":"f4808c828723e236a4b35a1415f8f550ff5dec621f81deea79bf3a051a84ffd0","impliedFormat":1},{"version":"3b810aa3410a680b1850ab478d479c2f03ed4318d1e5bf7972b49c4d82bacd8d","impliedFormat":1},{"version":"0ce7166bff5669fcb826bc6b54b246b1cf559837ea9cc87c3414cc70858e6097","impliedFormat":1},{"version":"90ae889ba2396d54fe9c517fcb0d5a8923d3023c3e6cbd44676748045853d433","impliedFormat":1},{"version":"3549400d56ee2625bb5cc51074d3237702f1f9ffa984d61d9a2db2a116786c22","impliedFormat":1},{"version":"5ffe02488a8ffd06804b75084ecc66b512f85186508e7c9b57b5335283b1f487","impliedFormat":1},{"version":"b60f6734309d20efb9b0e0c7e6e68282ee451592b9c079dd1a988bb7a5eeb5e7","impliedFormat":1},{"version":"f4187a4e2973251fd9655598aa7e6e8bba879939a73188ee3290bb090cc46b15","impliedFormat":1},{"version":"44c1a26f578277f8ccef3215a4bd642a0a4fbbaf187cf9ae3053591c891fdc9c","impliedFormat":1},{"version":"a5989cd5e1e4ca9b327d2f93f43e7c981f25ee12a81c2ebde85ec7eb30f34213","impliedFormat":1},{"version":"f65b8fa1532dfe0ef2c261d63e72c46fe5f089b28edcd35b3526328d42b412b8","impliedFormat":1},{"version":"1060083aacfc46e7b7b766557bff5dafb99de3128e7bab772240877e5bfe849d","impliedFormat":1},{"version":"1b32f14ef9e26be36776d6115d3661747508a3437f5bb2528a39ce60f622b5aa","impliedFormat":1},{"version":"9ee50ea4e24ac33273880940358802dd98baddf27173f19ea061752eb192c44d","impliedFormat":1},{"version":"111e1ef247e53abc607bd921154a477a4b19b3e876abb79c672012f06f69b368","impliedFormat":1},{"version":"7ec569bb000dbd2ae79f6e5888fa16765a7c579936054a4f50b021eaf31b0998","impliedFormat":1},{"version":"dd0b9b00a39436c1d9f7358be8b1f32571b327c05b5ed0e88cc91f9d6b6bc3c9","impliedFormat":1},{"version":"a951a7b2224a4e48963762f155f5ad44ca1145f23655dde623ae312d8faeb2f2","impliedFormat":1},{"version":"f7eb7fc7e7c956605835e5bbbdfc4b6d1c36f1d41a162bfffba4540eae5d4257","impliedFormat":1},{"version":"cf7698e227b8f0e3373106ef29db72fc52661c0fdaa823205fbfc357985ec219","impliedFormat":1},{"version":"9f20de1b5776e653764e55f059d02ef460d7e2c064c304bfda1d7ba2dda43886","impliedFormat":1},{"version":"890ed5cccf66fdced5795066488cd006379dfc84b1670e459f03d40c625341ca","impliedFormat":1},{"version":"d8e8ab0dbaee5220b21dfbbb33fefc684ef4d87b07743a998f39e9d88ffe9776","impliedFormat":1},{"version":"977aeb024f773799d20985c6817a4c0db8fed3f601982a52d4093e0c60aba85f","impliedFormat":1},{"version":"d59cf5116848e162c7d3d954694f215b276ad10047c2854ed2ee6d14a481411f","impliedFormat":1},{"version":"50098be78e7cbfc324dfc04983571c80539e55e11a0428f83a090c13c41824a2","impliedFormat":1},{"version":"40894bcf307f326ec4d371cd2ff304dac0fa303d1c6c71ad7dc65742239114da","impliedFormat":1},{"version":"dd6051c7b02af0d521857069c49897adb8595d1f0e94487d53ebc157294ef864","impliedFormat":1},{"version":"79c6a11f75a62151848da39f6098549af0dd13b22206244961048326f451b2a8","impliedFormat":1},{"version":"0d1015da32cad5bcf8b19ecb4464bfada1faf005ead1db5107410f33a4b1ac77","signature":"e382d9aa86ae57a0634861cd952e44d2676f508b963e4243c35546caa86c7d86"},{"version":"2c57db2bf2dbd9e8ef4853be7257d62a1cb72845f7b976bb4ee827d362675f96","impliedFormat":99},{"version":"f4629326151cdb4fefbb8d49ff20bcc3ffab3f791fb31b795937650877eae212","signature":"f0be1892cb7f2a9d3ad1905cb890ba8ce14f31fdd29160043ea88830717b284b"},{"version":"89d052508dd671fdc6c823cc299a53537edd00c7067ae9508a2af0a8eeb4348b","signature":"160fbcda3ae5291ff8861d7328a3bc0b086a02cf45e521cbef69bc50817bbdba"},{"version":"bb703864a1bc9ca5ac3589ffd83785f6dc86f7f6c485c97d7ffd53438777cb9e","impliedFormat":1},{"version":"2341f5d3379758c9659806e518299f9a3dc394128571e379ed83941deae83403","signature":"7cc49a13d6dc95645c5e5d5fd44f7b3f5c69dfe80b50bbfb48ee0598195798ea"},{"version":"803aa420db4170238043ca1b9f1fd88f285f1b83f3ff2c0c5abff217df316896","signature":"143126980202f9d9cf7ba155552d23da27f196afa8812c1155ee28780e8fcbc5"},{"version":"6b5f886fe41e2e767168e491fe6048398ed6439d44e006d9f51cc31265f08978","impliedFormat":99},{"version":"56a87e37f91f5625eb7d5f8394904f3f1e2a90fb08f347161dc94f1ae586bdd0","impliedFormat":99},{"version":"6b863463764ae572b9ada405bf77aac37b5e5089a3ab420d0862e4471051393b","impliedFormat":99},{"version":"68b6a7501a56babd7bcd840e0d638ee7ec582f1e70b3c36ebf32e5e5836913c8","impliedFormat":99},{"version":"89783bd45ab35df55203b522f8271500189c3526976af533a599a86caaf31362","impliedFormat":99},{"version":"6da2e0928bdab05861abc4e4abebea0c7cf0b67e25374ba35a94df2269563dd8","impliedFormat":99},{"version":"ef3f8b668e7abee8ea18ea66317d067a5f3590a3bdfb7be937df5838e69602e8","signature":"704c09fbf8cab1b4da84a0fb0b9229185746bb65f8c2db5ebb52ecc121389aa4"},{"version":"e7441be68f390975c6155c805cea8f54cc1b7f3656b6b9440ecbbbd7753499e6","impliedFormat":99},{"version":"e62592bd1cea50ad95ebeba32a165f9cfdf5a5c6431067ec74e024b83a866f01","signature":"0c744d06c45e1d7281cbb0ed29c102a48716bb845436ad02ec4b2b2b101b8318"},{"version":"26e6c521a290630ea31f0205a46a87cab35faac96e2b30606f37bae7bcda4f9d","impliedFormat":99},{"version":"3124a8b0edfe90400cf4d14d438dfe6ac3af9ec9a6181feee10f48390aeb1815","signature":"4be287c460622f9f8329a3ac0eac7c67852ac6ce7a2afc20dbbcbce631ac0077"},{"version":"c9828acce9044690059524bee2e67dec68710baed7bfa1f6c787ca86413112d6","signature":"f3b6fe28433081e12eb78957c2df90d86f81122a07cec2440f9d3fb82718696b"},{"version":"c80fb0dc554855fd84ac91ad30f724127a066ad2156b1846dc46ee5811ee9135","signature":"367466b8edaa628bdf47c48c768e0dbad54a8a128eaa6af92041c72be0381843"},{"version":"6ce55335012d76737df504baabc950805760acf3be988142d1985aa4893f919e","impliedFormat":1},{"version":"88efe27bebddb62da9655a9f093e0c27719647e96747f16650489dc9671075d6","impliedFormat":1},{"version":"e348f128032c4807ad9359a1fff29fcbc5f551c81be807bfa86db5a45649b7ba","impliedFormat":1},{"version":"8ee6b07974528da39b7835556e12dd3198c0a13e4a9de321217cd2044f3de22e","impliedFormat":1},{"version":"deefd8c43b40f9797c3921d78d3f9243959621a17b817be7f5d95c149f23a9dd","impliedFormat":1},{"version":"5f12132800d430adbe59b49c2c0354d85a71ada7d756e34250a655baa8ad4ae5","impliedFormat":1},{"version":"1996d1cd7d585a8359a35878f67abdd73cc35b1f675c9c6b147b202fdd8dfc3f","impliedFormat":1},{"version":"b16e757e4c35434065120a2b3bf13a518fc9e621dc9c2ed668f91635a9dc4e75","impliedFormat":1},{"version":"d22cd2e880dc30d21cf20b26b6341e0478f3505ea645d1504c7e9c14cdff1198","impliedFormat":1},{"version":"d02ced7accb512e6198b796b8d284e7979abde0f089b0a77969747a5f27bfb23","impliedFormat":1},{"version":"4374cefdde5c6e9bad52b0436e887b8325b8f407c12035194ad02c28f1553a3a","impliedFormat":1},{"version":"5f1ba0898eb0a54a644cb9c95c2240beaa961d87fd080cbb90807a6cc03daeb3","impliedFormat":1},{"version":"8e92ee8710ba85b158c5d91b0bbc9d0d033f5e062b6e70178063f01b20f63a14","impliedFormat":1},{"version":"ee933420aacba1f60aa70fb8ba47c5e69001b005073b71973114587089a13c7f","impliedFormat":1},{"version":"0a0714999d0a5bdfacd15c7b34cffbcc6f263f6cb0ccb42076cdc541c6987797","impliedFormat":1},{"version":"56584bfc655f9df64afc0f22f7d1122c29e5b74b342c203b891e19de9fa37de8","impliedFormat":1},{"version":"40ec58f0fadd0b3981b3d383e1c12fa0680115ae9f018387fc2cfc0bbcf23204","impliedFormat":1},{"version":"849b9e7283b7309a4556c9b90bb8e2dfc27751f157798065bbc513dcddb09a8c","impliedFormat":1},{"version":"76bba0c97594248c1be19af32d5799f7eff51cec2926d8e4dd59267d7636a0b4","impliedFormat":1},{"version":"10e109212c7be8a9f66e988e5d6c2a8900c9d14bf6beadf5fa70d32ada3425cf","impliedFormat":1},{"version":"2b821aeb31e690092f8eae671dd961a9d0fd598ff4883ce0a600c90e9e8fa716","impliedFormat":1},{"version":"26602933b613e4df3868a6c82e14fffa2393a08531cb333ed27b151923462981","impliedFormat":1},{"version":"f57a588d8f6b3ce5c8b494f2dc759a8885eaee18e80a4952df47de45403fedbe","impliedFormat":1},{"version":"34735727b3fe7a0ed0651a0f88d06449163d1989a2b2de7f047473adc7c1c383","impliedFormat":1},{"version":"a5b13abc88ab3186e713c445e59e2f6eee20c6167943517bc2f56985d89b8c55","impliedFormat":1},{"version":"c8a206a6ba4e32710ebb4a389187772423de0f4f6180b95a7ef1a5a1934c1be6","impliedFormat":1},{"version":"7ae65fe95b18205e241e6695cb2c61c0828d660aca7d08f68781b439a800e6b8","impliedFormat":1},{"version":"c2c8c166199d3a7bd093152437d1f6399d05e458a9ca9364456feecba920cda4","impliedFormat":1},{"version":"369b7270eeeb37982203b2cb18c7302947b89bf5818c1d3d2e95a0418f02b74e","impliedFormat":1},{"version":"94f95d223e2783b0aef4d15d7f6990a6a550fe17d099c501395f690337f7105e","impliedFormat":1},{"version":"039bd8d1e0d151570b66e75ee152877fb0e2f42eca43718632ac195e6884be34","impliedFormat":1},{"version":"d565d66b38d54de037c9d46dede1f12630010d9b45fd9c6b432c7a40b2e30502","impliedFormat":1},{"version":"d7386a1ebe9a3eae227a5561c898c10cacb61a49f941c5a18cdf593f979c693c","impliedFormat":1},{"version":"e308b9b592b4c89895a14077bd3254811cab67bb580286b1bd7428cb476b6df3","signature":"59d4d3e50459d3dcb53cc0ca9d1211d299167c2283ac63428b90a53824dd248c"},{"version":"89ad9a4e8044299f356f38879a1c2176bc60c997519b442c92cc5a70b731a360","impliedFormat":99},{"version":"3a05918eaf7436596e09562f4d5371384e15f2f27c9ef0788354035282d96064","signature":"fd469ee23a7074342357545f0d37b487066bab6fc00e079695cc02f79598bf8d"},{"version":"cf31ce99f03ac69f9821b4463a366c66698ae8e7eba5c06d2ede63d5cf7309bd","signature":"233bf868506e6fb7576da957ddead506efb374fe8b70a1b56e0114f231fdadbb"},{"version":"9214c077d8d253331da82bffdb36edb778abc73d27b34dff0eb544e6d7b9d386","signature":"fefbe143dffcdc8d5ff7f05ce2d8ed71a5bc8d73afb6726ae2e1838e1bb4d020"},{"version":"b843496b17a2bbd79c83809c73fd9c59fab53d3e361e04e52e2d489524eea764","impliedFormat":1},{"version":"6a046b50c82c554699c148a9f4922c785b200fb87f067772f166e80c59e813ca","signature":"6be90cc3810d5b2a29f304c6f7ff64a7f4d0f26e44d944d1dfa68b7d7a2fbf65"},{"version":"c4f50ecab61ee02224a432f2e5e7cafc1941913640134abade00e3db82512baf","signature":"bd8a274814ea3590e2b90c7bc29d86ade4f2540b2d1de2d461579d92eb344bdc"},{"version":"3e346d9b84a0e2cbafb6311589d4dfcf0df6c1c8f94fca26ff4c34dfa4170823","signature":"eb1f0c48fcae785ca971602b876b59df15d9213a439d3ec82aacd5fc8415350e"},{"version":"fd4f58cd6b5fc8ce8af0d04bfef5142f15c4bafaac9a9899c6daa056f10bb517","impliedFormat":99},{"version":"da0313c01c8aedd722c4bb1cbd4723acef6187cda4de0ea230cff90d6aebcf2e","signature":"da6a1d498947d59b453f7bdca298ee4b77f0e34ab6e2aaaf782aaac054b571f4"},{"version":"2a00cea77767cb26393ee6f972fd32941249a0d65b246bfcb20a780a2b919a21","impliedFormat":99},{"version":"440cb5b34e06fabe3dcb13a3f77b98d771bf696857c8e97ce170b4f345f8a26b","impliedFormat":99},{"version":"c0f759689e24aaa36d62d2de868ddab35b12c5e4a8c8c035582c46a963e4b56f","signature":"aa4c6a3e34c3d0d6e795066286aa3e062b085c1b2a8967f5782d14394d7cae16"},{"version":"c0306e3325a10c7377794b1b75fffb57179be1f19a3b3b3b0e0d79dde53b4ecf","signature":"c9001d3c77c7b306af3e8b7d4407e4a7f9ca133d1302fdd67238211f6e1c2b6f"},{"version":"2535fc1a5fe64892783ff8f61321b181c24f824e688a4a05ae738da33466605b","impliedFormat":99},{"version":"50b93b8af040517d766f9ee6d0dffeacf40b5082469bba7e5d49a7f9eb5aaa37","signature":"adeb329d41b4133066a9911fdc1f39c4956fe3dfa83611a70434f542b6adb268"},{"version":"a9373d52584b48809ffd61d74f5b3dfd127da846e3c4ee3c415560386df3994b","impliedFormat":99},{"version":"caf4af98bf464ad3e10c46cf7d340556f89197aab0f87f032c7b84eb8ddb24d9","impliedFormat":99},{"version":"cbfd5ef0c8fdb4983202252b5f5758a579f4500edc3b9ad413da60cffb5c3564","impliedFormat":99},{"version":"d48446fe6380e0fb272988c37992a4633b7002dd7e8faa639993f38e010953aa","signature":"dc27b41119d6806693f9e4f0d68431d33532f737a84ade77e34b76bb8c9873eb"},{"version":"9f7a3c434912fd3feb87af4aabdf0d1b614152ecb5e7b2aa1fff3429879cdd51","impliedFormat":99},{"version":"9a91313aaed0e8358c69fad89d12a1f5d148bd7fa5ffbed925e6f8b368617ba9","signature":"a0d654569736836260ac4805fe575fbafd16a3fd838f8b503a59a98b236073f1"},{"version":"a81a0eea036dd60a2c2edc52466bb2853bef379c3b9de327fe9fff6e3c38e6c5","impliedFormat":1},{"version":"348c13a1c9160681e41bc5cd3cc519dd8170d38a36a30480b41849f60f5bf8a0","impliedFormat":1},{"version":"c772a37a02356897d6f9872e30fcc2108f43ad943cc112bd1acc5415a876e9f8","impliedFormat":1},{"version":"279248c34ecd223fc46224f86384ebf49c775eb69329ad644d3d99f1205f3e7d","impliedFormat":1},{"version":"74dedffc2d09627f5a4de02bbd7eedf634938c13c2cc4e92f0b4135573432783","impliedFormat":1},{"version":"1f2bbbe38d5e536607b385f04c3d2cbf1e678c5ded7e8c5871ad8ae91ef33c3d","impliedFormat":1},{"version":"3aa3513d5e13d028202e788d763f021d2d113bd673087b42a2606ab50345492d","impliedFormat":1},{"version":"f012173d64d0579875aa60405de21ad379af7971b93bf46bee23acc5fa2b76a4","impliedFormat":1},{"version":"dcf5dc3ce399d472929c170de58422b549130dd540531623c830aaaaf3dd5f93","impliedFormat":1},{"version":"ec35f1490510239b89c745c948007c5dd00a8dca0861a836dcf0db5360679a2d","impliedFormat":1},{"version":"32868e4ec9b6bd4b1d96d24611343404b3a0a37064a7ac514b1d66b48325a911","impliedFormat":1},{"version":"4bbea07f21ff84bf3ceeb218b5a8c367c6e0f08014d3fd09e457d2ffb2826b9c","impliedFormat":1},{"version":"873a07dbeb0f8a3018791d245c0cf10c3289c8f7162cdbbb4a5b9cf723136185","impliedFormat":1},{"version":"43839af7f24edbd4b4e42e861eb7c0d85d80ec497095bb5002c93b451e9fcf88","impliedFormat":1},{"version":"54a7ee56aadecbe8126744f7787f54f79d1e110adab8fe7026ad83a9681f136a","impliedFormat":1},{"version":"6333c727ee2b79cdab55e9e10971e59cbfee26c73dfb350972cfd97712fc2162","impliedFormat":1},{"version":"8743b4356e522c26dc37f20cde4bcdb5ebd0a71a3afe156e81c099db7f34621d","impliedFormat":1},{"version":"af3d97c3a0da9491841efc4e25585247aa76772b840dd279dbff714c69d3a1ec","impliedFormat":1},{"version":"d9ac50fe802967929467413a79631698b8d8f4f2dc692b207e509b6bb3a92524","impliedFormat":1},{"version":"34d017b29ca5107bf2832b992e4cee51ed497f074724a4b4a7b6386b7f8297c9","impliedFormat":1},{"version":"b75d56703daaffcb31a7cdebf190856e07739a9481f01c2919f95bde99be9424","impliedFormat":99},{"version":"8f96f309d60fb87c09afbfba79c43326324379859e2bc27e1d26594a886ec908","signature":"1b2b4612cbfad4c97462a177552f8ad4d3014c58b6f40318318e8049e701e13f"},{"version":"99d1a601593495371e798da1850b52877bf63d0678f15722d5f048e404f002e4","impliedFormat":99},{"version":"4d19b093a16635687d128e2157c8f5bac50b2391cbe031e07ec1e2d53f4d73a3","signature":"351f7cb5f3ce63374db1c4a065fa52fb1395e525c7a7a9dcaade8db57dae36a7"},{"version":"1179ef8174e0e4a09d35576199df04803b1db17c0fb35b9326442884bc0b0cce","impliedFormat":99},{"version":"e2b4198bbf3968eae76d71fd04074b43f802357d997dbd01a1721a96e5895383","signature":"89c4c894c2e107e6acd529ccc90f5d3ac56e9e26eec7acc69db5bc74c67f66b8"},{"version":"647b61de5cb1f53e7265022c6f60bf25a43b75ff71bde690adf9ec5f74a22688","signature":"d76d7a53b855e40233ee94d7991f041ef08798ce237f572fa1fe5120792e0f3a"},{"version":"c3005a6a39bd1aaecf3c0c9c61860db480ec5cbd16381556e381bdc3a59b6ac6","signature":"6ff334f1e3348c2e00624e004c3f55ab2e5a80c688642db171633a735efb9374"},{"version":"233267a4a036c64aee95f66a0d31e3e0ef048cccc57dd66f9cf87582b38691e4","impliedFormat":99},{"version":"b620f27ccc82ec7748e2039143cd3c36c029e48b083025f88e621e6dda91222a","signature":"6d248991a8cfaece02458f68fed4d3e7ebbdb17833b9fd127fdaa69cf8436c69"},{"version":"1bdf187549f043a81a5b1a97da1422c4bf2bc5b2cce0415f074e017dcf1e8f71","signature":"0bcbba038569698e4536177738d43aed5cc5e81a958ef84c512c683ac9414354"},{"version":"cc3738ba01d9af5ba1206a313896837ff8779791afcd9869e582783550f17f38","impliedFormat":99},{"version":"0d000a7ec98386e515f6e484e4545cc4d34bcf201fd52ce5a53a5fea0bfdd9b5","signature":"5c6d966b719f71bfc1053b6613fc4062e9697d4ffe3d4cc328ae34651ec3adf4"},{"version":"e6b8f3cd057e49a50b57a52acc38cff7c224def2249464d489295e0e1d200af6","impliedFormat":1},{"version":"5f2418e3437ab5fcf922fefa408f3b0257431ac9353a10c5c3d18fd3e68b30f7","signature":"6758bdb7bc5b66438c03317d3c2a15ac771cb1382d8229f65fbb6a05b225f1da"},{"version":"4a5aa16151dbec524bb043a5cbce2c3fec75957d175475c115a953aca53999a9","impliedFormat":99},{"version":"6d89650a8b9474244627b2ead855995f9923b9ad8576db96c1841b084f44c76a","signature":"5035c4b9bc34ab886efe227aab0d1057f08efd33c317ac18adbb0c5137544e5e"},{"version":"7e4ec95a993de8b29a144facf8c5e99271239ee40ca158a93cbc8b6853e7ca54","signature":"6a837d288765564d548dd6ca64acfcd5d51b53898414355060b1ebf38d45d74d"},{"version":"7a14bf21ae8a29d64c42173c08f026928daf418bed1b97b37ac4bb2aa197b89b","impliedFormat":99},{"version":"23cc67b5360458decab2e93b3827aebbe142fd2d9f76ec418f96cb3269f1820a","signature":"a0e3d7ec764206d4047f5be0152f038bc3498b3fa0751247d00e02267906fbcd"},{"version":"2dfd19d81413d2eda50679dd8caa1cad25ebb34194b37fa1ddfb7dd647939f6d","signature":"5fe0be66db3dd2c391800533fc65d83aff705a2accd5a59c1804b462d5d1c15c"},{"version":"69ec8d900cfec3d40e50490fedbbea5c1b49d32c38adbc236e73a3b8978c0b11","impliedFormat":99},{"version":"7fd629484ba6772b686885b443914655089246f75a13dd685845d0abae337671","impliedFormat":99},{"version":"80a93a384850d9fd7b4d5c2d1f8409874d198467648e000c310695caedaf807b","signature":"ea61fe226066ef7b04c31bb4cb69f280569982683945c2dcaf65d59a537b6217"},{"version":"4e725b44cc99b17211ca80c9306271c7dd1a9c9af0d0aba3faddad63d33992e2","signature":"44c4203ac811b5d4d8953be3b07ace5b3b5396d892cde969912d40d058d43086"},{"version":"1b43441b273aa21c1e74fefa774d5a7cb50068e5d4c192a8f63b9c95c5580431","signature":"32f7c168ee545e9b432d2a861f4fb0bc645e21e88c774cedf54e72d1e3ccc049"},"d1986184a09a52db8228cb2bb2a61a8c05c9354e5b93cec8e2628d8579c892d7",{"version":"1da9ea5c91eb7450635526ab1d97da61b1f98d04a60704a646f2635ed93de81d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"d1986184a09a52db8228cb2bb2a61a8c05c9354e5b93cec8e2628d8579c892d7",{"version":"42fb3e6be3cf1e414dd7f85f41952e01d3d1247e4bc2837c3acefbf8df15848d","affectsGlobalScope":true},{"version":"6ebf10b8b67c1a1e7aeb0eb9d6d03928101268ee5ba4bee98aa25a353136af34","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2174e20517788d2a1379fc0aaacd87899a70f9e0197b4295edabfe75c4db03d8","impliedFormat":1},{"version":"b1538a92b9bae8d230267210c5db38c2eb6bdb352128a3ce3aa8c6acf9fc9622","impliedFormat":1},{"version":"6fc1a4f64372593767a9b7b774e9b3b92bf04e8785c3f9ea98973aa9f4bbe490","impliedFormat":1},{"version":"ff09b6fbdcf74d8af4e131b8866925c5e18d225540b9b19ce9485ca93e574d84","impliedFormat":1},{"version":"d5895252efa27a50f134a9b580aa61f7def5ab73d0a8071f9b5bf9a317c01c2d","impliedFormat":1},{"version":"1f366bde16e0513fa7b64f87f86689c4d36efd85afce7eb24753e9c99b91c319","impliedFormat":1},{"version":"751764bb94219b4ce8f5475dc35d3de2e432fea01a0c9610cd7f69ad05e398c6","impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","impliedFormat":1},{"version":"fb893a0dfc3c9fb0f9ca93d0648694dd95f33cbad2c0f2c629f842981dfd4e2e","impliedFormat":1},{"version":"95da3c365e3d45709ad6e0b4daa5cdaf05e9076ba3c201e8f8081dd282c02f57","impliedFormat":1},{"version":"0e60e0cbf2283adfd5a15430ae548cd2f662d581b5da6ecd98220203e7067c70","impliedFormat":1},{"version":"8357ad1403cf5d74ac86ce60332396a11ba3acef7e32a314acb38a6076b64a80","impliedFormat":1},{"version":"e91ad231af87f864b3f07cd0e39b1cf6c133988156f087c1c3ccb0a5491c9115","impliedFormat":1},{"version":"ef5a2229cc377ddd1b8d3fb498b161d6d47ca2d8fa5857b9cfee5ab6b945b687","impliedFormat":1},{"version":"319c37263037e8d9481a3dc7eadf6afa6a5f5c002189ebe28776ac1a62a38e15","impliedFormat":1},{"version":"1f4ae755492a669b317903a6b1664cb7af3fe0c3d1eec6447f4e95a80616d15a","impliedFormat":1},{"version":"03c258e060b7da220973f84b89615e4e9850e9b5d30b3a8e4840b3e3268ae8eb","impliedFormat":1},{"version":"908217c4f2244ec402b73533ebfcc46d6dcd34fc1c807ff403d7f98702abb3bc","impliedFormat":1},{"version":"2c3b8be03577c98530ef9cb1a76e2c812636a871f367e9edf4c5f3ce702b77f8","affectsGlobalScope":true,"impliedFormat":1},{"version":"0b301e46295e7dee8bcead624b4a0f94ab8ba1cb3f572b726977322293be2196","impliedFormat":1}],"root":[531,532,[723,726],[791,794],[806,808],[814,828],830,[839,855],870,[884,886],906,[923,941],[946,951],[953,987],[989,1008],[1011,1017],[1021,1081],[1083,1085],1088,1093,1094,1097,1101,1102,1105,1106,1541,1578,1649,1651,1652,1654,1655,1662,1664,[1666,1668],1702,[1704,1706],[1708,1710],1712,1715,1716,1718,1722,1724,1746,1748,[1750,1752],1754,1755,1757,1759,1761,1762,1764,1765,[1768,1775]],"options":{"allowJs":true,"esModuleInterop":true,"jsx":4,"module":99,"skipLibCheck":true,"strict":true,"target":2},"referencedMap":[[1773,1],[1774,2],[1775,3],[1771,4],[531,2],[1772,5],[957,6],[958,7],[966,8],[968,9],[969,10],[970,11],[971,12],[973,13],[974,11],[963,14],[1003,15],[976,16],[1004,17],[964,18],[1005,19],[1006,20],[1007,11],[1008,8],[1014,21],[1013,22],[794,23],[959,23],[1016,24],[818,25],[821,26],[820,26],[822,25],[823,26],[824,25],[825,26],[826,26],[828,27],[1021,28],[1017,29],[1022,30],[1027,31],[1025,32],[1028,12],[1037,33],[1038,34],[1035,35],[1040,36],[1041,37],[1039,38],[1042,35],[1045,39],[1047,40],[1048,41],[1046,35],[1049,42],[1031,43],[1050,44],[1051,45],[1052,46],[1053,47],[951,48],[1054,49],[1061,50],[1063,51],[1062,29],[956,52],[1064,10],[1074,53],[1075,49],[948,54],[1079,55],[1080,49],[1081,56],[962,57],[991,58],[996,59],[993,60],[999,61],[1002,62],[998,63],[995,64],[987,65],[977,66],[980,67],[981,68],[985,69],[978,67],[1084,70],[982,71],[979,67],[986,66],[983,68],[1001,72],[994,20],[984,20],[989,10],[967,73],[972,74],[975,73],[965,73],[830,20],[997,75],[1000,72],[961,76],[1073,77],[1067,78],[1068,79],[1071,71],[1065,78],[1069,66],[1066,80],[1072,67],[1070,81],[1026,10],[1024,10],[1036,82],[990,83],[1044,84],[1043,85],[1034,86],[1032,87],[1033,88],[992,82],[1085,89],[1030,76],[947,90],[955,91],[954,92],[949,93],[1057,94],[1060,95],[1059,96],[1058,97],[1055,98],[1077,94],[1078,99],[1076,98],[1083,100],[950,90],[1088,101],[1093,102],[1094,103],[1097,104],[1101,105],[1056,106],[1102,107],[1106,108],[953,106],[1541,109],[1015,110],[1578,111],[1649,112],[1651,113],[1652,114],[1655,115],[1662,116],[1023,10],[1654,117],[1664,118],[1666,119],[1667,120],[1668,121],[1702,122],[1704,123],[1706,124],[1708,125],[1012,110],[1709,126],[1710,127],[1011,128],[1712,129],[1715,130],[1716,131],[1718,132],[1722,133],[1724,134],[1746,135],[1748,136],[1750,137],[1105,138],[1751,117],[1755,139],[1752,127],[1757,140],[1759,141],[960,142],[1761,143],[1762,110],[1764,144],[1705,110],[840,145],[1765,146],[1769,147],[1768,148],[1754,149],[1770,90],[841,150],[1029,151],[842,90],[843,150],[725,152],[845,153],[847,154],[946,155],[724,156],[814,157],[848,157],[806,23],[849,158],[815,159],[850,160],[855,161],[851,162],[723,23],[808,163],[852,164],[854,165],[853,166],[807,160],[816,23],[819,167],[817,167],[827,168],[839,169],[870,170],[532,171],[1107,2],[1108,172],[1109,173],[1114,174],[1110,173],[1113,2],[1111,2],[1112,2],[888,175],[889,176],[898,177],[803,175],[810,178],[799,179],[798,180],[796,181],[795,182],[797,183],[892,184],[890,185],[891,178],[896,186],[895,187],[894,188],[804,189],[802,190],[801,2],[905,191],[903,192],[902,193],[904,2],[900,194],[899,195],[812,178],[800,2],[720,196],[718,197],[716,197],[714,197],[719,198],[717,199],[715,200],[637,201],[636,197],[551,2],[375,2],[1087,202],[1092,203],[1656,204],[1096,205],[1095,206],[1100,207],[1098,206],[1099,206],[1650,208],[1086,209],[1661,210],[831,206],[1091,211],[833,204],[1665,210],[1089,204],[1703,212],[1010,205],[1009,206],[1660,213],[1711,214],[1714,215],[1717,216],[1658,217],[1090,204],[832,206],[1721,207],[1719,206],[1720,206],[1723,218],[1659,209],[1747,209],[1749,216],[1104,205],[1103,206],[1756,209],[952,219],[1760,209],[1763,218],[834,220],[1767,221],[1766,204],[1753,212],[1713,204],[1657,2],[1776,2],[1777,2],[1778,2],[1779,2],[1780,222],[1599,2],[1582,223],[1600,224],[1581,2],[1781,2],[1782,2],[1783,2],[1784,2],[1786,225],[1787,2],[1788,2],[1785,2],[139,226],[140,226],[141,227],[93,228],[142,229],[143,230],[144,231],[88,2],[91,232],[89,2],[90,2],[145,233],[146,234],[147,235],[148,236],[149,237],[150,238],[151,238],[152,239],[153,240],[154,241],[155,242],[94,2],[92,2],[156,243],[157,244],[158,245],[192,246],[159,247],[160,2],[161,248],[162,249],[163,250],[164,251],[165,252],[166,253],[167,254],[168,255],[169,256],[170,256],[171,257],[172,2],[173,258],[174,259],[176,260],[175,261],[177,262],[178,263],[179,264],[180,265],[181,266],[182,267],[183,268],[184,269],[185,270],[186,271],[187,272],[188,273],[189,274],[95,2],[96,2],[97,2],[136,275],[137,2],[138,2],[190,276],[191,277],[196,278],[460,206],[197,279],[195,280],[462,281],[461,282],[193,283],[458,2],[194,284],[79,2],[81,285],[457,206],[227,206],[1791,286],[1792,2],[1793,2],[1794,2],[1795,287],[1018,2],[1796,2],[945,2],[909,2],[910,288],[911,289],[914,290],[913,2],[759,2],[770,291],[765,292],[768,293],[783,294],[772,2],[775,295],[774,296],[786,296],[773,297],[912,2],[767,298],[769,298],[761,299],[764,300],[780,299],[766,301],[760,2],[699,302],[98,2],[837,303],[836,304],[835,2],[1653,305],[80,2],[1203,306],[1182,307],[1279,2],[1183,308],[1119,306],[1120,306],[1121,306],[1122,306],[1123,306],[1124,306],[1125,306],[1126,306],[1127,306],[1128,306],[1129,306],[1130,306],[1131,306],[1132,306],[1133,306],[1134,306],[1135,306],[1136,306],[1115,2],[1137,306],[1138,306],[1139,2],[1140,306],[1141,306],[1143,306],[1142,306],[1144,306],[1145,306],[1146,306],[1147,306],[1148,306],[1149,306],[1150,306],[1151,306],[1152,306],[1153,306],[1154,306],[1155,306],[1156,306],[1157,306],[1158,306],[1159,306],[1160,306],[1161,306],[1162,306],[1164,306],[1165,306],[1166,306],[1163,306],[1167,306],[1168,306],[1169,306],[1170,306],[1171,306],[1172,306],[1173,306],[1174,306],[1175,306],[1176,306],[1177,306],[1178,306],[1179,306],[1180,306],[1181,306],[1184,309],[1185,306],[1186,306],[1187,310],[1188,311],[1189,306],[1190,306],[1191,306],[1192,306],[1195,306],[1193,306],[1194,306],[1117,2],[1196,306],[1197,306],[1198,306],[1199,306],[1200,306],[1201,306],[1202,306],[1204,312],[1205,306],[1206,306],[1207,306],[1209,306],[1208,306],[1210,306],[1211,306],[1212,306],[1213,306],[1214,306],[1215,306],[1216,306],[1217,306],[1218,306],[1219,306],[1221,306],[1220,306],[1222,306],[1223,2],[1224,2],[1225,2],[1372,313],[1226,306],[1227,306],[1228,306],[1229,306],[1230,306],[1231,306],[1232,2],[1233,306],[1234,2],[1235,306],[1236,306],[1237,306],[1238,306],[1239,306],[1240,306],[1241,306],[1242,306],[1243,306],[1244,306],[1245,306],[1246,306],[1247,306],[1248,306],[1249,306],[1250,306],[1251,306],[1252,306],[1253,306],[1254,306],[1255,306],[1256,306],[1257,306],[1258,306],[1259,306],[1260,306],[1261,306],[1262,306],[1263,306],[1264,306],[1265,306],[1266,306],[1267,2],[1268,306],[1269,306],[1270,306],[1271,306],[1272,306],[1273,306],[1274,306],[1275,306],[1276,306],[1277,306],[1278,306],[1280,314],[1468,315],[1373,308],[1375,308],[1376,308],[1377,308],[1378,308],[1379,308],[1374,308],[1380,308],[1382,308],[1381,308],[1383,308],[1384,308],[1385,308],[1386,308],[1387,308],[1388,308],[1389,308],[1390,308],[1392,308],[1391,308],[1393,308],[1394,308],[1395,308],[1396,308],[1397,308],[1398,308],[1399,308],[1400,308],[1401,308],[1402,308],[1403,308],[1404,308],[1405,308],[1406,308],[1407,308],[1409,308],[1410,308],[1408,308],[1411,308],[1412,308],[1413,308],[1414,308],[1415,308],[1416,308],[1417,308],[1418,308],[1419,308],[1420,308],[1421,308],[1422,308],[1424,308],[1423,308],[1426,308],[1425,308],[1427,308],[1428,308],[1429,308],[1430,308],[1431,308],[1432,308],[1433,308],[1434,308],[1435,308],[1436,308],[1437,308],[1438,308],[1439,308],[1441,308],[1440,308],[1442,308],[1443,308],[1444,308],[1446,308],[1445,308],[1447,308],[1448,308],[1449,308],[1450,308],[1451,308],[1452,308],[1454,308],[1453,308],[1455,308],[1456,308],[1457,308],[1458,308],[1459,308],[1116,306],[1460,308],[1461,308],[1463,308],[1462,308],[1464,308],[1465,308],[1466,308],[1467,308],[1281,306],[1282,306],[1283,2],[1284,2],[1285,2],[1286,306],[1287,2],[1288,2],[1289,2],[1290,2],[1291,2],[1292,306],[1293,306],[1294,306],[1295,306],[1296,306],[1297,306],[1298,306],[1299,306],[1304,316],[1302,317],[1303,318],[1301,319],[1300,306],[1305,306],[1306,306],[1307,306],[1308,306],[1309,306],[1310,306],[1311,306],[1312,306],[1313,306],[1314,306],[1315,2],[1316,2],[1317,306],[1318,306],[1319,2],[1320,2],[1321,2],[1322,306],[1323,306],[1324,306],[1325,306],[1326,312],[1327,306],[1328,306],[1329,306],[1330,306],[1331,306],[1332,306],[1333,306],[1334,306],[1335,306],[1336,306],[1337,306],[1338,306],[1339,306],[1340,306],[1341,306],[1342,306],[1343,306],[1344,306],[1345,306],[1346,306],[1347,306],[1348,306],[1349,306],[1350,306],[1351,306],[1352,306],[1353,306],[1354,306],[1355,306],[1356,306],[1357,306],[1358,306],[1359,306],[1360,306],[1361,306],[1362,306],[1363,306],[1364,306],[1365,306],[1366,306],[1367,306],[1118,320],[1368,2],[1369,2],[1370,2],[1371,2],[1019,287],[1576,321],[1577,322],[1542,2],[1550,323],[1544,324],[1551,2],[1573,325],[1548,326],[1572,327],[1569,328],[1552,329],[1553,2],[1546,2],[1543,2],[1574,330],[1570,331],[1554,2],[1571,332],[1555,333],[1557,334],[1558,335],[1547,336],[1559,337],[1560,336],[1562,337],[1563,338],[1564,339],[1566,340],[1561,341],[1567,342],[1568,343],[1545,344],[1565,345],[1549,346],[1556,2],[1575,347],[698,2],[919,348],[921,349],[920,350],[918,351],[917,2],[534,352],[536,352],[533,2],[539,353],[535,354],[876,2],[872,2],[882,355],[877,356],[874,2],[883,357],[881,358],[880,359],[879,360],[878,359],[871,2],[875,361],[873,2],[721,362],[722,363],[537,364],[538,365],[809,366],[811,367],[893,368],[897,369],[887,2],[901,370],[805,371],[813,372],[1789,373],[638,374],[640,375],[641,376],[639,377],[689,197],[690,378],[691,378],[686,378],[679,379],[707,380],[683,381],[684,382],[709,383],[708,384],[677,384],[687,385],[712,386],[685,387],[702,388],[701,389],[710,390],[676,391],[711,392],[693,393],[713,394],[694,395],[706,396],[704,397],[705,398],[682,399],[703,400],[680,401],[692,2],[688,2],[671,2],[700,402],[681,403],[678,404],[695,2],[697,2],[621,405],[540,406],[625,2],[542,407],[618,408],[619,409],[545,2],[549,410],[547,411],[595,412],[594,413],[596,414],[597,415],[546,2],[550,2],[543,2],[544,2],[607,2],[615,2],[634,416],[628,417],[623,418],[581,419],[602,419],[580,419],[558,419],[584,420],[568,421],[565,2],[566,422],[559,419],[562,423],[561,424],[593,425],[564,419],[569,426],[570,419],[574,427],[575,419],[576,428],[577,419],[578,427],[579,419],[587,429],[588,419],[590,430],[591,419],[592,426],[585,420],[573,431],[572,432],[571,419],[586,433],[583,434],[582,420],[567,419],[589,421],[560,419],[601,419],[604,435],[603,436],[635,437],[633,438],[627,439],[629,440],[626,441],[609,442],[630,443],[622,444],[614,445],[541,446],[616,447],[611,448],[610,449],[624,450],[631,451],[632,443],[617,452],[598,453],[612,454],[613,455],[608,456],[620,457],[563,2],[599,458],[606,459],[605,460],[600,461],[548,2],[557,462],[554,197],[663,2],[664,463],[646,464],[658,465],[657,466],[655,467],[665,468],[643,2],[668,469],[650,2],[661,470],[660,471],[662,472],[666,2],[656,473],[649,474],[654,475],[667,476],[652,477],[647,2],[648,478],[669,479],[659,480],[653,476],[644,2],[670,481],[642,466],[645,2],[651,466],[1707,206],[1020,482],[556,483],[555,2],[829,206],[988,2],[1082,206],[483,484],[488,485],[495,486],[478,487],[231,2],[239,488],[379,489],[382,490],[354,2],[367,491],[374,492],[256,2],[356,2],[237,2],[353,493],[399,494],[238,2],[229,495],[381,496],[383,497],[384,498],[455,499],[348,500],[301,501],[361,502],[362,503],[360,504],[359,2],[355,505],[380,506],[240,507],[425,2],[426,508],[267,509],[241,510],[268,509],[304,509],[207,509],[377,511],[376,2],[366,512],[473,2],[216,2],[494,513],[433,514],[434,515],[430,516],[512,2],[331,2],[435,90],[431,517],[517,518],[516,519],[511,2],[282,2],[334,520],[333,2],[510,521],[432,206],[287,522],[294,523],[296,524],[286,2],[291,525],[293,526],[295,527],[290,528],[288,2],[292,529],[513,2],[509,2],[515,530],[514,2],[285,531],[504,532],[507,533],[275,534],[274,535],[273,536],[520,206],[272,537],[261,2],[522,2],[943,538],[942,2],[523,206],[524,539],[199,2],[363,540],[364,541],[365,542],[203,2],[368,2],[223,543],[198,2],[447,206],[205,544],[446,545],[445,546],[436,2],[437,2],[444,2],[439,2],[442,547],[438,2],[440,548],[443,549],[441,548],[236,2],[233,2],[234,509],[388,2],[393,550],[394,551],[392,552],[390,553],[391,554],[386,2],[453,90],[228,90],[482,555],[489,556],[493,557],[322,558],[321,2],[316,2],[469,559],[477,560],[349,561],[350,562],[428,563],[338,2],[451,564],[326,206],[343,565],[454,566],[339,2],[342,567],[340,2],[452,568],[449,569],[448,2],[450,2],[346,2],[424,570],[211,571],[324,572],[328,573],[344,574],[347,575],[336,576],[329,577],[476,578],[402,579],[320,580],[208,581],[475,582],[204,583],[395,584],[387,2],[396,585],[413,586],[385,2],[412,587],[87,2],[407,588],[232,2],[427,589],[403,2],[217,2],[219,2],[358,2],[411,590],[235,2],[259,591],[345,592],[265,593],[325,2],[410,2],[389,2],[415,594],[416,595],[357,2],[418,596],[420,597],[419,598],[369,2],[409,581],[422,599],[319,600],[408,601],[414,602],[244,2],[248,2],[247,2],[246,2],[251,2],[245,2],[254,2],[253,2],[250,2],[249,2],[252,2],[255,603],[243,2],[311,604],[310,2],[315,605],[312,606],[314,607],[317,605],[313,606],[224,608],[303,609],[472,610],[470,2],[499,611],[501,612],[465,613],[500,614],[212,615],[209,615],[242,2],[226,616],[225,617],[221,618],[222,619],[230,620],[258,620],[269,620],[305,621],[270,621],[214,622],[213,2],[309,623],[308,624],[307,625],[306,626],[215,627],[456,628],[257,629],[464,630],[429,631],[459,632],[463,633],[352,634],[351,635],[332,636],[318,637],[300,638],[302,639],[299,640],[421,641],[323,2],[487,2],[220,642],[423,643],[471,644],[330,2],[260,645],[337,646],[335,647],[262,648],[397,649],[466,2],[263,650],[398,650],[485,2],[484,2],[486,2],[468,2],[467,2],[400,651],[327,2],[297,652],[218,653],[276,2],[202,654],[264,2],[491,206],[201,2],[503,655],[284,206],[497,90],[283,656],[480,657],[281,655],[206,2],[505,658],[279,206],[280,206],[271,2],[200,2],[278,659],[277,660],[266,661],[341,255],[401,255],[417,2],[405,662],[404,2],[289,531],[210,2],[298,206],[474,543],[481,663],[82,206],[85,664],[86,665],[83,206],[84,2],[378,666],[373,667],[372,2],[371,668],[370,2],[479,669],[490,670],[492,671],[496,672],[944,673],[498,674],[502,675],[530,676],[506,676],[529,677],[508,678],[518,679],[519,680],[521,681],[525,682],[528,543],[527,2],[526,683],[751,684],[749,685],[750,686],[738,687],[739,685],[746,688],[737,689],[742,690],[752,2],[743,691],[748,692],[754,693],[753,694],[736,695],[744,696],[745,697],[740,698],[747,684],[741,699],[674,700],[675,701],[673,700],[672,683],[553,197],[552,2],[696,197],[1527,702],[1488,703],[1487,704],[1526,705],[1528,706],[1469,206],[1470,206],[1471,206],[1515,707],[1494,708],[1495,708],[1496,709],[1497,206],[1498,206],[1499,710],[1472,711],[1500,206],[1501,206],[1502,712],[1503,206],[1504,206],[1505,206],[1506,206],[1507,206],[1508,206],[1473,711],[1509,206],[1510,206],[1511,711],[1512,206],[1513,206],[1514,712],[1529,709],[1516,702],[1517,702],[1518,702],[1519,702],[1520,702],[1521,2],[1522,702],[1523,713],[1530,714],[1531,715],[1540,716],[1485,717],[1474,718],[1475,702],[1476,718],[1477,702],[1478,2],[1479,702],[1480,2],[1481,702],[1482,702],[1483,702],[1484,702],[1525,702],[1492,719],[1493,720],[1489,721],[1490,722],[1524,723],[1486,206],[1491,724],[1532,718],[1533,718],[1539,725],[1534,702],[1535,718],[1536,718],[1537,702],[1538,718],[1669,2],[1685,726],[1686,726],[1687,726],[1701,727],[1688,728],[1689,728],[1690,729],[1682,730],[1680,731],[1671,2],[1675,732],[1679,733],[1677,734],[1684,735],[1672,736],[1673,737],[1674,738],[1676,739],[1678,740],[1681,741],[1683,742],[1691,728],[1692,728],[1693,728],[1694,726],[1695,728],[1696,728],[1670,728],[1697,2],[1699,743],[1698,728],[1700,726],[1730,2],[1744,744],[1725,206],[1727,745],[1729,746],[1728,747],[1726,2],[1731,2],[1732,2],[1733,2],[1734,2],[1735,2],[1736,2],[1737,2],[1738,2],[1739,2],[1740,748],[1742,749],[1743,749],[1741,2],[1745,750],[1622,751],[1624,752],[1614,753],[1619,754],[1620,755],[1626,756],[1621,757],[1618,758],[1617,759],[1616,760],[1627,761],[1584,754],[1585,754],[1625,754],[1630,762],[1640,763],[1634,763],[1642,763],[1646,763],[1632,764],[1633,763],[1635,763],[1638,763],[1641,763],[1637,765],[1639,763],[1643,206],[1636,754],[1631,766],[1593,206],[1597,206],[1587,754],[1590,206],[1595,754],[1596,767],[1589,768],[1592,206],[1594,206],[1591,769],[1580,206],[1579,206],[1648,770],[1645,771],[1611,772],[1610,754],[1608,206],[1609,754],[1612,773],[1613,774],[1606,206],[1602,775],[1605,754],[1604,754],[1603,754],[1598,754],[1607,775],[1644,754],[1623,776],[1629,777],[1628,778],[1647,2],[1615,2],[1588,2],[1586,779],[729,780],[728,781],[727,2],[406,782],[1758,206],[735,2],[838,2],[784,2],[762,2],[763,783],[1790,2],[77,2],[78,2],[13,2],[14,2],[16,2],[15,2],[2,2],[17,2],[18,2],[19,2],[20,2],[21,2],[22,2],[23,2],[24,2],[3,2],[25,2],[26,2],[4,2],[27,2],[31,2],[28,2],[29,2],[30,2],[32,2],[33,2],[34,2],[5,2],[35,2],[36,2],[37,2],[38,2],[6,2],[42,2],[39,2],[40,2],[41,2],[43,2],[7,2],[44,2],[49,2],[50,2],[45,2],[46,2],[47,2],[48,2],[8,2],[54,2],[51,2],[52,2],[53,2],[55,2],[9,2],[56,2],[57,2],[58,2],[60,2],[59,2],[61,2],[62,2],[10,2],[63,2],[64,2],[65,2],[11,2],[66,2],[67,2],[68,2],[69,2],[70,2],[1,2],[71,2],[72,2],[12,2],[75,2],[74,2],[73,2],[76,2],[114,784],[124,785],[113,784],[134,786],[105,787],[104,788],[133,683],[127,789],[132,790],[107,791],[121,792],[106,793],[130,794],[102,795],[101,683],[131,796],[103,797],[108,798],[109,2],[112,798],[99,2],[135,799],[125,800],[116,801],[117,802],[119,803],[115,804],[118,805],[128,683],[110,806],[111,807],[120,808],[100,809],[123,800],[122,798],[126,2],[129,810],[1663,305],[1583,811],[1601,812],[781,813],[778,814],[779,813],[782,815],[777,2],[758,816],[755,817],[733,818],[734,2],[731,819],[730,2],[732,820],[756,2],[757,821],[790,822],[785,823],[776,824],[771,2],[915,825],[787,826],[916,827],[788,828],[908,829],[907,830],[789,831],[922,832],[869,833],[861,834],[868,835],[863,2],[864,2],[862,836],[865,837],[856,2],[857,2],[858,833],[860,838],[866,2],[867,839],[859,840],[726,841],[884,842],[885,842],[886,842],[906,843],[924,844],[925,844],[926,844],[927,844],[923,845],[928,844],[929,23],[930,846],[931,847],[932,848],[933,849],[934,850],[935,851],[936,852],[937,853],[938,847],[939,854],[940,855],[941,849],[844,23],[846,23],[791,856],[792,856],[793,856]],"semanticDiagnosticsPerFile":[[932,[{"start":1965,"length":7,"code":2322,"category":1,"messageText":"Type '{ name: string; }' is not assignable to type 'never'."}]],[935,[{"start":3592,"length":7,"code":2345,"category":1,"messageText":"Argument of type '{ name: string; }' is not assignable to parameter of type 'never'."},{"start":6952,"length":18,"code":2322,"category":1,"messageText":"Type '{ name: string; }' is not assignable to type 'never'."},{"start":7212,"length":21,"code":2322,"category":1,"messageText":"Type '{ name: string; }' is not assignable to type 'never'."}]]],"affectedFilesPendingEmit":[1775,1772,957,958,966,968,969,970,971,973,974,963,1003,976,1004,964,1005,1006,1007,1008,1014,1013,794,959,1016,818,821,820,822,823,824,825,826,828,1021,1017,1022,1027,1025,1028,1037,1038,1035,1040,1041,1039,1042,1045,1047,1048,1046,1049,1031,1050,1051,1052,1053,951,1054,1061,1063,1062,956,1064,1074,1075,948,1079,1080,1081,962,991,996,993,999,1002,998,995,987,977,980,981,985,978,1084,982,979,986,983,1001,994,984,989,967,972,975,965,830,997,1000,961,1073,1067,1068,1071,1065,1069,1066,1072,1070,1026,1024,1036,990,1044,1043,1034,1032,1033,992,1085,1030,947,955,954,949,1057,1060,1059,1058,1055,1077,1078,1076,1083,950,1088,1093,1094,1097,1101,1056,1102,1106,953,1541,1015,1578,1649,1651,1652,1655,1662,1023,1654,1664,1666,1667,1668,1702,1704,1706,1708,1012,1709,1710,1011,1712,1715,1716,1718,1722,1724,1746,1748,1750,1105,1751,1755,1752,1757,1759,960,1761,1762,1764,1705,840,1765,1769,1768,1754,1770,841,1029,842,843,725,845,847,946,724,814,848,806,849,815,850,855,851,723,808,852,854,853,807,816,819,817,827,839,870,726,884,885,886,906,924,925,926,927,923,928,929,930,931,932,933,934,935,936,937,938,939,940,941,844,846,791,792,793],"version":"5.7.3"} \ No newline at end of file diff --git a/vitest.unit.config.ts b/vitest.unit.config.ts index 37804f2..821c14d 100644 --- a/vitest.unit.config.ts +++ b/vitest.unit.config.ts @@ -19,6 +19,12 @@ export default defineConfig({ include: [ "lib/firebase/services.ts", "lib/firebase/editorServices.ts", + "lib/firebase/adminServices.ts", + "lib/firebase/navServices.ts", + "lib/firebase/storageUtils.ts", + "lib/firebase/clientApp.ts", + "lib/firebase/getDefaultDb.ts", + "lib/tenant/masterDb.ts", "lib/validation/**/*.ts", ], }, From 3e00f78f3697eb77fee7dc3fad97e660127ba387 Mon Sep 17 00:00:00 2001 From: AlpNuhoglu Date: Fri, 22 May 2026 04:03:53 +0300 Subject: [PATCH 06/10] fix(ci): bump Java to 21 for Firebase emulator compatibility fix(lint): resolve warnings introduced by multi-tenant refactor - Remove unused _geist/_geistMono variable assignments in layout.tsx - Replace infer _ctx with unknown in useTenantServices.ts type utilities - Remove stale eslint-disable comment in EditorPanelContext.tsx - Suppress intentional useMemo exhaustive-deps for stable function refs - Add firestore-debug.log to .gitignore --- .github/workflows/ci.yml | 2 +- app/layout.tsx | 4 ++-- context/EditorPanelContext.tsx | 2 +- lib/firebase/hooks/useTenantServices.ts | 6 +++--- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2e97e80..7c9da4b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,7 +30,7 @@ jobs: uses: actions/setup-java@v4 with: distribution: temurin - java-version: 17 + java-version: 21 - name: Install dependencies run: npm ci diff --git a/app/layout.tsx b/app/layout.tsx index 6f8faf9..d9244be 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -12,8 +12,8 @@ import { NavProvider } from '@/components/layout/NavProvider' import { ThemeListener } from '@/components/theme/ThemeListener' import './globals.css' -const _geist = Geist({ subsets: ["latin"] }); -const _geistMono = Geist_Mono({ subsets: ["latin"] }); +Geist({ subsets: ["latin"] }); +Geist_Mono({ subsets: ["latin"] }); export const metadata: Metadata = { title: 'NGO Platform', diff --git a/context/EditorPanelContext.tsx b/context/EditorPanelContext.tsx index 9a7e4c2..dfcc64f 100644 --- a/context/EditorPanelContext.tsx +++ b/context/EditorPanelContext.tsx @@ -99,7 +99,6 @@ export function EditorPanelProvider({ children }: { children: ReactNode }) { } } loadAll(); - // eslint-disable-next-line react-hooks/exhaustive-deps }, [getEditorBlogs, getEditorEvents, getEditorMedia, getEditorAnnouncements, getEditorNotifications]); // ── Events ──────────────────────────────────────────────────────────────── @@ -253,6 +252,7 @@ export function EditorPanelProvider({ children }: { children: ReactNode }) { getAnnouncementById, markNotificationAsRead, }), + // eslint-disable-next-line react-hooks/exhaustive-deps [blogs, events, notifications, media, announcements, loading] ); diff --git a/lib/firebase/hooks/useTenantServices.ts b/lib/firebase/hooks/useTenantServices.ts index 4ded588..8a973ea 100644 --- a/lib/firebase/hooks/useTenantServices.ts +++ b/lib/firebase/hooks/useTenantServices.ts @@ -100,16 +100,16 @@ export function useTenantServices() { getAdminPageBySlug: (slug: string) => adminSvc.getAdminPageBySlug({ db, auth }, slug), getAdminPageDataBySlug: (slug: string) => adminSvc.getAdminPageDataBySlug({ db, auth }, slug), getAdminPages: () => adminSvc.getAdminPages({ db, auth }), - upsertAdminPage: (...args: Parameters extends [infer _, ...infer R] ? R : never) => + upsertAdminPage: (...args: Parameters extends [unknown, ...infer R] ? R : never) => adminSvc.upsertAdminPage({ db, auth }, ...args), getAdminSiteSettings: () => adminSvc.getAdminSiteSettings({ db, auth }), updateAdminSiteSettings: (d: Parameters[1]) => adminSvc.updateAdminSiteSettings({ db, auth }, d), getContactMessages: () => adminSvc.getContactMessages({ db, auth }), - updateContactMessageStatus: (...args: Parameters extends [infer _, ...infer R] ? R : never) => + updateContactMessageStatus: (...args: Parameters extends [unknown, ...infer R] ? R : never) => adminSvc.updateContactMessageStatus({ db, auth }, ...args), getPageBlocks: (slug: string) => adminSvc.getPageBlocks({ db, auth }, slug), - savePageBlocks: (...args: Parameters extends [infer _, ...infer R] ? R : never) => + savePageBlocks: (...args: Parameters extends [unknown, ...infer R] ? R : never) => adminSvc.savePageBlocks({ db, auth }, ...args), upsertPageContent: (slug: string, data: Parameters[2]) => adminSvc.upsertPageContent({ db, auth }, slug, data), From 3c3d6985de5d96dc67b49e3fc3bc2adb378fe486 Mon Sep 17 00:00:00 2001 From: AlpNuhoglu Date: Fri, 22 May 2026 04:07:41 +0300 Subject: [PATCH 07/10] fix(build): remove unused Geist font declarations from layout.tsx MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Next.js requires font loaders to be assigned to a const — removing the unused imports and declarations resolves the Turbopack build error. --- app/layout.tsx | 3 --- tsconfig.tsbuildinfo | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/app/layout.tsx b/app/layout.tsx index d9244be..c60d78b 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -1,7 +1,6 @@ import type { Metadata } from 'next' import { headers } from 'next/headers' import { unstable_cache } from 'next/cache' -import { Geist, Geist_Mono } from 'next/font/google' import { Analytics } from '@vercel/analytics/next' import { Providers } from './providers' import { getTenantByDomain } from '@/lib/tenant/masterDb' @@ -12,8 +11,6 @@ import { NavProvider } from '@/components/layout/NavProvider' import { ThemeListener } from '@/components/theme/ThemeListener' import './globals.css' -Geist({ subsets: ["latin"] }); -Geist_Mono({ subsets: ["latin"] }); export const metadata: Metadata = { title: 'NGO Platform', diff --git a/tsconfig.tsbuildinfo b/tsconfig.tsbuildinfo index fff394e..cbce6c6 100644 --- a/tsconfig.tsbuildinfo +++ b/tsconfig.tsbuildinfo @@ -1 +1 @@ -{"fileNames":["./node_modules/typescript/lib/lib.es5.d.ts","./node_modules/typescript/lib/lib.es2015.d.ts","./node_modules/typescript/lib/lib.es2016.d.ts","./node_modules/typescript/lib/lib.es2017.d.ts","./node_modules/typescript/lib/lib.es2018.d.ts","./node_modules/typescript/lib/lib.es2019.d.ts","./node_modules/typescript/lib/lib.es2020.d.ts","./node_modules/typescript/lib/lib.es2021.d.ts","./node_modules/typescript/lib/lib.es2022.d.ts","./node_modules/typescript/lib/lib.es2023.d.ts","./node_modules/typescript/lib/lib.es2024.d.ts","./node_modules/typescript/lib/lib.esnext.d.ts","./node_modules/typescript/lib/lib.dom.d.ts","./node_modules/typescript/lib/lib.dom.iterable.d.ts","./node_modules/typescript/lib/lib.es2015.core.d.ts","./node_modules/typescript/lib/lib.es2015.collection.d.ts","./node_modules/typescript/lib/lib.es2015.generator.d.ts","./node_modules/typescript/lib/lib.es2015.iterable.d.ts","./node_modules/typescript/lib/lib.es2015.promise.d.ts","./node_modules/typescript/lib/lib.es2015.proxy.d.ts","./node_modules/typescript/lib/lib.es2015.reflect.d.ts","./node_modules/typescript/lib/lib.es2015.symbol.d.ts","./node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","./node_modules/typescript/lib/lib.es2016.array.include.d.ts","./node_modules/typescript/lib/lib.es2016.intl.d.ts","./node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","./node_modules/typescript/lib/lib.es2017.date.d.ts","./node_modules/typescript/lib/lib.es2017.object.d.ts","./node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2017.string.d.ts","./node_modules/typescript/lib/lib.es2017.intl.d.ts","./node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","./node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","./node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","./node_modules/typescript/lib/lib.es2018.intl.d.ts","./node_modules/typescript/lib/lib.es2018.promise.d.ts","./node_modules/typescript/lib/lib.es2018.regexp.d.ts","./node_modules/typescript/lib/lib.es2019.array.d.ts","./node_modules/typescript/lib/lib.es2019.object.d.ts","./node_modules/typescript/lib/lib.es2019.string.d.ts","./node_modules/typescript/lib/lib.es2019.symbol.d.ts","./node_modules/typescript/lib/lib.es2019.intl.d.ts","./node_modules/typescript/lib/lib.es2020.bigint.d.ts","./node_modules/typescript/lib/lib.es2020.date.d.ts","./node_modules/typescript/lib/lib.es2020.promise.d.ts","./node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2020.string.d.ts","./node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","./node_modules/typescript/lib/lib.es2020.intl.d.ts","./node_modules/typescript/lib/lib.es2020.number.d.ts","./node_modules/typescript/lib/lib.es2021.promise.d.ts","./node_modules/typescript/lib/lib.es2021.string.d.ts","./node_modules/typescript/lib/lib.es2021.weakref.d.ts","./node_modules/typescript/lib/lib.es2021.intl.d.ts","./node_modules/typescript/lib/lib.es2022.array.d.ts","./node_modules/typescript/lib/lib.es2022.error.d.ts","./node_modules/typescript/lib/lib.es2022.intl.d.ts","./node_modules/typescript/lib/lib.es2022.object.d.ts","./node_modules/typescript/lib/lib.es2022.string.d.ts","./node_modules/typescript/lib/lib.es2022.regexp.d.ts","./node_modules/typescript/lib/lib.es2023.array.d.ts","./node_modules/typescript/lib/lib.es2023.collection.d.ts","./node_modules/typescript/lib/lib.es2023.intl.d.ts","./node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","./node_modules/typescript/lib/lib.es2024.collection.d.ts","./node_modules/typescript/lib/lib.es2024.object.d.ts","./node_modules/typescript/lib/lib.es2024.promise.d.ts","./node_modules/typescript/lib/lib.es2024.regexp.d.ts","./node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2024.string.d.ts","./node_modules/typescript/lib/lib.esnext.array.d.ts","./node_modules/typescript/lib/lib.esnext.collection.d.ts","./node_modules/typescript/lib/lib.esnext.intl.d.ts","./node_modules/typescript/lib/lib.esnext.disposable.d.ts","./node_modules/typescript/lib/lib.esnext.decorators.d.ts","./node_modules/typescript/lib/lib.esnext.iterator.d.ts","./node_modules/typescript/lib/lib.decorators.d.ts","./node_modules/typescript/lib/lib.decorators.legacy.d.ts","./node_modules/@types/react/global.d.ts","./node_modules/csstype/index.d.ts","./node_modules/@types/react/index.d.ts","./node_modules/next/dist/styled-jsx/types/css.d.ts","./node_modules/next/dist/styled-jsx/types/macro.d.ts","./node_modules/next/dist/styled-jsx/types/style.d.ts","./node_modules/next/dist/styled-jsx/types/global.d.ts","./node_modules/next/dist/styled-jsx/types/index.d.ts","./node_modules/next/dist/server/get-page-files.d.ts","./node_modules/@types/node/compatibility/disposable.d.ts","./node_modules/@types/node/compatibility/indexable.d.ts","./node_modules/@types/node/compatibility/iterators.d.ts","./node_modules/@types/node/compatibility/index.d.ts","./node_modules/@types/node/globals.typedarray.d.ts","./node_modules/@types/node/buffer.buffer.d.ts","./node_modules/@types/node/globals.d.ts","./node_modules/@types/node/web-globals/abortcontroller.d.ts","./node_modules/@types/node/web-globals/domexception.d.ts","./node_modules/@types/node/web-globals/events.d.ts","./node_modules/buffer/index.d.ts","./node_modules/undici-types/header.d.ts","./node_modules/undici-types/readable.d.ts","./node_modules/undici-types/file.d.ts","./node_modules/undici-types/fetch.d.ts","./node_modules/undici-types/formdata.d.ts","./node_modules/undici-types/connector.d.ts","./node_modules/undici-types/client.d.ts","./node_modules/undici-types/errors.d.ts","./node_modules/undici-types/dispatcher.d.ts","./node_modules/undici-types/global-dispatcher.d.ts","./node_modules/undici-types/global-origin.d.ts","./node_modules/undici-types/pool-stats.d.ts","./node_modules/undici-types/pool.d.ts","./node_modules/undici-types/handlers.d.ts","./node_modules/undici-types/balanced-pool.d.ts","./node_modules/undici-types/agent.d.ts","./node_modules/undici-types/mock-interceptor.d.ts","./node_modules/undici-types/mock-agent.d.ts","./node_modules/undici-types/mock-client.d.ts","./node_modules/undici-types/mock-pool.d.ts","./node_modules/undici-types/mock-errors.d.ts","./node_modules/undici-types/proxy-agent.d.ts","./node_modules/undici-types/env-http-proxy-agent.d.ts","./node_modules/undici-types/retry-handler.d.ts","./node_modules/undici-types/retry-agent.d.ts","./node_modules/undici-types/api.d.ts","./node_modules/undici-types/interceptors.d.ts","./node_modules/undici-types/util.d.ts","./node_modules/undici-types/cookies.d.ts","./node_modules/undici-types/patch.d.ts","./node_modules/undici-types/websocket.d.ts","./node_modules/undici-types/eventsource.d.ts","./node_modules/undici-types/filereader.d.ts","./node_modules/undici-types/diagnostics-channel.d.ts","./node_modules/undici-types/content-type.d.ts","./node_modules/undici-types/cache.d.ts","./node_modules/undici-types/index.d.ts","./node_modules/@types/node/web-globals/fetch.d.ts","./node_modules/@types/node/web-globals/navigator.d.ts","./node_modules/@types/node/web-globals/storage.d.ts","./node_modules/@types/node/assert.d.ts","./node_modules/@types/node/assert/strict.d.ts","./node_modules/@types/node/async_hooks.d.ts","./node_modules/@types/node/buffer.d.ts","./node_modules/@types/node/child_process.d.ts","./node_modules/@types/node/cluster.d.ts","./node_modules/@types/node/console.d.ts","./node_modules/@types/node/constants.d.ts","./node_modules/@types/node/crypto.d.ts","./node_modules/@types/node/dgram.d.ts","./node_modules/@types/node/diagnostics_channel.d.ts","./node_modules/@types/node/dns.d.ts","./node_modules/@types/node/dns/promises.d.ts","./node_modules/@types/node/domain.d.ts","./node_modules/@types/node/events.d.ts","./node_modules/@types/node/fs.d.ts","./node_modules/@types/node/fs/promises.d.ts","./node_modules/@types/node/http.d.ts","./node_modules/@types/node/http2.d.ts","./node_modules/@types/node/https.d.ts","./node_modules/@types/node/inspector.d.ts","./node_modules/@types/node/inspector.generated.d.ts","./node_modules/@types/node/module.d.ts","./node_modules/@types/node/net.d.ts","./node_modules/@types/node/os.d.ts","./node_modules/@types/node/path.d.ts","./node_modules/@types/node/perf_hooks.d.ts","./node_modules/@types/node/process.d.ts","./node_modules/@types/node/punycode.d.ts","./node_modules/@types/node/querystring.d.ts","./node_modules/@types/node/readline.d.ts","./node_modules/@types/node/readline/promises.d.ts","./node_modules/@types/node/repl.d.ts","./node_modules/@types/node/sea.d.ts","./node_modules/@types/node/sqlite.d.ts","./node_modules/@types/node/stream.d.ts","./node_modules/@types/node/stream/promises.d.ts","./node_modules/@types/node/stream/consumers.d.ts","./node_modules/@types/node/stream/web.d.ts","./node_modules/@types/node/string_decoder.d.ts","./node_modules/@types/node/test.d.ts","./node_modules/@types/node/timers.d.ts","./node_modules/@types/node/timers/promises.d.ts","./node_modules/@types/node/tls.d.ts","./node_modules/@types/node/trace_events.d.ts","./node_modules/@types/node/tty.d.ts","./node_modules/@types/node/url.d.ts","./node_modules/@types/node/util.d.ts","./node_modules/@types/node/v8.d.ts","./node_modules/@types/node/vm.d.ts","./node_modules/@types/node/wasi.d.ts","./node_modules/@types/node/worker_threads.d.ts","./node_modules/@types/node/zlib.d.ts","./node_modules/@types/node/index.d.ts","./node_modules/@types/react/canary.d.ts","./node_modules/@types/react/experimental.d.ts","./node_modules/@types/react-dom/index.d.ts","./node_modules/@types/react-dom/canary.d.ts","./node_modules/@types/react-dom/experimental.d.ts","./node_modules/next/dist/lib/fallback.d.ts","./node_modules/next/dist/compiled/webpack/webpack.d.ts","./node_modules/next/dist/shared/lib/modern-browserslist-target.d.ts","./node_modules/next/dist/shared/lib/entry-constants.d.ts","./node_modules/next/dist/shared/lib/constants.d.ts","./node_modules/next/dist/lib/bundler.d.ts","./node_modules/next/dist/server/config.d.ts","./node_modules/next/dist/lib/load-custom-routes.d.ts","./node_modules/next/dist/shared/lib/image-config.d.ts","./node_modules/next/dist/build/webpack/plugins/subresource-integrity-plugin.d.ts","./node_modules/next/dist/server/body-streams.d.ts","./node_modules/next/dist/server/request/search-params.d.ts","./node_modules/next/dist/shared/lib/segment-cache/vary-params-decoding.d.ts","./node_modules/next/dist/server/app-render/vary-params.d.ts","./node_modules/next/dist/server/request/params.d.ts","./node_modules/next/dist/server/route-kind.d.ts","./node_modules/next/dist/server/route-definitions/route-definition.d.ts","./node_modules/next/dist/server/route-matches/route-match.d.ts","./node_modules/next/dist/client/components/app-router-headers.d.ts","./node_modules/next/dist/server/lib/cache-control.d.ts","./node_modules/next/dist/shared/lib/app-router-types.d.ts","./node_modules/next/dist/server/lib/cache-handlers/types.d.ts","./node_modules/next/dist/server/use-cache/use-cache-wrapper.d.ts","./node_modules/next/dist/server/resume-data-cache/cache-store.d.ts","./node_modules/next/dist/server/resume-data-cache/resume-data-cache.d.ts","./node_modules/next/dist/lib/constants.d.ts","./node_modules/next/dist/server/render-result.d.ts","./node_modules/next/dist/server/response-cache/types.d.ts","./node_modules/next/dist/server/response-cache/index.d.ts","./node_modules/@types/react/jsx-runtime.d.ts","./node_modules/next/dist/next-devtools/userspace/pages/pages-dev-overlay-setup.d.ts","./node_modules/next/dist/build/static-paths/types.d.ts","./node_modules/next/dist/server/route-definitions/app-page-route-definition.d.ts","./node_modules/next/dist/build/adapter/setup-node-env.external.d.ts","./node_modules/next/dist/server/instrumentation/types.d.ts","./node_modules/next/dist/lib/setup-exception-listeners.d.ts","./node_modules/next/dist/lib/worker.d.ts","./node_modules/next/dist/server/lib/experimental/ppr.d.ts","./node_modules/next/dist/lib/page-types.d.ts","./node_modules/next/dist/build/segment-config/app/app-segment-config.d.ts","./node_modules/next/dist/build/segment-config/pages/pages-segment-config.d.ts","./node_modules/next/dist/build/analysis/get-page-static-info.d.ts","./node_modules/next/dist/build/webpack/loaders/get-module-build-info.d.ts","./node_modules/next/dist/build/webpack/plugins/middleware-plugin.d.ts","./node_modules/next/dist/server/require-hook.d.ts","./node_modules/next/dist/server/node-polyfill-crypto.d.ts","./node_modules/next/dist/server/node-environment-baseline.d.ts","./node_modules/next/dist/server/node-environment-extensions/error-inspect.d.ts","./node_modules/next/dist/server/node-environment-extensions/console-file.d.ts","./node_modules/next/dist/server/node-environment-extensions/console-exit.d.ts","./node_modules/next/dist/server/node-environment-extensions/console-dim.external.d.ts","./node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.d.ts","./node_modules/next/dist/server/node-environment-extensions/random.d.ts","./node_modules/next/dist/server/node-environment-extensions/date.d.ts","./node_modules/next/dist/server/node-environment-extensions/web-crypto.d.ts","./node_modules/next/dist/server/node-environment-extensions/node-crypto.d.ts","./node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.d.ts","./node_modules/next/dist/server/node-environment.d.ts","./node_modules/next/dist/build/page-extensions-type.d.ts","./node_modules/next/dist/server/route-modules/app-page/module.compiled.d.ts","./node_modules/next/dist/server/route-definitions/app-route-route-definition.d.ts","./node_modules/next/dist/server/lib/i18n-provider.d.ts","./node_modules/next/dist/server/web/next-url.d.ts","./node_modules/next/dist/compiled/@edge-runtime/cookies/index.d.ts","./node_modules/next/dist/server/web/spec-extension/cookies.d.ts","./node_modules/next/dist/server/web/spec-extension/request.d.ts","./node_modules/next/dist/shared/lib/deep-readonly.d.ts","./node_modules/next/dist/server/lib/incremental-cache/index.d.ts","./node_modules/next/dist/shared/lib/router/utils/middleware-route-matcher.d.ts","./node_modules/next/dist/build/webpack/plugins/flight-manifest-plugin.d.ts","./node_modules/next/dist/build/webpack/plugins/next-font-manifest-plugin.d.ts","./node_modules/next/dist/server/route-definitions/locale-route-definition.d.ts","./node_modules/next/dist/server/route-definitions/pages-route-definition.d.ts","./node_modules/next/dist/shared/lib/mitt.d.ts","./node_modules/next/dist/client/with-router.d.ts","./node_modules/next/dist/client/router.d.ts","./node_modules/next/dist/client/route-loader.d.ts","./node_modules/next/dist/client/page-loader.d.ts","./node_modules/next/dist/shared/lib/bloom-filter.d.ts","./node_modules/next/dist/shared/lib/router/router.d.ts","./node_modules/next/dist/shared/lib/router-context.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/loadable-context.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/loadable.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/image-config-context.shared-runtime.d.ts","./node_modules/next/dist/client/components/readonly-url-search-params.d.ts","./node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.d.ts","./node_modules/next/dist/client/flight-data-helpers.d.ts","./node_modules/next/dist/client/components/segment-cache/cache-key.d.ts","./node_modules/next/dist/client/components/router-reducer/fetch-server-response.d.ts","./node_modules/next/dist/client/components/segment-cache/types.d.ts","./node_modules/next/dist/shared/lib/segment-cache/segment-value-encoding.d.ts","./node_modules/next/dist/client/components/segment-cache/scheduler.d.ts","./node_modules/next/dist/client/components/segment-cache/cache-map.d.ts","./node_modules/next/dist/client/components/segment-cache/vary-path.d.ts","./node_modules/next/dist/client/components/segment-cache/cache.d.ts","./node_modules/next/dist/client/components/router-reducer/ppr-navigations.d.ts","./node_modules/next/dist/client/components/segment-cache/navigation.d.ts","./node_modules/next/dist/client/components/router-reducer/router-reducer-types.d.ts","./node_modules/next/dist/shared/lib/app-router-context.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.d.ts","./node_modules/next/dist/server/route-modules/pages/vendored/contexts/entrypoints.d.ts","./node_modules/next/dist/server/route-modules/pages/module.compiled.d.ts","./node_modules/next/dist/build/templates/pages.d.ts","./node_modules/next/dist/server/route-modules/pages/module.d.ts","./node_modules/next/dist/server/render.d.ts","./node_modules/next/dist/build/webpack/plugins/pages-manifest-plugin.d.ts","./node_modules/next/dist/server/route-definitions/pages-api-route-definition.d.ts","./node_modules/next/dist/server/route-matches/pages-api-route-match.d.ts","./node_modules/next/dist/server/route-matchers/route-matcher.d.ts","./node_modules/next/dist/server/route-matcher-providers/route-matcher-provider.d.ts","./node_modules/next/dist/server/route-matcher-managers/route-matcher-manager.d.ts","./node_modules/next/dist/server/normalizers/normalizer.d.ts","./node_modules/next/dist/server/normalizers/locale-route-normalizer.d.ts","./node_modules/next/dist/server/normalizers/request/pathname-normalizer.d.ts","./node_modules/next/dist/server/normalizers/request/suffix.d.ts","./node_modules/next/dist/server/normalizers/request/rsc.d.ts","./node_modules/next/dist/server/normalizers/request/next-data.d.ts","./node_modules/next/dist/server/after/builtin-request-context.d.ts","./node_modules/next/dist/server/normalizers/request/segment-prefix-rsc.d.ts","./node_modules/next/dist/server/route-modules/pages/builtin/_error.d.ts","./node_modules/next/dist/server/load-default-error-components.d.ts","./node_modules/next/dist/server/base-server.d.ts","./node_modules/next/dist/server/after/after.d.ts","./node_modules/next/dist/server/after/after-context.d.ts","./node_modules/next/dist/server/use-cache/cache-life.d.ts","./node_modules/next/dist/server/app-render/work-async-storage-instance.d.ts","./node_modules/next/dist/server/lib/lazy-result.d.ts","./node_modules/next/dist/server/app-render/create-error-handler.d.ts","./node_modules/next/dist/shared/lib/action-revalidation-kind.d.ts","./node_modules/next/dist/server/app-render/work-async-storage.external.d.ts","./node_modules/next/dist/server/async-storage/work-store.d.ts","./node_modules/next/dist/server/web/http.d.ts","./node_modules/next/dist/client/components/hooks-server-context.d.ts","./node_modules/next/dist/server/route-modules/app-route/shared-modules.d.ts","./node_modules/next/dist/client/components/redirect-status-code.d.ts","./node_modules/next/dist/client/components/redirect-error.d.ts","./node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.d.ts","./node_modules/next/dist/server/async-storage/draft-mode-provider.d.ts","./node_modules/next/dist/server/web/spec-extension/adapters/headers.d.ts","./node_modules/next/dist/server/app-render/cache-signal.d.ts","./node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.d.ts","./node_modules/next/dist/server/app-render/instant-validation/instant-validation-error.d.ts","./node_modules/next/dist/shared/lib/router/utils/parse-relative-url.d.ts","./node_modules/next/dist/server/app-render/instant-validation/instant-samples.d.ts","./node_modules/next/dist/server/app-render/dynamic-rendering.d.ts","./node_modules/next/dist/server/app-render/work-unit-async-storage-instance.d.ts","./node_modules/next/dist/server/lib/implicit-tags.d.ts","./node_modules/next/dist/server/app-render/staged-rendering.d.ts","./node_modules/next/dist/server/app-render/work-unit-async-storage.external.d.ts","./node_modules/next/dist/build/templates/app-route.d.ts","./node_modules/next/dist/server/app-render/action-async-storage-instance.d.ts","./node_modules/next/dist/server/app-render/action-async-storage.external.d.ts","./node_modules/next/dist/server/route-modules/app-route/module.d.ts","./node_modules/next/dist/server/route-modules/app-route/module.compiled.d.ts","./node_modules/next/dist/build/segment-config/app/app-segments.d.ts","./node_modules/next/dist/build/get-supported-browsers.d.ts","./node_modules/next/dist/build/utils.d.ts","./node_modules/next/dist/build/rendering-mode.d.ts","./node_modules/next/dist/server/lib/router-utils/build-prefetch-segment-data-route.d.ts","./node_modules/next/dist/server/lib/cpu-profile.d.ts","./node_modules/next/dist/build/turborepo-access-trace/types.d.ts","./node_modules/next/dist/build/turborepo-access-trace/result.d.ts","./node_modules/next/dist/build/turborepo-access-trace/helpers.d.ts","./node_modules/next/dist/build/turborepo-access-trace/index.d.ts","./node_modules/next/dist/export/routes/types.d.ts","./node_modules/next/dist/export/types.d.ts","./node_modules/next/dist/export/worker.d.ts","./node_modules/next/dist/build/worker.d.ts","./node_modules/next/dist/build/index.d.ts","./node_modules/next/dist/lib/coalesced-function.d.ts","./node_modules/next/dist/server/lib/router-utils/types.d.ts","./node_modules/next/dist/trace/types.d.ts","./node_modules/next/dist/trace/trace.d.ts","./node_modules/next/dist/trace/shared.d.ts","./node_modules/next/dist/trace/index.d.ts","./node_modules/next/dist/build/load-jsconfig.d.ts","./node_modules/@next/env/dist/index.d.ts","./node_modules/next/dist/build/webpack/plugins/telemetry-plugin/use-cache-tracker-utils.d.ts","./node_modules/next/dist/build/webpack/plugins/telemetry-plugin/telemetry-plugin.d.ts","./node_modules/next/dist/telemetry/storage.d.ts","./node_modules/next/dist/build/build-context.d.ts","./node_modules/next/dist/build/webpack-config.d.ts","./node_modules/next/dist/build/swc/generated-native.d.ts","./node_modules/next/dist/build/define-env.d.ts","./node_modules/next/dist/build/swc/index.d.ts","./node_modules/next/dist/build/swc/types.d.ts","./node_modules/next/dist/server/dev/parse-version-info.d.ts","./node_modules/next/dist/next-devtools/shared/types.d.ts","./node_modules/next/dist/server/dev/dev-indicator-server-state.d.ts","./node_modules/next/dist/next-devtools/dev-overlay/cache-indicator.d.ts","./node_modules/next/dist/server/lib/parse-stack.d.ts","./node_modules/next/dist/next-devtools/server/shared.d.ts","./node_modules/next/dist/next-devtools/shared/stack-frame.d.ts","./node_modules/next/dist/next-devtools/dev-overlay/utils/get-error-by-type.d.ts","./node_modules/next/dist/next-devtools/dev-overlay/container/runtime-error/render-error.d.ts","./node_modules/next/dist/next-devtools/dev-overlay/shared.d.ts","./node_modules/next/dist/server/dev/debug-channel.d.ts","./node_modules/next/dist/server/dev/hot-reloader-types.d.ts","./node_modules/next/dist/server/web/spec-extension/fetch-event.d.ts","./node_modules/next/dist/server/web/spec-extension/response.d.ts","./node_modules/next/dist/build/segment-config/middleware/middleware-config.d.ts","./node_modules/next/dist/server/web/types.d.ts","./node_modules/next/dist/shared/lib/router/utils/parse-url.d.ts","./node_modules/next/dist/server/base-http/node.d.ts","./node_modules/next/dist/server/lib/async-callback-set.d.ts","./node_modules/next/dist/shared/lib/router/utils/route-regex.d.ts","./node_modules/next/dist/shared/lib/router/utils/route-matcher.d.ts","./node_modules/sharp/lib/index.d.ts","./node_modules/next/dist/server/image-optimizer.d.ts","./node_modules/next/dist/server/next-server.d.ts","./node_modules/next/dist/server/lib/types.d.ts","./node_modules/next/dist/server/lib/lru-cache.d.ts","./node_modules/next/dist/server/lib/dev-bundler-service.d.ts","./node_modules/next/dist/server/dev/static-paths-worker.d.ts","./node_modules/next/dist/server/dev/next-dev-server.d.ts","./node_modules/next/dist/server/next.d.ts","./node_modules/next/dist/server/lib/render-server.d.ts","./node_modules/next/dist/server/lib/router-server.d.ts","./node_modules/next/dist/shared/lib/router/utils/path-match.d.ts","./node_modules/next/dist/server/lib/router-utils/filesystem.d.ts","./node_modules/next/dist/server/lib/router-utils/setup-dev-bundler.d.ts","./node_modules/next/dist/server/lib/router-utils/router-server-context.d.ts","./node_modules/next/dist/server/route-modules/route-module.d.ts","./node_modules/next/dist/server/load-components.d.ts","./node_modules/next/dist/server/web/adapter.d.ts","./node_modules/next/dist/server/app-render/types.d.ts","./node_modules/next/dist/build/webpack/loaders/metadata/types.d.ts","./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.d.ts","./node_modules/next/dist/server/lib/app-dir-module.d.ts","./node_modules/next/dist/server/app-render/app-render.d.ts","./node_modules/next/dist/server/route-modules/app-page/vendored/contexts/entrypoints.d.ts","./node_modules/next/dist/client/components/error-boundary.d.ts","./node_modules/next/dist/client/components/layout-router.d.ts","./node_modules/next/dist/client/components/render-from-template-context.d.ts","./node_modules/next/dist/client/components/client-page.d.ts","./node_modules/next/dist/client/components/client-segment.d.ts","./node_modules/next/dist/client/components/http-access-fallback/error-boundary.d.ts","./node_modules/next/dist/lib/metadata/types/alternative-urls-types.d.ts","./node_modules/next/dist/lib/metadata/types/extra-types.d.ts","./node_modules/next/dist/lib/metadata/types/metadata-types.d.ts","./node_modules/next/dist/lib/metadata/types/manifest-types.d.ts","./node_modules/next/dist/lib/metadata/types/opengraph-types.d.ts","./node_modules/next/dist/lib/metadata/types/twitter-types.d.ts","./node_modules/next/dist/lib/metadata/types/metadata-interface.d.ts","./node_modules/next/dist/lib/metadata/types/resolvers.d.ts","./node_modules/next/dist/lib/metadata/types/icons.d.ts","./node_modules/next/dist/lib/metadata/resolve-metadata.d.ts","./node_modules/next/dist/lib/metadata/metadata.d.ts","./node_modules/next/dist/lib/framework/boundary-components.d.ts","./node_modules/next/dist/server/app-render/rsc/preloads.d.ts","./node_modules/next/dist/server/app-render/rsc/postpone.d.ts","./node_modules/next/dist/server/app-render/rsc/taint.d.ts","./node_modules/next/dist/server/app-render/collect-segment-data.d.ts","./node_modules/next/dist/server/app-render/instant-validation/instant-validation.d.ts","./node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.d.ts","./node_modules/next/dist/server/app-render/entry-base.d.ts","./node_modules/next/dist/build/templates/app-page.d.ts","./node_modules/next/dist/server/route-modules/app-page/helpers/prerender-manifest-matcher.d.ts","./node_modules/@types/react/jsx-dev-runtime.d.ts","./node_modules/@types/react/compiler-runtime.d.ts","./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/entrypoints.d.ts","./node_modules/@types/react-dom/client.d.ts","./node_modules/@types/react-dom/static.d.ts","./node_modules/@types/react-dom/server.d.ts","./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/entrypoints.d.ts","./node_modules/next/dist/server/route-modules/app-page/module.d.ts","./node_modules/next/dist/server/request/fallback-params.d.ts","./node_modules/next/dist/server/web/spec-extension/image-response.d.ts","./node_modules/next/dist/server/web/spec-extension/user-agent.d.ts","./node_modules/next/dist/server/web/spec-extension/url-pattern.d.ts","./node_modules/next/dist/server/after/index.d.ts","./node_modules/next/dist/server/request/connection.d.ts","./node_modules/next/dist/server/web/exports/index.d.ts","./node_modules/next/dist/server/request-meta.d.ts","./node_modules/next/dist/cli/next-test.d.ts","./node_modules/next/dist/shared/lib/size-limit.d.ts","./node_modules/next/dist/server/config-shared.d.ts","./node_modules/next/dist/server/base-http/index.d.ts","./node_modules/next/dist/server/api-utils/index.d.ts","./node_modules/next/dist/build/adapter/build-complete.d.ts","./node_modules/next/dist/types.d.ts","./node_modules/next/dist/shared/lib/html-context.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/utils.d.ts","./node_modules/next/dist/pages/_app.d.ts","./node_modules/next/app.d.ts","./node_modules/next/dist/server/web/spec-extension/unstable-cache.d.ts","./node_modules/next/dist/server/web/spec-extension/revalidate.d.ts","./node_modules/next/dist/server/web/spec-extension/unstable-no-store.d.ts","./node_modules/next/dist/server/use-cache/cache-tag.d.ts","./node_modules/next/cache.d.ts","./node_modules/next/dist/pages/_document.d.ts","./node_modules/next/document.d.ts","./node_modules/next/dist/shared/lib/dynamic.d.ts","./node_modules/next/dynamic.d.ts","./node_modules/next/dist/pages/_error.d.ts","./node_modules/next/dist/client/components/catch-error.d.ts","./node_modules/next/dist/api/error.d.ts","./node_modules/next/error.d.ts","./node_modules/next/dist/shared/lib/head.d.ts","./node_modules/next/head.d.ts","./node_modules/next/dist/server/request/cookies.d.ts","./node_modules/next/dist/server/request/headers.d.ts","./node_modules/next/dist/server/request/draft-mode.d.ts","./node_modules/next/headers.d.ts","./node_modules/next/dist/shared/lib/get-img-props.d.ts","./node_modules/next/dist/client/image-component.d.ts","./node_modules/next/dist/shared/lib/image-external.d.ts","./node_modules/next/image.d.ts","./node_modules/next/dist/client/link.d.ts","./node_modules/next/link.d.ts","./node_modules/next/dist/client/components/unrecognized-action-error.d.ts","./node_modules/next/dist/client/components/redirect.d.ts","./node_modules/next/dist/client/components/not-found.d.ts","./node_modules/next/dist/client/components/forbidden.d.ts","./node_modules/next/dist/client/components/unauthorized.d.ts","./node_modules/next/dist/client/components/unstable-rethrow.server.d.ts","./node_modules/next/dist/client/components/unstable-rethrow.d.ts","./node_modules/next/dist/client/components/navigation.react-server.d.ts","./node_modules/next/dist/client/components/navigation.d.ts","./node_modules/next/navigation.d.ts","./node_modules/next/router.d.ts","./node_modules/next/dist/client/script.d.ts","./node_modules/next/script.d.ts","./node_modules/next/dist/compiled/@edge-runtime/primitives/url.d.ts","./node_modules/next/dist/compiled/@vercel/og/satori/index.d.ts","./node_modules/next/dist/compiled/@vercel/og/types.d.ts","./node_modules/next/server.d.ts","./node_modules/next/types/global.d.ts","./node_modules/next/types/compiled.d.ts","./node_modules/next/types.d.ts","./node_modules/next/index.d.ts","./node_modules/next/image-types/global.d.ts","./.next/types/routes.d.ts","./next-env.d.ts","./node_modules/firebase-admin/lib/app/credential.d.ts","./node_modules/firebase-admin/lib/app/core.d.ts","./node_modules/firebase-admin/lib/app/lifecycle.d.ts","./node_modules/firebase-admin/lib/app/credential-factory.d.ts","./node_modules/firebase-admin/lib/messaging/messaging-api.d.ts","./node_modules/firebase-admin/lib/utils/error.d.ts","./node_modules/firebase-admin/lib/app/index.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/auth-context.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/metadata.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/call-credentials.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/constants.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/deadline.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/certificate-provider.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/compression-algorithms.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/channel-options.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/uri-parser.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/channel-credentials.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/connectivity-state.d.ts","./node_modules/@js-sdsl/ordered-map/dist/esm/index.d.ts","./node_modules/protobufjs/index.d.ts","./node_modules/protobufjs/ext/descriptor/index.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/node_modules/@grpc/proto-loader/build/src/util.d.ts","./node_modules/long/umd/types.d.ts","./node_modules/long/umd/index.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/node_modules/@grpc/proto-loader/build/src/index.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/timestamp.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/channelref.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/subchannelref.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/channeltraceevent.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/channeltrace.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/subchannel-address.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getchannelrequest.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/channelconnectivitystate.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/channeldata.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/socketref.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/channel.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getchannelresponse.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getserverrequest.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/serverref.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/serverdata.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/server.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getserverresponse.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getserversocketsrequest.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getserversocketsresponse.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getserversrequest.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getserversresponse.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getsocketrequest.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/int64value.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/any.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/socketoption.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/socketdata.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/address.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/security.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/socket.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getsocketresponse.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getsubchannelrequest.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/subchannel.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getsubchannelresponse.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/gettopchannelsrequest.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/gettopchannelsresponse.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/channelz.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/channelz.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/channel.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/client-interceptors.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/client.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/server-credentials.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/subchannel-call.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/transport.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/xds/data/orca/v3/orcaloadreport.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/duration.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/xds/service/orca/v3/orcaloadreportrequest.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/xds/service/orca/v3/openrcaservice.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/subchannel.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/subchannel-interface.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/duration.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/service-config.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/load-balancer.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/picker.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/orca.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/server-interceptors.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/server.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/make-client.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/events.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/object-stream.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/server-call.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/call-interface.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/call.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/status-builder.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/admin.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/logging.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/filter.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/resolver.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/backoff-timeout.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/load-balancer-pick-first.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/load-balancer-child-handler.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/filter-stack.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/load-balancer-outlier-detection.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/load-balancing-call.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/resolving-call.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/retrying-call.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/internal-channel.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/experimental.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/index.d.ts","./node_modules/@grpc/proto-loader/build/src/util.d.ts","./node_modules/@grpc/proto-loader/build/src/index.d.ts","./node_modules/gaxios/build/src/common.d.ts","./node_modules/gaxios/build/src/interceptor.d.ts","./node_modules/gaxios/build/src/gaxios.d.ts","./node_modules/gaxios/build/src/index.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/transporters.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/credentials.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/crypto/crypto.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/util.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/authclient.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/loginticket.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/oauth2client.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/idtokenclient.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/envdetect.d.ts","./node_modules/gtoken/build/src/index.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/jwtclient.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/refreshclient.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/impersonated.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/baseexternalclient.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/identitypoolclient.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/awsrequestsigner.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/awsclient.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/pluggable-auth-client.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/externalclient.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/externalaccountauthorizeduserclient.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/googleauth.d.ts","./node_modules/google-gax/node_modules/gcp-metadata/build/src/gcp-residency.d.ts","./node_modules/google-gax/node_modules/gcp-metadata/build/src/index.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/computeclient.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/iam.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/jwtaccess.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/downscopedclient.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/passthrough.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/index.d.ts","./node_modules/google-gax/build/src/status.d.ts","./node_modules/proto3-json-serializer/build/src/types.d.ts","./node_modules/proto3-json-serializer/build/src/toproto3json.d.ts","./node_modules/proto3-json-serializer/build/src/fromproto3json.d.ts","./node_modules/proto3-json-serializer/build/src/index.d.ts","./node_modules/google-gax/build/src/googleerror.d.ts","./node_modules/google-gax/build/src/call.d.ts","./node_modules/google-gax/build/src/streamingcalls/streaming.d.ts","./node_modules/google-gax/build/src/apicaller.d.ts","./node_modules/google-gax/build/src/paginationcalls/pagedescriptor.d.ts","./node_modules/google-gax/build/src/streamingcalls/streamdescriptor.d.ts","./node_modules/google-gax/build/src/normalcalls/normalapicaller.d.ts","./node_modules/google-gax/build/src/bundlingcalls/bundleapicaller.d.ts","./node_modules/google-gax/build/src/bundlingcalls/bundledescriptor.d.ts","./node_modules/google-gax/build/src/descriptor.d.ts","./node_modules/google-gax/build/protos/operations.d.ts","./node_modules/google-gax/build/src/clientinterface.d.ts","./node_modules/google-gax/build/src/routingheader.d.ts","./node_modules/google-gax/build/protos/http.d.ts","./node_modules/google-gax/build/protos/iam_service.d.ts","./node_modules/google-gax/build/protos/locations.d.ts","./node_modules/google-gax/build/src/pathtemplate.d.ts","./node_modules/google-gax/build/src/iamservice.d.ts","./node_modules/google-gax/build/src/locationservice.d.ts","./node_modules/google-gax/build/src/util.d.ts","./node_modules/protobufjs/minimal.d.ts","./node_modules/google-gax/build/src/warnings.d.ts","./node_modules/event-target-shim/index.d.ts","./node_modules/abort-controller/dist/abort-controller.d.ts","./node_modules/google-gax/build/src/streamarrayparser.d.ts","./node_modules/google-gax/build/src/fallbackservicestub.d.ts","./node_modules/google-gax/build/src/fallback.d.ts","./node_modules/google-gax/build/src/operationsclient.d.ts","./node_modules/google-gax/build/src/longrunningcalls/longrunningapicaller.d.ts","./node_modules/google-gax/build/src/longrunningcalls/longrunningdescriptor.d.ts","./node_modules/google-gax/build/src/longrunningcalls/longrunning.d.ts","./node_modules/google-gax/build/src/apitypes.d.ts","./node_modules/google-gax/build/src/bundlingcalls/task.d.ts","./node_modules/google-gax/build/src/bundlingcalls/bundleexecutor.d.ts","./node_modules/google-gax/build/src/gax.d.ts","./node_modules/google-gax/build/src/grpc.d.ts","./node_modules/google-gax/build/src/createapicall.d.ts","./node_modules/google-gax/build/src/index.d.ts","./node_modules/@google-cloud/firestore/types/protos/firestore_v1beta1_proto_api.d.ts","./node_modules/@google-cloud/firestore/types/v1beta1/firestore_client.d.ts","./node_modules/@google-cloud/firestore/types/protos/firestore_v1_proto_api.d.ts","./node_modules/@google-cloud/firestore/types/v1/firestore_client.d.ts","./node_modules/@google-cloud/firestore/types/protos/firestore_admin_v1_proto_api.d.ts","./node_modules/@google-cloud/firestore/types/v1/firestore_admin_client.d.ts","./node_modules/@google-cloud/firestore/types/firestore.d.ts","./node_modules/firebase-admin/lib/firestore/firestore-internal.d.ts","./node_modules/firebase-admin/lib/firestore/index.d.ts","./lib/firebase/seeddata.ts","./lib/firebase/autoseed.server.ts","./instrumentation.ts","./proxy.ts","./node_modules/rollup/node_modules/@types/estree/index.d.ts","./node_modules/rollup/dist/rollup.d.ts","./node_modules/rollup/dist/parseast.d.ts","./node_modules/vite/types/hmrpayload.d.ts","./node_modules/vite/types/customevent.d.ts","./node_modules/vite/types/hot.d.ts","./node_modules/vite/dist/node/types.d-agj9qkwt.d.ts","./node_modules/vite/node_modules/esbuild/lib/main.d.ts","./node_modules/source-map-js/source-map.d.ts","./node_modules/postcss/lib/previous-map.d.ts","./node_modules/postcss/lib/input.d.ts","./node_modules/postcss/lib/css-syntax-error.d.ts","./node_modules/postcss/lib/declaration.d.ts","./node_modules/postcss/lib/root.d.ts","./node_modules/postcss/lib/warning.d.ts","./node_modules/postcss/lib/lazy-result.d.ts","./node_modules/postcss/lib/no-work-result.d.ts","./node_modules/postcss/lib/processor.d.ts","./node_modules/postcss/lib/result.d.ts","./node_modules/postcss/lib/document.d.ts","./node_modules/postcss/lib/rule.d.ts","./node_modules/postcss/lib/node.d.ts","./node_modules/postcss/lib/comment.d.ts","./node_modules/postcss/lib/container.d.ts","./node_modules/postcss/lib/at-rule.d.ts","./node_modules/postcss/lib/list.d.ts","./node_modules/postcss/lib/postcss.d.ts","./node_modules/postcss/lib/postcss.d.mts","./node_modules/vite/dist/node/runtime.d.ts","./node_modules/vite/types/importglob.d.ts","./node_modules/vite/types/metadata.d.ts","./node_modules/vite/dist/node/index.d.ts","./node_modules/@vitest/pretty-format/dist/index.d.ts","./node_modules/@vitest/utils/dist/types.d.ts","./node_modules/@vitest/utils/dist/helpers.d.ts","./node_modules/tinyrainbow/dist/index-c1cfc5e9.d.ts","./node_modules/tinyrainbow/dist/node.d.ts","./node_modules/@vitest/utils/dist/index.d.ts","./node_modules/@vitest/runner/dist/tasks-3znpj1lr.d.ts","./node_modules/@vitest/utils/dist/types-bxe-2udy.d.ts","./node_modules/@vitest/utils/dist/diff.d.ts","./node_modules/@vitest/runner/dist/types.d.ts","./node_modules/@vitest/utils/dist/error.d.ts","./node_modules/@vitest/runner/dist/index.d.ts","./node_modules/vitest/dist/chunks/environment.looobwuu.d.ts","./node_modules/@vitest/snapshot/dist/environment-ddx0edty.d.ts","./node_modules/@vitest/snapshot/dist/rawsnapshot-cpnkto81.d.ts","./node_modules/@vitest/snapshot/dist/index.d.ts","./node_modules/@vitest/snapshot/dist/environment.d.ts","./node_modules/vitest/dist/chunks/config.cy0c388z.d.ts","./node_modules/vite-node/dist/trace-mapping.d-dlvdeqop.d.ts","./node_modules/vite-node/dist/index-z0r8hvru.d.ts","./node_modules/vite-node/dist/index.d.ts","./node_modules/@vitest/utils/dist/source-map.d.ts","./node_modules/vite-node/dist/client.d.ts","./node_modules/vite-node/dist/server.d.ts","./node_modules/@vitest/runner/dist/utils.d.ts","./node_modules/tinybench/dist/index.d.ts","./node_modules/vitest/dist/chunks/benchmark.geerunq4.d.ts","./node_modules/@vitest/snapshot/dist/manager.d.ts","./node_modules/vitest/dist/chunks/reporters.nr4dxcka.d.ts","./node_modules/vitest/dist/chunks/vite.czkp4x9w.d.ts","./node_modules/vitest/dist/config.d.ts","./node_modules/vitest/config.d.ts","./vitest.config.ts","./vitest.integration.config.ts","./vitest.unit.config.ts","./app/admin/actions.ts","./node_modules/@firebase/component/dist/src/provider.d.ts","./node_modules/@firebase/component/dist/src/component_container.d.ts","./node_modules/@firebase/component/dist/src/types.d.ts","./node_modules/@firebase/component/dist/src/component.d.ts","./node_modules/@firebase/component/dist/index.d.ts","./node_modules/@firebase/util/dist/util-public.d.ts","./node_modules/@firebase/logger/dist/src/logger.d.ts","./node_modules/@firebase/logger/dist/index.d.ts","./node_modules/@firebase/app/dist/app-public.d.ts","./node_modules/@firebase/firestore/dist/index.d.ts","./node_modules/firebase/firestore/dist/firestore/index.d.ts","./lib/firebase/constants.ts","./lib/firebase/types.ts","./lib/firebase/services.ts","./node_modules/firebase/app/dist/app/index.d.ts","./node_modules/@firebase/auth/dist/auth-public.d.ts","./node_modules/firebase/auth/dist/auth/index.d.ts","./node_modules/@firebase/storage/dist/storage-public.d.ts","./node_modules/firebase/storage/dist/storage/index.d.ts","./lib/firebase/clientapp.ts","./lib/firebase/getdefaultdb.ts","./lib/pagecontentconfig.ts","./lib/publicpagescontent.ts","./app/api/public/about/route.ts","./lib/publiccontent.ts","./app/api/public/blogs/route.ts","./app/api/public/blogs/[slug]/route.ts","./app/api/public/contacts/route.ts","./app/api/public/donate/route.ts","./app/api/public/home/route.ts","./app/api/public/media/route.ts","./app/api/public/reports/route.ts","./lib/tenant/masterdb.ts","./app/api/tenant/config/route.ts","./node_modules/lucide-react/dist/lucide-react.d.ts","./components/admin/shared/impacticons.ts","./node_modules/@radix-ui/react-context/dist/index.d.mts","./node_modules/@radix-ui/react-primitive/dist/index.d.mts","./node_modules/@radix-ui/react-dismissable-layer/dist/index.d.mts","./node_modules/@radix-ui/react-toast/dist/index.d.mts","./node_modules/clsx/clsx.d.mts","./node_modules/class-variance-authority/dist/types.d.ts","./node_modules/class-variance-authority/dist/index.d.ts","./node_modules/tailwind-merge/dist/types.d.ts","./lib/utils.ts","./components/ui/toast.tsx","./components/ui/use-toast.ts","./hooks/use-mobile.ts","./hooks/use-toast.ts","./types/editorpanel.ts","./lib/editorpanelmockdata.ts","./types/pagebuilder.ts","./lib/firebase/adminservices.ts","./lib/firebase/config.ts","./lib/firebase/editorservices.ts","./lib/firebase/helpers.ts","./lib/firebase/navservices.ts","./lib/firebase/storageutils.ts","./lib/firebase/tenantserverdb.ts","./lib/firebase/tenantfirebasecontext.tsx","./lib/firebase/hooks/usetenantservices.ts","./node_modules/zod/v3/helpers/typealiases.d.cts","./node_modules/zod/v3/helpers/util.d.cts","./node_modules/zod/v3/index.d.cts","./node_modules/zod/v3/zoderror.d.cts","./node_modules/zod/v3/locales/en.d.cts","./node_modules/zod/v3/errors.d.cts","./node_modules/zod/v3/helpers/parseutil.d.cts","./node_modules/zod/v3/helpers/enumutil.d.cts","./node_modules/zod/v3/helpers/errorutil.d.cts","./node_modules/zod/v3/helpers/partialutil.d.cts","./node_modules/zod/v3/standard-schema.d.cts","./node_modules/zod/v3/types.d.cts","./node_modules/zod/v3/external.d.cts","./node_modules/zod/index.d.cts","./lib/validation/forms.ts","./node_modules/firebase-admin/lib/auth/token-verifier.d.ts","./node_modules/firebase-admin/lib/auth/auth-config.d.ts","./node_modules/firebase-admin/lib/auth/user-record.d.ts","./node_modules/firebase-admin/lib/auth/identifier.d.ts","./node_modules/firebase-admin/lib/auth/user-import-builder.d.ts","./node_modules/firebase-admin/lib/auth/action-code-settings-builder.d.ts","./node_modules/firebase-admin/lib/auth/base-auth.d.ts","./node_modules/firebase-admin/lib/auth/tenant.d.ts","./node_modules/firebase-admin/lib/auth/tenant-manager.d.ts","./node_modules/firebase-admin/lib/auth/project-config.d.ts","./node_modules/firebase-admin/lib/auth/project-config-manager.d.ts","./node_modules/firebase-admin/lib/auth/auth.d.ts","./node_modules/firebase-admin/lib/auth/index.d.ts","./scripts/bootstrap.ts","./scripts/createusers.ts","./scripts/seedcollections.ts","./node_modules/firebase/compat/index.d.ts","./node_modules/@firebase/app-compat/dist/app-compat-public.d.ts","./node_modules/@firebase/app-types/index.d.ts","./node_modules/@firebase/database-types/index.d.ts","./node_modules/@firebase/database/dist/public.d.ts","./node_modules/@firebase/database-compat/dist/database-compat/src/index.d.ts","./node_modules/firebase/compat/database/dist/compat/database/index.d.ts","./node_modules/@firebase/firestore-types/index.d.ts","./node_modules/@firebase/firestore-compat/dist/src/register-module.d.ts","./node_modules/@firebase/firestore-compat/dist/src/index.d.ts","./node_modules/firebase/compat/firestore/dist/compat/firestore/index.d.ts","./node_modules/@firebase/app-types/private.d.ts","./node_modules/@firebase/storage-types/index.d.ts","./node_modules/@firebase/storage-compat/dist/src/index.d.ts","./node_modules/firebase/compat/storage/dist/compat/storage/index.d.ts","./node_modules/@firebase/rules-unit-testing/dist/rules-unit-testing/src/public_types/index.d.ts","./node_modules/@firebase/rules-unit-testing/dist/rules-unit-testing/src/initialize.d.ts","./node_modules/@firebase/rules-unit-testing/dist/rules-unit-testing/src/util.d.ts","./node_modules/@firebase/rules-unit-testing/dist/rules-unit-testing/index.d.ts","./scripts/testsecurityrules.ts","./node_modules/vitest/dist/chunks/worker.tn5kgiih.d.ts","./node_modules/vitest/dist/chunks/worker.b9fxpcac.d.ts","./node_modules/@vitest/expect/dist/chai.d.cts","./node_modules/@vitest/expect/dist/index.d.ts","./node_modules/@vitest/expect/index.d.ts","./node_modules/@vitest/spy/dist/index.d.ts","./node_modules/@vitest/mocker/dist/types-dzoqtgin.d.ts","./node_modules/@vitest/mocker/dist/index.d.ts","./node_modules/vitest/dist/chunks/mocker.crtm890j.d.ts","./node_modules/vitest/dist/chunks/suite.b2jumifp.d.ts","./node_modules/expect-type/dist/utils.d.ts","./node_modules/expect-type/dist/overloads.d.ts","./node_modules/expect-type/dist/branding.d.ts","./node_modules/expect-type/dist/messages.d.ts","./node_modules/expect-type/dist/index.d.ts","./node_modules/vitest/dist/index.d.ts","./tests/integration/helpers/emulator.ts","./tests/integration/blog.flow.test.ts","./tests/integration/contactmessage.flow.test.ts","./tests/integration/editor.blocked.test.ts","./tests/integration/editor.publishflow.test.ts","./tests/integration/unauth.blocked.test.ts","./tests/setup/integration.setup.ts","./tests/setup/unit.setup.ts","./tests/unit/attachments.test.ts","./tests/unit/clientapp.test.ts","./tests/unit/contactform.handler.test.ts","./tests/unit/getdefaultdb.test.ts","./tests/unit/masterdb.test.ts","./tests/unit/navservices.test.ts","./tests/unit/services.test.ts","./tests/unit/slugify.test.ts","./tests/unit/storageutils.test.ts","./tests/unit/timestamps.test.ts","./tests/unit/validation.test.ts","./node_modules/next/dist/compiled/@next/font/dist/types.d.ts","./node_modules/next/dist/compiled/@next/font/dist/google/index.d.ts","./node_modules/next/font/google/index.d.ts","./node_modules/@vercel/analytics/dist/next/index.d.mts","./lib/firebase/authcontext.tsx","./components/errorboundary.tsx","./app/providers.tsx","./components/layout/navprovider.tsx","./components/theme/themelistener.tsx","./app/layout.tsx","./node_modules/@radix-ui/react-slot/dist/index.d.mts","./components/ui/button.tsx","./components/layout/header.tsx","./components/layout/footer.tsx","./app/page.tsx","./app/about/page.tsx","./app/about/vision/page.tsx","./app/admin/layout.tsx","./components/ui/spinner.tsx","./components/adminrouteguard.tsx","./components/admin/adminshell.tsx","./app/admin/(protected)/layout.tsx","./app/admin/(protected)/page.tsx","./components/admin/shared/imageuploadwithurl.tsx","./app/admin/(protected)/board-members/page.tsx","./components/admin/shared/fileuploadwithurl.tsx","./app/admin/(protected)/bylaws/page.tsx","./app/admin/(protected)/calendar/page.tsx","./app/admin/(protected)/contacts/page.tsx","./app/admin/(protected)/donate/page.tsx","./components/admin/shared/iconpicker.tsx","./app/admin/(protected)/homepage/page.tsx","./app/admin/(protected)/iban/page.tsx","./components/admin/shared/imageuploadfield.tsx","./app/admin/(protected)/menu/page.tsx","./components/admin/pagebuilder/blocktypeselector.tsx","./components/admin/pagebuilder/heroblockeditor.tsx","./components/admin/pagebuilder/richtextblockeditor.tsx","./components/admin/pagebuilder/ctabannerblockeditor.tsx","./components/admin/pagebuilder/eventgridblockeditor.tsx","./components/admin/pagebuilder/reportlistblockeditor.tsx","./components/admin/pagebuilder/teamgridblockeditor.tsx","./components/admin/shared/faqitemseditor.tsx","./components/admin/pagebuilder/faqblockeditor.tsx","./components/admin/pagebuilder/statsbarblockeditor.tsx","./components/admin/pagebuilder/blockeditorcanvas.tsx","./node_modules/marked/lib/marked.d.ts","./components/admin/shared/fileattachmentmanager.tsx","./components/editorpanel/blogpostform.tsx","./components/admin/inlineblogmanager.tsx","./components/editorpanel/eventform.tsx","./components/admin/inlineeventmanager.tsx","./components/admin/shared/draftpublishtoggle.tsx","./components/admin/inlinemediamanager.tsx","./components/admin/inlinecampaignmanager.tsx","./components/admin/shared/impactitemseditor.tsx","./components/admin/inlineimpactmanager.tsx","./components/admin/inlinefaqmanager.tsx","./components/admin/shared/teammemberseditor.tsx","./components/admin/shared/contentimageseditor.tsx","./components/admin/inlinehakkimizdamanager.tsx","./app/admin/(protected)/menu/[key]/page.tsx","./app/admin/(protected)/my-details/page.tsx","./app/admin/(protected)/pages/page.tsx","./app/admin/(protected)/performance-review/page.tsx","./app/admin/(protected)/reports/page.tsx","./app/admin/(protected)/supporters/page.tsx","./node_modules/@radix-ui/react-label/node_modules/@radix-ui/react-primitive/dist/index.d.mts","./node_modules/@radix-ui/react-label/dist/index.d.mts","./components/ui/label.tsx","./components/ui/input.tsx","./app/admin/(protected)/theme/page.tsx","./app/admin/(protected)/theme/livepreview.tsx","./components/ui/card.tsx","./app/admin/login/page.tsx","./app/blogs/page.tsx","./node_modules/@types/trusted-types/lib/index.d.ts","./node_modules/dompurify/dist/purify.es.d.mts","./node_modules/isomorphic-dompurify/dist/browser.d.mts","./app/blogs/[slug]/page.tsx","./app/contacts/page.tsx","./components/ui/copybutton.tsx","./components/donate/generaldonationwidget.tsx","./app/donate/page.tsx","./components/donate/campaigndonationform.tsx","./app/donate/[id]/page.tsx","./app/editor/page.tsx","./context/editorpanelcontext.tsx","./components/editorrouteguard.tsx","./app/editorpanel/layout.tsx","./components/editorpanel/editorsidebar.tsx","./components/editorpanel/editortopbar.tsx","./components/editorpanel/editorshell.tsx","./app/editorpanel/announcements/page.tsx","./components/editorpanel/announcementform.tsx","./app/editorpanel/announcements/[id]/edit/page.tsx","./app/editorpanel/announcements/new/page.tsx","./app/editorpanel/blog-posts/page.tsx","./app/editorpanel/blog-posts/[id]/edit/page.tsx","./app/editorpanel/blog-posts/new/page.tsx","./app/editorpanel/calendar/page.tsx","./components/editorpanel/dashboardstats.tsx","./components/editorpanel/dashboardsections.tsx","./app/editorpanel/dashboard/page.tsx","./app/editorpanel/events/page.tsx","./app/editorpanel/events/[id]/edit/page.tsx","./app/editorpanel/events/new/page.tsx","./app/editorpanel/help/page.tsx","./app/editorpanel/media/page.tsx","./app/editorpanel/my-details/page.tsx","./app/editorpanel/performance-review/page.tsx","./app/events/page.tsx","./app/legal/page.tsx","./components/media/media-hero.tsx","./components/ui/badge.tsx","./components/media/featured-media.tsx","./components/media/media-grid.tsx","./components/media/media-gallery.tsx","./components/media/media-cta.tsx","./app/media/page.tsx","./app/mg/page.tsx","./app/mg/[slug]/page.tsx","./app/pagemanagement/pagemanagement.tsx","./components/blocks/heroblock.tsx","./components/blocks/richtextblock.tsx","./components/blocks/ctabannerblock.tsx","./components/blocks/eventgridblock.tsx","./components/blocks/reportlistblock.tsx","./components/blocks/teamgridblock.tsx","./components/blocks/faqaccordionblock.tsx","./components/blocks/statsbarblock.tsx","./components/blocks/blockrenderer.tsx","./app/pages/[slug]/page.tsx","./app/privacy/page.tsx","./components/reports/reports-hero.tsx","./components/reports/featured-report.tsx","./components/reports/reports-grid.tsx","./app/reports/page.tsx","./app/terms/page.tsx","./app/volunteer/page.tsx","./node_modules/next-themes/dist/index.d.ts","./components/theme-provider.tsx","./components/admin/pagebuilder/pagepreview.tsx","./components/editorpanel/notificationdropdown.tsx","./node_modules/@radix-ui/react-collapsible/dist/index.d.mts","./node_modules/@radix-ui/react-accordion/dist/index.d.mts","./components/ui/accordion.tsx","./node_modules/@radix-ui/react-focus-scope/dist/index.d.mts","./node_modules/@radix-ui/react-portal/dist/index.d.mts","./node_modules/@radix-ui/react-dialog/dist/index.d.mts","./node_modules/@radix-ui/react-alert-dialog/dist/index.d.mts","./components/ui/alert-dialog.tsx","./components/ui/alert.tsx","./node_modules/@radix-ui/react-aspect-ratio/node_modules/@radix-ui/react-primitive/dist/index.d.mts","./node_modules/@radix-ui/react-aspect-ratio/dist/index.d.mts","./components/ui/aspect-ratio.tsx","./node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-context/dist/index.d.mts","./node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-primitive/dist/index.d.mts","./node_modules/@radix-ui/react-avatar/dist/index.d.mts","./components/ui/avatar.tsx","./components/ui/breadcrumb.tsx","./node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-primitive/dist/index.d.mts","./node_modules/@radix-ui/react-separator/dist/index.d.mts","./components/ui/separator.tsx","./components/ui/button-group.tsx","./node_modules/@date-fns/tz/constants/index.d.ts","./node_modules/@date-fns/tz/date/index.d.ts","./node_modules/@date-fns/tz/date/mini.d.ts","./node_modules/@date-fns/tz/tz/index.d.ts","./node_modules/@date-fns/tz/tzoffset/index.d.ts","./node_modules/@date-fns/tz/tzscan/index.d.ts","./node_modules/@date-fns/tz/tzname/index.d.ts","./node_modules/@date-fns/tz/index.d.ts","./node_modules/date-fns/constants.d.ts","./node_modules/date-fns/locale/types.d.ts","./node_modules/date-fns/fp/types.d.ts","./node_modules/date-fns/types.d.ts","./node_modules/date-fns/add.d.ts","./node_modules/date-fns/addbusinessdays.d.ts","./node_modules/date-fns/adddays.d.ts","./node_modules/date-fns/addhours.d.ts","./node_modules/date-fns/addisoweekyears.d.ts","./node_modules/date-fns/addmilliseconds.d.ts","./node_modules/date-fns/addminutes.d.ts","./node_modules/date-fns/addmonths.d.ts","./node_modules/date-fns/addquarters.d.ts","./node_modules/date-fns/addseconds.d.ts","./node_modules/date-fns/addweeks.d.ts","./node_modules/date-fns/addyears.d.ts","./node_modules/date-fns/areintervalsoverlapping.d.ts","./node_modules/date-fns/clamp.d.ts","./node_modules/date-fns/closestindexto.d.ts","./node_modules/date-fns/closestto.d.ts","./node_modules/date-fns/compareasc.d.ts","./node_modules/date-fns/comparedesc.d.ts","./node_modules/date-fns/constructfrom.d.ts","./node_modules/date-fns/constructnow.d.ts","./node_modules/date-fns/daystoweeks.d.ts","./node_modules/date-fns/differenceinbusinessdays.d.ts","./node_modules/date-fns/differenceincalendardays.d.ts","./node_modules/date-fns/differenceincalendarisoweekyears.d.ts","./node_modules/date-fns/differenceincalendarisoweeks.d.ts","./node_modules/date-fns/differenceincalendarmonths.d.ts","./node_modules/date-fns/differenceincalendarquarters.d.ts","./node_modules/date-fns/differenceincalendarweeks.d.ts","./node_modules/date-fns/differenceincalendaryears.d.ts","./node_modules/date-fns/differenceindays.d.ts","./node_modules/date-fns/differenceinhours.d.ts","./node_modules/date-fns/differenceinisoweekyears.d.ts","./node_modules/date-fns/differenceinmilliseconds.d.ts","./node_modules/date-fns/differenceinminutes.d.ts","./node_modules/date-fns/differenceinmonths.d.ts","./node_modules/date-fns/differenceinquarters.d.ts","./node_modules/date-fns/differenceinseconds.d.ts","./node_modules/date-fns/differenceinweeks.d.ts","./node_modules/date-fns/differenceinyears.d.ts","./node_modules/date-fns/eachdayofinterval.d.ts","./node_modules/date-fns/eachhourofinterval.d.ts","./node_modules/date-fns/eachminuteofinterval.d.ts","./node_modules/date-fns/eachmonthofinterval.d.ts","./node_modules/date-fns/eachquarterofinterval.d.ts","./node_modules/date-fns/eachweekofinterval.d.ts","./node_modules/date-fns/eachweekendofinterval.d.ts","./node_modules/date-fns/eachweekendofmonth.d.ts","./node_modules/date-fns/eachweekendofyear.d.ts","./node_modules/date-fns/eachyearofinterval.d.ts","./node_modules/date-fns/endofday.d.ts","./node_modules/date-fns/endofdecade.d.ts","./node_modules/date-fns/endofhour.d.ts","./node_modules/date-fns/endofisoweek.d.ts","./node_modules/date-fns/endofisoweekyear.d.ts","./node_modules/date-fns/endofminute.d.ts","./node_modules/date-fns/endofmonth.d.ts","./node_modules/date-fns/endofquarter.d.ts","./node_modules/date-fns/endofsecond.d.ts","./node_modules/date-fns/endoftoday.d.ts","./node_modules/date-fns/endoftomorrow.d.ts","./node_modules/date-fns/endofweek.d.ts","./node_modules/date-fns/endofyear.d.ts","./node_modules/date-fns/endofyesterday.d.ts","./node_modules/date-fns/_lib/format/formatters.d.ts","./node_modules/date-fns/_lib/format/longformatters.d.ts","./node_modules/date-fns/format.d.ts","./node_modules/date-fns/formatdistance.d.ts","./node_modules/date-fns/formatdistancestrict.d.ts","./node_modules/date-fns/formatdistancetonow.d.ts","./node_modules/date-fns/formatdistancetonowstrict.d.ts","./node_modules/date-fns/formatduration.d.ts","./node_modules/date-fns/formatiso.d.ts","./node_modules/date-fns/formatiso9075.d.ts","./node_modules/date-fns/formatisoduration.d.ts","./node_modules/date-fns/formatrfc3339.d.ts","./node_modules/date-fns/formatrfc7231.d.ts","./node_modules/date-fns/formatrelative.d.ts","./node_modules/date-fns/fromunixtime.d.ts","./node_modules/date-fns/getdate.d.ts","./node_modules/date-fns/getday.d.ts","./node_modules/date-fns/getdayofyear.d.ts","./node_modules/date-fns/getdaysinmonth.d.ts","./node_modules/date-fns/getdaysinyear.d.ts","./node_modules/date-fns/getdecade.d.ts","./node_modules/date-fns/_lib/defaultoptions.d.ts","./node_modules/date-fns/getdefaultoptions.d.ts","./node_modules/date-fns/gethours.d.ts","./node_modules/date-fns/getisoday.d.ts","./node_modules/date-fns/getisoweek.d.ts","./node_modules/date-fns/getisoweekyear.d.ts","./node_modules/date-fns/getisoweeksinyear.d.ts","./node_modules/date-fns/getmilliseconds.d.ts","./node_modules/date-fns/getminutes.d.ts","./node_modules/date-fns/getmonth.d.ts","./node_modules/date-fns/getoverlappingdaysinintervals.d.ts","./node_modules/date-fns/getquarter.d.ts","./node_modules/date-fns/getseconds.d.ts","./node_modules/date-fns/gettime.d.ts","./node_modules/date-fns/getunixtime.d.ts","./node_modules/date-fns/getweek.d.ts","./node_modules/date-fns/getweekofmonth.d.ts","./node_modules/date-fns/getweekyear.d.ts","./node_modules/date-fns/getweeksinmonth.d.ts","./node_modules/date-fns/getyear.d.ts","./node_modules/date-fns/hourstomilliseconds.d.ts","./node_modules/date-fns/hourstominutes.d.ts","./node_modules/date-fns/hourstoseconds.d.ts","./node_modules/date-fns/interval.d.ts","./node_modules/date-fns/intervaltoduration.d.ts","./node_modules/date-fns/intlformat.d.ts","./node_modules/date-fns/intlformatdistance.d.ts","./node_modules/date-fns/isafter.d.ts","./node_modules/date-fns/isbefore.d.ts","./node_modules/date-fns/isdate.d.ts","./node_modules/date-fns/isequal.d.ts","./node_modules/date-fns/isexists.d.ts","./node_modules/date-fns/isfirstdayofmonth.d.ts","./node_modules/date-fns/isfriday.d.ts","./node_modules/date-fns/isfuture.d.ts","./node_modules/date-fns/islastdayofmonth.d.ts","./node_modules/date-fns/isleapyear.d.ts","./node_modules/date-fns/ismatch.d.ts","./node_modules/date-fns/ismonday.d.ts","./node_modules/date-fns/ispast.d.ts","./node_modules/date-fns/issameday.d.ts","./node_modules/date-fns/issamehour.d.ts","./node_modules/date-fns/issameisoweek.d.ts","./node_modules/date-fns/issameisoweekyear.d.ts","./node_modules/date-fns/issameminute.d.ts","./node_modules/date-fns/issamemonth.d.ts","./node_modules/date-fns/issamequarter.d.ts","./node_modules/date-fns/issamesecond.d.ts","./node_modules/date-fns/issameweek.d.ts","./node_modules/date-fns/issameyear.d.ts","./node_modules/date-fns/issaturday.d.ts","./node_modules/date-fns/issunday.d.ts","./node_modules/date-fns/isthishour.d.ts","./node_modules/date-fns/isthisisoweek.d.ts","./node_modules/date-fns/isthisminute.d.ts","./node_modules/date-fns/isthismonth.d.ts","./node_modules/date-fns/isthisquarter.d.ts","./node_modules/date-fns/isthissecond.d.ts","./node_modules/date-fns/isthisweek.d.ts","./node_modules/date-fns/isthisyear.d.ts","./node_modules/date-fns/isthursday.d.ts","./node_modules/date-fns/istoday.d.ts","./node_modules/date-fns/istomorrow.d.ts","./node_modules/date-fns/istuesday.d.ts","./node_modules/date-fns/isvalid.d.ts","./node_modules/date-fns/iswednesday.d.ts","./node_modules/date-fns/isweekend.d.ts","./node_modules/date-fns/iswithininterval.d.ts","./node_modules/date-fns/isyesterday.d.ts","./node_modules/date-fns/lastdayofdecade.d.ts","./node_modules/date-fns/lastdayofisoweek.d.ts","./node_modules/date-fns/lastdayofisoweekyear.d.ts","./node_modules/date-fns/lastdayofmonth.d.ts","./node_modules/date-fns/lastdayofquarter.d.ts","./node_modules/date-fns/lastdayofweek.d.ts","./node_modules/date-fns/lastdayofyear.d.ts","./node_modules/date-fns/_lib/format/lightformatters.d.ts","./node_modules/date-fns/lightformat.d.ts","./node_modules/date-fns/max.d.ts","./node_modules/date-fns/milliseconds.d.ts","./node_modules/date-fns/millisecondstohours.d.ts","./node_modules/date-fns/millisecondstominutes.d.ts","./node_modules/date-fns/millisecondstoseconds.d.ts","./node_modules/date-fns/min.d.ts","./node_modules/date-fns/minutestohours.d.ts","./node_modules/date-fns/minutestomilliseconds.d.ts","./node_modules/date-fns/minutestoseconds.d.ts","./node_modules/date-fns/monthstoquarters.d.ts","./node_modules/date-fns/monthstoyears.d.ts","./node_modules/date-fns/nextday.d.ts","./node_modules/date-fns/nextfriday.d.ts","./node_modules/date-fns/nextmonday.d.ts","./node_modules/date-fns/nextsaturday.d.ts","./node_modules/date-fns/nextsunday.d.ts","./node_modules/date-fns/nextthursday.d.ts","./node_modules/date-fns/nexttuesday.d.ts","./node_modules/date-fns/nextwednesday.d.ts","./node_modules/date-fns/parse/_lib/types.d.ts","./node_modules/date-fns/parse/_lib/setter.d.ts","./node_modules/date-fns/parse/_lib/parser.d.ts","./node_modules/date-fns/parse/_lib/parsers.d.ts","./node_modules/date-fns/parse.d.ts","./node_modules/date-fns/parseiso.d.ts","./node_modules/date-fns/parsejson.d.ts","./node_modules/date-fns/previousday.d.ts","./node_modules/date-fns/previousfriday.d.ts","./node_modules/date-fns/previousmonday.d.ts","./node_modules/date-fns/previoussaturday.d.ts","./node_modules/date-fns/previoussunday.d.ts","./node_modules/date-fns/previousthursday.d.ts","./node_modules/date-fns/previoustuesday.d.ts","./node_modules/date-fns/previouswednesday.d.ts","./node_modules/date-fns/quarterstomonths.d.ts","./node_modules/date-fns/quarterstoyears.d.ts","./node_modules/date-fns/roundtonearesthours.d.ts","./node_modules/date-fns/roundtonearestminutes.d.ts","./node_modules/date-fns/secondstohours.d.ts","./node_modules/date-fns/secondstomilliseconds.d.ts","./node_modules/date-fns/secondstominutes.d.ts","./node_modules/date-fns/set.d.ts","./node_modules/date-fns/setdate.d.ts","./node_modules/date-fns/setday.d.ts","./node_modules/date-fns/setdayofyear.d.ts","./node_modules/date-fns/setdefaultoptions.d.ts","./node_modules/date-fns/sethours.d.ts","./node_modules/date-fns/setisoday.d.ts","./node_modules/date-fns/setisoweek.d.ts","./node_modules/date-fns/setisoweekyear.d.ts","./node_modules/date-fns/setmilliseconds.d.ts","./node_modules/date-fns/setminutes.d.ts","./node_modules/date-fns/setmonth.d.ts","./node_modules/date-fns/setquarter.d.ts","./node_modules/date-fns/setseconds.d.ts","./node_modules/date-fns/setweek.d.ts","./node_modules/date-fns/setweekyear.d.ts","./node_modules/date-fns/setyear.d.ts","./node_modules/date-fns/startofday.d.ts","./node_modules/date-fns/startofdecade.d.ts","./node_modules/date-fns/startofhour.d.ts","./node_modules/date-fns/startofisoweek.d.ts","./node_modules/date-fns/startofisoweekyear.d.ts","./node_modules/date-fns/startofminute.d.ts","./node_modules/date-fns/startofmonth.d.ts","./node_modules/date-fns/startofquarter.d.ts","./node_modules/date-fns/startofsecond.d.ts","./node_modules/date-fns/startoftoday.d.ts","./node_modules/date-fns/startoftomorrow.d.ts","./node_modules/date-fns/startofweek.d.ts","./node_modules/date-fns/startofweekyear.d.ts","./node_modules/date-fns/startofyear.d.ts","./node_modules/date-fns/startofyesterday.d.ts","./node_modules/date-fns/sub.d.ts","./node_modules/date-fns/subbusinessdays.d.ts","./node_modules/date-fns/subdays.d.ts","./node_modules/date-fns/subhours.d.ts","./node_modules/date-fns/subisoweekyears.d.ts","./node_modules/date-fns/submilliseconds.d.ts","./node_modules/date-fns/subminutes.d.ts","./node_modules/date-fns/submonths.d.ts","./node_modules/date-fns/subquarters.d.ts","./node_modules/date-fns/subseconds.d.ts","./node_modules/date-fns/subweeks.d.ts","./node_modules/date-fns/subyears.d.ts","./node_modules/date-fns/todate.d.ts","./node_modules/date-fns/transpose.d.ts","./node_modules/date-fns/weekstodays.d.ts","./node_modules/date-fns/yearstodays.d.ts","./node_modules/date-fns/yearstomonths.d.ts","./node_modules/date-fns/yearstoquarters.d.ts","./node_modules/date-fns/index.d.ts","./node_modules/date-fns/locale/af.d.ts","./node_modules/date-fns/locale/ar.d.ts","./node_modules/date-fns/locale/ar-dz.d.ts","./node_modules/date-fns/locale/ar-eg.d.ts","./node_modules/date-fns/locale/ar-ma.d.ts","./node_modules/date-fns/locale/ar-sa.d.ts","./node_modules/date-fns/locale/ar-tn.d.ts","./node_modules/date-fns/locale/az.d.ts","./node_modules/date-fns/locale/be.d.ts","./node_modules/date-fns/locale/be-tarask.d.ts","./node_modules/date-fns/locale/bg.d.ts","./node_modules/date-fns/locale/bn.d.ts","./node_modules/date-fns/locale/bs.d.ts","./node_modules/date-fns/locale/ca.d.ts","./node_modules/date-fns/locale/ckb.d.ts","./node_modules/date-fns/locale/cs.d.ts","./node_modules/date-fns/locale/cy.d.ts","./node_modules/date-fns/locale/da.d.ts","./node_modules/date-fns/locale/de.d.ts","./node_modules/date-fns/locale/de-at.d.ts","./node_modules/date-fns/locale/el.d.ts","./node_modules/date-fns/locale/en-au.d.ts","./node_modules/date-fns/locale/en-ca.d.ts","./node_modules/date-fns/locale/en-gb.d.ts","./node_modules/date-fns/locale/en-ie.d.ts","./node_modules/date-fns/locale/en-in.d.ts","./node_modules/date-fns/locale/en-nz.d.ts","./node_modules/date-fns/locale/en-us.d.ts","./node_modules/date-fns/locale/en-za.d.ts","./node_modules/date-fns/locale/eo.d.ts","./node_modules/date-fns/locale/es.d.ts","./node_modules/date-fns/locale/et.d.ts","./node_modules/date-fns/locale/eu.d.ts","./node_modules/date-fns/locale/fa-ir.d.ts","./node_modules/date-fns/locale/fi.d.ts","./node_modules/date-fns/locale/fr.d.ts","./node_modules/date-fns/locale/fr-ca.d.ts","./node_modules/date-fns/locale/fr-ch.d.ts","./node_modules/date-fns/locale/fy.d.ts","./node_modules/date-fns/locale/gd.d.ts","./node_modules/date-fns/locale/gl.d.ts","./node_modules/date-fns/locale/gu.d.ts","./node_modules/date-fns/locale/he.d.ts","./node_modules/date-fns/locale/hi.d.ts","./node_modules/date-fns/locale/hr.d.ts","./node_modules/date-fns/locale/ht.d.ts","./node_modules/date-fns/locale/hu.d.ts","./node_modules/date-fns/locale/hy.d.ts","./node_modules/date-fns/locale/id.d.ts","./node_modules/date-fns/locale/is.d.ts","./node_modules/date-fns/locale/it.d.ts","./node_modules/date-fns/locale/it-ch.d.ts","./node_modules/date-fns/locale/ja.d.ts","./node_modules/date-fns/locale/ja-hira.d.ts","./node_modules/date-fns/locale/ka.d.ts","./node_modules/date-fns/locale/kk.d.ts","./node_modules/date-fns/locale/km.d.ts","./node_modules/date-fns/locale/kn.d.ts","./node_modules/date-fns/locale/ko.d.ts","./node_modules/date-fns/locale/lb.d.ts","./node_modules/date-fns/locale/lt.d.ts","./node_modules/date-fns/locale/lv.d.ts","./node_modules/date-fns/locale/mk.d.ts","./node_modules/date-fns/locale/mn.d.ts","./node_modules/date-fns/locale/ms.d.ts","./node_modules/date-fns/locale/mt.d.ts","./node_modules/date-fns/locale/nb.d.ts","./node_modules/date-fns/locale/nl.d.ts","./node_modules/date-fns/locale/nl-be.d.ts","./node_modules/date-fns/locale/nn.d.ts","./node_modules/date-fns/locale/oc.d.ts","./node_modules/date-fns/locale/pl.d.ts","./node_modules/date-fns/locale/pt.d.ts","./node_modules/date-fns/locale/pt-br.d.ts","./node_modules/date-fns/locale/ro.d.ts","./node_modules/date-fns/locale/ru.d.ts","./node_modules/date-fns/locale/se.d.ts","./node_modules/date-fns/locale/sk.d.ts","./node_modules/date-fns/locale/sl.d.ts","./node_modules/date-fns/locale/sq.d.ts","./node_modules/date-fns/locale/sr.d.ts","./node_modules/date-fns/locale/sr-latn.d.ts","./node_modules/date-fns/locale/sv.d.ts","./node_modules/date-fns/locale/ta.d.ts","./node_modules/date-fns/locale/te.d.ts","./node_modules/date-fns/locale/th.d.ts","./node_modules/date-fns/locale/tr.d.ts","./node_modules/date-fns/locale/ug.d.ts","./node_modules/date-fns/locale/uk.d.ts","./node_modules/date-fns/locale/uz.d.ts","./node_modules/date-fns/locale/uz-cyrl.d.ts","./node_modules/date-fns/locale/vi.d.ts","./node_modules/date-fns/locale/zh-cn.d.ts","./node_modules/date-fns/locale/zh-hk.d.ts","./node_modules/date-fns/locale/zh-tw.d.ts","./node_modules/date-fns/locale.d.ts","./node_modules/react-day-picker/dist/esm/components/button.d.ts","./node_modules/react-day-picker/dist/esm/components/captionlabel.d.ts","./node_modules/react-day-picker/dist/esm/components/chevron.d.ts","./node_modules/react-day-picker/dist/esm/components/monthcaption.d.ts","./node_modules/react-day-picker/dist/esm/components/week.d.ts","./node_modules/react-day-picker/dist/esm/labels/labeldaybutton.d.ts","./node_modules/react-day-picker/dist/esm/labels/labelgrid.d.ts","./node_modules/react-day-picker/dist/esm/labels/labelgridcell.d.ts","./node_modules/react-day-picker/dist/esm/labels/labelmonthdropdown.d.ts","./node_modules/react-day-picker/dist/esm/labels/labelnav.d.ts","./node_modules/react-day-picker/dist/esm/labels/labelnext.d.ts","./node_modules/react-day-picker/dist/esm/labels/labelprevious.d.ts","./node_modules/react-day-picker/dist/esm/labels/labelweekday.d.ts","./node_modules/react-day-picker/dist/esm/labels/labelweeknumber.d.ts","./node_modules/react-day-picker/dist/esm/labels/labelweeknumberheader.d.ts","./node_modules/react-day-picker/dist/esm/labels/labelyeardropdown.d.ts","./node_modules/react-day-picker/dist/esm/labels/index.d.ts","./node_modules/react-day-picker/dist/esm/ui.d.ts","./node_modules/react-day-picker/dist/esm/classes/calendarweek.d.ts","./node_modules/react-day-picker/dist/esm/classes/calendarmonth.d.ts","./node_modules/react-day-picker/dist/esm/types/props.d.ts","./node_modules/react-day-picker/dist/esm/types/selection.d.ts","./node_modules/react-day-picker/dist/esm/usedaypicker.d.ts","./node_modules/react-day-picker/dist/esm/types/deprecated.d.ts","./node_modules/react-day-picker/dist/esm/types/index.d.ts","./node_modules/react-day-picker/dist/esm/components/day.d.ts","./node_modules/react-day-picker/dist/esm/components/daybutton.d.ts","./node_modules/react-day-picker/dist/esm/components/dropdown.d.ts","./node_modules/react-day-picker/dist/esm/components/dropdownnav.d.ts","./node_modules/react-day-picker/dist/esm/components/footer.d.ts","./node_modules/react-day-picker/dist/esm/components/month.d.ts","./node_modules/react-day-picker/dist/esm/components/monthgrid.d.ts","./node_modules/react-day-picker/dist/esm/components/months.d.ts","./node_modules/react-day-picker/dist/esm/components/monthsdropdown.d.ts","./node_modules/react-day-picker/dist/esm/components/nav.d.ts","./node_modules/react-day-picker/dist/esm/components/nextmonthbutton.d.ts","./node_modules/react-day-picker/dist/esm/components/option.d.ts","./node_modules/react-day-picker/dist/esm/components/previousmonthbutton.d.ts","./node_modules/react-day-picker/dist/esm/components/root.d.ts","./node_modules/react-day-picker/dist/esm/components/select.d.ts","./node_modules/react-day-picker/dist/esm/components/weekday.d.ts","./node_modules/react-day-picker/dist/esm/components/weekdays.d.ts","./node_modules/react-day-picker/dist/esm/components/weeknumber.d.ts","./node_modules/react-day-picker/dist/esm/components/weeknumberheader.d.ts","./node_modules/react-day-picker/dist/esm/components/weeks.d.ts","./node_modules/react-day-picker/dist/esm/components/yearsdropdown.d.ts","./node_modules/react-day-picker/dist/esm/components/custom-components.d.ts","./node_modules/react-day-picker/dist/esm/formatters/formatcaption.d.ts","./node_modules/react-day-picker/dist/esm/formatters/formatday.d.ts","./node_modules/react-day-picker/dist/esm/formatters/formatmonthdropdown.d.ts","./node_modules/react-day-picker/dist/esm/formatters/formatweekdayname.d.ts","./node_modules/react-day-picker/dist/esm/formatters/formatweeknumber.d.ts","./node_modules/react-day-picker/dist/esm/formatters/formatweeknumberheader.d.ts","./node_modules/react-day-picker/dist/esm/formatters/formatyeardropdown.d.ts","./node_modules/react-day-picker/dist/esm/formatters/index.d.ts","./node_modules/react-day-picker/dist/esm/types/shared.d.ts","./node_modules/react-day-picker/dist/esm/locale/en-us.d.ts","./node_modules/react-day-picker/dist/esm/classes/datelib.d.ts","./node_modules/react-day-picker/dist/esm/classes/calendarday.d.ts","./node_modules/react-day-picker/dist/esm/classes/index.d.ts","./node_modules/react-day-picker/dist/esm/daypicker.d.ts","./node_modules/react-day-picker/dist/esm/helpers/getdefaultclassnames.d.ts","./node_modules/react-day-picker/dist/esm/helpers/index.d.ts","./node_modules/react-day-picker/dist/esm/utils/addtorange.d.ts","./node_modules/react-day-picker/dist/esm/utils/datematchmodifiers.d.ts","./node_modules/react-day-picker/dist/esm/utils/rangecontainsdayofweek.d.ts","./node_modules/react-day-picker/dist/esm/utils/rangecontainsmodifiers.d.ts","./node_modules/react-day-picker/dist/esm/utils/rangeincludesdate.d.ts","./node_modules/react-day-picker/dist/esm/utils/rangeoverlaps.d.ts","./node_modules/react-day-picker/dist/esm/utils/typeguards.d.ts","./node_modules/react-day-picker/dist/esm/utils/index.d.ts","./node_modules/react-day-picker/dist/esm/index.d.ts","./components/ui/calendar.tsx","./node_modules/embla-carousel/esm/components/alignment.d.ts","./node_modules/embla-carousel/esm/components/noderects.d.ts","./node_modules/embla-carousel/esm/components/axis.d.ts","./node_modules/embla-carousel/esm/components/slidestoscroll.d.ts","./node_modules/embla-carousel/esm/components/limit.d.ts","./node_modules/embla-carousel/esm/components/scrollcontain.d.ts","./node_modules/embla-carousel/esm/components/dragtracker.d.ts","./node_modules/embla-carousel/esm/components/utils.d.ts","./node_modules/embla-carousel/esm/components/animations.d.ts","./node_modules/embla-carousel/esm/components/counter.d.ts","./node_modules/embla-carousel/esm/components/eventhandler.d.ts","./node_modules/embla-carousel/esm/components/eventstore.d.ts","./node_modules/embla-carousel/esm/components/percentofview.d.ts","./node_modules/embla-carousel/esm/components/resizehandler.d.ts","./node_modules/embla-carousel/esm/components/vector1d.d.ts","./node_modules/embla-carousel/esm/components/scrollbody.d.ts","./node_modules/embla-carousel/esm/components/scrollbounds.d.ts","./node_modules/embla-carousel/esm/components/scrolllooper.d.ts","./node_modules/embla-carousel/esm/components/scrollprogress.d.ts","./node_modules/embla-carousel/esm/components/slideregistry.d.ts","./node_modules/embla-carousel/esm/components/scrolltarget.d.ts","./node_modules/embla-carousel/esm/components/scrollto.d.ts","./node_modules/embla-carousel/esm/components/slidefocus.d.ts","./node_modules/embla-carousel/esm/components/translate.d.ts","./node_modules/embla-carousel/esm/components/slidelooper.d.ts","./node_modules/embla-carousel/esm/components/slideshandler.d.ts","./node_modules/embla-carousel/esm/components/slidesinview.d.ts","./node_modules/embla-carousel/esm/components/engine.d.ts","./node_modules/embla-carousel/esm/components/optionshandler.d.ts","./node_modules/embla-carousel/esm/components/plugins.d.ts","./node_modules/embla-carousel/esm/components/emblacarousel.d.ts","./node_modules/embla-carousel/esm/components/draghandler.d.ts","./node_modules/embla-carousel/esm/components/options.d.ts","./node_modules/embla-carousel/esm/index.d.ts","./node_modules/embla-carousel-react/esm/components/useemblacarousel.d.ts","./node_modules/embla-carousel-react/esm/index.d.ts","./components/ui/carousel.tsx","./node_modules/recharts/types/container/surface.d.ts","./node_modules/recharts/types/container/layer.d.ts","./node_modules/@types/d3-time/index.d.ts","./node_modules/@types/d3-scale/index.d.ts","./node_modules/victory-vendor/d3-scale.d.ts","./node_modules/recharts/types/cartesian/xaxis.d.ts","./node_modules/recharts/types/cartesian/yaxis.d.ts","./node_modules/recharts/types/util/types.d.ts","./node_modules/recharts/types/component/defaultlegendcontent.d.ts","./node_modules/recharts/types/util/payload/getuniqpayload.d.ts","./node_modules/recharts/types/component/legend.d.ts","./node_modules/recharts/types/component/defaulttooltipcontent.d.ts","./node_modules/recharts/types/component/tooltip.d.ts","./node_modules/recharts/types/component/responsivecontainer.d.ts","./node_modules/recharts/types/component/cell.d.ts","./node_modules/recharts/types/component/text.d.ts","./node_modules/recharts/types/component/label.d.ts","./node_modules/recharts/types/component/labellist.d.ts","./node_modules/recharts/types/component/customized.d.ts","./node_modules/recharts/types/shape/sector.d.ts","./node_modules/@types/d3-path/index.d.ts","./node_modules/@types/d3-shape/index.d.ts","./node_modules/victory-vendor/d3-shape.d.ts","./node_modules/recharts/types/shape/curve.d.ts","./node_modules/recharts/types/shape/rectangle.d.ts","./node_modules/recharts/types/shape/polygon.d.ts","./node_modules/recharts/types/shape/dot.d.ts","./node_modules/recharts/types/shape/cross.d.ts","./node_modules/recharts/types/shape/symbols.d.ts","./node_modules/recharts/types/polar/polargrid.d.ts","./node_modules/recharts/types/polar/polarradiusaxis.d.ts","./node_modules/recharts/types/polar/polarangleaxis.d.ts","./node_modules/recharts/types/polar/pie.d.ts","./node_modules/recharts/types/polar/radar.d.ts","./node_modules/recharts/types/polar/radialbar.d.ts","./node_modules/recharts/types/cartesian/brush.d.ts","./node_modules/recharts/types/util/ifoverflowmatches.d.ts","./node_modules/recharts/types/cartesian/referenceline.d.ts","./node_modules/recharts/types/cartesian/referencedot.d.ts","./node_modules/recharts/types/cartesian/referencearea.d.ts","./node_modules/recharts/types/cartesian/cartesianaxis.d.ts","./node_modules/recharts/types/cartesian/cartesiangrid.d.ts","./node_modules/recharts/types/cartesian/line.d.ts","./node_modules/recharts/types/cartesian/area.d.ts","./node_modules/recharts/types/util/barutils.d.ts","./node_modules/recharts/types/cartesian/bar.d.ts","./node_modules/recharts/types/cartesian/zaxis.d.ts","./node_modules/recharts/types/cartesian/errorbar.d.ts","./node_modules/recharts/types/cartesian/scatter.d.ts","./node_modules/recharts/types/util/getlegendprops.d.ts","./node_modules/recharts/types/util/chartutils.d.ts","./node_modules/recharts/types/chart/accessibilitymanager.d.ts","./node_modules/recharts/types/chart/types.d.ts","./node_modules/recharts/types/chart/generatecategoricalchart.d.ts","./node_modules/recharts/types/chart/linechart.d.ts","./node_modules/recharts/types/chart/barchart.d.ts","./node_modules/recharts/types/chart/piechart.d.ts","./node_modules/recharts/types/chart/treemap.d.ts","./node_modules/recharts/types/chart/sankey.d.ts","./node_modules/recharts/types/chart/radarchart.d.ts","./node_modules/recharts/types/chart/scatterchart.d.ts","./node_modules/recharts/types/chart/areachart.d.ts","./node_modules/recharts/types/chart/radialbarchart.d.ts","./node_modules/recharts/types/chart/composedchart.d.ts","./node_modules/recharts/types/chart/sunburstchart.d.ts","./node_modules/recharts/types/shape/trapezoid.d.ts","./node_modules/recharts/types/numberaxis/funnel.d.ts","./node_modules/recharts/types/chart/funnelchart.d.ts","./node_modules/recharts/types/util/global.d.ts","./node_modules/recharts/types/index.d.ts","./components/ui/chart.tsx","./node_modules/@radix-ui/react-checkbox/dist/index.d.mts","./components/ui/checkbox.tsx","./components/ui/collapsible.tsx","./node_modules/cmdk/dist/index.d.ts","./components/ui/dialog.tsx","./components/ui/command.tsx","./node_modules/@radix-ui/react-arrow/dist/index.d.mts","./node_modules/@radix-ui/rect/dist/index.d.mts","./node_modules/@radix-ui/react-popper/dist/index.d.mts","./node_modules/@radix-ui/react-roving-focus/dist/index.d.mts","./node_modules/@radix-ui/react-menu/dist/index.d.mts","./node_modules/@radix-ui/react-context-menu/dist/index.d.mts","./components/ui/context-menu.tsx","./node_modules/vaul/dist/index.d.mts","./components/ui/drawer.tsx","./node_modules/@radix-ui/react-dropdown-menu/dist/index.d.mts","./components/ui/dropdown-menu.tsx","./components/ui/empty.tsx","./components/ui/field.tsx","./node_modules/react-hook-form/dist/constants.d.ts","./node_modules/react-hook-form/dist/utils/createsubject.d.ts","./node_modules/react-hook-form/dist/types/events.d.ts","./node_modules/react-hook-form/dist/types/path/common.d.ts","./node_modules/react-hook-form/dist/types/path/eager.d.ts","./node_modules/react-hook-form/dist/types/path/index.d.ts","./node_modules/react-hook-form/dist/types/fieldarray.d.ts","./node_modules/react-hook-form/dist/types/resolvers.d.ts","./node_modules/react-hook-form/dist/types/form.d.ts","./node_modules/react-hook-form/dist/types/utils.d.ts","./node_modules/react-hook-form/dist/types/fields.d.ts","./node_modules/react-hook-form/dist/types/errors.d.ts","./node_modules/react-hook-form/dist/types/validator.d.ts","./node_modules/react-hook-form/dist/types/controller.d.ts","./node_modules/react-hook-form/dist/types/watch.d.ts","./node_modules/react-hook-form/dist/types/index.d.ts","./node_modules/react-hook-form/dist/controller.d.ts","./node_modules/react-hook-form/dist/form.d.ts","./node_modules/react-hook-form/dist/formstatesubscribe.d.ts","./node_modules/react-hook-form/dist/logic/appenderrors.d.ts","./node_modules/react-hook-form/dist/logic/createformcontrol.d.ts","./node_modules/react-hook-form/dist/logic/index.d.ts","./node_modules/react-hook-form/dist/usecontroller.d.ts","./node_modules/react-hook-form/dist/usefieldarray.d.ts","./node_modules/react-hook-form/dist/useform.d.ts","./node_modules/react-hook-form/dist/useformcontext.d.ts","./node_modules/react-hook-form/dist/useformstate.d.ts","./node_modules/react-hook-form/dist/usewatch.d.ts","./node_modules/react-hook-form/dist/utils/get.d.ts","./node_modules/react-hook-form/dist/utils/set.d.ts","./node_modules/react-hook-form/dist/utils/index.d.ts","./node_modules/react-hook-form/dist/watch.d.ts","./node_modules/react-hook-form/dist/index.d.ts","./components/ui/form.tsx","./node_modules/@radix-ui/react-hover-card/dist/index.d.mts","./components/ui/hover-card.tsx","./components/ui/textarea.tsx","./components/ui/input-group.tsx","./node_modules/input-otp/dist/index.d.ts","./components/ui/input-otp.tsx","./components/ui/item.tsx","./components/ui/kbd.tsx","./node_modules/@radix-ui/react-menubar/dist/index.d.mts","./components/ui/menubar.tsx","./node_modules/@radix-ui/react-visually-hidden/dist/index.d.mts","./node_modules/@radix-ui/react-navigation-menu/dist/index.d.mts","./components/ui/navigation-menu.tsx","./components/ui/pagination.tsx","./node_modules/@radix-ui/react-popover/dist/index.d.mts","./components/ui/popover.tsx","./node_modules/@radix-ui/react-progress/node_modules/@radix-ui/react-context/dist/index.d.mts","./node_modules/@radix-ui/react-progress/node_modules/@radix-ui/react-primitive/dist/index.d.mts","./node_modules/@radix-ui/react-progress/dist/index.d.mts","./components/ui/progress.tsx","./node_modules/@radix-ui/react-radio-group/dist/index.d.mts","./components/ui/radio-group.tsx","./node_modules/react-resizable-panels/dist/declarations/src/panel.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/types.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/panelgroup.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/panelresizehandleregistry.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/panelresizehandle.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/constants.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/assert.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/csp.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/cursor.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/dom/getpanelelement.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/dom/getpanelelementsforgroup.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/dom/getpanelgroupelement.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/dom/getresizehandleelement.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/dom/getresizehandleelementindex.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/dom/getresizehandleelementsforgroup.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/dom/getresizehandlepanelids.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/rects/types.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/rects/getintersectingrectangle.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/rects/intersects.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/index.d.ts","./node_modules/react-resizable-panels/dist/react-resizable-panels.cjs.d.mts","./components/ui/resizable.tsx","./node_modules/@radix-ui/react-scroll-area/dist/index.d.mts","./components/ui/scroll-area.tsx","./node_modules/@radix-ui/react-select/dist/index.d.mts","./components/ui/select.tsx","./components/ui/sheet.tsx","./components/ui/skeleton.tsx","./node_modules/@radix-ui/react-tooltip/dist/index.d.mts","./components/ui/tooltip.tsx","./components/ui/sidebar.tsx","./node_modules/@radix-ui/react-slider/dist/index.d.mts","./components/ui/slider.tsx","./node_modules/sonner/dist/index.d.ts","./components/ui/sonner.tsx","./node_modules/@radix-ui/react-switch/dist/index.d.mts","./components/ui/switch.tsx","./components/ui/table.tsx","./node_modules/@radix-ui/react-tabs/dist/index.d.mts","./components/ui/tabs.tsx","./components/ui/toaster.tsx","./node_modules/@radix-ui/react-toggle/dist/index.d.mts","./node_modules/@radix-ui/react-toggle-group/dist/index.d.mts","./components/ui/toggle.tsx","./components/ui/toggle-group.tsx","./components/ui/use-mobile.tsx","./.next/types/cache-life.d.ts","./.next/types/validator.ts","./.next/dev/types/cache-life.d.ts","./.next/dev/types/routes.d.ts","./.next/dev/types/validator.ts","./node_modules/@types/caseless/index.d.ts","./node_modules/@types/d3-array/index.d.ts","./node_modules/@types/d3-color/index.d.ts","./node_modules/@types/d3-ease/index.d.ts","./node_modules/@types/d3-interpolate/index.d.ts","./node_modules/@types/d3-timer/index.d.ts","./node_modules/@types/estree/index.d.ts","./node_modules/@types/json-schema/index.d.ts","./node_modules/@types/json5/index.d.ts","./node_modules/@types/ms/index.d.ts","./node_modules/@types/jsonwebtoken/index.d.ts","./node_modules/@types/long/index.d.ts","./node_modules/@types/marked/index.d.ts","./node_modules/form-data/index.d.ts","./node_modules/tough-cookie/dist/index.d.cts","./node_modules/@types/request/index.d.ts","./node_modules/@types/statuses/index.d.ts","./node_modules/@types/tough-cookie/index.d.ts","./node_modules/@types/triple-beam/index.d.ts","./node_modules/@types/trusted-types/index.d.ts","./node_modules/@types/validate-npm-package-name/index.d.ts"],"fileIdsList":[[93,142,159,160,484,485,486,487,1771],[93,142,159,160,1771,1773],[93,142,159,160,227,525,528,818,820,821,822,823,824,825,826,828,951,956,957,958,959,963,964,966,968,969,970,971,973,974,976,1003,1004,1005,1006,1007,1008,1013,1016,1017,1021,1022,1025,1027,1028,1031,1035,1037,1038,1039,1040,1041,1042,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1061,1062,1063,1074,1075,1079,1080,1081,1771,1773,1774],[93,142,159,160,484,485,486,487,1773],[93,142,159,160,227,525,528,531,818,820,821,822,823,824,825,826,828,951,956,957,958,959,963,964,966,968,969,970,971,973,974,976,1003,1004,1005,1006,1007,1008,1013,1016,1017,1021,1022,1025,1027,1028,1031,1035,1037,1038,1039,1040,1041,1042,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1061,1062,1063,1074,1075,1079,1080,1081,1771,1773],[93,142,159,160,227,817,954,955,1771,1773],[93,142,159,160,227,508,817,954,955,1771,1773],[81,93,142,159,160,227,829,847,855,965,1771,1773],[81,93,142,159,160,227,855,967,1771,1773],[81,93,142,159,160,227,829,1771,1773],[81,93,142,159,160,227,829,847,855,1771,1773],[93,142,159,160,227,518,1771,1773],[81,93,142,159,160,227,794,817,829,855,972,1771,1773],[93,142,159,160,227,961,962,1771,1773],[81,93,142,159,160,227,518,794,816,829,846,847,851,855,984,987,991,993,995,996,997,998,999,1000,1001,1002,1771,1773],[81,93,142,159,160,227,518,794,829,846,851,855,975,1771,1773],[81,93,142,159,160,227,829,855,946,1771,1773],[81,93,142,159,160,227,508,829,847,855,946,1771,1773],[93,142,159,160,227,508,829,1771,1773],[93,142,159,160,227,829,1771,1773],[81,93,142,159,160,227,1013,1771,1773],[81,93,142,159,160,227,794,805,854,953,1011,1012,1014,1771,1773],[93,142,159,160,227,1771,1773],[81,93,142,159,160,227,518,811,854,946,953,1011,1012,1015,1771,1773],[93,142,159,160,227,525,817,1771,1773],[93,142,159,160,227,525,819,1771,1773],[93,142,159,160,227,525,827,1771,1773],[93,142,159,160,227,518,819,954,955,988,1020,1771,1773],[93,142,159,160,227,508,817,819,954,955,1771,1773],[81,93,142,159,160,227,816,817,829,855,870,954,955,1771,1773],[93,142,159,160,227,508,518,819,954,955,1026,1771,1773],[93,142,159,160,227,508,817,819,830,954,955,1023,1024,1771,1773],[93,142,159,160,227,508,518,844,1029,1034,1036,1771,1773],[93,142,159,160,227,518,844,1029,1034,1036,1771,1773],[81,93,142,159,160,227,508,829,844,1029,1034,1771,1773],[93,142,159,160,227,508,518,844,990,1029,1034,1771,1773],[93,142,159,160,227,518,844,990,1029,1034,1771,1773],[81,93,142,159,160,227,508,829,1029,1034,1771,1773],[81,93,142,159,160,227,1029,1034,1043,1044,1771,1773],[93,142,159,160,227,508,518,844,992,1029,1034,1771,1773],[93,142,159,160,227,518,844,992,1029,1034,1771,1773],[93,142,159,160,227,508,829,1034,1771,1773],[93,142,159,160,227,1029,1030,1771,1773],[81,93,142,159,160,227,829,844,1029,1034,1771,1773],[81,93,142,159,160,227,829,946,1034,1771,1773],[93,142,159,160,227,829,1029,1034,1771,1773],[93,142,159,160,227,508,817,819,829,954,955,1771,1773],[93,142,159,160,227,502,526,529,827,851,853,854,944,945,948,949,950,1771,1773],[93,142,159,160,227,508,954,955,1771,1773],[93,142,159,160,227,819,954,955,1055,1057,1058,1059,1060,1771,1773],[93,142,159,160,227,508,518,819,954,955,1771,1773],[93,142,159,160,227,508,817,819,829,830,953,954,955,1771,1773],[93,142,159,160,227,518,808,815,846,954,955,1073,1771,1773],[81,93,142,159,160,227,946,947,1771,1773],[93,142,159,160,227,819,954,955,1076,1077,1078,1771,1773],[81,93,142,159,160,227,829,855,870,954,955,1771,1773],[81,93,142,159,160,227,508,518,829,946,1771,1773],[81,93,142,159,160,227,794,829,844,855,990,1771,1773],[81,93,142,159,160,227,794,829,844,855,1771,1773],[81,93,142,159,160,227,794,829,844,855,992,1771,1773],[93,142,159,160,227,984,1771,1773],[93,142,159,160,227,975,1000,1001,1771,1773],[93,142,159,160,227,997,1771,1773],[81,93,142,159,160,227,794,829,844,855,975,994,1771,1773],[81,93,142,159,160,227,829,846,977,978,979,980,981,982,983,985,986,1771,1773],[93,142,159,160,227,829,846,1771,1773],[93,142,159,160,227,846,1771,1773],[93,142,159,160,227,829,846,975,1771,1773],[93,142,159,160,227,846,984,1771,1773],[93,142,159,160,227,846,1073,1771,1773],[81,93,142,159,160,227,829,846,1771,1773],[93,142,159,160,227,829,975,1771,1773],[81,93,142,159,160,227,829,855,1771,1773],[93,142,159,160,227,830,1771,1773],[93,142,159,160,227,829,972,1771,1773],[81,93,142,159,160,227,518,946,960,1771,1773],[93,142,159,160,227,846,1065,1066,1067,1068,1069,1070,1071,1072,1771,1773],[93,142,159,160,227,508,846,1771,1773],[93,142,159,160,227,508,819,829,846,1771,1773],[93,142,159,160,227,846,988,1771,1773],[93,142,159,160,227,815,829,846,847,1771,1773],[81,93,142,159,160,227,829,844,1771,1773],[81,93,142,159,160,227,829,844,975,988,989,1771,1773],[81,93,142,159,160,227,508,829,844,1771,1773],[81,93,142,159,160,227,1029,1771,1773],[81,93,142,159,160,227,518,1032,1033,1771,1773],[93,142,159,160,227,508,518,829,946,1771,1773],[81,93,142,159,160,227,508,829,946,1771,1773],[81,93,142,159,160,227,829,1029,1771,1773],[81,93,142,159,160,227,1771,1773],[93,142,159,160,227,508,1771,1773],[81,93,142,159,160,227,508,829,851,949,953,1771,1773],[81,93,142,159,160,227,851,855,1771,1773],[93,142,159,160,227,819,829,953,1056,1771,1773],[93,142,159,160,227,508,819,829,953,1012,1771,1773],[81,93,142,159,160,227,819,829,953,1771,1773],[81,93,142,159,160,227,819,829,953,1056,1771,1773],[93,142,159,160,227,508,819,829,1771,1773],[81,93,142,159,160,227,819,829,953,1012,1056,1771,1773],[81,93,142,159,160,227,1082,1771,1773],[81,93,142,159,160,227,829,839,1087,1771,1773],[81,93,142,159,160,227,839,953,1092,1771,1773],[81,93,142,159,160,227,837,839,1771,1773],[93,142,159,160,227,1096,1771,1773],[81,93,142,159,160,227,839,1100,1771,1773],[81,93,142,159,160,227,837,839,952,1771,1773],[81,93,142,159,160,227,829,839,952,1771,1773],[93,142,159,160,227,837,839,952,1105,1771,1773],[81,93,142,159,160,227,829,839,953,1540,1771,1773],[81,93,142,159,160,227,839,1771,1773],[81,93,142,159,160,227,829,839,953,1577,1771,1773],[81,93,142,159,160,227,839,1648,1771,1773],[81,93,142,159,160,227,829,839,1650,1771,1773],[93,142,159,160,227,1086,1771,1773],[81,93,142,159,160,227,829,839,1653,1654,1771,1773],[81,93,142,159,160,227,829,839,1661,1771,1773],[81,93,142,159,160,227,829,839,1091,1771,1773],[81,93,142,159,160,227,839,1663,1771,1773],[81,93,142,159,160,227,829,839,1665,1771,1773],[93,142,159,160,227,837,839,1771,1773],[81,93,142,159,160,227,837,839,1011,1105,1771,1773],[81,93,142,159,160,227,839,952,1010,1011,1701,1771,1773],[81,93,142,159,160,227,839,1703,1771,1773],[93,142,159,160,227,837,839,953,1012,1705,1771,1773],[81,93,142,159,160,227,829,839,1707,1771,1773],[81,93,142,159,160,227,837,839,952,1105,1771,1773],[93,142,159,160,227,839,1771,1773],[81,93,142,159,160,227,839,1010,1771,1773],[81,93,142,159,160,227,829,839,1711,1771,1773],[81,93,142,159,160,227,829,837,839,1714,1771,1773],[81,93,142,159,160,227,829,839,953,1771,1773],[81,93,142,159,160,227,839,1717,1771,1773],[81,93,142,159,160,227,839,1721,1771,1773],[81,93,142,159,160,227,829,839,1723,1771,1773],[81,93,142,159,160,227,829,839,1745,1771,1773],[81,93,142,159,160,227,839,1747,1771,1773],[81,93,142,159,160,227,829,839,1749,1771,1773],[81,93,142,159,160,227,839,1104,1771,1773],[81,93,142,159,160,227,829,837,839,842,952,953,1012,1105,1751,1752,1754,1771,1773],[81,93,142,159,160,227,839,1756,1771,1773],[93,142,159,160,227,1082,1758,1771,1773],[93,142,159,160,227,829,839,1771,1773],[81,93,142,159,160,227,839,1760,1771,1773],[81,93,142,159,160,227,839,1763,1771,1773],[81,93,142,159,160,227,829,834,837,839,1771,1773],[93,142,159,160,227,840,843,1771,1773],[81,93,142,159,160,227,837,839,1767,1768,1771,1773],[81,93,142,159,160,227,837,839,1766,1771,1773],[81,93,142,159,160,227,839,1753,1771,1773],[81,93,142,159,160,227,840,1771,1773],[81,93,142,159,160,227,844,855,1771,1773],[93,142,159,160,227,724,1771,1773],[93,142,159,160,227,844,1771,1773],[93,142,159,160,227,805,806,811,846,1771,1773],[81,93,142,159,160,227,805,811,854,1771,1773],[93,142,159,160,227,539,722,723,1771,1773],[93,142,159,160,227,805,809,811,813,1771,1773],[93,142,159,160,227,805,806,811,844,1771,1773],[93,142,159,160,227,805,814,1771,1773],[93,142,159,160,227,805,1771,1773],[81,93,142,159,160,227,808,847,849,851,852,854,1771,1773],[93,142,159,160,227,805,806,846,1771,1773],[93,142,159,160,227,805,806,807,1771,1773],[93,142,159,160,227,813,1771,1773],[81,93,142,159,160,227,814,1771,1773],[93,142,159,160,227,526,806,807,851,1771,1773],[93,142,159,160,227,723,808,815,816,1771,1773],[93,142,159,160,227,526,539,722,814,1771,1773],[93,142,159,160,227,835,838,1771,1773],[93,142,159,160,227,808,869,1771,1773],[93,142,159,160,529,530,531,1771,1773],[93,142,159,160,1107,1771,1773],[93,142,159,160,1108,1771,1773],[93,142,159,160,1107,1108,1109,1110,1111,1112,1113,1771,1773],[93,142,159,160,799,800,802,889,890,894,898,899,1771,1773],[93,142,159,160,799,802,890,894,898,899,1771,1773],[93,142,159,160,799,800,889,890,894,898,899,1771,1773],[93,142,159,160,800,803,1771,1773],[93,142,159,160,795,796,797,798,1771,1773],[93,142,159,160,797,1771,1773],[93,142,159,160,795,797,798,1771,1773],[93,142,159,160,796,797,798,1771,1773],[93,142,159,160,796,1771,1773],[93,142,159,160,888,890,891,892,895,896,900,1771,1773],[93,142,159,160,799,800,889,894,898,899,1771,1773],[93,142,159,160,804,888,889,892,894,895,896,900,1771,1773],[93,142,159,160,888,892,894,896,900,1771,1773],[93,142,159,160,799,800,889,890,898,899,1771,1773],[93,142,159,160,800,802,803,1771,1773],[93,142,159,160,801,1771,1773],[93,142,159,160,902,903,904,1771,1773],[93,142,159,160,902,1771,1773],[93,142,159,160,800,887,893,897,901,1771,1773],[93,142,159,160,812,888,892,895,896,898,899,900,1771,1773],[93,142,159,160,799,800,889,890,894,898,1771,1773],[93,142,159,160,715,717,719,1771,1773],[93,142,159,160,552,557,637,1771,1773],[93,142,159,160,174,713,718,1771,1773],[93,142,159,160,174,713,716,1771,1773],[93,142,159,160,174,713,714,1771,1773],[93,142,159,160,192,552,553,556,557,636,637,1771,1773],[81,93,142,159,160,831,832,1086,1771,1773],[81,93,142,159,160,831,1091,1771,1773],[81,93,142,159,160,832,1771,1773],[81,93,142,159,160,1009,1771,1773],[81,93,142,159,160,1771,1773],[81,93,142,159,160,1009,1098,1771,1773],[81,93,142,159,160,227,831,832,1771,1773],[81,93,142,159,160,831,832,1771,1773],[81,93,142,159,160,831,832,1660,1771,1773],[81,93,142,159,160,831,832,833,1089,1090,1771,1773],[81,93,142,159,160,831,832,833,1090,1658,1771,1773],[81,93,142,159,160,831,832,833,1089,1090,1658,1659,1771,1773],[81,93,142,159,160,227,831,832,1659,1660,1771,1773],[81,93,142,159,160,831,832,833,1713,1771,1773],[81,93,142,159,160,831,832,833,1089,1090,1658,1771,1773],[81,93,142,159,160,831,832,1656,1657,1771,1773],[81,93,142,159,160,831,832,1659,1771,1773],[81,85,93,142,159,160,193,194,195,196,197,479,524,1771,1773],[81,93,142,159,160,831,832,833,1771,1773],[81,93,142,159,160,831,832,1659,1766,1771,1773],[93,142,159,160,1771,1773,1778],[93,142,159,160,1581,1771,1773],[93,142,159,160,1599,1771,1773],[93,142,147,159,160,192,1771,1773,1785],[93,139,140,142,159,160,1771,1773],[93,141,142,159,160,1771,1773],[142,159,160,1771,1773],[93,142,147,159,160,177,1771,1773],[93,142,143,148,153,159,160,162,174,185,1771,1773],[93,142,143,144,153,159,160,162,1771,1773],[88,89,90,93,142,159,160,1771,1773],[93,142,145,159,160,186,1771,1773],[93,142,146,147,154,159,160,163,1771,1773],[93,142,147,159,160,174,182,1771,1773],[93,142,148,150,153,159,160,162,1771,1773],[93,141,142,149,159,160,1771,1773],[93,142,150,151,159,160,1771,1773],[93,142,152,153,159,160,1771,1773],[93,141,142,153,159,160,1771,1773],[93,142,153,154,155,159,160,174,185,1771,1773],[93,142,153,154,155,159,160,169,174,177,1771,1773],[93,135,142,150,153,156,159,160,162,174,185,1771,1773],[93,142,153,154,156,157,159,160,162,174,182,185,1771,1773],[93,142,156,158,159,160,174,182,185,1771,1773],[91,92,93,94,95,96,97,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,1771,1773],[93,142,153,159,160,1771,1773],[93,142,159,160,161,185,1771,1773],[93,142,150,153,159,160,162,174,1771,1773],[93,142,159,160,163,1771,1773],[93,142,159,160,164,1771,1773],[93,141,142,159,160,165,1771,1773],[93,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,1771,1773],[93,142,159,160,167,1771,1773],[93,142,159,160,168,1771,1773],[93,142,153,159,160,169,170,1771,1773],[93,142,159,160,169,171,186,188,1771,1773],[93,142,154,159,160,1771,1773],[93,142,153,159,160,174,175,177,1771,1773],[93,142,159,160,176,177,1771,1773],[93,142,159,160,174,175,1771,1773],[93,142,159,160,177,1771,1773],[93,142,159,160,178,1771,1773],[93,139,142,159,160,174,179,185,1771,1773],[93,142,153,159,160,180,181,1771,1773],[93,142,159,160,180,181,1771,1773],[93,142,147,159,160,162,174,182,1771,1773],[93,142,159,160,183,1771,1773],[93,142,159,160,162,184,1771,1773],[93,142,156,159,160,168,185,1771,1773],[93,142,147,159,160,186,1771,1773],[93,142,159,160,174,187,1771,1773],[93,142,159,160,161,188,1771,1773],[93,142,159,160,189,1771,1773],[93,135,142,159,160,1771,1773],[93,135,142,153,155,159,160,165,174,177,185,187,188,190,1771,1773],[93,142,159,160,174,191,1771,1773],[81,85,93,142,159,160,193,194,195,197,479,524,952,1771,1773],[81,85,93,142,159,160,193,194,195,196,460,479,524,952,1771,1773],[81,85,93,142,159,160,193,194,196,197,479,524,952,1771,1773],[81,93,142,159,160,197,460,461,1771,1773],[81,93,142,159,160,197,460,1771,1773],[81,85,93,142,159,160,194,195,196,197,479,524,952,1771,1773],[81,85,93,142,159,160,193,195,196,197,479,524,952,1771,1773],[79,80,93,142,159,160,1771,1773],[93,142,154,156,158,159,160,162,174,185,192,1771,1773,1776,1789,1790],[93,142,159,160,1018,1771,1773],[93,142,159,160,763,764,767,1771,1773],[93,142,159,160,910,1771,1773],[93,142,159,160,913,1771,1773],[93,142,159,160,764,765,767,768,769,1771,1773],[93,142,159,160,764,1771,1773],[93,142,159,160,764,765,767,1771,1773],[93,142,159,160,764,765,1771,1773],[93,142,159,160,772,1771,1773],[93,142,159,160,759,772,773,1771,1773],[93,142,159,160,759,772,1771,1773],[93,142,159,160,759,766,1771,1773],[93,142,159,160,760,1771,1773],[93,142,159,160,759,760,761,763,1771,1773],[93,142,159,160,759,1771,1773],[93,142,159,160,698,1771,1773],[93,142,159,160,835,836,1771,1773],[93,142,159,160,835,1771,1773],[81,93,142,159,160,1091,1771,1773],[93,142,159,160,1118,1771,1773],[93,142,159,160,1116,1118,1771,1773],[93,142,159,160,1116,1771,1773],[93,142,159,160,1118,1182,1183,1771,1773],[93,142,159,160,1118,1185,1771,1773],[93,142,159,160,1118,1186,1771,1773],[93,142,159,160,1203,1771,1773],[93,142,159,160,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1181,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,1201,1202,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273,1274,1275,1276,1277,1278,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289,1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,1304,1305,1306,1307,1308,1309,1310,1311,1312,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,1323,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,1356,1357,1358,1359,1360,1361,1362,1363,1364,1365,1366,1367,1368,1369,1370,1371,1771,1773],[93,142,159,160,1118,1279,1771,1773],[93,142,159,160,1116,1373,1374,1375,1376,1377,1378,1379,1380,1381,1382,1383,1384,1385,1386,1387,1388,1389,1390,1391,1392,1393,1394,1395,1396,1397,1398,1399,1400,1401,1402,1403,1404,1405,1406,1407,1408,1409,1410,1411,1412,1413,1414,1415,1416,1417,1418,1419,1420,1421,1422,1423,1424,1425,1426,1427,1428,1429,1430,1431,1432,1433,1434,1435,1436,1437,1438,1439,1440,1441,1442,1443,1444,1445,1446,1447,1448,1449,1450,1451,1452,1453,1454,1455,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467,1771,1773],[93,142,159,160,1118,1183,1303,1771,1773],[93,142,159,160,1116,1300,1301,1771,1773],[93,142,159,160,1302,1771,1773],[93,142,159,160,1118,1300,1771,1773],[93,142,159,160,1115,1116,1117,1771,1773],[93,142,159,160,1575,1771,1773],[93,142,159,160,1576,1771,1773],[93,142,159,160,1549,1569,1771,1773],[93,142,159,160,1543,1771,1773],[93,142,159,160,1544,1548,1549,1550,1551,1552,1554,1556,1557,1562,1563,1572,1771,1773],[93,142,159,160,1544,1549,1771,1773],[93,142,159,160,1552,1569,1571,1574,1771,1773],[93,142,159,160,1543,1544,1545,1546,1549,1550,1551,1552,1553,1554,1555,1556,1557,1558,1559,1560,1561,1562,1563,1564,1565,1566,1567,1568,1573,1574,1771,1773],[93,142,159,160,1572,1771,1773],[93,142,159,160,1542,1544,1545,1547,1555,1564,1567,1568,1573,1771,1773],[93,142,159,160,1549,1574,1771,1773],[93,142,159,160,1570,1572,1574,1771,1773],[93,142,159,160,1543,1544,1549,1552,1572,1771,1773],[93,142,159,160,1556,1771,1773],[93,142,159,160,1546,1554,1556,1557,1771,1773],[93,142,159,160,1546,1771,1773],[93,142,159,160,1546,1556,1771,1773],[93,142,159,160,1550,1551,1552,1556,1557,1562,1771,1773],[93,142,159,160,1552,1553,1557,1561,1563,1572,1771,1773],[93,142,159,160,1544,1556,1565,1771,1773],[93,142,159,160,1545,1546,1547,1771,1773],[93,142,159,160,1552,1572,1771,1773],[93,142,159,160,1552,1771,1773],[93,142,159,160,1543,1544,1771,1773],[93,142,159,160,1544,1771,1773],[93,142,159,160,1548,1771,1773],[93,142,159,160,1552,1557,1569,1570,1571,1572,1574,1771,1773],[93,142,159,160,917,918,1771,1773],[93,142,159,160,917,918,919,920,1771,1773],[93,142,159,160,917,919,1771,1773],[93,142,159,160,917,1771,1773],[93,142,156,159,160,533,1771,1773],[93,142,159,160,533,534,535,536,538,1771,1773],[93,142,159,160,534,1771,1773],[93,142,159,160,539,877,879,881,1771,1773],[93,142,159,160,539,871,872,873,874,875,876,1771,1773],[93,142,159,160,538,539,871,872,873,874,875,876,877,878,879,880,881,882,1771,1773],[93,142,159,160,880,1771,1773],[93,142,159,160,872,1771,1773],[93,142,159,160,871,877,878,1771,1773],[93,142,159,160,539,872,1771,1773],[93,142,159,160,539,720,1771,1773],[93,142,159,160,538,539,720,721,1771,1773],[93,142,159,160,539,1771,1773],[93,142,159,160,537,539,1771,1773],[93,142,159,160,803,1771,1773],[93,142,159,160,810,1771,1773],[93,142,159,160,892,1771,1773],[93,142,159,160,896,1771,1773],[93,142,159,160,900,1771,1773],[93,142,159,160,804,896,1771,1773],[93,142,159,160,812,900,1771,1773],[93,142,156,159,160,174,192,1771,1773],[93,142,156,159,160,174,185,1771,1773],[93,142,156,159,160,185,638,639,1771,1773],[93,142,159,160,638,639,640,1771,1773],[93,142,159,160,638,1771,1773],[93,142,159,160,552,556,557,637,1771,1773],[93,142,159,160,676,677,678,685,707,710,1771,1773],[93,142,159,160,174,676,677,706,710,1771,1773],[93,142,159,160,676,677,679,707,709,710,1771,1773],[93,142,159,160,682,683,685,710,1771,1773],[93,142,159,160,684,707,708,1771,1773],[93,142,159,160,707,1771,1773],[93,142,159,160,670,685,686,706,710,711,1771,1773],[93,142,159,160,685,707,710,1771,1773],[93,142,159,160,679,680,681,684,705,710,1771,1773],[93,142,156,159,160,552,557,637,670,676,678,685,686,688,689,690,691,692,693,694,695,696,697,701,703,706,707,710,711,1771,1773],[93,142,159,160,700,702,1771,1773],[93,142,159,160,552,557,637,676,707,709,1771,1773],[93,142,159,160,552,557,637,671,675,711,1771,1773],[93,142,156,159,160,552,557,597,635,637,670,689,710,1771,1773],[93,142,159,160,662,670,687,690,702,710,711,1771,1773],[93,142,159,160,552,557,635,637,670,671,675,676,677,678,685,686,687,688,690,691,692,693,694,695,696,697,702,703,706,707,710,711,712,1771,1773],[93,142,159,160,670,687,691,702,710,711,1771,1773],[93,142,153,159,160,676,677,686,705,707,710,711,1771,1773],[93,142,159,160,676,677,679,705,707,710,1771,1773],[93,142,159,160,552,557,637,685,703,704,1771,1773],[93,142,159,160,676,677,679,707,1771,1773],[93,142,159,160,174,662,670,677,685,686,687,702,707,710,711,1771,1773],[93,142,159,160,174,679,685,707,710,1771,1773],[93,142,159,160,174,699,1771,1773],[93,142,159,160,678,679,685,1771,1773],[93,142,159,160,174,676,707,710,1771,1773],[93,142,159,160,613,614,1771,1773],[93,142,159,160,182,1771,1773],[93,142,159,160,541,1771,1773],[93,142,159,160,540,541,542,543,544,617,1771,1773],[93,142,153,159,160,174,540,541,596,615,616,618,1771,1773],[93,142,159,160,162,182,542,545,547,548,1771,1773],[93,142,159,160,546,1771,1773],[93,142,159,160,544,547,549,550,594,617,618,1771,1773],[93,142,159,160,550,551,562,563,593,1771,1773],[93,142,159,160,540,541,543,595,597,614,618,1771,1773],[93,142,159,160,541,542,544,547,549,595,596,614,617,619,1771,1773],[93,142,159,160,545,548,549,563,598,606,607,609,610,618,621,622,623,624,625,626,627,628,629,633,1771,1773],[93,142,159,160,541,618,623,1771,1773],[93,142,159,160,541,618,1771,1773],[93,142,159,160,557,1771,1773],[93,142,159,160,581,1771,1773],[93,142,159,160,559,560,566,567,1771,1773],[93,142,159,160,557,558,562,565,1771,1773],[93,142,159,160,557,558,561,1771,1773],[93,142,159,160,558,559,560,1771,1773],[93,142,159,160,557,564,569,570,574,575,576,577,578,579,587,588,590,591,592,635,1771,1773],[93,142,159,160,568,1771,1773],[93,142,159,160,573,1771,1773],[93,142,159,160,567,1771,1773],[93,142,159,160,586,1771,1773],[93,142,159,160,589,1771,1773],[93,142,159,160,567,571,572,1771,1773],[93,142,159,160,557,558,562,1771,1773],[93,142,159,160,567,583,584,585,1771,1773],[93,142,159,160,557,558,580,582,1771,1773],[93,142,159,160,557,601,603,635,1771,1773],[93,142,159,160,602,1771,1773],[93,142,159,160,541,542,543,544,546,547,549,550,594,595,596,597,598,608,611,612,613,614,617,618,619,620,621,634,1771,1773],[93,142,159,160,541,542,544,547,549,550,594,606,610,617,618,624,630,631,632,1771,1773],[93,142,159,160,547,563,609,618,1771,1773],[93,142,159,160,547,563,607,608,609,618,634,1771,1773],[93,142,159,160,547,550,563,609,610,618,1771,1773],[93,142,159,160,547,550,563,594,606,608,610,618,1771,1773],[93,142,159,160,540,541,542,543,544,618,624,633,1771,1773],[93,142,159,160,543,1771,1773],[93,142,159,160,547,549,597,613,1771,1773],[93,142,157,159,160,1771,1773],[93,142,159,160,174,615,1771,1773],[93,142,159,160,595,601,604,606,610,613,1771,1773],[93,142,159,160,541,543,606,609,618,1771,1773],[93,142,159,160,541,543,547,548,563,608,618,623,1771,1773],[93,142,159,160,540,541,542,543,618,628,633,1771,1773],[93,142,153,159,160,174,540,541,544,611,612,614,616,618,1771,1773],[93,142,157,159,160,182,545,635,1771,1773],[93,142,157,159,160,540,541,544,547,600,611,614,617,618,1771,1773],[93,142,159,160,174,547,563,594,598,612,614,617,1771,1773],[93,142,159,160,543,607,1771,1773],[93,142,159,160,541,543,618,1771,1773],[93,142,157,159,160,540,543,600,618,1771,1773],[93,142,159,160,542,550,594,595,605,1771,1773],[93,142,159,160,541,542,547,548,549,550,563,594,595,599,600,606,1771,1773],[93,142,157,159,160,540,541,547,548,549,563,594,599,618,1771,1773],[93,142,159,160,192,552,553,554,556,557,637,1771,1773],[93,142,156,159,160,663,1771,1773],[93,142,153,159,160,641,642,643,645,648,1771,1773],[93,142,159,160,645,646,655,657,1771,1773],[93,142,159,160,641,1771,1773],[93,142,159,160,641,642,643,645,646,648,1771,1773],[93,142,159,160,641,648,1771,1773],[93,142,159,160,641,642,643,646,648,1771,1773],[93,142,159,160,641,642,643,646,648,655,1771,1773],[93,142,159,160,646,655,656,658,659,1771,1773],[93,142,159,160,174,641,642,643,646,648,649,650,652,653,654,655,660,661,670,1771,1773],[93,142,159,160,645,646,655,1771,1773],[93,142,159,160,648,1771,1773],[93,142,159,160,646,648,649,662,1771,1773],[93,142,159,160,174,643,648,1771,1773],[93,142,159,160,174,643,648,649,651,1771,1773],[93,142,159,160,168,641,642,643,644,646,647,1771,1773],[93,142,159,160,641,646,648,1771,1773],[93,142,159,160,646,655,1771,1773],[93,142,159,160,641,642,643,646,647,648,649,650,652,653,654,655,656,657,658,659,660,662,664,665,666,667,668,669,670,1771,1773],[93,142,159,160,1019,1771,1773],[93,142,159,160,555,1771,1773],[93,142,159,160,482,1771,1773],[93,142,159,160,484,485,486,487,1771,1773],[93,142,159,160,430,493,494,1771,1773],[93,142,159,160,202,203,205,217,241,356,367,475,1771,1773],[93,142,159,160,205,236,237,238,240,475,1771,1773],[93,142,159,160,205,373,375,377,378,380,475,477,1771,1773],[93,142,159,160,205,239,276,475,1771,1773],[93,142,159,160,203,205,216,217,223,229,234,355,356,357,366,475,477,1771,1773],[93,142,159,160,475,1771,1773],[93,142,159,160,212,218,237,257,352,1771,1773],[93,142,159,160,205,1771,1773],[93,142,159,160,198,212,218,1771,1773],[93,142,159,160,384,1771,1773],[93,142,159,160,381,382,384,1771,1773],[93,142,159,160,381,383,475,1771,1773],[93,142,156,159,160,257,454,472,1771,1773],[93,142,156,159,160,328,331,347,352,472,1771,1773],[93,142,156,159,160,300,472,1771,1773],[93,142,159,160,360,1771,1773],[93,142,159,160,359,360,361,1771,1773],[93,142,159,160,359,1771,1773],[87,93,142,156,159,160,198,205,217,223,229,235,237,241,242,255,256,323,353,354,367,475,479,1771,1773],[93,142,159,160,202,205,239,276,373,374,379,475,527,1771,1773],[93,142,159,160,239,527,1771,1773],[93,142,159,160,202,256,425,475,527,1771,1773],[93,142,159,160,527,1771,1773],[93,142,159,160,205,239,240,527,1771,1773],[93,142,159,160,376,527,1771,1773],[93,142,159,160,242,355,358,365,1771,1773],[81,93,142,159,160,430,1771,1773],[93,142,159,160,168,212,227,1771,1773],[93,142,159,160,212,227,1771,1773],[81,93,142,159,160,297,1771,1773],[81,93,142,159,160,218,227,430,1771,1773],[93,142,159,160,212,283,297,298,509,516,1771,1773],[93,142,159,160,282,510,511,512,513,515,1771,1773],[93,142,159,160,333,1771,1773],[93,142,159,160,333,334,1771,1773],[93,142,159,160,216,218,285,286,1771,1773],[93,142,159,160,218,292,293,1771,1773],[93,142,159,160,218,287,295,1771,1773],[93,142,159,160,292,1771,1773],[93,142,159,160,210,218,285,286,287,288,289,290,291,292,295,1771,1773],[93,142,159,160,218,285,292,293,294,296,1771,1773],[93,142,159,160,218,286,288,289,1771,1773],[93,142,159,160,286,288,291,293,1771,1773],[93,142,159,160,514,1771,1773],[93,142,159,160,218,1771,1773],[81,93,142,159,160,206,503,1771,1773],[81,93,142,159,160,185,1771,1773],[81,93,142,159,160,239,274,1771,1773],[81,93,142,159,160,239,367,1771,1773],[93,142,159,160,272,277,1771,1773],[81,93,142,159,160,273,481,1771,1773],[93,142,159,160,942,1771,1773],[81,85,93,142,156,159,160,193,194,195,196,197,479,523,952,1771,1773],[93,142,156,159,160,218,1771,1773],[93,142,156,159,160,217,222,303,320,362,363,367,422,424,475,476,1771,1773],[93,142,159,160,255,364,1771,1773],[93,142,159,160,479,1771,1773],[93,142,159,160,204,1771,1773],[81,93,142,159,160,209,212,427,443,445,1771,1773],[93,142,159,160,168,212,427,442,443,444,526,1771,1773],[93,142,159,160,436,437,438,439,440,441,1771,1773],[93,142,159,160,438,1771,1773],[93,142,159,160,442,1771,1773],[93,142,159,160,227,391,392,394,1771,1773],[81,93,142,159,160,218,385,386,387,388,393,1771,1773],[93,142,159,160,391,393,1771,1773],[93,142,159,160,389,1771,1773],[93,142,159,160,390,1771,1773],[81,93,142,159,160,227,273,481,1771,1773],[81,93,142,159,160,227,480,481,1771,1773],[81,93,142,159,160,227,481,1771,1773],[93,142,159,160,320,321,1771,1773],[93,142,159,160,321,1771,1773],[93,142,156,159,160,476,481,1771,1773],[93,142,159,160,350,1771,1773],[93,141,142,159,160,349,1771,1773],[93,142,159,160,212,218,224,226,328,341,345,347,424,427,464,465,472,476,1771,1773],[93,142,159,160,218,267,289,1771,1773],[93,142,159,160,328,339,342,347,1771,1773],[81,93,142,159,160,209,212,328,331,347,350,384,431,432,433,434,435,446,447,448,449,450,451,452,453,527,1771,1773],[93,142,159,160,209,212,237,328,335,336,337,340,341,1771,1773],[93,142,159,160,174,218,237,339,346,427,428,472,1771,1773],[93,142,159,160,343,1771,1773],[93,142,156,159,160,168,206,218,222,232,264,265,268,320,323,388,422,423,464,475,476,477,479,527,1771,1773],[93,142,159,160,209,210,212,1771,1773],[93,142,159,160,328,1771,1773],[93,141,142,159,160,237,264,265,322,323,324,325,326,327,476,1771,1773],[93,142,159,160,347,1771,1773],[93,141,142,159,160,211,212,222,226,262,328,335,336,337,338,339,342,343,344,345,346,465,1771,1773],[93,142,156,159,160,262,263,335,476,477,1771,1773],[93,142,159,160,237,265,320,323,328,424,476,1771,1773],[93,142,156,159,160,475,477,1771,1773],[93,142,156,159,160,174,472,476,477,1771,1773],[93,142,156,159,160,168,198,212,217,224,226,229,232,239,259,264,265,266,267,268,303,304,306,309,311,314,315,316,317,319,367,422,424,472,475,476,477,1771,1773],[93,142,156,159,160,174,1771,1773],[93,142,159,160,205,206,207,235,472,473,474,479,481,527,1771,1773],[93,142,159,160,202,203,475,1771,1773],[93,142,159,160,396,1771,1773],[93,142,156,159,160,174,185,214,380,384,385,386,387,388,394,395,527,1771,1773],[93,142,159,160,168,185,198,212,214,226,229,265,304,309,319,320,373,400,401,402,408,411,412,422,424,472,475,1771,1773],[93,142,159,160,229,235,242,255,265,323,475,1771,1773],[93,142,156,159,160,185,206,217,226,265,406,472,475,1771,1773],[93,142,159,160,426,1771,1773],[93,142,156,159,160,396,409,410,419,1771,1773],[93,142,159,160,472,475,1771,1773],[93,142,159,160,325,465,1771,1773],[93,142,159,160,226,264,367,481,1771,1773],[93,142,156,159,160,168,204,309,369,373,402,408,411,414,472,1771,1773],[93,142,156,159,160,242,255,373,415,1771,1773],[93,142,159,160,205,266,367,417,475,477,1771,1773],[93,142,156,159,160,185,388,475,1771,1773],[93,142,156,159,160,239,266,367,368,369,378,396,416,418,475,1771,1773],[87,93,142,156,159,160,264,421,479,481,1771,1773],[93,142,159,160,318,422,1771,1773],[93,142,156,159,160,168,212,215,217,218,224,226,232,241,242,255,265,268,304,306,316,319,320,367,400,401,402,403,405,407,422,424,472,481,1771,1773],[93,142,156,159,160,174,242,408,413,419,472,1771,1773],[93,142,159,160,245,246,247,248,249,250,251,252,253,254,1771,1773],[93,142,159,160,259,310,1771,1773],[93,142,159,160,312,1771,1773],[93,142,159,160,310,1771,1773],[93,142,159,160,312,313,1771,1773],[93,142,156,159,160,216,217,218,222,223,476,1771,1773],[93,142,156,159,160,168,204,206,224,228,264,267,268,302,422,472,477,479,481,1771,1773],[93,142,156,159,160,168,185,208,215,216,226,228,265,420,465,471,476,1771,1773],[93,142,159,160,335,1771,1773],[93,142,159,160,336,1771,1773],[93,142,159,160,218,229,464,1771,1773],[93,142,159,160,337,1771,1773],[93,142,159,160,211,1771,1773],[93,142,159,160,213,225,1771,1773],[93,142,156,159,160,213,217,224,1771,1773],[93,142,159,160,220,225,1771,1773],[93,142,159,160,221,1771,1773],[93,142,159,160,213,214,1771,1773],[93,142,159,160,213,269,1771,1773],[93,142,159,160,213,1771,1773],[93,142,159,160,215,259,308,1771,1773],[93,142,159,160,307,1771,1773],[93,142,159,160,212,214,215,1771,1773],[93,142,159,160,215,305,1771,1773],[93,142,159,160,212,214,1771,1773],[93,142,159,160,264,367,1771,1773],[93,142,159,160,464,1771,1773],[93,142,156,159,160,185,224,226,230,264,367,421,424,427,428,429,455,456,459,463,465,472,476,1771,1773],[93,142,159,160,278,281,283,284,297,298,1771,1773],[81,93,142,159,160,195,197,227,457,458,1771,1773],[81,93,142,159,160,195,197,227,457,458,462,1771,1773],[93,142,159,160,351,1771,1773],[93,142,159,160,237,258,263,264,328,329,330,331,332,334,347,348,350,353,421,424,475,477,1771,1773],[93,142,159,160,297,1771,1773],[93,142,156,159,160,302,472,1771,1773],[93,142,159,160,302,1771,1773],[93,142,156,159,160,224,270,299,301,303,421,472,479,481,1771,1773],[93,142,159,160,278,279,280,281,283,284,297,298,480,1771,1773],[87,93,142,156,159,160,168,185,213,214,226,232,264,265,268,367,419,420,422,472,475,476,479,1771,1773],[93,142,159,160,209,212,219,1771,1773],[93,142,159,160,263,265,397,400,1771,1773],[93,142,159,160,263,398,466,467,468,469,470,1771,1773],[93,142,156,159,160,259,475,1771,1773],[93,142,156,159,160,1771,1773],[93,142,159,160,262,347,1771,1773],[93,142,159,160,261,1771,1773],[93,142,159,160,263,316,1771,1773],[93,142,159,160,260,262,475,1771,1773],[93,142,156,159,160,208,263,397,398,399,472,475,476,1771,1773],[81,93,142,159,160,212,218,296,1771,1773],[81,93,142,159,160,210,1771,1773],[93,142,159,160,200,201,1771,1773],[81,93,142,159,160,206,1771,1773],[81,93,142,159,160,212,282,1771,1773],[81,87,93,142,159,160,264,268,479,481,1771,1773],[93,142,159,160,206,503,504,1771,1773],[81,93,142,159,160,277,1771,1773],[81,93,142,159,160,168,185,204,271,273,275,276,481,1771,1773],[93,142,159,160,212,239,476,1771,1773],[93,142,159,160,212,404,1771,1773],[81,93,142,154,156,159,160,168,202,204,277,375,479,480,1771,1773],[81,93,142,159,160,193,194,195,196,197,479,524,952,1771,1773],[81,82,83,84,85,93,142,159,160,1771,1773],[93,142,147,159,160,1771,1773],[93,142,159,160,370,371,372,1771,1773],[93,142,159,160,370,1771,1773],[81,85,93,142,156,158,159,160,168,192,193,194,195,196,197,198,204,232,237,414,442,477,478,481,524,952,1771,1773],[93,142,159,160,489,1771,1773],[93,142,159,160,491,1771,1773],[93,142,159,160,495,1771,1773],[93,142,159,160,943,1771,1773],[93,142,159,160,497,1771,1773],[93,142,159,160,499,500,501,1771,1773],[93,142,159,160,505,1771,1773],[86,93,142,159,160,483,488,490,492,496,498,502,506,508,518,519,521,525,526,527,528,1771,1773],[93,142,159,160,507,1771,1773],[93,142,159,160,517,1771,1773],[93,142,159,160,273,1771,1773],[93,142,159,160,520,1771,1773],[93,141,142,159,160,263,397,398,400,466,467,469,470,522,524,1771,1773],[93,142,159,160,192,1771,1773],[93,142,159,160,750,1771,1773],[93,142,159,160,748,750,1771,1773],[93,142,159,160,739,747,748,749,751,753,1771,1773],[93,142,159,160,737,1771,1773],[93,142,159,160,740,745,750,753,1771,1773],[93,142,159,160,736,753,1771,1773],[93,142,159,160,740,741,744,745,746,753,1771,1773],[93,142,159,160,740,741,742,744,745,753,1771,1773],[93,142,159,160,737,738,739,740,741,745,746,747,749,750,751,753,1771,1773],[93,142,159,160,753,1771,1773],[93,142,159,160,735,737,738,739,740,741,742,744,745,746,747,748,749,750,751,752,1771,1773],[93,142,159,160,735,753,1771,1773],[93,142,159,160,740,742,743,745,746,753,1771,1773],[93,142,159,160,744,753,1771,1773],[93,142,159,160,745,746,750,753,1771,1773],[93,142,159,160,738,748,1771,1773],[93,142,159,160,552,557,637,672,1771,1773],[93,142,159,160,672,673,674,1771,1773],[93,142,159,160,1526,1771,1773],[93,142,159,160,1487,1771,1773],[93,142,159,160,1527,1771,1773],[93,142,159,160,1372,1468,1524,1525,1771,1773],[93,142,159,160,1487,1488,1526,1527,1771,1773],[93,142,159,160,1469,1470,1471,1472,1473,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,1771,1773],[81,93,142,159,160,1493,1528,1771,1773],[81,93,142,159,160,1493,1771,1773],[81,93,142,159,160,1488,1771,1773],[81,93,142,159,160,1528,1771,1773],[81,93,142,159,160,1496,1771,1773],[93,142,159,160,1516,1517,1518,1519,1520,1521,1522,1771,1773],[93,142,159,160,1493,1771,1773],[93,142,159,160,1530,1771,1773],[93,142,159,160,1114,1485,1486,1491,1493,1515,1523,1528,1529,1531,1539,1771,1773],[93,142,159,160,1474,1475,1476,1477,1478,1479,1480,1481,1482,1483,1484,1771,1773],[93,142,159,160,1493,1526,1771,1773],[93,142,159,160,1472,1473,1485,1486,1489,1491,1524,1771,1773],[93,142,159,160,1489,1490,1492,1524,1771,1773],[81,93,142,159,160,1486,1524,1526,1771,1773],[93,142,159,160,1489,1524,1771,1773],[81,93,142,159,160,1485,1486,1515,1523,1771,1773],[81,93,142,159,160,1488,1489,1490,1524,1527,1771,1773],[93,142,159,160,1532,1533,1534,1535,1536,1537,1538,1771,1773],[81,93,142,159,160,1684,1771,1773],[93,142,159,160,1684,1685,1686,1687,1690,1691,1692,1693,1694,1695,1696,1699,1700,1771,1773],[93,142,159,160,1684,1771,1773],[93,142,159,160,1688,1689,1771,1773],[81,93,142,159,160,1681,1684,1771,1773],[93,142,159,160,1678,1679,1681,1771,1773],[93,142,159,160,1674,1677,1679,1681,1771,1773],[93,142,159,160,1678,1681,1771,1773],[81,93,142,159,160,1669,1670,1671,1674,1675,1676,1678,1679,1680,1681,1771,1773],[93,142,159,160,1671,1674,1675,1676,1677,1678,1679,1680,1681,1682,1683,1771,1773],[93,142,159,160,1678,1771,1773],[93,142,159,160,1672,1678,1679,1771,1773],[93,142,159,160,1672,1673,1771,1773],[93,142,159,160,1677,1679,1680,1771,1773],[93,142,159,160,1677,1771,1773],[93,142,159,160,1669,1674,1677,1679,1680,1771,1773],[81,93,142,159,160,1674,1677,1678,1679,1771,1773],[93,142,159,160,1697,1698,1771,1773],[93,142,159,160,1725,1727,1728,1729,1730,1731,1732,1733,1734,1735,1736,1737,1738,1739,1740,1742,1743,1771,1773],[81,93,142,159,160,1726,1771,1773],[81,93,142,159,160,1728,1771,1773],[93,142,159,160,1726,1771,1773],[93,142,159,160,1725,1771,1773],[93,142,159,160,1741,1771,1773],[93,142,159,160,1744,1771,1773],[81,93,142,159,160,1584,1585,1586,1602,1605,1771,1773],[81,93,142,159,160,1584,1585,1586,1595,1603,1623,1771,1773],[81,93,142,159,160,1583,1586,1771,1773],[81,93,142,159,160,1586,1771,1773],[81,93,142,159,160,1584,1585,1586,1771,1773],[81,93,142,159,160,1584,1585,1586,1621,1624,1627,1771,1773],[81,93,142,159,160,1584,1585,1586,1595,1602,1605,1771,1773],[81,93,142,159,160,1584,1585,1586,1595,1603,1615,1771,1773],[81,93,142,159,160,1584,1585,1586,1595,1605,1615,1771,1773],[81,93,142,159,160,1584,1585,1586,1595,1615,1771,1773],[81,93,142,159,160,1584,1585,1586,1590,1596,1602,1607,1625,1626,1771,1773],[93,142,159,160,1586,1771,1773],[81,93,142,159,160,1586,1630,1631,1632,1771,1773],[81,93,142,159,160,1586,1629,1630,1631,1771,1773],[81,93,142,159,160,1586,1603,1771,1773],[81,93,142,159,160,1586,1629,1771,1773],[81,93,142,159,160,1586,1595,1771,1773],[81,93,142,159,160,1586,1587,1588,1771,1773],[81,93,142,159,160,1586,1588,1590,1771,1773],[93,142,159,160,1579,1580,1584,1585,1586,1587,1589,1590,1591,1592,1593,1594,1595,1596,1597,1598,1602,1603,1604,1605,1606,1607,1608,1609,1610,1611,1612,1613,1614,1616,1617,1618,1619,1620,1621,1622,1624,1625,1626,1627,1633,1634,1635,1636,1637,1638,1639,1640,1641,1642,1643,1644,1645,1646,1647,1771,1773],[81,93,142,159,160,1586,1644,1771,1773],[81,93,142,159,160,1586,1598,1771,1773],[81,93,142,159,160,1586,1605,1609,1610,1771,1773],[81,93,142,159,160,1586,1596,1598,1771,1773],[81,93,142,159,160,1586,1601,1771,1773],[81,93,142,159,160,1586,1624,1771,1773],[81,93,142,159,160,1586,1601,1628,1771,1773],[81,93,142,159,160,1589,1629,1771,1773],[81,93,142,159,160,1583,1584,1585,1771,1773],[93,142,159,160,728,757,1771,1773],[93,142,159,160,727,728,1771,1773],[93,142,159,160,174,192,1771,1773],[93,142,159,160,762,1771,1773],[93,107,111,142,159,160,185,1771,1773],[93,107,142,159,160,174,185,1771,1773],[93,102,142,159,160,1771,1773],[93,104,107,142,159,160,182,185,1771,1773],[93,142,159,160,162,182,1771,1773],[93,102,142,159,160,192,1771,1773],[93,104,107,142,159,160,162,185,1771,1773],[93,99,100,103,106,142,153,159,160,174,185,1771,1773],[93,107,114,142,159,160,1771,1773],[93,99,105,142,159,160,1771,1773],[93,107,128,129,142,159,160,1771,1773],[93,103,107,142,159,160,177,185,192,1771,1773],[93,128,142,159,160,192,1771,1773],[93,101,102,142,159,160,192,1771,1773],[93,107,142,159,160,1771,1773],[93,101,102,103,104,105,106,107,108,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,129,130,131,132,133,134,142,159,160,1771,1773],[93,107,122,142,159,160,1771,1773],[93,107,114,115,142,159,160,1771,1773],[93,105,107,115,116,142,159,160,1771,1773],[93,106,142,159,160,1771,1773],[93,99,102,107,142,159,160,1771,1773],[93,107,111,115,116,142,159,160,1771,1773],[93,111,142,159,160,1771,1773],[93,105,107,110,142,159,160,185,1771,1773],[93,99,104,107,114,142,159,160,1771,1773],[93,142,159,160,174,1771,1773],[93,102,107,128,142,159,160,190,192,1771,1773],[93,142,159,160,1582,1771,1773],[93,142,159,160,1600,1771,1773],[93,142,159,160,777,778,1771,1773],[93,142,159,160,777,1771,1773],[93,142,159,160,758,777,778,788,1771,1773],[93,142,153,154,156,157,158,159,160,162,174,182,185,191,192,728,729,730,731,732,733,734,754,755,756,757,1771,1773],[93,142,159,160,730,731,732,733,1771,1773],[93,142,159,160,730,731,732,1771,1773],[93,142,159,160,730,1771,1773],[93,142,159,160,731,1771,1773],[93,142,159,160,728,1771,1773],[93,142,159,160,789,1771,1773],[93,142,159,160,770,783,784,922,1771,1773],[93,142,159,160,759,770,774,775,922,1771,1773],[93,142,159,160,914,1771,1773],[93,142,154,159,160,174,758,759,764,770,771,774,776,779,780,781,782,785,786,788,909,922,1771,1773],[93,142,159,160,770,783,784,785,922,1771,1773],[93,142,159,160,758,787,1771,1773],[93,142,159,160,190,907,1771,1773],[93,142,159,160,770,771,774,776,779,922,1771,1773],[93,142,154,159,160,174,758,759,764,770,771,774,775,776,779,780,781,782,783,784,785,786,787,788,909,922,1771,1773],[93,142,154,159,160,174,190,758,759,764,767,770,771,774,775,776,779,780,781,782,783,784,785,786,787,788,907,908,909,911,912,914,915,916,921,922,1771,1773],[93,142,159,160,868,1771,1773],[93,142,159,160,859,860,1771,1773],[93,142,159,160,856,857,859,861,862,867,1771,1773],[93,142,159,160,857,859,1771,1773],[93,142,159,160,867,1771,1773],[93,142,159,160,859,1771,1773],[93,142,159,160,856,857,859,862,863,864,865,866,1771,1773],[93,142,159,160,856,857,858,1771,1773],[93,142,159,160,227,525,1771,1773],[93,142,154,159,160,164,227,539,722,883,1771,1773],[93,142,154,159,160,164,227,805,905,1771,1773],[93,142,159,160,227,805,905,922,923,1771,1773],[93,142,154,159,160,164,227,905,1771,1773],[93,142,159,160,227,922,1771,1773],[93,142,159,160,227,849,922,1771,1773],[93,142,159,160,227,814,922,1771,1773],[93,142,159,160,227,870,922,1771,1773],[93,142,159,160,227,815,922,1771,1773],[93,142,159,160,227,827,922,1771,1773],[93,142,159,160,227,805,851,922,1771,1773],[93,142,159,160,227,805,808,922,1771,1773],[93,142,159,160,227,813,852,922,1771,1773],[93,142,159,160,227,805,849,922,1771,1773],[93,142,159,160,164,185,227,790,1771,1773]],"fileInfos":[{"version":"e41c290ef7dd7dab3493e6cbe5909e0148edf4a8dad0271be08edec368a0f7b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","impliedFormat":1},{"version":"8fd575e12870e9944c7e1d62e1f5a73fcf23dd8d3a321f2a2c74c20d022283fe","impliedFormat":1},{"version":"e12a46ce14b817d4c9e6b2b478956452330bf00c9801b79de46f7a1815b5bd40","impliedFormat":1},{"version":"4fd3f3422b2d2a3dfd5cdd0f387b3a8ec45f006c6ea896a4cb41264c2100bb2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"69e65d976bf166ce4a9e6f6c18f94d2424bf116e90837ace179610dbccad9b42","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"62bb211266ee48b2d0edf0d8d1b191f0c24fc379a82bd4c1692a082c540bc6b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"f1e2a172204962276504466a6393426d2ca9c54894b1ad0a6c9dad867a65f876","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"b5ce7a470bc3628408429040c4e3a53a27755022a32fd05e2cb694e7015386c7","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"bab26767638ab3557de12c900f0b91f710c7dc40ee9793d5a27d32c04f0bf646","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true,"impliedFormat":1},{"version":"87dc0f382502f5bbce5129bdc0aea21e19a3abbc19259e0b43ae038a9fc4e326","affectsGlobalScope":true,"impliedFormat":1},{"version":"b1cb28af0c891c8c96b2d6b7be76bd394fddcfdb4709a20ba05a7c1605eea0f9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true,"impliedFormat":1},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ece9f17b3866cc077099c73f4983bddbcb1dc7ddb943227f1ec070f529dedd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1c9319a09485199c1f7b0498f2988d6d2249793ef67edda49d1e584746be9032","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3a2a0cee0f03ffdde24d89660eba2685bfbdeae955a6c67e8c4c9fd28928eeb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true,"impliedFormat":1},{"version":"61d6a2092f48af66dbfb220e31eea8b10bc02b6932d6e529005fd2d7b3281290","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"7e29f41b158de217f94cb9676bf9cbd0cd9b5a46e1985141ed36e075c52bf6ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"dc0a7f107690ee5cd8afc8dbf05c4df78085471ce16bdd9881642ec738bc81fe","impliedFormat":1},{"version":"acd8fd5090ac73902278889c38336ff3f48af6ba03aa665eb34a75e7ba1dccc4","impliedFormat":1},{"version":"d6258883868fb2680d2ca96bc8b1352cab69874581493e6d52680c5ffecdb6cc","impliedFormat":1},{"version":"1b61d259de5350f8b1e5db06290d31eaebebc6baafd5f79d314b5af9256d7153","impliedFormat":1},{"version":"f258e3960f324a956fc76a3d3d9e964fff2244ff5859dcc6ce5951e5413ca826","impliedFormat":1},{"version":"643f7232d07bf75e15bd8f658f664d6183a0efaca5eb84b48201c7671a266979","impliedFormat":1},{"version":"21da358700a3893281ce0c517a7a30cbd46be020d9f0c3f2834d0a8ad1f5fc75","impliedFormat":1},{"version":"6c7176368037af28cb72f2392010fa1cef295d6d6744bca8cfb54985f3a18c3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"98cffbf06d6bab333473c70a893770dbe990783904002c4f1a960447b4b53dca","affectsGlobalScope":true,"impliedFormat":1},{"version":"3af97acf03cc97de58a3a4bc91f8f616408099bc4233f6d0852e72a8ffb91ac9","affectsGlobalScope":true,"impliedFormat":1},{"version":"808069bba06b6768b62fd22429b53362e7af342da4a236ed2d2e1c89fcca3b4a","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"b52476feb4a0cbcb25e5931b930fc73cb6643fb1a5060bf8a3dda0eeae5b4b68","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9501cc13ce624c72b61f12b3963e84fad210fbdf0ffbc4590e08460a3f04eba","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0fa06ada475b910e2106c98c68b10483dc8811d0c14a8a8dd36efb2672485b29","impliedFormat":1},{"version":"33e5e9aba62c3193d10d1d33ae1fa75c46a1171cf76fef750777377d53b0303f","impliedFormat":1},{"version":"2b06b93fd01bcd49d1a6bd1f9b65ddcae6480b9a86e9061634d6f8e354c1468f","impliedFormat":1},{"version":"6a0cd27e5dc2cfbe039e731cf879d12b0e2dded06d1b1dedad07f7712de0d7f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f5c844119c43e51ce777c509267f14d6aaf31eafb2c2b002ca35584cd13b29","impliedFormat":1},{"version":"e60477649d6ad21542bd2dc7e3d9ff6853d0797ba9f689ba2f6653818999c264","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"4c829ab315f57c5442c6667b53769975acbf92003a66aef19bce151987675bd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"b2ade7657e2db96d18315694789eff2ddd3d8aea7215b181f8a0b303277cc579","impliedFormat":1},{"version":"9855e02d837744303391e5623a531734443a5f8e6e8755e018c41d63ad797db2","impliedFormat":1},{"version":"4d631b81fa2f07a0e63a9a143d6a82c25c5f051298651a9b69176ba28930756d","impliedFormat":1},{"version":"836a356aae992ff3c28a0212e3eabcb76dd4b0cc06bcb9607aeef560661b860d","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"41670ee38943d9cbb4924e436f56fc19ee94232bc96108562de1a734af20dc2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c906fb15bd2aabc9ed1e3f44eb6a8661199d6c320b3aa196b826121552cb3695","impliedFormat":1},{"version":"22295e8103f1d6d8ea4b5d6211e43421fe4564e34d0dd8e09e520e452d89e659","impliedFormat":1},{"version":"58647d85d0f722a1ce9de50955df60a7489f0593bf1a7015521efe901c06d770","impliedFormat":1},{"version":"6b4e081d55ac24fc8a4631d5dd77fe249fa25900abd7d046abb87d90e3b45645","impliedFormat":1},{"version":"a10f0e1854f3316d7ee437b79649e5a6ae3ae14ffe6322b02d4987071a95362e","impliedFormat":1},{"version":"e208f73ef6a980104304b0d2ca5f6bf1b85de6009d2c7e404028b875020fa8f2","impliedFormat":1},{"version":"d163b6bc2372b4f07260747cbc6c0a6405ab3fbcea3852305e98ac43ca59f5bc","impliedFormat":1},{"version":"e6fa9ad47c5f71ff733744a029d1dc472c618de53804eae08ffc243b936f87ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"83e63d6ccf8ec004a3bb6d58b9bb0104f60e002754b1e968024b320730cc5311","impliedFormat":1},{"version":"24826ed94a78d5c64bd857570fdbd96229ad41b5cb654c08d75a9845e3ab7dde","impliedFormat":1},{"version":"8b479a130ccb62e98f11f136d3ac80f2984fdc07616516d29881f3061f2dd472","impliedFormat":1},{"version":"928af3d90454bf656a52a48679f199f64c1435247d6189d1caf4c68f2eaf921f","affectsGlobalScope":true,"impliedFormat":1},{"version":"bceb58df66ab8fb00170df20cd813978c5ab84be1d285710c4eb005d8e9d8efb","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"77fbe5eecb6fac4b6242bbf6eebfc43e98ce5ccba8fa44e0ef6a95c945ff4d98","impliedFormat":1},{"version":"4f9d8ca0c417b67b69eeb54c7ca1bedd7b56034bb9bfd27c5d4f3bc4692daca7","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"a3fc63c0d7b031693f665f5494412ba4b551fe644ededccc0ab5922401079c95","impliedFormat":1},{"version":"f27524f4bef4b6519c604bdb23bf4465bddcccbf3f003abb901acbd0d7404d99","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"6b039f55681caaf111d5eb84d292b9bee9e0131d0db1ad0871eef0964f533c73","affectsGlobalScope":true,"impliedFormat":1},{"version":"18fd40412d102c5564136f29735e5d1c3b455b8a37f920da79561f1fde068208","impliedFormat":1},{"version":"c8d3e5a18ba35629954e48c4cc8f11dc88224650067a172685c736b27a34a4dc","impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"2b55d426ff2b9087485e52ac4bc7cfafe1dc420fc76dad926cd46526567c501a","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"5b7aa3c4c1a5d81b411e8cb302b45507fea9358d3569196b27eb1a27ae3a90ef","affectsGlobalScope":true,"impliedFormat":1},{"version":"5987a903da92c7462e0b35704ce7da94d7fdc4b89a984871c0e2b87a8aae9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea08a0345023ade2b47fbff5a76d0d0ed8bff10bc9d22b83f40858a8e941501c","impliedFormat":1},{"version":"47613031a5a31510831304405af561b0ffaedb734437c595256bb61a90f9311b","impliedFormat":1},{"version":"ae062ce7d9510060c5d7e7952ae379224fb3f8f2dd74e88959878af2057c143b","impliedFormat":1},{"version":"8a1a0d0a4a06a8d278947fcb66bf684f117bf147f89b06e50662d79a53be3e9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"358765d5ea8afd285d4fd1532e78b88273f18cb3f87403a9b16fef61ac9fdcfe","impliedFormat":1},{"version":"9f55299850d4f0921e79b6bf344b47c420ce0f507b9dcf593e532b09ea7eeea1","impliedFormat":1},{"version":"2beff543f6e9a9701df88daeee3cdd70a34b4a1c11cb4c734472195a5cb2af54","impliedFormat":1},{"version":"2e07abf27aa06353d46f4448c0bbac73431f6065eef7113128a5cd804d0c384d","impliedFormat":1},{"version":"be1cc4d94ea60cbe567bc29ed479d42587bf1e6cba490f123d329976b0fe4ee5","impliedFormat":1},{"version":"42bc0e1a903408137c3df2b06dfd7e402cdab5bbfa5fcfb871b22ebfdb30bd0b","impliedFormat":1},{"version":"9894dafe342b976d251aac58e616ac6df8db91fb9d98934ff9dd103e9e82578f","impliedFormat":1},{"version":"413df52d4ea14472c2fa5bee62f7a40abd1eb49be0b9722ee01ee4e52e63beb2","impliedFormat":1},{"version":"db6d2d9daad8a6d83f281af12ce4355a20b9a3e71b82b9f57cddcca0a8964a96","impliedFormat":1},{"version":"446a50749b24d14deac6f8843e057a6355dd6437d1fac4f9e5ce4a5071f34bff","impliedFormat":1},{"version":"182e9fcbe08ac7c012e0a6e2b5798b4352470be29a64fdc114d23c2bab7d5106","impliedFormat":1},{"version":"2f4e6b4d39426a1b85ecf4bdeb9dddbf4d9b3397d95d8555d46f925c9519ec7d","impliedFormat":1},{"version":"78a2869ad0cbf3f9045dda08c0d4562b7e1b2bfe07b19e0db072f5c3c56e9584","impliedFormat":1},{"version":"89d5d28d4f57e000b836ac273079be1b75710e28ce14750d081fb420d37e2ca5","impliedFormat":1},{"version":"fd4e24ccff3966390600d7f5d6aa1fed5a512e92ada735ea5fbc933d313ad3d3","impliedFormat":1},{"version":"b7cddfe1aa6b86b5fad3c9ccb30d05b3ccb165aebbf112f48d2d8a5f69dd98b1","impliedFormat":1},{"version":"a86f82d646a739041d6702101afa82dcb935c416dd93cbca7fd754fd0282ce1f","impliedFormat":1},{"version":"ad0d1d75d129b1c80f911be438d6b61bfa8703930a8ff2be2f0e1f8a91841c64","impliedFormat":1},{"version":"bd2c7ada3dee03653d3f601011d30072194bc3970cd93208f9588fbdc0c69347","impliedFormat":1},{"version":"e480da45d32313e7174b265674da504f075f59ef326852f0c5a5d863b438ae85","impliedFormat":1},{"version":"ad54850f61fcf5d014e11be80d2f46fea9265cfa7e77456da876f7833ef81769","impliedFormat":1},{"version":"6f7c9e8bd2b5b6a080b07080065f94900bd3c7e5ebbd3047bc33fcce2fab1dd8","impliedFormat":1},{"version":"3e7efde639c6a6c3edb9847b3f61e308bf7a69685b92f665048c45132f51c218","impliedFormat":1},{"version":"df45ca1176e6ac211eae7ddf51336dc075c5314bc5c253651bae639defd5eec5","impliedFormat":1},{"version":"8a0e762ceb20c7e72504feef83d709468a70af4abccb304f32d6b9bac1129b2c","impliedFormat":1},{"version":"da5950ee2a90721df6f3fba45f5d05308f7e4c35835392215dd2cd404505e2de","impliedFormat":1},{"version":"ce75b1aebb33d510ff28af960a9221410a3eaf7f18fc5f21f9404075fba77256","impliedFormat":1},{"version":"f42d5fed19610d485c646a0c430e768115567d078c7fc855c57b0c578b3d6cd3","impliedFormat":1},{"version":"ee8df1cb8d0faaca4013a1b442e99130769ce06f438d18d510fed95890067563","impliedFormat":1},{"version":"d5630f2ad9b4541e5ce891648121022f9412ecdca1820baa1f0104f70fd7eff7","impliedFormat":1},{"version":"4d15375ab13497104bc8fe56fdef2b5fd6853f29255737d23a33fa306ff7fd69","impliedFormat":1},{"version":"2cd3fc1d0d6a1e85baffd2d4f50f5efb192b5446eef567e97c94765402f0aad4","impliedFormat":1},{"version":"e4cbf2f1e89ecccaddd2c045e600ae41b732295953fb06247c7dcbc2d281ed30","impliedFormat":1},{"version":"27bbdb7509a5bb564020321fc5485764d0db3230a10d2336ae5ce2c1d401b0e7","impliedFormat":1},{"version":"8c1697d90c394a6fd955b98eae01238eff628e129b987a68aea10f898a48e7da","impliedFormat":1},{"version":"7580e62139cb2b44a0270c8d01abcbfcba2819a02514a527342447fa69b34ef1","impliedFormat":1},{"version":"42c169fb8c2d42f4f668c624a9a11e719d5d07dacbebb63cbcf7ef365b0a75b3","impliedFormat":1},{"version":"f374cb24e93e7798c4d9e83ff872fa52d2cdb36306392b840a6ddf46cb925cb6","impliedFormat":1},{"version":"d10d63718e1646c2279e3b33831f82c60e31f622b2b7020f1196409ca4c09242","impliedFormat":1},{"version":"106c6025f1d99fd468fd8bf6e5bda724e11e5905a4076c5d29790b6c3745e50c","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"148679c6d0f449210a96e7d2e562d589e56fcde87f843a92808b3ff103f1a774","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"02436d7e9ead85e09a2f8e27d5f47d9464bced31738dec138ca735390815c9f0","impliedFormat":1},{"version":"f8d5ff8eafd37499f2b6a98659dd9b45a321de186b8db6b6142faed0fea3de77","impliedFormat":1},{"version":"c86fe861cf1b4c46a0fb7d74dffe596cf679a2e5e8b1456881313170f092e3fa","impliedFormat":1},{"version":"a22dd55aa4d39906252000ab8e8a1b83b195eef7f4274eb51e457c1f11cf6580","impliedFormat":1},{"version":"540cc83ab772a2c6bc509fe1354f314825b5dba3669efdfbe4693ecd3048e34f","impliedFormat":1},{"version":"121b0696021ab885c570bbeb331be8ad82c6efe2f3b93a6e63874901bebc13e3","impliedFormat":1},{"version":"612d9da66bb046a9c1e2e8d026245ded881fc4b9f98cbfae714415d57ee0ae0b","impliedFormat":1},{"version":"32c2ad9494dad5d11b0564a619fee18f388db6c1e9e2cd3c360b3122549691eb","impliedFormat":1},{"version":"6c301d40aec56a74ec7bd7324e31a728dadf9bfba3e96def02938d3d973534ec","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"aa14cee20aa0db79f8df101fc027d929aec10feb5b8a8da3b9af3895d05b7ba2","impliedFormat":1},{"version":"493c700ac3bd317177b2eb913805c87fe60d4e8af4fb39c41f04ba81fae7e170","impliedFormat":1},{"version":"aeb554d876c6b8c818da2e118d8b11e1e559adbe6bf606cc9a611c1b6c09f670","impliedFormat":1},{"version":"acf5a2ac47b59ca07afa9abbd2b31d001bf7448b041927befae2ea5b1951d9f9","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"d71291eff1e19d8762a908ba947e891af44749f3a2cbc5bd2ec4b72f72ea795f","impliedFormat":1},{"version":"c0480e03db4b816dff2682b347c95f2177699525c54e7e6f6aa8ded890b76be7","impliedFormat":1},{"version":"25a5f6fd3a2243c859eddc99ab5fba11d970af2fe7a5df9c32b7668f76f97b01","impliedFormat":1},{"version":"8d207e1f9d2c30d6f77dfa693f3827c3fbf0d89240297e10bdfe1041d433df68","impliedFormat":1},{"version":"b620391fe8060cf9bedc176a4d01366e6574d7a71e0ac0ab344a4e76576fcbb8","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"2652448ac55a2010a1f71dd141f828b682298d39728f9871e1cdf8696ef443fd","impliedFormat":1},{"version":"d682336018141807fb602709e2d95a192828fcb8d5ba06dda3833a8ea98f69e3","impliedFormat":1},{"version":"6124e973eab8c52cabf3c07575204efc1784aca6b0a30c79eb85fe240a857efa","impliedFormat":1},{"version":"0d891735a21edc75df51f3eb995e18149e119d1ce22fd40db2b260c5960b914e","impliedFormat":1},{"version":"3b414b99a73171e1c4b7b7714e26b87d6c5cb03d200352da5342ab4088a54c85","impliedFormat":1},{"version":"4fbd3116e00ed3a6410499924b6403cc9367fdca303e34838129b328058ede40","impliedFormat":1},{"version":"9c82171d836c47486074e4ca8e059735bf97b205e70b196535b5efd40cbe1bc5","impliedFormat":1},{"version":"8c70ddc0c22d85e56011d49fddfaae3405eb53d47b59327b9dd589e82df672e7","impliedFormat":1},{"version":"2f9c89cbb29d362290531b48880a4024f258c6033aaeb7e59fbc62db26819650","impliedFormat":1},{"version":"a365c4d3bed3be4e4e20793c999c51f5cd7e6792322f14650949d827fbcd170f","impliedFormat":1},{"version":"c5426dbfc1cf90532f66965a7aa8c1136a78d4d0f96d8180ecbfc11d7722f1a5","impliedFormat":1},{"version":"65a15fc47900787c0bd18b603afb98d33ede930bed1798fc984d5ebb78b26cf9","impliedFormat":1},{"version":"9d202701f6e0744adb6314d03d2eb8fc994798fc83d91b691b75b07626a69801","impliedFormat":1},{"version":"de9d2df7663e64e3a91bf495f315a7577e23ba088f2949d5ce9ec96f44fba37d","impliedFormat":1},{"version":"c7af78a2ea7cb1cd009cfb5bdb48cd0b03dad3b54f6da7aab615c2e9e9d570c5","impliedFormat":1},{"version":"1ee45496b5f8bdee6f7abc233355898e5bf9bd51255db65f5ff7ede617ca0027","impliedFormat":1},{"version":"273782b8454e78f6a8b30d2cfbf6860499c930595095fcc1689637115f0eddda","affectsGlobalScope":true,"impliedFormat":1},{"version":"3fbdd025f9d4d820414417eeb4107ffa0078d454a033b506e22d3a23bc3d9c41","affectsGlobalScope":true,"impliedFormat":1},{"version":"dba114fb6a32b355a9cfc26ca2276834d72fe0e94cd2c3494005547025015369","impliedFormat":1},{"version":"a8f8e6ab2fa07b45251f403548b78eaf2022f3c2254df3dc186cb2671fe4996d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa6c12a7c0f6b84d512f200690bfc74819e99efae69e4c95c4cd30f6884c526e","impliedFormat":1},{"version":"f1c32f9ce9c497da4dc215c3bc84b722ea02497d35f9134db3bb40a8d918b92b","impliedFormat":1},{"version":"b73c319af2cc3ef8f6421308a250f328836531ea3761823b4cabbd133047aefa","affectsGlobalScope":true,"impliedFormat":1},{"version":"e433b0337b8106909e7953015e8fa3f2d30797cea27141d1c5b135365bb975a6","impliedFormat":1},{"version":"9f9bb6755a8ce32d656ffa4763a8144aa4f274d6b69b59d7c32811031467216e","impliedFormat":1},{"version":"5c32bdfbd2d65e8fffbb9fbda04d7165e9181b08dad61154961852366deb7540","impliedFormat":1},{"version":"ddff7fc6edbdc5163a09e22bf8df7bef75f75369ebd7ecea95ba55c4386e2441","impliedFormat":1},{"version":"0c05e9842ec4f8b7bfebfd3ca61604bb8c914ba8da9b5337c4f25da427a005f2","impliedFormat":1},{"version":"faed7a5153215dbd6ebe76dfdcc0af0cfe760f7362bed43284be544308b114cf","impliedFormat":1},{"version":"7029e566b8df176f703fb59fd437a38670c7a0e02c58b2d66dfb5b2e2b2defdb","impliedFormat":1},{"version":"7f2aa4d4989a82530aaac3f72b3dceca90e9c25bee0b1a327e8a08a1262435ad","impliedFormat":1},{"version":"d96b39301d0ded3f1a27b47759676a33a02f6f5049bfcbde81e533fd10f50dcb","impliedFormat":1},{"version":"e9f147ecca73d9346a4c073432843c159ccbe50bdcb678a78f6da10eae2cecf4","impliedFormat":1},{"version":"de061f7d72bd65c06fc1419f841dfdcb29a8e22fe6fa527d1e6eb20b897d4de0","impliedFormat":1},{"version":"663beafc2446079574570cba86e9b15f986f908ddb1b01274509970126fee945","impliedFormat":1},{"version":"a3102887d5058bf4cb5b37fa6964c09e9527c42053b3b5c642b89878620748de","impliedFormat":1},{"version":"0aaaa1727edd29673d85c9b26d7ca4d54e5407a48586903c51b48b7f7d196f61","impliedFormat":1},{"version":"d35bca0b261bff02635758c48e8ab99c61c420d0dfabbcf467e847171d876b7d","impliedFormat":1},{"version":"3bc12c40d90c342ff88a3d876996c555ed5cbee5fe8c3308a240b321f401ee46","impliedFormat":1},{"version":"ba130768aae855a5477e9e148e5c879548e6e7ccbcc56fd1934c8a18ea5b7569","impliedFormat":1},{"version":"2e4f37ffe8862b14d8e24ae8763daaa8340c0df0b859d9a9733def0eee7562d9","impliedFormat":1},{"version":"d38530db0601215d6d767f280e3a3c54b2a83b709e8d9001acb6f61c67e965fc","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"b499af2054a037a162b3b72cd886f48bbf32a3502c865c6e29fac7d2ab3ce0b5","impliedFormat":1},{"version":"b83cb14474fa60c5f3ec660146b97d122f0735627f80d82dd03e8caa39b4388c","impliedFormat":1},{"version":"d87f90d2df7b638204d81d6c57e1f2a8cc9317c45ca331c691c375649aa9255c","impliedFormat":1},{"version":"7274fbffbd7c9589d8d0ffba68157237afd5cecff1e99881ea3399127e60572f","impliedFormat":1},{"version":"b73cbf0a72c8800cf8f96a9acfe94f3ad32ca71342a8908b8ae484d61113f647","impliedFormat":1},{"version":"bae6dd176832f6423966647382c0d7ba9e63f8c167522f09a982f086cd4e8b23","impliedFormat":1},{"version":"20865ac316b8893c1a0cc383ccfc1801443fbcc2a7255be166cf90d03fac88c9","impliedFormat":1},{"version":"c9958eb32126a3843deedda8c22fb97024aa5d6dd588b90af2d7f2bfac540f23","impliedFormat":1},{"version":"461d0ad8ae5f2ff981778af912ba71b37a8426a33301daa00f21c6ccb27f8156","impliedFormat":1},{"version":"e927c2c13c4eaf0a7f17e6022eee8519eb29ef42c4c13a31e81a611ab8c95577","impliedFormat":1},{"version":"fcafff163ca5e66d3b87126e756e1b6dfa8c526aa9cd2a2b0a9da837d81bbd72","impliedFormat":1},{"version":"70246ad95ad8a22bdfe806cb5d383a26c0c6e58e7207ab9c431f1cb175aca657","impliedFormat":1},{"version":"f00f3aa5d64ff46e600648b55a79dcd1333458f7a10da2ed594d9f0a44b76d0b","impliedFormat":1},{"version":"772d8d5eb158b6c92412c03228bd9902ccb1457d7a705b8129814a5d1a6308fc","impliedFormat":1},{"version":"802e797bcab5663b2c9f63f51bdf67eff7c41bc64c0fd65e6da3e7941359e2f7","impliedFormat":1},{"version":"b01bd582a6e41457bc56e6f0f9de4cb17f33f5f3843a7cf8210ac9c18472fb0f","impliedFormat":1},{"version":"8b4327413e5af38cd8cb97c59f48c3c866015d5d642f28518e3a891c469f240e","impliedFormat":1},{"version":"4cceef18d7f088e797a463e90b7a9dad10c6bc667724b7686e3e740ae00122be","impliedFormat":1},{"version":"7ee86fbb3754388e004de0ef9e6505485ddfb3be7640783d6d015711c03d302d","impliedFormat":1},{"version":"cc1954b539604b1e562319119ac7e888172208b32ca873f9a357a92c826bd046","impliedFormat":1},{"version":"a67b87d0281c97dfc1197ef28dfe397fc2c865ccd41f7e32b53f647184cc7307","impliedFormat":1},{"version":"771ffb773f1ddd562492a6b9aaca648192ac3f056f0e1d997678ff97dbb6bf9b","impliedFormat":1},{"version":"43e96a3d5d1411ab40ba2f61d6a3192e58177bcf3b133a80ad2a16591611726d","impliedFormat":1},{"version":"232f70c0cf2b432f3a6e56a8dc3417103eb162292a9fd376d51a3a9ea5fbbf6f","impliedFormat":1},{"version":"bb8f2dbc03533abca2066ce4655c119bff353dd4514375beb93c08590c03e023","impliedFormat":1},{"version":"706dd95827e7ebaabda91d5db2b755233e0952d98570e9c032b0f066a15c1177","affectsGlobalScope":true,"impliedFormat":1},{"version":"0b103e9abfe82d14c0ad06a55d9f91d6747154ef7cacc73cf27ecad2bfb3afcf","impliedFormat":1},{"version":"990b8fad2327b77e6920cc792af320e8867e68f02ce849b12c0a6ab9a1aebb09","impliedFormat":1},{"version":"5eb8cd1cb0c9143d74a8190b577c522720878c31aef67d866fcd29973f83e955","impliedFormat":1},{"version":"120599fd965257b1f4d0ff794bc696162832d9d8467224f4665f713a3119078b","impliedFormat":1},{"version":"43ba4f2fa8c698f5c304d21a3ef596741e8e85a810b7c1f9b692653791d8d97a","impliedFormat":1},{"version":"5433f33b0a20300cca35d2f229a7fc20b0e8477c44be2affeb21cb464af60c76","impliedFormat":1},{"version":"db036c56f79186da50af66511d37d9fe77fa6793381927292d17f81f787bb195","impliedFormat":1},{"version":"a6805fcafed712aea7759f8bc731014f9d22738c1d6ef9d43b8091d1d48346d5","impliedFormat":1},{"version":"c49469a5349b3cc1965710b5b0f98ed6c028686aa8450bcb3796728873eb923e","impliedFormat":1},{"version":"4a889f2c763edb4d55cb624257272ac10d04a1cad2ed2948b10ed4a7fda2a428","impliedFormat":1},{"version":"7bb79aa2fead87d9d56294ef71e056487e848d7b550c9a367523ee5416c44cfa","impliedFormat":1},{"version":"d88ea80a6447d7391f52352ec97e56b52ebec934a4a4af6e2464cfd8b39c3ba8","impliedFormat":1},{"version":"142617b3cdf902b69c6464c9fbd942b60ab3e733ca18c032b19e0f7e2adbefe8","impliedFormat":1},{"version":"0b603555f1881f87256ffd6344d3e3ed6d466c2e701eabf381f28be8c2125892","impliedFormat":1},{"version":"897e4f7662488e3ecc79e743bdd3b78f13bdb69a97851afa5b440c4211e32ea9","impliedFormat":1},{"version":"e2e1c6d3b2d93add5200bd7bc1a8cccb4e446836b2111ece45db8683a2c765de","impliedFormat":1},{"version":"251b03d5cd243854ce870d9a9a39f491faf69898c5d6b5eee28cc7649c57417b","impliedFormat":1},{"version":"27ff4196654e6373c9af16b6165120e2dd2169f9ad6abb5c935af5abd8c7938c","impliedFormat":1},{"version":"2c4de79f406d137390608e8c0a44fba2ff8e00bacfcae7c9d1781fef10e9440d","impliedFormat":1},{"version":"07ba23a10465791be5d22deaf5ef7de7658774ddff53721e5ea17fedea1bc721","impliedFormat":1},{"version":"dca8c645c5afeb03b1ecedbf16323f33e7d0afaa6256c8e047e6e38087a97f53","impliedFormat":1},{"version":"775f181bd4a533d6f8b5e55ec1d9f1624559720ae8a70e9432258da26b38d27c","impliedFormat":1},{"version":"796273b2edc72e78a04e86d7c58ae94d370ab93a0ddf40b1aa85a37a1c29ecd7","impliedFormat":1},{"version":"5df15a69187d737d6d8d066e189ae4f97e41f4d53712a46b2710ff9f8563ec9f","impliedFormat":1},{"version":"9109a1291dd4b9f1541bea81ee11c247a2ca9e1ea89f87f13aa1811c3c069616","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"622694a8522b46f6310c2a9b5d2530dde1e2854cb5829354e6d1ff8f371cf469","impliedFormat":1},{"version":"cd8ce8d68567f62dd580b3c3c37777ac3f5b81944c7417f5ea83030eab533385","impliedFormat":1},{"version":"e374d1eaa05b7dc38580062942ac8351ce79cbe11f6dbce4946a582a5680582d","impliedFormat":1},{"version":"9e2739b32f741859263fdba0244c194ca8e96da49b430377930b8f721d77c000","impliedFormat":1},{"version":"a9e6c0ff3f8186fccd05752cf75fc94e147c02645087ac6de5cc16403323d870","impliedFormat":1},{"version":"49af4b52f0d4d2304c5f2c6fe5fab3e153e0acc38830d0202821b877c097dd02","impliedFormat":1},{"version":"49c346823ba6d4b12278c12c977fb3a31c06b9ca719015978cb145eb86da1c61","impliedFormat":1},{"version":"bfac6e50eaa7e73bb66b7e052c38fdc8ccfc8dbde2777648642af33cf349f7f1","impliedFormat":1},{"version":"92f7c1a4da7fbfd67a2228d1687d5c2e1faa0ba865a94d3550a3941d7527a45d","impliedFormat":1},{"version":"f53b120213a9289d9a26f5af90c4c686dd71d91487a0aa5451a38366c70dc64b","impliedFormat":1},{"version":"e68b8e5a1df7c1be2bc105141456ecba70215806e1c28bfbc5c12bfce4be6e68","impliedFormat":1},{"version":"511c8f02329808d47d00b859c532ae9115590048b17325a946c74dac48428650","impliedFormat":1},{"version":"57d67b72e06059adc5e9454de26bbfe567d412b962a501d263c75c2db430f40e","impliedFormat":1},{"version":"b5f9e66625783eefcbe3d2da074b2e7ba2066d61ce3fc6ef4f22805ad946cab4","impliedFormat":1},{"version":"e37115962d284b9f7a37c2bdd2add50f88365dde41f5e0ff591ffc48a8ec7575","impliedFormat":1},{"version":"6459054aabb306821a043e02b89d54da508e3a6966601a41e71c166e4ea1474f","impliedFormat":1},{"version":"bb37588926aba35c9283fe8d46ebf4e79ffe976343105f5c6d45f282793352b2","impliedFormat":1},{"version":"f89488602bec98a142072fae7ea5ba99431a569ff580c64b7be39896474799d8","impliedFormat":1},{"version":"bbbc47961f39a57df103cf4ca3bb8f8732b4b6678a18225a0aa76d59c466956c","impliedFormat":1},{"version":"2e6114a7dd6feeef85b2c80120fdbfb59a5529c0dcc5bfa8447b6996c97a69f5","impliedFormat":1},{"version":"2ffb043dc5163458e473b7010859f86e01dc4edffcae0a93d885d028b426a546","impliedFormat":1},{"version":"c8f004e6036aa1c764ad4ec543cf89a5c1893a9535c80ef3f2b653e370de45e6","impliedFormat":1},{"version":"dd80b1e600d00f5c6a6ba23f455b84a7db121219e68f89f10552c54ba46e4dc9","impliedFormat":1},{"version":"b064c36f35de7387d71c599bfcf28875849a1dbc733e82bd26cae3d1cd060521","impliedFormat":1},{"version":"05c7280d72f3ed26f346cbe7cbbbb002fb7f15739197cbbee6ab3fd1a6cb9347","impliedFormat":1},{"version":"8de9fe97fa9e00ec00666fa77ab6e91b35d25af8ca75dabcb01e14ad3299b150","impliedFormat":1},{"version":"04b7b2e0832dfd3c31e81df3975e8d8fda28e7ff999b0aa2932608a8f6661d5c","impliedFormat":1},{"version":"ca2d34c6ed5cbd3070b8b6f32f42ae54adcc6499c1e4b99f0a5798b3f27cc653","impliedFormat":1},{"version":"9ec68995e66dd6b9dac834bf5ae85fde802714ea2e82151a5d1d53ef01b463ef","impliedFormat":1},{"version":"5c4d626b4902f2ef8a1cc146d761d276cef988016dc674e3b98fbad70e64bc9f","impliedFormat":1},{"version":"fdfaa0aad899524962e2955287b5b991ffe3be50f64e02eb60c933ca44644a94","impliedFormat":1},{"version":"53c972a0f9bc3a4ec70fff7314123ea8cfcf75b3703046f767d2dc1eea87b2fb","impliedFormat":1},{"version":"f974e4a06953682a2c15d5bd5114c0284d5abf8bc0fe4da25cb9159427b70072","impliedFormat":1},{"version":"50256e9c31318487f3752b7ac12ff365c8949953e04568009c8705db802776fb","impliedFormat":1},{"version":"7d73b24e7bf31dfb8a931ca6c4245f6bb0814dfae17e4b60c9e194a631fe5f7b","impliedFormat":1},{"version":"d130c5f73768de51402351d5dc7d1b36eaec980ca697846e53156e4ea9911476","impliedFormat":1},{"version":"413586add0cfe7369b64979d4ec2ed56c3f771c0667fbde1bf1f10063ede0b08","impliedFormat":1},{"version":"06472528e998d152375ad3bd8ebcb69ff4694fd8d2effaf60a9d9f25a37a097a","impliedFormat":1},{"version":"7303b45138d2511035056a5901a1490ebdcbf055cbb1276f8629c5121cbe733e","impliedFormat":1},{"version":"27f874cd5327507eeff699a74567f60c1215b94509f4308633a7b01922471ed2","impliedFormat":1},{"version":"a401617604fa1f6ce437b81689563dfdc377069e4c58465dbd8d16069aede0a5","impliedFormat":1},{"version":"2c6cf04bc525caf6546e859e8ef10bfb9573837ec0bc5ec7b53a7b1b8ca72781","impliedFormat":1},{"version":"8695dec09ad439b0ceef3776ea68a232e381135b516878f0901ed2ea114fd0fe","impliedFormat":1},{"version":"304b44b1e97dd4c94697c3313df89a578dca4930a104454c99863f1784a54357","impliedFormat":1},{"version":"0a437ae178f999b46b6153d79095b60c42c996bc0458c04955f1c996dc68b971","impliedFormat":1},{"version":"74b2a5e5197bd0f2e0077a1ea7c07455bbea67b87b0869d9786d55104006784f","impliedFormat":1},{"version":"4a7baeb6325920044f66c0f8e5e6f1f52e06e6d87588d837bdf44feb6f35c664","impliedFormat":1},{"version":"87cc05fe13108f02e12da7e3efd8e360fef78d96a0c9e11408ea1b1b9fb3e03d","impliedFormat":1},{"version":"1abbf67c218d23c2ce76887caac2df6c7dab3d97ba2b65348432b876f510002a","impliedFormat":1},{"version":"1a82deef4c1d39f6882f28d275cad4c01f907b9b39be9cbc472fcf2cf051e05b","impliedFormat":1},{"version":"4b20fcf10a5413680e39f5666464859fc56b1003e7dfe2405ced82371ebd49b6","impliedFormat":1},{"version":"c06ef3b2569b1c1ad99fcd7fe5fba8d466e2619da5375dfa940a94e0feea899b","impliedFormat":1},{"version":"f7d628893c9fa52ba3ab01bcb5e79191636c4331ee5667ecc6373cbccff8ae12","impliedFormat":1},{"version":"1d879125d1ec570bf04bc1f362fdbe0cb538315c7ac4bcfcdf0c1e9670846aa6","impliedFormat":1},{"version":"8bd496cf710d4873d15e4891a5dbf945673e3321ca74cf75187e347fd5ed295e","impliedFormat":1},{"version":"a6dba407fc287f1e25454e75028c91bbc00675f2d1c4e8b3edcc36c08611a486","impliedFormat":1},{"version":"d663134457d8d669ae0df34eabd57028bddc04fc444c4bc04bc5215afc91e1f4","impliedFormat":1},{"version":"e91f7b1344577a02f051b9b471f33044fef8334a76dc9e1de003d17595a5219b","impliedFormat":1},{"version":"c0723195c85e19656d6b5b9fdb81d3f3403c1ae4679e722c6ea058c516b38d12","impliedFormat":1},{"version":"186eea74805194f04e41038fc5eca653788b9dedbab7c2d7d17e10139622dd92","impliedFormat":1},{"version":"71d9eb4c4e99456b78ae182fb20a5dfc20eb1667f091dbb9335b3c017dd1c783","impliedFormat":1},{"version":"cfa846a7b7847a1d973605fbb8c91f47f3a0f0643c18ac05c47077ebc72e71c7","impliedFormat":1},{"version":"1594da19968752a22b2ac48c2d0e60575700e745c577a8a4a676b841238ad5bb","impliedFormat":1},{"version":"e0cee12109e0a10a4c3d6769fcc7644b7c1ea7f52365bea51728f5af29f8a137","impliedFormat":1},{"version":"7d4254b4c6c67a29d5e7f65e67d72540480ac2cfb041ca484847f5ae70480b62","impliedFormat":1},{"version":"3536968defef8a75514f547ead5e2e9c1e984820290ec9b00c5fdfb6ef786535","impliedFormat":1},{"version":"d83773870080c30a230e322ce13a9c6f3398e8dacea4ea8a83e26370f3bac23e","impliedFormat":1},{"version":"dcfeaf98d66314fec29a9076c4290e45d0b196a65827becc19138e9c7b855f37","impliedFormat":1},{"version":"6849fe9210fe4946d5f085bfed36758f33dc6ae15a751338d178dd4daa017c46","impliedFormat":1},{"version":"888cda0fa66d7f74e985a3f7b1af1f64b8ff03eb3d5e80d051c3cbdeb7f32ab7","impliedFormat":1},{"version":"60681e13f3545be5e9477acb752b741eae6eaf4cc01658a25ec05bff8b82a2ef","impliedFormat":1},{"version":"ffae4e1e06aa848a1e4bcef162cd1c48e5909b26223515981310af9c036bdfc7","impliedFormat":1},{"version":"a57b1802794433adec9ff3fed12aa79d671faed86c49b09e02e1ac41b4f1d33a","impliedFormat":1},{"version":"34e16eb7c31768a11a08aebcfb3d70d7b8f0b016197e98d8419e566ceae6d6c8","impliedFormat":1},{"version":"f94ec1f7e4b709d26960306c9082a7a1b728a6e13089346aa48ba57c74cbf47e","impliedFormat":1},{"version":"9a11cb4033405e96c247cd5aa29790212aaffdd127869e8a5219103f0b389fd5","impliedFormat":1},{"version":"01479d9d5a5dda16d529b91811375187f61a06e74be294a35ecce77e0b9e8d6c","impliedFormat":1},{"version":"aff5213585cb72e94054dfe17250ff315f3569b3919d1ef1ad235f37c4ee894e","impliedFormat":1},{"version":"fb2ea35e1be6388d722d7725e2b49c697d34d9c890c3b96758faaeb86d35cef8","impliedFormat":1},{"version":"ce0df82a9ae6f914ba08409d4d883983cc08e6d59eb2df02d8e4d68309e7848b","impliedFormat":1},{"version":"1a4dc28334a926d90ba6a2d811ba0ff6c22775fcc13679521f034c124269fd40","impliedFormat":1},{"version":"f05315ff85714f0b87cc0b54bcd3dde2716e5a6b99aedcc19cad02bf2403e08c","impliedFormat":1},{"version":"5fad3b31fc17a5bc58095118a8b160f5260964787c52e7eb51e3d4fcf5d4a6f0","impliedFormat":1},{"version":"72105519d0390262cf0abe84cf41c926ade0ff475d35eb21307b2f94de985778","impliedFormat":1},{"version":"456006a6975b26c0a1785feddae165f6d307e2d601ffde27e21fc4a790e448a4","impliedFormat":1},{"version":"c857e0aae3f5f444abd791ec81206020fbcc1223e187316677e026d1c1d6fe08","impliedFormat":1},{"version":"ccf6dd45b708fb74ba9ed0f2478d4eb9195c9dfef0ff83a6092fa3cf2ff53b4f","impliedFormat":1},{"version":"1fe0d18b111e1145a7e7601855bccd4ca20f24e3b9a5aba6bb1fa9d1a7059170","impliedFormat":1},{"version":"5632c3c26d420c063eebe64c45b1248b9492a67bf44f1d0c57e9dc8f6cf449bb","impliedFormat":1},{"version":"0df5aa619ab12993a39ea6dae062ee46eadbb4d738916460e636ada52bced75b","impliedFormat":1},{"version":"8fca3039857709484e5893c05c1f9126ab7451fa6c29e19bb8c2411a2e937345","impliedFormat":1},{"version":"35069c2c417bd7443ae7c7cafd1de02f665bf015479fec998985ffbbf500628c","impliedFormat":1},{"version":"10ab7be91f87ebe8916b62cf28af2e45b5601fc7b0e311adf838f912c6b31dd8","impliedFormat":1},{"version":"bc636fbc08e0979ceb7eb0731a33000283d77a33b62e1f71ee65be50394e40ba","impliedFormat":1},{"version":"7e0b7f91c5ab6e33f511efc640d36e6f933510b11be24f98836a20a2dc914c2d","impliedFormat":1},{"version":"045b752f44bf9bbdcaffd882424ab0e15cb8d11fa94e1448942e338c8ef19fba","impliedFormat":1},{"version":"2894c56cad581928bb37607810af011764a2f511f575d28c9f4af0f2ef02d1ab","impliedFormat":1},{"version":"0a72186f94215d020cb386f7dca81d7495ab6c17066eb07d0f44a5bf33c1b21a","impliedFormat":1},{"version":"75bbd3be047d539988a0ff0b56384ef7a6a25f3b676ad96bee547d44c31622a7","impliedFormat":1},{"version":"42960001a776b089ade681ab5cfddc936e0afb0615133ec1841f3dee89d3e1bf","impliedFormat":1},{"version":"0aedb02516baf3e66b2c1db9fef50666d6ed257edac0f866ea32f1aa05aa474f","impliedFormat":1},{"version":"da47712b394d944328245482603bc6f416d3949b67c9392279caab595076b510","affectsGlobalScope":true,"impliedFormat":1},{"version":"37d0071d8f0a06dc55c2c5e0ec3391affd4fd107c53410bf358196ec0bf3923f","impliedFormat":1},{"version":"b213dad76ca37fd552274c9499056e1c0d9c1bd38a55bb7f68b22ba6b84c3ad7","impliedFormat":1},{"version":"56ccb49443bfb72e5952f7012f0de1a8679f9f75fc93a5c1ac0bafb28725fc5f","impliedFormat":1},{"version":"20fa37b636fdcc1746ea0738f733d0aed17890d1cd7cb1b2f37010222c23f13e","impliedFormat":1},{"version":"d90b9f1520366d713a73bd30c5a9eb0040d0fb6076aff370796bc776fd705943","impliedFormat":1},{"version":"bc03c3c352f689e38c0ddd50c39b1e65d59273991bfc8858a9e3c0ebb79c023b","impliedFormat":1},{"version":"19df3488557c2fc9b4d8f0bac0fd20fb59aa19dec67c81f93813951a81a867f8","affectsGlobalScope":true,"impliedFormat":1},{"version":"b25350193e103ae90423c5418ddb0ad1168dc9c393c9295ef34980b990030617","affectsGlobalScope":true,"impliedFormat":1},{"version":"bef86adb77316505c6b471da1d9b8c9e428867c2566270e8894d4d773a1c4dc2","impliedFormat":1},{"version":"5a49adaef698b7ad7e6127949fa1b0bbd3d46b7cbd11c54e392a4dcdd51f5190","impliedFormat":1},{"version":"96171c03c2e7f314d66d38acd581f9667439845865b7f85da8df598ff9617476","impliedFormat":1},{"version":"27be6622e2922a1b412eb057faa854831b95db9db5035c3f6d4b677b902ab3b7","impliedFormat":1},{"version":"5c634644d45a1b6bc7b05e71e05e52ec04f3d73d9ac85d5927f647a5f965181a","impliedFormat":1},{"version":"2489bf04d77dc025ba67f49f1a56eb24b9db477d5ff88123d887e163ed1776aa","impliedFormat":1},{"version":"63a7595a5015e65262557f883463f934904959da563b4f788306f699411e9bac","impliedFormat":1},{"version":"4ba137d6553965703b6b55fd2000b4e07ba365f8caeb0359162ad7247f9707a6","impliedFormat":1},{"version":"0b77b819b5417775fccb20c678293cf614c054a5b1a65421a5b933a9124ba998","impliedFormat":1},{"version":"e1f6076688a95bd82deaac740fccbe3cdea0d8a22057cccc9c5bce4398bdd33b","impliedFormat":1},{"version":"9252d498a77517aab5d8d4b5eb9d71e4b225bbc7123df9713e08181de63180f6","impliedFormat":1},{"version":"b1f1d57fde8247599731b24a733395c880a6561ec0c882efaaf20d7df968c5af","impliedFormat":1},{"version":"d7c1bbcddb06dcc8c9184013ace33c0dc71af715ab5987ccb42b903d2ec91193","impliedFormat":1},{"version":"35e6379c3f7cb27b111ad4c1aa69538fd8e788ab737b8ff7596a1b40e96f4f90","impliedFormat":1},{"version":"1fffe726740f9787f15b532e1dc870af3cd964dbe29e191e76121aa3dd8693f2","impliedFormat":1},{"version":"5a3ea721d03a361ccbdd7390ccd75f6e84cbca3a3f01f4b331ecc9af31890c49","impliedFormat":1},{"version":"e7dfaee4af38d45b1cab8a1ee0b3bc1f85ddcf64545ed391d675d78ae6526274","affectsGlobalScope":true,"impliedFormat":1},{"version":"98e2b197bf7fe7800f89c87825e2556d66474869845e97ad9c2b36f347c43539","impliedFormat":1},{"version":"af48e58339188d5737b608d41411a9c054685413d8ae88b8c1d0d9bfabdf6e7e","impliedFormat":1},{"version":"616775f16134fa9d01fc677ad3f76e68c051a056c22ab552c64cc281a9686790","impliedFormat":1},{"version":"65c24a8baa2cca1de069a0ba9fba82a173690f52d7e2d0f1f7542d59d5eb4db0","impliedFormat":1},{"version":"f9fe6af238339a0e5f7563acee3178f51db37f32a2e7c09f85273098cee7ec49","impliedFormat":1},{"version":"1de8c302fd35220d8f29dea378a4ae45199dc8ff83ca9923aca1400f2b28848a","impliedFormat":1},{"version":"77e71242e71ebf8528c5802993697878f0533db8f2299b4d36aa015bae08a79c","impliedFormat":1},{"version":"98a787be42bd92f8c2a37d7df5f13e5992da0d967fab794adbb7ee18370f9849","impliedFormat":1},{"version":"332248ee37cca52903572e66c11bef755ccc6e235835e63d3c3e60ddda3e9b93","impliedFormat":1},{"version":"94e8cc88ae2ef3d920bb3bdc369f48436db123aa2dc07f683309ad8c9968a1e1","impliedFormat":1},{"version":"4545c1a1ceca170d5d83452dd7c4994644c35cf676a671412601689d9a62da35","impliedFormat":1},{"version":"320f4091e33548b554d2214ce5fc31c96631b513dffa806e2e3a60766c8c49d9","impliedFormat":1},{"version":"a2d648d333cf67b9aeac5d81a1a379d563a8ffa91ddd61c6179f68de724260ff","impliedFormat":1},{"version":"d90d5f524de38889d1e1dbc2aeef00060d779f8688c02766ddb9ca195e4a713d","impliedFormat":1},{"version":"07ed3ddab975995eea41b22f3010506fb9f5fb301d04820b07d7a1aee5477d7c","impliedFormat":1},{"version":"969d8b0965849f4bae7cab0ba90bd1e1220e95999c2c6f01117fa7500901c017","impliedFormat":1},{"version":"6ec840ee5e2bc103f557fe38b1d585ee250540468713d7634ee066de372bf332","impliedFormat":1},{"version":"b0309e1eda99a9e76f87c18992d9c3689b0938266242835dd4611f2b69efe456","impliedFormat":1},{"version":"47699512e6d8bebf7be488182427189f999affe3addc1c87c882d36b7f2d0b0e","impliedFormat":1},{"version":"6ceb10ca57943be87ff9debe978f4ab73593c0c85ee802c051a93fc96aaf7a20","impliedFormat":1},{"version":"1de3ffe0cc28a9fe2ac761ece075826836b5a02f340b412510a59ba1d41a505a","impliedFormat":1},{"version":"e46d6cc08d243d8d0d83986f609d830991f00450fb234f5b2f861648c42dc0d8","impliedFormat":1},{"version":"1c0a98de1323051010ce5b958ad47bc1c007f7921973123c999300e2b7b0ecc0","impliedFormat":1},{"version":"ff863d17c6c659440f7c5c536e4db7762d8c2565547b2608f36b798a743606ca","impliedFormat":1},{"version":"5412ad0043cd60d1f1406fc12cb4fb987e9a734decbdd4db6f6acf71791e36fe","impliedFormat":1},{"version":"ad036a85efcd9e5b4f7dd5c1a7362c8478f9a3b6c3554654ca24a29aa850a9c5","impliedFormat":1},{"version":"fedebeae32c5cdd1a85b4e0504a01996e4a8adf3dfa72876920d3dd6e42978e7","impliedFormat":1},{"version":"e297c0a524edee7677939122f90027bfbe5f2698939d9a85728e5044b39c7124","impliedFormat":1},{"version":"cdf21eee8007e339b1b9945abf4a7b44930b1d695cc528459e68a3adc39a622e","impliedFormat":1},{"version":"bc9ee0192f056b3d5527bcd78dc3f9e527a9ba2bdc0a2c296fbc9027147df4b2","impliedFormat":1},{"version":"b62381cae176db34f003cc6172ee8f3e0122014889d66391aa73698105cf4934","impliedFormat":1},{"version":"1d9c0a9a6df4e8f29dc84c25c5aa0bb1da5456ebede7a03e03df08bb8b27bae6","impliedFormat":1},{"version":"84380af21da938a567c65ef95aefb5354f676368ee1a1cbb4cae81604a4c7d17","impliedFormat":1},{"version":"1af3e1f2a5d1332e136f8b0b95c0e6c0a02aaabd5092b36b64f3042a03debf28","impliedFormat":1},{"version":"30d8da250766efa99490fc02801047c2c6d72dd0da1bba6581c7e80d1d8842a4","impliedFormat":1},{"version":"03566202f5553bd2d9de22dfab0c61aa163cabb64f0223c08431fb3fc8f70280","impliedFormat":1},{"version":"41eb514d9ce0a6e87957f08a4b7af70d93f87637f37dee706e2d92a6601c25a9","impliedFormat":1},{"version":"e7765aa8bcb74a38b3230d212b4547686eb9796621ffb4367a104451c3f9614f","impliedFormat":1},{"version":"1de80059b8078ea5749941c9f863aa970b4735bdbb003be4925c853a8b6b4450","impliedFormat":1},{"version":"1d079c37fa53e3c21ed3fa214a27507bda9991f2a41458705b19ed8c2b61173d","impliedFormat":1},{"version":"5bf5c7a44e779790d1eb54c234b668b15e34affa95e78eada73e5757f61ed76a","impliedFormat":1},{"version":"5835a6e0d7cd2738e56b671af0e561e7c1b4fb77751383672f4b009f4e161d70","impliedFormat":1},{"version":"4b7f74b772140395e7af67c4841be1ab867c11b3b82a51b1aeb692822b76c872","impliedFormat":1},{"version":"7bd01f0f28cd3aeb2046274d85208e245965f6f2948edf4f7b2057bcf9f22ccc","impliedFormat":99},{"version":"d2f2cf2b8cc92bea913cda4a076e0f790b23a21e84f989d12f0116a7fe3906e0","impliedFormat":99},{"version":"6de125ea94866c736c6d58d68eb15272cf7d1020a5b459fea1c660027eca9a90","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5b20bc288ee49989c95b20847fc93b96bf61cc0845598897a6a53a967dd7d07","affectsGlobalScope":true,"impliedFormat":1},{"version":"064ac1c2ac4b2867c2ceaa74bbdce0cb6a4c16e7c31a6497097159c18f74aa7c","impliedFormat":1},{"version":"3dc14e1ab45e497e5d5e4295271d54ff689aeae00b4277979fdd10fa563540ae","impliedFormat":1},{"version":"d3b315763d91265d6b0e7e7fa93cfdb8a80ce7cdd2d9f55ba0f37a22db00bdb8","impliedFormat":1},{"version":"b789bf89eb19c777ed1e956dbad0925ca795701552d22e68fd130a032008b9f9","impliedFormat":1},{"version":"42fb3e6be3cf1e414dd7f85f41952e01d3d1247e4bc2837c3acefbf8df15848d","affectsGlobalScope":true},"7b550dda9686c16f36a17bf9051d5dbf31e98555b30d114ac49fc49a1e712651",{"version":"bd71532d2ef9685100fc1d5af27700e00c124bcef822714de033d1ef8ceae68d","impliedFormat":1},{"version":"1500f8d59bcddb77e890fe5b7032496ce022480e842f06cbdc373b1e0351b4a4","impliedFormat":1},{"version":"3e9d75b64d36ee20eae2089fab7de08c37d851a61052431a2ad748836a676edf","impliedFormat":1},{"version":"1fd82d80d129bc16cae6ca3f86fd5eeb2f04caf08209a3130928e8c09f894962","impliedFormat":1},{"version":"6a15f821211db88f7bb36c7278d113ef014804ce53689ef8e1a207dce0c848de","impliedFormat":1},{"version":"5e3e75a4982fee4e3435e6b517e7efddcd3c0508d148e35707b78522a76edeb8","impliedFormat":1},{"version":"752c24b6d7e82f3397f60ded02915bfe90df06370d0dc991c3d491ac2b2083cc","impliedFormat":1},{"version":"ddc11f385daa285bb0038898cef607ec492c7072e92df84d52df9d05a7092458","impliedFormat":1},{"version":"a22806a27f1b4c5d5616a87a62a3d89ad5b296fac68ae0a897429eb212ea3136","impliedFormat":1},{"version":"7c2c53a02a478ca87cab2342d35702e201775143cebee8b368372a181209decd","impliedFormat":1},{"version":"181694d1f7a579e57c55efb1418904efc513ebce0b08601e94f288674104359e","impliedFormat":1},{"version":"7e9b2581de465503aad53611709c61a3becd372b86c43bf9863f5715a1616fd5","impliedFormat":1},{"version":"d415bfa0853e03226a2342ab7ee3ef0d085e6d94e7dde869fe745ab11a8b3cc6","impliedFormat":1},{"version":"eed0cfbd238f0f9def37d26d793393c8cfb59afe28ecd1a4639a58905abdadf1","impliedFormat":1},{"version":"014705d98454b8d9f5bbf5c7dffa2079d151866d6e12d552e5faa2df8ee2fd5b","impliedFormat":1},{"version":"ab1296040de80ee4c7cfa5c52ff8f3b34a3f19a80ba4c9d3902ee9f98d34b6b5","impliedFormat":1},{"version":"952dc396aaf92bf4061cefdeb1a8619e52a44d7c3c0cc3bad1a1ddc6c2b417e4","impliedFormat":1},{"version":"416eec23b202526964d0f5ebf0ca9e0d8c08e4260bc0946143b66f1a1e17b787","impliedFormat":1},{"version":"bcb14be213a11d4ae3a33bd4af11d57b50a0897c0f7df0fa98cd8ee80a1b4a20","impliedFormat":1},{"version":"116b961153d86b304e788884c4a05630fe98423bcfc14c7a7ea8d542092aac10","impliedFormat":1},{"version":"f17c007d95f666ecf664ff13ca8efc196980597c4ca152a0baaa82b2525e2328","impliedFormat":1},{"version":"02ff761f690163463a4e7594d666e4c73995c4f72746a5967b3477d9ecf62c4e","impliedFormat":1},{"version":"84206a85be8e7e8f9307c1d5c087aedb4d389e05b755234aa8f37cc22f717aaf","impliedFormat":1},{"version":"45b1df23c0a6e5b45cb8fc998bd90fa9a6a79f2931f6bb1bd15cf8f7efd886d0","impliedFormat":1},{"version":"5f318c52eac7a06cd901b55e8e930d2c3dd51b7dbdca01b130e61c3e9b8b4f0a","impliedFormat":1},{"version":"f5b284ceadf71472a8fbf555dbd91079cce0ce7ba54f65dd63d18deec84cd11d","impliedFormat":1},{"version":"11f848107bc2f7535adccd37b55f018a0f18abbf5a1cd276f5776779618c37ed","impliedFormat":1},{"version":"8f47ed340254a8ccdf37035d9cba70f53a4d899804da840b47f4c3b07a7b2063","impliedFormat":1},{"version":"e79e9c45db9751fa7819ee7ba2eadbe8bface0b0f5d4a93c75f65bbb92e2f5c5","impliedFormat":1},{"version":"50b54f6dac82c34e8c12b35eac220ccc178f51e84813179826da0e3e96283af9","impliedFormat":1},{"version":"8acbcc0484e6495472d86da47abe9765541a2ecbaf88f4fecdab40670aeed333","impliedFormat":1},{"version":"6fd6fcadeab3b973ea52c2dbfcc960f23e086ea3bc07aaa0e1c6d0d690f8e776","impliedFormat":1},{"version":"7eed214004cc8d86022792c07075758fe61847c70c6c360235f3960492fd6155","impliedFormat":1},{"version":"a59fdd5525468b9afe1fef2238f5b990c640723bd430c589b4c963d576209be8","impliedFormat":1},{"version":"23c0f554c1fab508370678aca41cf9b1d6a6a00069e499d803d43387067fea9d","impliedFormat":1},{"version":"016f140691ab5fea3357a89c6a254ff8ada91173d22d36921bb8295fe5d828ab","impliedFormat":1},{"version":"ee219b4332439451cbf9ee34584e8a7e67be35d8ed3d1b292769a09483a102ce","impliedFormat":1},{"version":"305c2373ff739ceca5780a204766c76617e74b551f6fc646a358b5f687a77333","impliedFormat":1},{"version":"61c5821b70e113b15f24593e7061e6302635448ae700d813f06560ca5f140727","impliedFormat":1},{"version":"1e127052ae269b7f278b828978b962eb93bbc6134c0bda8b03e3f39df5c3865d","impliedFormat":1},{"version":"716cb84b8b410c52de9e7b310b2125cbc390a7c59e929a5c0a29514345b9ba9f","impliedFormat":1},{"version":"edabf50cfd2310b9af7214ecb821e0af6c43f66d8b5fb297d532f27bba242088","impliedFormat":1},{"version":"1687d528ca6c51a635f9a4022973f472221700464be83810788238a595cb588c","impliedFormat":1},{"version":"32162214c3f25748f784283a3f6059ad3d09d845faccc52b5c2cf521eace6bd6","impliedFormat":1},{"version":"4a13f78f265e7deb260bd0cc9063b9927a39f99f7cc8bb62b0310aa3a1df3efd","impliedFormat":1},{"version":"c04c509a58cc86b654326592aca64d7ceab81a208735c391dd171ca438114ea9","impliedFormat":1},{"version":"74c6a2352b00e41d352cc23e98e8d6313d5631738a5ea734f1c7bff0192b0f47","impliedFormat":1},{"version":"fc94bcfb823846ba8b4c1727520a3d509c9f517d4e803dfb45e6a71b41000eb8","impliedFormat":1},{"version":"0f6f23cdfb415a7c1c1d825a29d7750a4d65908e519ceff44feca8eb7f9a8ca4","impliedFormat":1},{"version":"e4c09f8a818679f80931fae1d0ca3dec192708c510c9f33fe56d71abe8337c59","impliedFormat":1},{"version":"b1cc0dfdc0455283ccf003185dbbc51e2c15299aff343413310eaf45c4572323","impliedFormat":1},{"version":"6efbec437d1022c2fd82055687710f25019fe703528a7033a3fc6fbfc08b1361","impliedFormat":1},{"version":"2a343c23d4be0af3d5b136ad2009a40d6704c901b6b385cc4df355cf6c0acfaa","impliedFormat":1},{"version":"af4beeac0e879b673f8b874e5fe013bdebfb17f0213142e5037ac90aea86d636","impliedFormat":1},{"version":"c620ccd98c18e71d7e39a79bea47b4f4724c3a1f30f78d2cdd03cf707ae64e4d","impliedFormat":1},{"version":"150f375c7f5c01a15d531c961468f1a04a1c21dc4e4a372ca4661700d66cc9c2","impliedFormat":1},{"version":"8aabc7d8676ba6098fc30c95eca03a331df41ac4c08213207a9329998f32d1b0","impliedFormat":1},{"version":"9d8464e1c6b7f30c4121d28b11c112da81c496c65e65948fbc7d5b5f23b50cdc","impliedFormat":1},{"version":"6b88a632af960a4140730527eb670c3d3e6eae0da573f0df2849909d9bb3e5f3","impliedFormat":1},{"version":"ab2f4f2d874d18918f0abb55e5a89a36ab875e01e3e9efa6e19efbd65295800b","impliedFormat":1},{"version":"2212906ab48ae8891080a68a19ba3ab53a4927d360feb34120051aff4ae980ae","impliedFormat":1},{"version":"309ea20e86462f6f0a60ea7b1a35e70443054cd3e067a3b1a7ec9e357b12c4b4","impliedFormat":1},{"version":"61be4fb5600f49c7f2f5ade98f4d348d72493702dd6ba030275c23b970af3290","impliedFormat":1},{"version":"7461653b170e68cbe4be7bffaf2614ec832f31c99e2e49e4001f02c608ea59cb","impliedFormat":1},{"version":"bfb3200df4675c3b0c4a9346c42df10bd0cc28191e5c4bab51cc3b720b7a9e33","impliedFormat":1},{"version":"415d86471331c03ea56dd1f1bc3316090eef24a1b65a129a14579a97dff19539","impliedFormat":1},{"version":"743f84b507c5f9277e37f5e99b4587f03b9ef871625f7b1c10713ddc57733fca","impliedFormat":1},{"version":"75b894c18d2ee4c8b61e1c7dcfd475e51422ff0b8ce166874e7ab3447092ed25","impliedFormat":1},{"version":"22a1be63fb29b28628376bf90a0cb1706a9e10eda46cacfddbf544913c5d0b4d","impliedFormat":1},{"version":"8223f879f70edb086a7f0ef541eb87fa987c006b28f51aaa4a12b51bb82229f9","impliedFormat":1},{"version":"01ef7c7fc81a6064f52f4830b7c29ca0fcc00b1024dd5d12abc01d93e4266914","impliedFormat":1},{"version":"57610357bc1c035d31aac6cceb4d52655b4326c138a7bcf34d2aa71b33ed6157","impliedFormat":1},{"version":"122c203d7674cd08bf6962dafd4286b3319d8267cf6f513d3b42758f20056fa8","impliedFormat":1},{"version":"da242ab9bfe5833acf730ade2f6966aa207ef4d372de8bc6498b723fef422846","impliedFormat":1},{"version":"ac737900a71c3e090585b62b58864a490066dd4d5b3920fea19aeb5895df0407","impliedFormat":1},{"version":"7a888b10a2b8b0f2980f4c8d6f95d8a3dab3cf936b0bbfaf90b8950c619f0152","impliedFormat":1},{"version":"6fd8108448d9a07abbc520d1041e4ef6e696aa8ba00743267bcad319f0502fc6","impliedFormat":1},{"version":"f6bfdca1b0aee97e70167a35b3aba08cac13280ce8d61d5fd629bce8f44261b0","impliedFormat":1},{"version":"a039d5d54c4d608941aaab6a5d8a24786f03ebe1f810feb6026e184f35b41cf8","impliedFormat":1},{"version":"01ea567dd2334d0707a4cebaa7b1dd035473cfe87c77b0e10aed7e35692d51b2","impliedFormat":1},{"version":"5ea29d748e694add73212d6076aac98b15b87fd2fe413df3bf64c93e065b1524","impliedFormat":1},{"version":"94db805ae4e2a5f805e09458ba2c89c572056f920116ee65beba8c15090b8193","impliedFormat":1},{"version":"df4b5e6fe2a91140a1ed2f8f94e01d4c836a069cee23a2d0a83a00cf649f8505","impliedFormat":1},{"version":"5acef0f6a0afa32b582a7ad0a13688466bece4544ef3c8506131bd7342f528fe","impliedFormat":1},{"version":"4dc9b86feaac2ee1eafa02bd550f5851de7ac604fbf661278b14e40443d9d0e4","impliedFormat":1},{"version":"43879c8f3e8a599baeb696ec2319cafb6458ce1b0045cb2d98699f38ccdaa630","impliedFormat":1},{"version":"d85dda762b52fd95ac7456ab33be540ef9e24339370ab3981b8a4c68232259b4","impliedFormat":1},{"version":"fb0d83c2e2dc390a2a0f5c55834a301fe1cbc1021062d75a27059893f307bcc5","impliedFormat":1},{"version":"17aadaec93ee74b8c244050bd3a8c671c2968307fbef3f375483a185a2462681","impliedFormat":1},{"version":"401fa7edce893a618c09a1bbf3828e688057e4e46ffe020113ce9552cb6bc2d0","impliedFormat":1},{"version":"2e2cf6354f64725b2826804843bdffa041ca7600fef3d29b06b9fa04b96bf99f","impliedFormat":1},{"version":"9aedd5430b48e1ef15ca37a53699394be1aedfb75916eaa7d26f78ab8ef2dbed","impliedFormat":1},{"version":"482603b60ae36425005dda60408d32b75c49ef4b2dd037f64c9ccad0ee320a9d","impliedFormat":1},{"version":"d72f9fcc99d533dcc39bbf01d48f11eb58f5356ff20734c55fe7ae2db0d71720","impliedFormat":1},{"version":"c18304517d056cdf57c142f6bd662ff92672e641693b3cf89208a89ebf7a0141","impliedFormat":1},{"version":"37cb02c345b5315b2e47f41cb6c5946b2a4dbcb033cde3988b793730e343925f","impliedFormat":1},{"version":"950472b97087047840647e295474f799c98a3ac092977e01e7c5f669b88a88d5","impliedFormat":1},{"version":"5defecd97ccc564057ed56028d4ff752ce20fe2c55d89a21331e92494d807f04","impliedFormat":1},{"version":"3f61c190904ca6eae98904614cff4a77a7581bffde53b06846018b0377afbfa8","impliedFormat":1},{"version":"b6ce1e776bff7d6914ba88fc0c079d041cd7a011c8f72e7a53e6aa89c6fb88bc","impliedFormat":1},{"version":"37f5e7d5ba458ea6343ce2884b1278ec5a23c972f021db17c5f47d91b26a1f7a","impliedFormat":1},{"version":"f427ac544498d9c749073ed6bdd314cbbd87240ca9e739db1c7fa2cc1f639ea5","impliedFormat":1},{"version":"41992c944708bdff74908aff1de6fa2d24488325a1f6cace3e1a059c4400976b","impliedFormat":1},{"version":"02ff761f690163463a4e7594d666e4c73995c4f72746a5967b3477d9ecf62c4e","impliedFormat":1},{"version":"84dc97f65f9455619d0721a7e8c9bcafe25d25e4e40d175c09b4a5fa6b012c11","impliedFormat":1},{"version":"005f10cafe0939ae8d6a98e19c4ddf8b59faf3f9ae38dfa5907b82b9a6cb4de9","impliedFormat":1},{"version":"089c056ad8ecb34ee72cb831491ab72c214d8fb7ecf94b96a1b4736ab54397a1","impliedFormat":1},{"version":"e643ef3093cba63af26396ae8dc58dc542c241027749dcdf715f3d3209f79a03","impliedFormat":1},{"version":"f40e6338b8137033a5b4efbe01de45a4399f2c304648eace01d852cd05eb861e","impliedFormat":1},{"version":"89d879fae02696e226dbcb7444d6153158fa264bb646071988f19a2e422b314f","impliedFormat":1},{"version":"57de3f0b1730cf8439c8aa4686f78f38b170a9b55e7a8393ae6f8a524bb3ba5a","impliedFormat":1},{"version":"e933bd300ea4f6c724d222bf2d93a0ae2b1e748baa1db09cb71d67d563794b2d","impliedFormat":1},{"version":"c43d0df83d8bb68ab9e2795cf1ec896ff1b5fab2023c977f3777819bc6b5c880","impliedFormat":1},{"version":"bf810d50332562d1b223a7ce607e5f8dc42714d8a3fa7bf39afe33830e107bf7","impliedFormat":1},{"version":"f025aff69699033567ebb4925578dedb18f63b4aa185f85005451cfd5fc53343","impliedFormat":1},{"version":"3d36c36df6ce6c4c3651a5f804ab07fe1c9bb8ce7d40ef4134038c364b429cb3","impliedFormat":1},{"version":"e9243dd3c92d2c56a2edf96cbce8faf357caf9397b95acaa65e960ad36cb7235","impliedFormat":1},{"version":"a24a9c59b7baecbb85c0ace2c07c9c5b7c2330bb5a2ae5d766f6bbf68f75e727","impliedFormat":1},{"version":"3c264d6a0f6be4f8684cb9e025f32c9b131cca7199c658eea28f0dae1f439124","impliedFormat":1},{"version":"d3cd789b0eebd5cebde1404383fd32c610bec782c74a415aa05ab3593abc35c8","impliedFormat":1},{"version":"8c1babb42f52952a6593b678f4cfb4afea5dc91e5cfaf3ca922cdd2d23b1277a","impliedFormat":1},{"version":"04ebb965333800caba800cabd1e18b02e0e69ab6a6f8948f2d53211df00a193c","impliedFormat":1},{"version":"f8e2be107b3e756e0a1c4f5e195e69dce69d38d0ff5c0b0509933e970c6d915b","impliedFormat":1},{"version":"309e580094520f9675a85c406ab5d1de4735f74a38f36690d569dbc5341f36a8","impliedFormat":1},{"version":"c2fa79fd37e4b0e4040de9d8db1b79accb1f8f63b3458cd0e5dac9d4f9e6f3f1","impliedFormat":1},{"version":"4f0d1a7e2a5a8b85d69f60a7be2a6223827f5fec473ba2142279841a54e8a845","impliedFormat":1},{"version":"ae2fb62b3647083fe8299e95dbfab2063c8301e9a626f42be0f360a57e434797","impliedFormat":1},{"version":"f53d803d9c9c8acdbb82ef5c6b8f224d42be50e9ab8bc09c8a9a942717214f9a","impliedFormat":1},{"version":"d2d70166533a2233aa35977eecea4b08c2f0f2e6e7b56c12a1c613c5ebf2c384","impliedFormat":1},{"version":"1097820fae2d12eb60006de0b5d057105e60d165cf8a6e6125f9876e6335cde7","impliedFormat":1},{"version":"8f62905f50830a638fd1a5ff68d9c8f2c1347ff046908eeb9119d257e8e8ae4a","impliedFormat":1},{"version":"8b4d34279952175f972f1aa62e136248311889148eb40a3e4782b244cece09f3","impliedFormat":1},{"version":"d3c3cc0840704fe524dbe8a812290bfd303e43d3bd43dcaac83ee682d2e15be0","impliedFormat":1},{"version":"71725ba9235f9d2aa02839162b1df2df59fd9dd91c110a54ea02112243d7a4d9","impliedFormat":1},{"version":"80af0c272dcb64518f7768428cdf91d21966a7f24ed0dfc69fad964d4c2ed8c1","impliedFormat":1},{"version":"1dc9702aa16e3ada78c84aa96868a7e5502001c402918b6d85ed25acbe80fd51","impliedFormat":1},{"version":"35f891c1bc36c97469df06316c65a718956515c8b3bdbeb146b468c02493ef13","impliedFormat":1},{"version":"2e9b05d7db853315f44d824e13840e6fdf17d615d13170b5f5cf830442018dcd","impliedFormat":1},{"version":"75efaf7dee18ee6d8f78255e370175a788984656170872fd7c6dfba9ed78e456","impliedFormat":1},{"version":"45801e746ccc061d516dd9b3ada8577176382cbf1fa010921211a697cc362355","impliedFormat":1},{"version":"529f07b003aa6d6916e84a5c503c6dc244280bed1d0e528d49c34fe54960c8dc","impliedFormat":1},{"version":"a4d6781f2d709fe9f1378181deb3f457036c7ebc7968a233f7bc16f343b98ced","impliedFormat":1},{"version":"94d6b9e12ee034b99c3bfff70b5f92df1fbcb1d8ebcb46fd940047fe1bd68db9","impliedFormat":1},{"version":"d0d843664c2251b877ab4d7e67fea4054bad5a33b1f8cce634f0acb4397e4ddb","impliedFormat":1},{"version":"6ae375916cb1ab039b0d8191a1b2a4c5ee7d54ca55523edf9c648751d9bf4f3f","impliedFormat":1},{"version":"cfa00459332e385bd6d999dc1d87adeec5ed7d383bde9f7ebf61159d370e5938","impliedFormat":1},{"version":"5b016a20523753fb55e44223ad7e4f2728a3d6b83771e8f2b52a3212d612f494","impliedFormat":1},{"version":"996e31673fe2d4cbd4708d14dc547f79b694e40d58622c982eb26e15eabd78eb","impliedFormat":1},{"version":"27f91d5df194be07adba9331db4861ebce0250d2401c56d4a56979fa2d8d9685","impliedFormat":1},{"version":"f9a8a74a3277dba5994b7830faa0a72ccbbdde4edc546579ea5f3bfdd833f1c3","impliedFormat":1},{"version":"6396e07ac9d5653e2ea225c491e7d5b548165eddb49e4293dcad42445fdd2b5b","impliedFormat":1},{"version":"4356f53b3bcd48f4253465746ccdb0baa38c6bf929712349bffea5426e59c2f4","impliedFormat":1},{"version":"c07dcc52ff4bf2fe6b9027067089b2696ea8debfab01c5a89567b57c85a8143a","impliedFormat":1},{"version":"01c7b17b4106823329939ac4971770aa720b35749401312a9c6610ba61a689f3","impliedFormat":1},{"version":"53902be908625a56e222e1e005948b242822863c62bbd8fcd1ea047da47ac29e","impliedFormat":1},{"version":"6ff08a01c33e70289d44268bb3954c9f3c71162085b829dc323279fbf3a70b2a","impliedFormat":1},{"version":"35a7696566e4ceabf7bb6e9edf0256c8e8411783565c26511033e2edda9e3911","impliedFormat":1},{"version":"88ab5c0465b89250245fb97b17192adbd7d3ee26b26e29f948a410c4dc554663","impliedFormat":1},{"version":"2368808dcbd42d82a70cccb12a06d6e20022f65e1feaf0251789ee24a85e0e67","impliedFormat":1},{"version":"25f989f57da0150fc531eb60696097517c300e41c48f9a35cf8c39a2884e9e9e","impliedFormat":1},{"version":"801ffcacdae7f0a2486c3ca2cf59022b289519e660a4001acc81cde94080c262","impliedFormat":1},{"version":"eec90c87a90d6f26e36ba3d1048957132682558ef88d0128241b83cee373ede9","impliedFormat":1},{"version":"706623c288a5e8a35eab6317786cc2b8e0e1753f5c3f0d57fe494c1ae269e8a3","impliedFormat":1},{"version":"932cade1c5802123b5831f332ad8a6297f0f7d14d0ee04f5a774408f393e2200","impliedFormat":1},{"version":"95874c2af12afd52e7042a326aef0303f3a6f66733c7f18a88a9c6f3fa78d2ee","impliedFormat":1},{"version":"2859adaa4f2db3d4f0fc37ad86f056045341496b58fba0dbc16a222f9d5d55b1","impliedFormat":1},{"version":"655ed305e8f4cb95d3f578040301a4e4d6ace112b1bd8824cd32bda66c3677d1","impliedFormat":1},{"version":"8511f1d1ea7b35c09639f540810b9e8f29d3c23edbf0c6f2a3f24df9911339a0","impliedFormat":1},{"version":"2ce02eb3ddb9b248ff59ca08c88e0add1942d32d10e38354600d4d3d0e3823f5","impliedFormat":1},{"version":"a8db2bf4766dc9ca09b626483c0c78b8f082f9e664b1aed5775277ca91966a32","impliedFormat":1},{"version":"21489ccc5387a3b7ec72288f35825eef99d1550cb5cf4448655f60788c2dd2bf","impliedFormat":1},{"version":"b97c43cc5c758375c762546242bd2e5dfecea495d11e7ab8670cdf7800a78a55","impliedFormat":1},{"version":"76e8204d6c3f2411c8b0f3e0db34e190880acbc525be4facf882abac3c6e9868","impliedFormat":1},{"version":"ae11c2830121324c7f7b3c2c72f6c96eaeee9bd36217893531f965be93940b01","impliedFormat":1},{"version":"3a8d1eb7be079997217f3343f26d11af23d1e330ae8edaa15d0ee6b3663405bd","impliedFormat":1},{"version":"75191cd4f498eecaa71d357b68f198aabff6e9aeb094783bc2e88224f2440e91","impliedFormat":1},{"version":"68ab7ba45dd13e321f9b4ffa2cc9092c66c8a32eac53f8268ef992c9d83bddae","impliedFormat":1},{"version":"df2f57459fcc94dcfbc999311ce1927d35accdbee5bc79751467f16121ee99b7","impliedFormat":1},{"version":"a0c1105a4dd57d412dceaa7cc2211e9ee7a9102849d69ea6610e690eba6eb24c","impliedFormat":1},{"version":"069953e197846ae2c271627a01f114623b58eac2fd40bc0b49058c7a2cb79d22","impliedFormat":1},{"version":"506b6ed00eaf46798979021e707f4e0a9b5efa39600a0d6fa8d4ba7a96d3331a","impliedFormat":1},{"version":"48d5a3642727e962342b760621baa9b30c05b0c1a327ad1832a53b2f580c62c9","impliedFormat":1},{"version":"655a1702bca6a1c60b932118cf142bcf3d4f246628cbb8a7a1160205f45016e7","impliedFormat":1},{"version":"6dcf9ebaf569318a67670d24958ac49fbb820114ec939c6a019405dd61468f33","impliedFormat":1},{"version":"cec2aaab4a551be0935d6166cb7f098ccfe2172c10e611c9321b3b676a53c496","impliedFormat":1},{"version":"3f08c2595b48fa8b71831fdff3af41bfce96eb48cec81ea6d2d9d9d957cd97fe","impliedFormat":1},{"version":"61dcb5357451ea04ddd06391bbc87ecd9f6b8397d2a386ea40df3b6806141c99","impliedFormat":1},{"version":"f17f889f40110c2dd21e7b8a067af42432a1c34fb16a9e0c8b2c4a3a735a54ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"47b468b147b355fdf30059f6ad308d7d85161c29ebe7cc5d0770ab8191938d98","impliedFormat":1},{"version":"e1eb5f70580ac243224881474cc32f499023a433c06ffabc40bbb32ca7baab1a","impliedFormat":1},{"version":"8fc7c65d1d135f16e083467519ec5e8e1cd6e807ab6448d8c6df5bebde9263cc","signature":"8b4f29d3434820dc290625b2231b79239d7633e0b711c784e9a515ef5bde4cc7"},{"version":"625fa438795e6394a9331dc9d9db8f941e04240dd05b5d02609597608afd0a9a","signature":"dac82def0889da4788920859546b62313bdbb0099d367b33cc52c9f0afc49314"},{"version":"4ee1655397c6a2fdb7b2f6f216beafc197c0d6cdc6d1d8935cd943941fbfb8f6","signature":"12e9ee117b4ecc86558bfa54b7129e86990581e4ff4cff350e04ad1f7f5fd7f1"},{"version":"bd5c3906d1bb096b7c044419aa00d28407e9fb87b15f721ad83fa11fab684bba","signature":"6ed06215475f95a208f003c7a3e86678aee8f082964886aa4d4b585a6024dff9"},{"version":"151ff381ef9ff8da2da9b9663ebf657eac35c4c9a19183420c05728f31a6761d","impliedFormat":1},{"version":"ee70b8037ecdf0de6c04f35277f253663a536d7e38f1539d270e4e916d225a3f","affectsGlobalScope":true,"impliedFormat":1},{"version":"a660aa95476042d3fdcc1343cf6bb8fdf24772d31712b1db321c5a4dcc325434","impliedFormat":1},{"version":"282f98006ed7fa9bb2cd9bdbe2524595cfc4bcd58a0bb3232e4519f2138df811","impliedFormat":1},{"version":"6222e987b58abfe92597e1273ad7233626285bc2d78409d4a7b113d81a83496b","impliedFormat":1},{"version":"cbe726263ae9a7bf32352380f7e8ab66ee25b3457137e316929269c19e18a2be","impliedFormat":1},{"version":"8b96046bf5fb0a815cba6b0880d9f97b7f3a93cf187e8dcfe8e2792e97f38f87","impliedFormat":99},{"version":"bacf2c84cf448b2cd02c717ad46c3d7fd530e0c91282888c923ad64810a4d511","affectsGlobalScope":true,"impliedFormat":1},{"version":"402e5c534fb2b85fa771170595db3ac0dd532112c8fa44fc23f233bc6967488b","impliedFormat":1},{"version":"52dcc257df5119fb66d864625112ce5033ac51a4c2afe376a0b299d2f7f76e4a","impliedFormat":1},{"version":"e5bab5f871ef708d52d47b3e5d0aa72a08ee7a152f33931d9a60809711a2a9a3","impliedFormat":1},{"version":"e16dc2a81595736024a206c7d5c8a39bfe2e6039208ef29981d0d95434ba8fcf","impliedFormat":1},{"version":"cc4a4903fb698ca1d961d4c10dce658aa3a479faf40509d526f122b044eaf6a4","impliedFormat":1},{"version":"19ee8416e6473ed6c7adb868fa796b5653cf0fa2a337658e677eaa0d134388c3","impliedFormat":1},{"version":"1328ab4e442614b28cdb3d4b414cf68325c0da0dca07287a338d0654b7a00261","impliedFormat":1},{"version":"a039dc21f045919f3cbee2ec13812cc6cc3eebc99dae4be00973230f468d19a6","impliedFormat":1},{"version":"3fbe57af01460e49dcd29df55d6931e1672bc6f1be0fb073d11410bc16f9037d","impliedFormat":1},{"version":"f760be449e8562ec5c09bb5187e8e1eabf3c113c0c58cddda53ef8c69f3e2131","impliedFormat":1},{"version":"44325ed13294fce6ab825b82947bbeed2611db7dad9d9135260192f375e5a189","impliedFormat":1},{"version":"e392e8fb5b514eafc585601c1d781485aa6dd6a320e75daf1064a4c6918a1b45","impliedFormat":1},{"version":"46e4a36e8ddbdfb4e7330e11c81c970dc8b218611df9183d39c41c5f8c653b55","impliedFormat":1},{"version":"370bde134aa8c2abc926d0e99d3a4d5d5dba65c6ee65459137e4f02670cbf841","impliedFormat":1},{"version":"6332f565867cf4a740a70e30f31cefba37ef7cebcf74f22eab8d744fde6d193e","impliedFormat":1},{"version":"2977b7884aedc895a1d0c9c210c7cf3272c29d6959a08a6fa3ff71e0aff08175","impliedFormat":1},{"version":"17f2922d41ddd032830a91371c948cd9ce903b35c95adca72271a54584f19b0b","impliedFormat":1},{"version":"3eed76ede2a1a14d7c9bb0a642041282dcc264811139d3dd275c9fe14efc9840","impliedFormat":1},{"version":"e3cf0611709328b449ec13f8c436712d62003620ce480139fae46ce001c2ee9f","impliedFormat":1},{"version":"8d369483f0c2b9ee388129cfdb6a43bc8112b377e86a41884bd06e19ce04f4c1","impliedFormat":99},{"version":"82e687ebd99518bc63ea04b0c3810fb6e50aa6942decd0ca6f7a56d9b9a212a6","impliedFormat":99},{"version":"7f698624bbbb060ece7c0e51b7236520ebada74b747d7523c7df376453ed6fea","impliedFormat":1},{"version":"8f07f2b6514744ac96e51d7cb8518c0f4de319471237ea10cf688b8d0e9d0225","impliedFormat":1},{"version":"257b83faa134d971c738a6b9e4c47e59bb7b23274719d92197580dd662bfafc3","impliedFormat":99},{"version":"d2e64a6f25013b099e83bfadb2c388d7bef3e8f3fdb25528225bbc841e7e7e3a","impliedFormat":99},{"version":"369ba5259e66ca8c7d35e3234f7a2a0863a770fdb8266505747c65cf346a0804","impliedFormat":99},{"version":"64d984f55025daf604f670b7dfd090ea765f2098aee871174ef2ee3e94479098","impliedFormat":99},{"version":"f147b6710441cf3ec3234adf63b0593ce5e8c9b692959d21d3babc8454bcf743","impliedFormat":99},{"version":"e96d5373a66c2cfbbc7e6642cf274055aa2c7ff6bd37be7480c66faf9804db6d","impliedFormat":99},{"version":"02bcdd7a76c5c1c485cbf05626d24c86ac8f9a1d8dc31f8924108bbaa4cf3ba9","impliedFormat":99},{"version":"c874ab6feac6e0fdf9142727c9a876065777a5392f14b0bbcf869b1e69eb46b5","impliedFormat":99},{"version":"7c553fc9e34773ddbaabe0fa1367d4b109101d0868a008f11042bee24b5a925d","impliedFormat":99},{"version":"9962ce696fbdce2421d883ca4b062a54f982496625437ae4d3633376c5ad4a80","impliedFormat":99},{"version":"e3ea467c4a7f743f3548c9ed61300591965b1d12c08c8bb9aaff8a002ba95fce","impliedFormat":99},{"version":"4c17183a07a63bea2653fbfc0a942b027160ddbee823024789a415f9589de327","impliedFormat":99},{"version":"3e2203c892297ea44b87470fde51b3d48cfe3eeb6901995de429539462894464","impliedFormat":99},{"version":"c84bf7a4abc5e7fdf45971a71b25b0e0d34ccd5e720a866dd78bb71d60d41a3f","impliedFormat":99},{"version":"e01ea380015ed698c3c0e2ccd0db72f3fc3ef1abc4519f122aa1c1a8d419a505","impliedFormat":99},{"version":"5ada1f8a9580c0f7478fe03ae3e07e958f0b79bdfb9dd50eeb98c1324f40011b","impliedFormat":99},{"version":"a8301dc90b4bd9fba333226ee0f1681aeeff1bd90233a8f647e687cb4b7d3521","impliedFormat":99},{"version":"e3225dc0bec183183509d290f641786245e6652bc3dce755f7ef404060693c35","impliedFormat":99},{"version":"09a03870ed8c55d7453bc9ad684df88965f2f770f987481ca71b8a09be5205bc","impliedFormat":99},{"version":"e6233e1c976265e85aa8ad76c3881febe6264cb06ae3136f0257e1eab4a6cc5a","impliedFormat":99},{"version":"2cdd50ddc49e2d608ee848fc4ab0db9a2716624fabb4209c7c683d87e54d79c5","impliedFormat":99},{"version":"e431d664338b8470abb1750d699c7dfcebb1a25434559ef85bb96f1e82de5972","impliedFormat":99},{"version":"2c4254139d037c3caca66ce291c1308c1b5092cfcb151eb25980db932dd3b01a","impliedFormat":99},{"version":"970ae00ed018cb96352dc3f37355ef9c2d9f8aa94d7174ccd6d0ed855e462097","impliedFormat":99},{"version":"d2f8dee457ef7660b604226d471d55d927c3051766bdd80353553837492635c3","impliedFormat":99},{"version":"110a503289a2ef76141ffff3ffceb9a1c3662c32748eb9f6777a2bd0866d6fb1","impliedFormat":99},{"version":"69bf2422313487956e4dacf049f30cb91b34968912058d244cb19e4baa24da97","impliedFormat":99},{"version":"310e6b62c493ce991624169a1c1904015769d947be88dc67e00adc7ebebcfa87","impliedFormat":99},{"version":"62fefda288160bf6e435b21cc03d3fbac11193d8d3bd0e82d86623cca7691c29","impliedFormat":99},{"version":"fcc46a8bcbf9bef21023bba1995160a25f0bc590ca3563ec44c315b4f4c1b18a","impliedFormat":99},{"version":"669573548930fb7d0a0761b827e203dc623581e21febf0be80fb02414f217d74","impliedFormat":99},{"version":"f974db5be6d7428044e19c2848e72495a9b56a8d33b6fcab392e7fb5328eb8df","impliedFormat":99},{"version":"aa348c4fb2f8ac77df855f07fb66281c9f6e71746fdff3b13c7932aa7642b788","impliedFormat":99},{"version":"3199efb0fd6792ac46f191ef78a17c5f77e1745ef473c71cc0d6a041a0c83479","signature":"4b96dd19fd2949d28ce80e913412b0026dc421e5bf6c31d87c7b5eb11b5753b4"},{"version":"dbf638b475f5e13b6e0a94f4c3ce88309e28858c11b35e3988f78e97c631c6a5","signature":"4b96dd19fd2949d28ce80e913412b0026dc421e5bf6c31d87c7b5eb11b5753b4"},{"version":"ea43c4da2fe56b305cfd98e0c0d4bd1060c46842bb1504c2d8a50d51ea44b059","signature":"4b96dd19fd2949d28ce80e913412b0026dc421e5bf6c31d87c7b5eb11b5753b4"},{"version":"f8a4e0893aea703c049b57b7860619fa9877abbb9a4f158f21b22ddf01e76f0f","signature":"6ed9c94f927aabb828e1949b030102a09ce2f506cbff37550412e70033dc6e9e"},{"version":"cdbd35458f506b843f280d695d192968af4b0f27db3d5c0707934d97e96dd88d","impliedFormat":1},{"version":"0d86e751cdf42541f9b0dc579f1fad78ba02c9b57104723187d942c53bd63092","impliedFormat":1},{"version":"dae32a2a0cc5be690082fc59bd4b16ab58fc400d8802dc3073657ff4e825c48a","impliedFormat":1},{"version":"654bbcc8726e2a7a684460eda9c7d25847716587b04a72e0b88e75d828aa3db1","impliedFormat":1},{"version":"5c252941b1299551ad4f3f44ef995ee7a79585aebe2c5318271297496f2611c6","impliedFormat":1},{"version":"5a39b65f1aa6dac1a189afe5b95a5dcc0f82459b859ce2377cdfb1e994b90c3d","impliedFormat":1},{"version":"84ab1b8202996d370d7580cd15c85fe5981c9fd8ce4e20019de7203c8e9b594e","impliedFormat":1},{"version":"b7b58b11be801068222c596659957f4defdeec281974feb02a28d9c9ea38cd51","impliedFormat":1},{"version":"27a8d35a2910e71c796d71fb6d570a36dfcaef8cc69bd02e0b14fd143b908e04","impliedFormat":1},{"version":"7a3d5f0f7b701633da88a36f869865c61fe6e00fd9547521133147afe391d1b3","impliedFormat":1},{"version":"7656a4096d1d60bdd81b8b1909afdf0aedb36a1d97b05edf71887d023dd59ea9","impliedFormat":1},{"version":"6fa303b96d93e5fb24c90f12dfd3a0f53b18b8f7b1d22e7b9e9cb5077d8f9108","signature":"fd2054b409c2d94abedcffcc24242121b7c192484212cb2d9b1b114972d4f404"},{"version":"d70f9eaefe73d3840a84890fe8e3cca8428e65cea32c7166d57cca68d186eeb4","signature":"db4122822479abd67f3f0b2f2f25861e3caf04fe0973a0d764e7e36bc3df4148"},{"version":"fe1628d7d953daf654f6e7670a052361f737efb0f9fd296c37d8801ecd46983a","signature":"bee07d34cd49a60655ce16c151da9957f93c86ef96f29cd5d125b08a632e6b61"},{"version":"d488bd13a9d714f30014a5f8a8df1be6b11ae3411efa63ba6643af44749bc153","impliedFormat":1},{"version":"197dd169eff598c8888dd37a3f5c3e45c1759251085119b166c1b37b50ee43b1","impliedFormat":1},{"version":"898f97b7fab287b8dd26c0f8d91fafe17bec2578645a9741ce8242f3c70ae517","impliedFormat":1},{"version":"d5a0858f7e98793a455e8f3d23f04077d1e588e72d82570bca31bab2d9f8ceae","impliedFormat":1},{"version":"6a9069e81da9856ed6780b17db0417d8a8ce217babf3681bfe29dcdad8f15f3d","impliedFormat":1},{"version":"842453114114d514599679b23cf62d6f2252cbd6731d101a0033f6068c5efd94","signature":"2e1213e06fa56524372406adcea2a19734e8c52ee23434d79bdcac5f77ca524b"},{"version":"fb00d13ec5cad6778761b14ad01679153eb5ac566f15f03cd8e834b4fad9983b","signature":"69a01d99446257614e09b8b51c2ecbee24c7525d01d0cffab062877a7f8f0955"},{"version":"76935aafe2c7322f946ac166e33b1ff41bb948a732f7500978e825e0a81d2f51","signature":"3321763c15018a4d20197de5e66d9119599423122d55c98c845440c507b7b1db"},{"version":"ae2b1e46a2f72e81315c6c5c43f2472818ee4f7ff33154d64c84d9cb8e46daec","signature":"e0f8cc9de39ccfe20015acfc60e6939c8796d1f069ce1dacd3859c6c98c3ade9"},{"version":"1499a71b303c1ffd54df26db03d586d5d38c62618c519e806a9e3de38dae686e","signature":"bf14a5be91235f574e16d68ef5eb4eb59a41409075eabbb2a39ed22b9545020c"},{"version":"40f11e12b89c44f73089b81b945484fbf9117fcfecc7af4a0650fca0d0087d95","signature":"9518bbf082b40d78067674c01fecec47fb70edc1c13e90b64d7298822cc95ae6"},{"version":"2a13f26b889a266a4a55c224a4aae94d3a6c160703d573dd8cb2cc8758653aeb","signature":"ae76773186abb83c8dd05a9433e034c6e51382015b7eb865252fdf3121c72313"},{"version":"a059a124d6d2d7530bac76a276d7419fdac41562e7683e78386a026bbadc933d","signature":"a83877ed75e24dd47d245bb16bad9a6ae76d84208d07bdbd981fe74de12d1c6c"},{"version":"b3de84306e70357ba82260c9fa8fbeaf5601f6e71aabe8e1829e9e8632268df0","signature":"4993362aa551e47159786f5d77be6c1223ec855bf940686737a6afe951418d21"},{"version":"78ce398996f8a67a6aa9976bd20f85ee917414b578043235473d5a82d38ccc7e","signature":"5dddf9fed7f9befedd2eb133b4fe1051625bce3b55cd63fdb257001a46f3a1e6"},{"version":"042b1c730536f00d3513ab09d1f2216952aa354e232edc19abd06d45f5c2e1fe","signature":"17bcd2cbd9e90a2750f56b0ad9962da9b86ce3aa1c9c76e225a6f4233242131e"},{"version":"b2d1100961d982ecbb72cd6ed08ea25779b8523b71c76836750ed7cda474d49d","signature":"95600cf6afe56beaac9665bcae225c7e68765d539258922628f697d55b058354"},{"version":"68910609e5cd0046aab78f218a30debac9b06762afe8c94175161951e66145b1","signature":"103949d86734806523a4f938a42d2dd4fd753b678cddba536fa90a3cb7f225d6"},{"version":"7cb95fdfc6f26be1ec3d9aaad83fdaef1dc3fcab80b1501e5c55ef40c4914e98","signature":"bbe5937a09aa2c3fe86bd53e42ffc5082461ed99582ac1deee2c2a6cc2fade14"},{"version":"72c4d5b3143f9566889f8d80c105912778a932fc29cb5ddb50121ede46a89d92","signature":"3dc082271cf03bec741233036b44693bf7303ffb3fbafd8536c995e4160d6b18"},{"version":"4c54300bb2670678e16cb98079486f3f2bfa061dd1b954e7e4a8999959420507","impliedFormat":1},{"version":"1b4bebb7057c294e3baa3fba40d27e240e16493ddea81d8af2363ee1ac03e305","signature":"6a8ec9486cb4c47d3828f29e3cf46a07e75c3651750d71ac8b1696fa33de0791"},{"version":"a9373d52584b48809ffd61d74f5b3dfd127da846e3c4ee3c415560386df3994b","impliedFormat":99},{"version":"caf4af98bf464ad3e10c46cf7d340556f89197aab0f87f032c7b84eb8ddb24d9","impliedFormat":99},{"version":"7ec047b73f621c526468517fea779fec2007dd05baa880989def59126c98ef79","impliedFormat":99},{"version":"c5013d60cbff572255ccc87c314c39e198c8cc6c5aa7855db7a21b79e06a510f","impliedFormat":99},{"version":"c57b441e0c0a9cbdfa7d850dae1f8a387d6f81cbffbc3cd0465d530084c2417d","impliedFormat":99},{"version":"2fbe402f0ee5aa8ab55367f88030f79d46211c0a0f342becaa9f648bf8534e9d","impliedFormat":1},{"version":"b94258ef37e67474ac5522e9c519489a55dcb3d4a8f645e335fc68ea2215fe88","impliedFormat":1},{"version":"8658354b90861a76abc7b3c04ece2124295c7da0cc4c4d31c2c78d8607188d03","impliedFormat":1},{"version":"e46429536f43f5910f5b2b0c50bb2769b510a4558bb4b5d20a3b0a9091dbf7c3","signature":"400b40fe5d5f4140993b0ac871686d2b7611ab791e8810b2e14f2d89701fc49e"},{"version":"37ee2f94a1c5df7a0194cd1740414722e58de5a94fd46e82329b4c217f5fbf36","signature":"710a00acd5f919a99bdd9b40824b024b39e9d546b5e611558fbc0ce155f422d6"},{"version":"3b5f8c9c5257f1cf36a94eeffed2588037e9cc7931d90b752604c2baed30cf81","signature":"f238db8bd54a02c277895ef9300e2d809ef738cfda6e91dd295e48d7196a7f0b"},{"version":"1b43441b273aa21c1e74fefa774d5a7cb50068e5d4c192a8f63b9c95c5580431","signature":"32f7c168ee545e9b432d2a861f4fb0bc645e21e88c774cedf54e72d1e3ccc049"},{"version":"3b5f8c9c5257f1cf36a94eeffed2588037e9cc7931d90b752604c2baed30cf81","signature":"f238db8bd54a02c277895ef9300e2d809ef738cfda6e91dd295e48d7196a7f0b"},{"version":"7911fc20da7c1bf8860879f6417adc93c58ed445e22b331bcb065913e6212841","signature":"32406f4009a1b6615d7b291f9f614ac789735b59fde5525f3d36b514b158eba4"},{"version":"0a85f27a2846ba7c39c561e617d45b44cb8464d664d2d4037ef98e407ef6f82c","signature":"f903d0c52e72e543eb8b577ac6c5c4aa6e80dc1eb7da261775edc786236f2fd4"},{"version":"a12e3223a172bd366b191223599a59bf068b74b64c0dd2a35467ec0dc8080d1f","signature":"d4837328a91f53058734ec71b4230224bf3172fbd86953ffd5fc6991468fa1b7"},{"version":"94b091568641e772bf11fa2349ab26e7cf8f892a7930aa737198cd17ddb1bcfa","signature":"20cae44ce6fabeb0a47a8f1de58d04c9ff760069c1142e6441a15080bdf32708"},{"version":"50a9383d17d9973c3017ab5904132ebb04a87439e58d129d88b80699d5a0f1ae","signature":"0ccb629a2151123906284c317498ebd737a4ee59722cf3d7ff001160a432d432"},{"version":"00852df39903bcae586c2060e8fce611d8be42fe11026fb07025ba8705c84eb3","signature":"0d3e4c6e9f625835144ef2578e10a42b327aa2ff7fe46b960dddb2f124666b4f"},{"version":"6d413a872143e8412d730e5d6ff0d27931394e6398bde5fa3b01aff2c5fddb14","signature":"8e7e1c454896a754cffa74b82cbe919da1acbec9fa3780350be1906af34e897c"},{"version":"cb99206ef158f9ca64968766e286838bee7ee53b2be8a77a98b9305d775e6125","signature":"e713391f294f91c813829a03e93f28ba633332b32261217eb26f4aeb1e729ff0"},{"version":"550b34f12d08b2829618b1be8172bc010e2baa9d26f17bda7b0ff8857dadb9e3","signature":"bcbccad6c2fc1b7fbd297bab8cd538a94cc04d2f2af184589fb8be27f2194a4b"},{"version":"ddf6b01646122efc8c86375f86dc14fa59c113b031a1f4f16e5b90b20b4a65d3","signature":"e033d09fb5fafb262c0a62e9c53da2a1ea5b322e468cb9b2b66569f0d2a974af"},{"version":"e519ce2b0b3923a8e7a78e8ecdd9df3bad3782387520def51c307677d7fcf2a5","signature":"d47e443d8869921cb769765e42ec0e7525d0f0f17cbdc15e6252059cd71beb4d"},{"version":"09960773470e03338011b23b2c5f98c42148accbec39dee44d475d500491e1d9","signature":"b7e1a759233aca6619760f30960cb41c39ff1afed3e51ebda3acb348b7de3482"},{"version":"d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5","impliedFormat":1},{"version":"293eadad9dead44c6fd1db6de552663c33f215c55a1bfa2802a1bceed88ff0ec","impliedFormat":1},{"version":"833e92c058d033cde3f29a6c7603f517001d1ddd8020bc94d2067a3bc69b2a8e","impliedFormat":1},{"version":"08b2fae7b0f553ad9f79faec864b179fc58bc172e295a70943e8585dd85f600c","impliedFormat":1},{"version":"f12edf1672a94c578eca32216839604f1e1c16b40a1896198deabf99c882b340","impliedFormat":1},{"version":"e3498cf5e428e6c6b9e97bd88736f26d6cf147dedbfa5a8ad3ed8e05e059af8a","impliedFormat":1},{"version":"dba3f34531fd9b1b6e072928b6f885aa4d28dd6789cbd0e93563d43f4b62da53","impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":1},{"version":"e4b03ddcf8563b1c0aee782a185286ed85a255ce8a30df8453aade2188bbc904","impliedFormat":1},{"version":"2329d90062487e1eaca87b5e06abcbbeeecf80a82f65f949fd332cfcf824b87b","impliedFormat":1},{"version":"25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262","impliedFormat":1},{"version":"4fdb529707247a1a917a4626bfb6a293d52cd8ee57ccf03830ec91d39d606d6d","impliedFormat":1},{"version":"a9ebb67d6bbead6044b43714b50dcb77b8f7541ffe803046fdec1714c1eba206","impliedFormat":1},{"version":"5780b706cece027f0d4444fbb4e1af62dc51e19da7c3d3719f67b22b033859b9","impliedFormat":1},{"version":"b2c6c3d31cbed9a8b02b9aafb55f9f93090d44f032efa30de68617fd039d2030","signature":"5754e59cf4111f12e809f9a57d72c4898055f72d7ea4426b8b2c4741989bd6c3"},{"version":"1e2163ae17cf19f1c1ea9093f6ebaff01b48f38191221ea767ae83c721b9c2f6","impliedFormat":1},{"version":"3ba2febe74741cd904e1543af71e461a4958060817bd415e48ce019f9138588b","impliedFormat":1},{"version":"d50e8c3ede7635bd7adbdfa1e2d67e53d7f776bcda71599d7bc4c4513a640900","impliedFormat":1},{"version":"4f9c7bb8ad1824d80b6dad1fb9b9d16b16711b0abf6310f3e9920080ac3cbb36","impliedFormat":1},{"version":"4e12a77955772fbef1c0b7e5a8ec1366c1f65ca814c7796200cb77644f47f016","impliedFormat":1},{"version":"e605e0d80c5c72078d95814ae0233220b7eb7de4133d74ea0e939f6ff6c1b32a","impliedFormat":1},{"version":"01f37a126fd0123f283de7a8948c524c470589e4a484f7feb1245000c467f993","impliedFormat":1},{"version":"a68f2c54a7ea3c3f6bddcbe082c6577f8ddcdfbc98cea62884d0bef95aea6d4b","impliedFormat":1},{"version":"87c95a764e805bd584f47fce680a038e8c994a168a4bf2fa2c903f3ff7963524","impliedFormat":1},{"version":"26859100325a713f0f6be33f88ca82fed0d44c32ee4487ff3db39b72d675fdc4","impliedFormat":1},{"version":"9fe62175a94addab3f5d81ca26c5dd5eb4c1fae5a2e51807563c56457bd17721","impliedFormat":1},{"version":"2304bb78254e907df33ce92191d5b23dd5cdcd68b82ae8a41628e71bf3c7d3ef","impliedFormat":1},{"version":"705b89f719845a12b9bb4fcccd52dce29857494908ee6efcb481e2ec0f4aca7b","impliedFormat":1},{"version":"399dc210e42ef10b3ea207df71ac17e96320b0a7b696373e74dbc5df2efcb73a","signature":"df7a7939fa508ea369c734c762fd616dda97d192afbc6a82a5452740afd86d44"},{"version":"3d59bf11fffa85e54dfd4b50054664d014cc605b72ce60318f523e427fd99655","signature":"918ad805a38f3ca75830eaff2956f2670f4f3e88d2776fdc8a51f4214e578f02"},{"version":"fdb51e4793edbb4efcabc6385f427858ffdc7c435b28607f519a87394bfb2800","signature":"9169a39a3a574329c9ebed1ca4c349b6b54203eea3f65d92e342308682dece0b"},{"version":"f1d10d0c73eff8edfe8067c4a6aa442ec5433a837e6db7063db677cb5d4e4147","impliedFormat":1},{"version":"76d05f74738803d2079d5bd16b2ca667930f8b0c8c2268c5b41f77df9cb251c5","impliedFormat":1},{"version":"c1c48c344b692d15ac2967966b880111a1be8f51060e968dacec5ac9aac722cc","impliedFormat":1},{"version":"a0b7e4b84b52f872a363ce25aa5232efb617442dde54ad6920e50c0aa1dd933e","impliedFormat":1},{"version":"6773e0f5acdff242d7f686bd20910be96af0cc22205c042e7884f0fcf0339efa","impliedFormat":1},{"version":"f4f924f379dcd0b01a00181e02e1731ecdb62c61c46c17703d182a2650f50b39","impliedFormat":1},{"version":"08f8f0964227b04179b9086168309668bcb5913e47250dc0f049d564f4da594e","impliedFormat":1},{"version":"7820fe061431bdba0b819b6582ede2e05adc62caa4df077c0d1e655eaf0f7a5f","impliedFormat":1},{"version":"d69ac15196597b626de2d013fba011558d6c61ac5f5a1d8204157875fdec4b8d","impliedFormat":1},{"version":"b07ec15bc09909bfb190b793627f2dbec053163caefb1fd6d4f6aa76d88a29ca","impliedFormat":1},{"version":"9508bf9db05fe73847021c361c7f925c8326763cab53737958cfef9fa126cb5f","impliedFormat":1},{"version":"8c58a42464e63fcd9958d03e7d42b04dfbaa00171e14d9e0c54800e5defd3784","impliedFormat":1},{"version":"37b92684a256e2cd399127f82f0200d898c6e0b98300739a61d290a5a1a3d557","impliedFormat":1},{"version":"26233e13f02e90b6f438d665af6fd2234f722b33be81a80a65bae433c163cdab","impliedFormat":1},{"version":"1baec60d4d336d81eb675e4ffcdfbf50f5cdb1f555e748aa8e17e9686be60bd1","impliedFormat":1},{"version":"5bc7721c39f2bcc4ef5bd084e11d4649cb812fff6d37fa54411674d5435aa112","impliedFormat":1},{"version":"eabea9cda1d4c7539d6f8dbeae9703bec671fc26e7482fe4b7e1effaaa651870","impliedFormat":1},{"version":"74d414f8c5b664dd0f5239704a70cb7a4c25b0c8ca632005f02308c4e4279d26","impliedFormat":1},{"version":"fcc9d944e0fa38d0b05897d9ba60781cc0a6da4c2a9b5c190d4dc816ee4f4273","impliedFormat":1},{"version":"33c2805445e6e3282d90041cc827c90c200ae98f049073708d3746608ed011f0","signature":"76f1c77f230eec4b6c720038630a0f78999fd0a0f7a6783d8b62bd9b696a59a5"},{"version":"0309a01650023994ed96edbd675ea4fdc3779a823ce716ad876cc77afb792b62","impliedFormat":99},{"version":"f13d7beeea58e219daef3a40e0dc4f2bd7d9581ac04cedec236102a12dfd2090","impliedFormat":99},{"version":"48c411efce1848d1ed55de41d7deb93cbf7c04080912fd87aa517ed25ef42639","affectsGlobalScope":true,"impliedFormat":1},{"version":"a094636c05f3e75cb072684dd42cd25a4c1324bec4a866706c85c04cecd49613","affectsGlobalScope":true,"impliedFormat":99},{"version":"fe2d63fcfdde197391b6b70daf7be8c02a60afa90754a5f4a04bdc367f62793d","impliedFormat":99},{"version":"9a3e2c85ec1ab7a0874a19814cc73c691b716282cb727914093089c5a8475955","impliedFormat":99},{"version":"cbdc781d2429935c9c42acd680f2a53a9f633e8de03290ec6ea818e4f7bff19a","impliedFormat":99},{"version":"9f6d9f5dd710922f82f69abf9a324e28122b5f31ae6f6ce78427716db30a377e","impliedFormat":99},{"version":"ac2414a284bdecfd6ab7b87578744ab056cd04dd574b17853cd76830ef5b72f2","impliedFormat":99},{"version":"c3f921bbc9d2e65bd503a56fbc66da910e68467baedb0b9db0cc939e1876c0d7","impliedFormat":99},{"version":"c30a41267fc04c6518b17e55dcb2b810f267af4314b0b6d7df1c33a76ce1b330","impliedFormat":1},{"version":"72422d0bac4076912385d0c10911b82e4694fc106e2d70added091f88f0824ba","impliedFormat":1},{"version":"da251b82c25bee1d93f9fd80c5a61d945da4f708ca21285541d7aff83ecb8200","impliedFormat":1},{"version":"64db14db2bf37ac089766fdb3c7e1160fabc10e9929bc2deeede7237e4419fc8","impliedFormat":1},{"version":"98b94085c9f78eba36d3d2314affe973e8994f99864b8708122750788825c771","impliedFormat":1},{"version":"0cc99fbb161d78729d71fad66c6c363e3095862d6277160f29fa960744b785c6","affectsGlobalScope":true,"impliedFormat":99},{"version":"b6f40bc2efa755bb5a0367566a4f2020b768bc4f3881a55b9e40dd2a7a7b87bf","signature":"394f6534d7054310afb553c9c0cbccf79aff46c427d62b9878f296633108245d"},{"version":"7a64618116beb790d3159a3a145e9b68b762491934433e0beb06d93c427fd336","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e36380e326b9ed6dea622d402755e07209311ca1d37382eccbd7243c6a94af47","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"147b89d5242cf647d554cae0bb03f7e3de39e5430a78ded9a8d9eed9d95ceac3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4f3c1f10e8af3369b21d45bcf2e81f004ac8e28f602e9152bd7784098992d5b1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b0f857fb290a653351414d798374f240bdc9a48b4097e6656268a931c2516a4e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e368e5f9f6e2aa754e64ecc23226e3e78fba9e7e44646bb3b55219781ae5e482","signature":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","affectsGlobalScope":true},{"version":"ca4ca7019d7a27316d7362da9bf72fed8aa05686de25f8febbbb4d500f726352","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"10157db45c6a9c5f2daba88e42043fe640ceb5484e42a441908088ef36fcab75","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"07dfb49eed88f49f6ea5dc809e2c7de0c5d4ff1cf3da5808eefdd1b9e39e61ed","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5b3a1c57528ba69f40543ccc5519e39143b761bf8a4cddf9ab4334aae4358b56","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"921916b47c36e8ead3d985bc061d1dcb5027def6f242983c76f7cf1667919c4b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9d2ce8ef0a3a0a69342da0c3035635449888a4b5292b94b4308081e496c4726d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e1c75bef16cb1900872a0745dea9743cc32116bc8da389e2d88d219dc0fd2b8d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6d2e2925d354aa9aedc9c9c6cfb1efdc6fd2e844b3d65ce5a50a05c16d85b652","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b522db4dbad940b31d5382ae20ebf362d7d929cff62fdd24e16aa5b31fc95ce1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b68e87b21d5bdbc33969d39a7b276342fbf223159a2744e124b892176c170169","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2362c0b19b50661bdce39c17b81cdc24cad0d42a9d53a691c6be6c5faa7f06d8","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2663fb3980209e0596df1852403d8cca9248b8ca86392a071568e6201f280001","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"fe93c474ab38ac02e30e3af073412b4f92b740152cf3a751fdaee8cbea982341","impliedFormat":1},{"version":"3255b97f3f24af29c79cc1aa88004efb13b6285ebdde0a567bf32e19bb65250d","impliedFormat":1},{"version":"1e00b8bf9e3766c958218cd6144ffe08418286f89ff44ba5a2cc830c03dd22c7","impliedFormat":1},{"version":"6e33223b4de404a63f431d223ce05f7c6afbeff873199b608773bdd9ad70f9cc","affectsGlobalScope":true,"impliedFormat":99},{"version":"aaa137244668d5000cf65b9fef1e2fe27e6be6e030d8c7f1d680341b56a2c2f3","signature":"8000afd8be3da06deec57867d192421df0a1f7a84054d25cb272437ba2e3b47e"},{"version":"4372974c7a61ecfa8d855a25b717cb04752e80f7685fef78ce24d8a15805f119","signature":"f7e282e72cde10862cd8ce8805016645a49b895035f39791a1fee6f300302e0d"},{"version":"58590c4dc13f9e6ea1464f13ea794f8c19ac95ecb8cd71b611e04fe971dbf84f","signature":"11ec656c71cf64147c36964b7bc9c741a7c2b3e3838cb1926295acb992b73b14"},{"version":"5db980b9e7c994b51ad01e3e7d642634e941567134de400927bc4ad68a523a69","signature":"4676f50bee2bf7c1d9cd74f83f8f4fcb4b32719c9545fb206e694164ac2322ae"},{"version":"5fea2486c1da31d5b47ea5c423b2507ec0efca3dd91792deabbfa9d86d6da448","signature":"06987ed088fd35273d8be03f35027e7fce83284c4afd7734c14d5bc5769d167f"},{"version":"ed1a99e57f3e4fe47addc9593ea24f0b198bbc87d48519f1e9f7249a91e2af31","signature":"6171c673e99895b411dbd416f9fb27f1558a779524d9297772d0b0f091aab4fa"},{"version":"a346701ad6dcdaa58e388fe0995fc5304c09c395b8cba68ed872780f8c102004","impliedFormat":99},{"version":"7cb96ee534dedef7eb138952dc02fda0cb2caf2e02f2d3c08afab7f978d58dc3","signature":"171b593e7d096c79ddcaf10da3111066ec0608f62633dbc643117b023d279bc0"},{"version":"db726916b739ccfe583694c9636e42de2a7f028d4b6fe3f5ebc621f616eb19e4","signature":"c85244ac5c3c80511058cbd6ca38eeb748525e08d090f312a4858d37d967b79f"},{"version":"db912c5082800bc1f219cea45bb637dc8d26f54a3881c02d9e960726f4ac1eb8","signature":"1043c497f77ed2451a49a4fde80a171b375ea0bc554ac33d929ae2858abba968"},{"version":"823dd66b5c24c66498aac7ae678c2f0814e65e53b65e887736cb1c651ae3627d","signature":"248705b390f502aac0ae24888936fbc83b3e5916693baba7086150e8b6abd6a1"},{"version":"9b04448729b949433b4ade298b51b2ef22ef83526c393b9816b255665dca3e68","signature":"f0ddb53df9a844624e69d3dc7dbed14965a04122cf1d639d625d2f0650e8fe62"},{"version":"36b20000508997532fbea51d936e3cf8dc703e1e416bef9e00dff664f05057b8","signature":"0c594909f250069d1aea127c2f24d3246af6e450a6e280871ec1c751748d0944"},{"version":"aa746caf4b774931121ea3d5134a52c60ea9655230ab5a0045873a64320098d9","signature":"4700694dfabd3f749ec00d345f77a5aa63190cca29e959beb9eca57f7d96d1c6"},{"version":"006b673fb9c6922aae885173748176c0daec31d8b396a04335143808a5ec89c4","signature":"4bee0726981e0857928e286c1778d6935dbdcd9fa66d256174860c5d951a8721"},{"version":"00dbf4bde0c458e6b46fcd7acec29f387c7958645277c45500b137973657a8fb","signature":"ced1432f241ae8e46ba87a46a084a10828fe8b2f602ecda6ec9c3b47d6695248"},{"version":"83f23ad2c6aa8f100f677581be8c9173b1291720f2af45b960bd43ba19a9d4bd","signature":"ad76819ac5acc24bb85f10ca7cd177ab6f22b10d01530a32d71ad9598c1d61bd"},{"version":"f0cc17c3b251ddd8f29664fdf532bfb100faea9d411d5e3964ba7b95d577ec5b","signature":"77129ce45a937e93d3dce14c2de330d0a75370eed8f9c9b905c36cb273df950d"},{"version":"7f0023e401c760fdce590f7dbb263e8c9b6f4471bdaf407b6157714f9e702542","signature":"239de7357bee058760afe6d8108792c66f3e35cd9f74b288a5317c141e3826a8"},{"version":"a29bd12be03c8b05de8648a664205a7cedf1cc26461a753ddb72fb8b8efbf6fd","signature":"ac947a81f9fd55e794cda3b515b9599e1791205165c3f45649113b217294e245"},{"version":"901a99f4e2efb0edec385c2729cb0cbc5813e68a68fb4579bdc13aa59cd873d0","signature":"73e5b7a00c97b320715faaf88a9213ddb3393a0d966023e2245d2230dd10335c"},{"version":"5641e54e48a61321b7b1b03c3da3d633d9a23f6e4b9cdb662c5cddbb76c50cce","signature":"be9fdf87d66930660cb2190107e90c28608195008a81e9996dab546ceb957b52"},{"version":"1c77f0cb929e31cc441a3bdf26b3651a1d5c9aacb6e23d9341eaf1662c859569","signature":"7a633b33540097747dbde69cb92293a0cb432a436acfbf3ee604cf7d2ce5f280"},{"version":"50ea3966e4765b401969e6cc1a3d7fe38dbe469aeb34ea330c4f80906e64ab51","signature":"91463f4efd9dab0f478a6baa9a1266e40172f7b596328f6ec42e0cbbdac71b8c"},{"version":"407907dddbfa248a866c8b56c610e79c99d9a025ab2e2dd80099aa9c3529c5c8","signature":"4635ab547ad19e32755b8315a919fd76a344968ae7ea54f85bc08625e63c9855"},{"version":"5ff7210a95ec65f6a276c9394a84b6ad10b22505b26ab16dc1b938691b41844b","signature":"254f2d0412cb6449f13413c24b5120cfe8442111bd3f7fcea54239ae1fb9dbcd"},{"version":"7ddf3cfe8b36b647a37c7ed3c233704d686a6d546b64402a6a1e54bfa265efee","signature":"a7aa4ca6623df027ee1a4998ac1d1e1dbddd5161fbec0a5ea05a2d0853479d9b"},{"version":"28888d02e30fa8081cd6252b9f3fee4aa3216c608a2b1581b7817bb5dfcafcf2","signature":"0198d9333ebc7f8e2e5c60b7917a5e4a8849269e09d88f7d63cca35cf67c4592"},{"version":"e2dca0dc67708a6d9756b11c40cb8b33c8d12e311884058113b47a52ee5c34d9","signature":"7366ef9071b257c64ef13441648dbb1ac473bba083356d9b4ca4581109e67f71"},{"version":"150553ce304a14060ae30682ba14db83cc5c6a811f272fe068772cf574336918","signature":"9392cff4c3ccabf213309ce39544f7372af805a23bd8f3d0b23530979177ea55"},{"version":"b80ad6a5c764b3eb59788c37d6c4871fbbf07bc364f6544c35b4eb61db6b2dbb","signature":"e902b6f68888de2b4785face50f0b92337635b13cd3a475fae4c66f5cd5e141c"},{"version":"bf7e9e5024ceee8f12febbc0ccb2fb53eab40f4316e4ec3b8bed3681965e2417","signature":"964bf2e49997a970b4e532d9179fec2efc61527d6489842d470f0d9f6afb255d"},{"version":"a9ae7d9a6628150246078a22dad4084dd76234f1f42dc9d8408ef1aa0ffde5eb","signature":"7dbcaf9533e75200dc24a916356e52c6a09cc4f7fcfae6f3883f3722a1ad5d61"},{"version":"cba5bc67535110d589525064d504fac20a0d3f2bcf14e549ca3988eff6d878ea","signature":"2dc7238964ac69c37b38ddf442768cfc0a6be0d415ee115a823e7afbdba546fe"},{"version":"afd4e5c1d32fe27196599b850b158a89a34fc00d2c55570e72f6b38072c71a8c","signature":"5b44b451d5ae7c740cf2739074bf6222f11e0f0adabf29118c34a60f12af82cc"},{"version":"df1c05605ee27dbfd752a99b50f2fc4fa89a5109e05a36fbc4e67cc5d8c4c864","signature":"e66505ed8c6478a526f96b7eea646a0ab02fa6c37648f175e307ff9eb1d25fa8"},{"version":"7df74332af3ac6d581dc872dc77c28f5889fee99da8a28b2b12e707c079efc15","signature":"db0de7a12a7dc714f578f90c48f78e0e5dadd29e6a85826f1c150dd52c36b8fa"},{"version":"ed955ca54583a8cb9502d136a6acee58bb6d208dfd15436b2dbefe53188244ce","signature":"e0979b1050f874febb5fffc8a1dc1b728dcb35f4d36a834bb66b33910561a28e"},{"version":"ef11fe436505ea7671d36661837cdb98d5b0e60f26898d2772e0e1a1a3219db8","signature":"60ee7eeb43017c05f5bfdf6485621ab533adc487a85261612e15ccf276f07836"},{"version":"9c220f7425bc6cb24aa6b38c6375c55d73218cebd83108f0a0e82bcbee8492f4","signature":"4edefc81156a239b6b03b186e93faceccd10b1167625724044429880efc7f2f5"},{"version":"2bc222ac147c64a087a8ac7b89b03284c95127e8c8d1eb2696907ca51a5e8fe4","signature":"a80a5097036100840a1fe904ce5bd38c9f2e6193c9d3196b0e709bc66d97be41"},{"version":"5c702097b79dd4708ce15582ed4b3f42f48fc40fb783b9025cdd391016fadd8c","signature":"64182d13188524f5f8906846006b2cbbf13bc7e4f9b89ac0fc2ef6c677ab23e6"},{"version":"115c859509e2bde22ef97ac2fe351c0cb2bd897f846aa45336ef941c90b597dc","impliedFormat":99},{"version":"79721ecdc73abe914ef5adb573cbfe8e8a7cd71f4ce82b0deccae921628a422e","signature":"a2c7797009b70eb52348e41a67459b3906c8ac468912c27a98574f7bc69de38a"},{"version":"76a9d681afaacb0e9d3e9af58d339f862d2eb6b6733e5a306bbf3d2f4eec3868","signature":"822d991b4986d54b97bc7d08cb8a7f3213b51edfff57122c821ad9a73ebae6cb"},{"version":"9724bcc6fe7ab37385fb3fd790972b9b9e0f99dd7db5eaaa2e87ef3d4196d736","signature":"67dfebd66d8651887b54d63d5816c4a90ef322d5579b9b47b078f94d4fe47b90"},{"version":"eb37e123f9d93dff4d46e89c03abfd60428bb381b86c455ee5790192f9ddea6f","signature":"c0f29f97cf72d4cd8ed2ec1cada93c2135b88962cda2fe579e2249721fe32e75"},{"version":"b49e0a10b0752f6f0d992bc87033128bcff849a6b29f5ee3f9c3528cf8f50b01","signature":"98434ed05a6a75435c505db2d7879113d7e65dbe842381176c38d36998cc4e41"},{"version":"ac3df436c52133e80820497dfb5fcf208ee5c0fdecc75b98ef9b2917b9e635b0","signature":"62b2f4129fb58b08ab3553307b41aa933142a016ff76012e7d26f844c2cf44e5"},{"version":"d3abe45d682e4febf7390d365c69a160e2156dcad22625b2f5489f464658a6aa","signature":"697c0ac1721ba85ec04be8ab39f47d73bedd8e2d55b711745c14cde38e8ea985"},{"version":"df20ff82361e8109ab2d4c055dfbfbb93e28de02a6411fd0b414e9f8f2e52abd","signature":"285238eb95909d7c27fd98a3a1de43bed3e41220f7ac364e31f8195f92ca987e"},{"version":"05d9b7244f10dbcd7edf40f9af81749a47cab3e1b758ab613aefb8704899e133","signature":"c97030eab9e358e68f1c70998363aecea3fdce3b38f3832644cb8e7c7764a65b"},{"version":"6d7b4fbb9ec429006dff47ee929b76d2b2a3f682f3419971f9226d44ae572778","signature":"0ec93629cfd99d26d0225c378572d114562702ec0e8b652a6b2d0f0f6c5ef503"},{"version":"6da728750c67c82c9edf912d78f373e18f0ac3fbe3ba95286a4f60730f50b47c","signature":"8ba01ae5d0ade7b20a590b443419655bf2337968fca7d87e809289309e18f36b"},{"version":"4368fe719ed584b967e25bddcebc2e9892e9b238be3a1cd3e40307f4400b1521","signature":"169586a67ce7dee1034f614cee95ff898a88822c7fe5dbc794bb112b5d8f4db8"},{"version":"0b63fe47383260ce1d27dfcb6b88a2e17cef82abea81ce6a1b62b7187e678488","signature":"886a2069ce42f7bf55baba0047fe251b5f336b3fb06df28f6914b101edeaf930"},{"version":"a7fbc38d1e005d6b966e63ac48115e6bdaf4a93246d94f64e5bb4d8c3b5aadce","signature":"c0efe7b29098f7f49a9d242b51215e3c2edeea1fdbe775fd93d58ff5b8c682d8"},{"version":"32143b3e9488590350155e32cddc198c20f7f83908e49ddff2b8bedca3892f33","signature":"a6df73fc08ea6f2c24ddaad8b3a4e967079af6f2ccfadb845bd2c979e09bbe9a"},{"version":"4e7f2315a9ca9fea972f3c3481342b36cd755dba37f35b2ad454723859b7af0d","signature":"1a30d4ebd9126c35f33756940d4e4d6d00337d10c98b96a680a9fa82dea447c8"},{"version":"29d4f26c8eb09dd13a06068abfaf4d891a168d02e915423e5f19ab2f8e2efba4","signature":"8626bc2d28f81058cc21974b461150efc87807b61429c2911c3c7598464af530"},{"version":"2f1127757db7e68daa7ae6d1f18cce1d9c178223f75a899d4956645680fab2e5","signature":"5f15b86916caa5f7befa35bca073d61b00801c1248cdcc21233bc5f6df058856"},{"version":"d4135bf02443b62d8a883567bd93440edcc9dd14b77310525c68186be7ff165b","signature":"904debe1aa988d5720874e18979aa0cf1a92fb84fb4da1e3d3d73ef7532462be"},{"version":"f25f4aa289a11a6735eefc7cd0ce5f85359b7ed0c81ac6d98478e9d131a166e1","signature":"5c30c5a74eaf5b9c981b9d8c9002c464fe6b96d04a54884769f3982663e27ebf"},{"version":"caf4af98bf464ad3e10c46cf7d340556f89197aab0f87f032c7b84eb8ddb24d9","impliedFormat":99},{"version":"71acd198e19fa38447a3cbc5c33f2f5a719d933fccf314aaff0e8b0593271324","impliedFormat":99},{"version":"dfd466a53a86f0bd002050d33e96b5385ac4e102e93485ff8d9943fdc2fbeb12","signature":"bb0dfbd93a35b232bb2b36042266c565e235afd18be59f6568c76ce998c22234"},{"version":"b67dea8a8d35c004c6d94c22aacbbf2340b0e536c614e4c87a69d8814a7b4502","signature":"3309423a2837bf899df1568eaa9c41430753bf2957451b4b0494c7e4f829ada1"},{"version":"ac3af1fdac2d0795fdee4f28fcb0da2a2aefc0c428e1f6c640fba553eba158e1","signature":"972c711055e029e0650ad81cc14b92426a65c11a198b67efc40af8e395ef0a6a"},{"version":"7b425e907607442aa65df951ae3f9b28bcf189b74250c17528d270a98ca7ead5","signature":"064c58c74c8cdedeae7024e4c8801dd48d674561809fd9448c79566283854eef"},{"version":"541ffffc9e6533063116770ae651e359b41de8546c52a29a3b560074878a37db","signature":"93cbe28740c0a714593faad25b594962c03c44e6d9fc85b3c467ae4c2f39f005"},{"version":"7590151b26b5ab4a6a6a142e3636d3be7716cf520f54a2ff75d61e31740460ed","signature":"48ce6782ddafceb64328a816678f98cf662e6d1a16955218d094f476904ddd23"},{"version":"e9bab5eb3850e99a5f9b9bfd91b531e53530674fb1c381cb33943a906a771a01","signature":"80eb3d26011f447341d4a36ee59d629f8847db59908ec382813db6a666bc18bd"},{"version":"15fe687c59d62741b4494d5e623d497d55eb38966ecf5bea7f36e48fc3fbe15e","impliedFormat":1},{"version":"2b6ec8950599c0726f0ec925ed3a8e147f0a85009a0c91c77e3cbc56a5ad5a02","impliedFormat":99},{"version":"ebeadde9612fd023e900496704064e1c6d0be89e9ca567dbedfe2ca6b9cea735","impliedFormat":99},{"version":"edd6040f6ca92d4b487cef451b7b33241bd5d75ea00e9e791e8732f307bda048","signature":"b8699f38ef7fb96d76de1f255fc37ee39abeac41184755b2f190ceec8240e4ee"},{"version":"bf919bf87560e80e08c859efca43291a34c48d46e8d54f46a8d85731d9991cd1","signature":"ce379c50c5c126ca315b138e37224731eb84f2c63704be56660b13b72e56df5b"},{"version":"5d7a42bee648293b76ac3da24a695c710302acfb10a15c58077cca2455d25805","signature":"1b97933626af2745edc2f350a6d0caa79f282103e6e4ff58998ffd883c5a487b"},{"version":"2d98ad52d79e4d5c346baf5c61c0ecb0c8917d0eadf113f1cfc27c44c058e00f","signature":"e4f1a77245e9a616ec641166da50b75dddfed5e6e40e85f7c7a3d82e48a24c47"},{"version":"b5d8b2a11bf875d8b531be6deec917c49bb641d17b369ce94b5433704f402d21","signature":"7a0ebc54f5b3c7937efcd6c9e52c754cc967ecb04f7cc888e0ad33d867858c76"},{"version":"1ddf3032bcce8a5212af623c72f8c034bdf89ff5b853cd56d0de26f07c8c1816","signature":"5be3203a30e047b20f6955fbfdbf8ef9ee1b6cd82e55ad31e318417e86ade6b1"},{"version":"b47ec64dc94b6124879b1e04bf35af23be20ff5b7367c6c690cd8dcac1f7abb9","signature":"4ce710b55d63b2d527a7e1a71bc8acedf0a0090c79b292930ad63fffa8b90d5f"},{"version":"a7f80b91b62ba9b5f733c635caace8a104e20d58cf266921546977b73a1585ff","signature":"2e4e29cf92a7ce5b64d08195b9d5c6445a2b110b5174adce32c15fa3ae592c69"},{"version":"ec942825454b3f20e367fe06bde1bd470304f6987dbd644a8b5ab36cf6749f3f","signature":"cd9b7e7b5dd71a693371645163e7ed28242bf55b92f2a658a09ce575d8af6113"},{"version":"75f59a0d59ab1ce3307a56c276b153ce7bba0516ba40b7325beac4ecc480d945","signature":"c50578a9f51ce444556114aed0119face9f19856c19c886b90657a2bf520cea1"},{"version":"373aafbc76907968f44cbf6647ec8f0afa9e64047f75e174512930907bef9b33","signature":"70669acd8e1436dfd63ffd9bc7f5e26980350507348a058b564ef20903b49ebd"},{"version":"cfb938b8ec67b15f1163abf56001716bffb706ea6e50305e00a2d9c023edefb2","signature":"e7335fdc093ade3bcd466ff8352ef95702de8b8f6d341ae7e49587c14deab6f5"},{"version":"daa0eb34cf9ae014d1ed292636abbd43ed4ec6b42dd14e60fe795c3b2300cfc4","signature":"c9b131c7e29755466a2e3c2c4896cfd2579654686cf7545693752fa4669cacae"},{"version":"5f4b3359fc71f18e6f5daa4f23fbe2aece02272e6b93eb3e794d336009eda03f","signature":"822d2abcd7adbc3e09e69b6d502776b3ffc86937e00b686765ca5a269ce551a0"},{"version":"0fce02c9316a75b4a97987a320863cfb47d040b16dc5e924691f7a1beae5a6a8","signature":"ce366f111dbb29bf43e2dfa84711e4cd67a560fe4254ee17551b2d4a5b688c26"},{"version":"a57ba85f8d0392b5d28bded3dec06f5d370f8b188940c92c5a18115bf20dbf14","signature":"8de1cf72c7bd93329d3956e8501b219032f6cd23c44c78f7f85167637d1ba7b1"},{"version":"aa33e5aedce46597b35669ae80ac7d3b2c8f8335ccc594a75b1d8f8b65d9df11","signature":"295d7e8cafe641356009481cf1befa292bede8e6fcef05eacb93151911d7aa83"},{"version":"280dc52ec56efb97164addf21a607a3444831c3311d25728be7302a27b5674de","signature":"f91322ec943522d4a8067dff4b5ffc7d9d9b17084a83ce1aaae919702a0fba3c"},{"version":"ba529cb429af1ca12d8673ab84da4f142012f72f7ebfe8966175b033991fd4b8","signature":"e561cef83b21cd10c162924f7f785aa30a1a9869e3c5c73c7c38ac46b224db98"},{"version":"0a020a3bf4ddba448ec43932f3ab9f2c3bfd9f3860f5bf79e155c5fd2f9acfdc","signature":"bf93cc2d12d8fc10055b711eefd1c25bbbbde22a791cc9c8dfd459f841f7ce29"},{"version":"4cdddb1ede1b65dd6c42e6d9ce69ae8758c4de13dda6db6ae2934d9e1c9a7f7a","signature":"288d13190912295d7025b217bd6cf68e5871774df7a0181a441383dc733a33ca"},{"version":"8e127414cb9d8279edff835839f3c3baafd21bcc024ac7e02d0480abbca52326","signature":"34ea665e0cdd7c5f7ecdcd421a0b1482d47e6612733580e00a2745f279a19432"},{"version":"3770ed561dadaa1530802fcb0c34ad59e141e15fa84cb3f405937783668a1d5e","signature":"410fa9c815c0fb21541beb4a493a954acb49a3589adeed62be1f99419074f893"},{"version":"a5ed8a6bcd15e2100d8e58326e4e5eb15a37b0ce9c809924d0d94ea756f103a0","signature":"bfbfb5da2672542187ff1390d5fd578aedc1d372f92b8f2f62ba56dac74b1328"},{"version":"ce31b442fda5f1f15d72e447482901baac00e2e34c0d6a6da1eea438d8c4f87d","signature":"166cfdb4e4cb6ddd7ad6ae7b418d8c8ebaefc86e7bce4c71270cbcf7da9e9292"},{"version":"7d372af3987f7ce08e5c89935763714d5a69bac877b64f5dbc9699251177ceed","signature":"4b87a0e125a2ee58d056ec733501bdf70c84c405c380ae98c84b5c19154ac5e8"},{"version":"4ad4378aeea43621957da3c52353da5687e2bcd32bc52f4c00672a0621c9a8fc","signature":"2af055f16ebdd21cffc468298036c526486b794a85150e939ad3b022cdba723a"},{"version":"8613e297afea111110ff33d262cf84ca259bd500b8b163bc7edef48a98d2a966","signature":"e0964b07a6da8be0019f04be45968c67f1e512380015c677c7db20fcf077aeb7"},{"version":"53d65e57d1a314a9e84d30c7a4c666db0a96e708c7675b7281b407e20019a102","signature":"82007a55f8a97943d16a14551d2e8eb31a415a920fec7d51a0d529d018f54617"},{"version":"d46785e38210fe20b0a865d5d88b55a20c31194a9050aa15dde0315c13bbc53a","signature":"c6179d1d5bbba5a5509873ae73538335061c703069424fc04606ca414660f9ef"},{"version":"0feb65a0967d2482d47aece7f14bb8bdeaeb5d9f828c9351ecef7cb406bbac4d","signature":"c818c7e331ada03b73a83993119583693d419d6e411e634349a1343f01c2b8e0"},{"version":"6ff2ec600a544dfa83182d5174cb76845428d6cca0f42c72f59873ae72621d3d","signature":"cc57f36d860cfc1005e7c6630424e32200824b16843cd9892c2974132b032cde"},{"version":"5b8b552ec4e924056da66a478c3d51761296e8ddceff9b047acc1fbf88154a69","signature":"3396b8f04165c0921c46fcaa5d0f5afd46b761724e6d86432f4a7d7d0636b79b"},{"version":"d834028f4c754991a04318699d9dea2c19c971696d909f0ff04952e0fde37f35","signature":"6b2c6a617a84f35c2c8f2e51faf56ec6a74f77785132723f7e343d5272c1b742"},{"version":"16ef615c9cbee5b35d1633f587ba2d06297ef6aaabaad20323a29317fd982210","signature":"7f5497aeced54141e2274d029b0b3d95ea70cd5c7cc1956699c85209772f5c77"},{"version":"92dfe1cb7278ffac5c23656e33d0827da93b067724f377923f618c248204fa67","signature":"dc9ec8fcc1d97c07508efc913755665fde1feb62430a327ea3f9ad0989a31ad9"},{"version":"6d6b297cbb5990aa61b4cc4b15d32a3c211ebb6b55151a4610733264e9eb1e85","signature":"891103f36f5b37ca5b93e78077873529644f1f37bb1330f1629854bf8f4a565a"},{"version":"bfaa88f361eadaad415790d23b96fadb3f5e6ba8d0f9efd24486c745b1d8f406","signature":"399b0feb0194a998b788764abcb79550f2362963281e2620e9fdc15ae069c3de"},{"version":"686f2734d8ad760eafccfdc84c0a8a029f45350c7c23291edebd2533a8c5015a","signature":"61afe6a510c76e088624b41582b8ba29b5926995ac8a8748892ac8f1f0e7597c"},{"version":"6e153b017c3322bfcda2c256af4a9d5984eeb87266f0430c9f9becc502cf6b18","signature":"ed8d1d8700183e4263d9bfa0a3824cc91a3032b444c6785395235be3d2ee4005"},{"version":"9650e83bae742de79822409feb6f2b2ed61f70475ab4f038950e55b4f932ad66","signature":"c155f97cc640363cab3c4afb6be19ec9a9be99a9185bed63fda61e8d8e173c0d"},{"version":"a3abde6175e10aa119577819a0ee33ba42b42a34bf29311bbb6c808bd7a525cc","signature":"ce55706fc964be3e6a7f642912a57000a1faba8f480ebb9fb215373f92e3654a"},{"version":"5c51e4e64d264ea6aec8b854be1f04003c46f42042f8946c77f3e4277c18c10d","signature":"692642703cd89694ed502fa1ec27d0a24694221589eb3d11df14bc78d994b368"},{"version":"7fe426549f34db44b48b1e71379e355b24ac217cd463899495475356c17c4f8f","signature":"0a587cb277a11779346f192f2698cd77754f38fefcaca16c30f4336484c02722"},{"version":"364eeacfbc1bdf1d16690154d949ad91baa68d296dbec19ba1e2dc43b2328d31","signature":"24991486fe411737297c1ab312906c3783c68cf7bb7994067adec02f5b09f84a"},{"version":"bf1daafe347b0601738730267356f3cce0fa0b7e1e120177d24cfd47be1000b1","signature":"758cc6cd7d09f30edcb54eef0e34374361a594a71a812d05e99127a0096658a8"},{"version":"727e89104c93ad93287dc48193457a29cb14476f33cb557e727d34d24bea450a","signature":"8501181dfb03812f099d96b6136fea90d96012c395b543329b79c7fc4c5058aa"},{"version":"4e45ba5a28388f7d0446c30d49e3c1527b70540d711a063bf337558603acd517","signature":"3c3b6fb70b7cb90edb2144b045a9e33a5fd050305ea61f4f71d2ce66c144035b"},{"version":"32cd0dca1710c86231fdd586c1c84cdd879dbc113341c2701c1a5fef80e40a69","signature":"7fbed88d7c7058501d9c5040e43eb53eae6dbc7ac1241af308dc5f66c1f89b76"},{"version":"5ff49db5c9add02660f22c8825d1c3e0c56574c0129799d678ca6bae7756ad59","signature":"8fd57a820bfffc00a5287a809d870f9826867c1681d6d3609d4e54850a76e417"},{"version":"4c92a1329a7d6d78642f6cd74814981c21fac78a3079522e375a9a67ed52e138","signature":"9f4c9ef2efe75e269dc07e9cf3a500d44314c25e59b3525a5a2ae97c53638199"},{"version":"99dd3e0d4f258fae4cecf325c08e61c3f4bf2b1c6dc53e748802ff0b357122ac","signature":"c4a68a57535ba786c1328af5242c190c36cc63dfe614c29c1c8dc5efde3eb78d"},{"version":"a58481cfd655fba8aea4a656e31d0b4b7506ee94d93e87449f9a6faa012e0984","signature":"68a792f587621b0d3774bf4b66f23d45acef8c8c648539925b5420f259afba6c"},{"version":"d5251ece84d633828c7255574a70b76878eb5ec1c29d5d6fdf9e1a8cd6c303ad","signature":"a70060af261697b22b454824094357adf2125e7f37fd1a97f5349f53ce4e5584"},{"version":"f724ade2d4e93a4d05f81875466f4475f1a327a8aacf3f195f50ff55329e742a","signature":"0bbf18568ed5c8bfe25a6ac9d17485251e9c0d8ef9cb7dd1c53cc41d804e0df7"},{"version":"854268d3897e2321f6571ec1935b3f7d5852cce27347b823006c5dd823b85fc9","signature":"235a5b6ccd589820e01ce258b1ab2293ef5f5e8551676f5a3c25c1df67e63289"},{"version":"625127b39354798a2fbec4de8efc713e51b77a3ed82890225ca32c8dfe7ff16d","signature":"c4e930527562856e471ae6fcc18a40d122f7bf68c0d7ab45d70d00c26fbc2a24"},{"version":"668527131b36a1314594648ff5834d3ce4f5773a3467a2e15c457a6f3101808f","signature":"44f67e7dc12960b148988fc948ebffe44a21bdd44088a678ad4e122b8a31dda5"},{"version":"3529cd4cdc1a04dc5de2af15edefc3a977c1b58c3ea7069d737eb99e2b76a522","signature":"6957edc175ca3fad278307b5268767536ce55cb833f3fc2b5dc2eb7e246ccf12"},{"version":"fa0e7853b961b76dd44df0b648d4e77590a8c907dd813d69d7b301582905aa33","signature":"df48334f28055aa3ccdbfeed46ee5018704cf5b18133fb4776fbe5104134d601"},{"version":"590f4595f7e2edfd32358250591680e60b83bfd8502cd1a5b4eba74bde8248d8","signature":"4a50c9f21c01f1f6f8c0bfe5e3339fde13246d00a12c2e9757ed6c8d6678f4db"},{"version":"6c05d0fcee91437571513c404e62396ee798ff37a2d8bef2104accdc79deb9c0","impliedFormat":1},{"version":"7c1edcfa7a0614bfc279aeb8ce3e60e0642b1c24a6ff3d4d03d3e256efc95b20","signature":"8ced3e19a179346437c1ac65e063a793f4559fd0281c8b4c6ab4e34e51892085"},{"version":"40f95f7a7fc201de996bd17616be83cba94bdd04cd141529968438db7fc02cb3","signature":"8d1550565807bc336cf75eccb964ccc9740e7114ec7280112b19723098bbce32"},{"version":"5f2a29301885e099ed2829cb22b2624f173ab2cdd44ae682ae4d35a89234a561","signature":"0ba47dae54dc8c665cfe61c940bb9ca42b81c00ba794e71e757a51d8a97ffc15"},{"version":"0943a6e4e026d0de8a4969ee975a7283e0627bf41aa4635d8502f6f24365ac9b","impliedFormat":99},{"version":"1461efc4aefd3e999244f238f59c9b9753a7e3dfede923ebe2b4a11d6e13a0d0","impliedFormat":99},{"version":"789b258bfc80b22f9634539e5b7b8d06acb68eb2842347326fdfb5b9eed79d93","signature":"0bb7dc51869cf43a818dd6d08599897543f5375fc02213c86c980cd8a56eb396"},{"version":"8dd450de6d756cee0761f277c6dc58b0b5a66b8c274b980949318b8cad26d712","impliedFormat":99},{"version":"904d6ad970b6bd825449480488a73d9b98432357ab38cf8d31ffd651ae376ff5","impliedFormat":99},{"version":"dfcf16e716338e9fe8cf790ac7756f61c85b83b699861df970661e97bf482692","impliedFormat":99},{"version":"31c30cc54e8c3da37c8e2e40e5658471f65915df22d348990d1601901e8c9ff3","impliedFormat":99},{"version":"8181c7be76533bb5e1d721274cf16bcc07dbe25c521aa6f15e01fe8a302eb481","signature":"506de066b3c5993482ff65065ba1d1fa69180a24eb20b6c5fb15141fc9d42400"},{"version":"dce4f80f612a79389688cc8f765cccde46d5af4881ea899cc694187ac386757a","signature":"6730bbdfd0ecd7e5e023e8609313bb5a25a7f1594a133669f4febf373eb5c6f1"},{"version":"caf4af98bf464ad3e10c46cf7d340556f89197aab0f87f032c7b84eb8ddb24d9","impliedFormat":99},{"version":"36d8011f1437aecf0e6e88677d933e4fb3403557f086f4ac00c5a4cb6d028ac2","impliedFormat":99},{"version":"09035a9c5b8211fffd34f06a6ec44e053b0d753390e40aea970cb59773176714","signature":"fca9bc9ef189961ee8b8ae7a29d2ee2ddbab2e15d1fefa8f3fb4d6005ef35bd8"},{"version":"a9373d52584b48809ffd61d74f5b3dfd127da846e3c4ee3c415560386df3994b","impliedFormat":99},{"version":"caf4af98bf464ad3e10c46cf7d340556f89197aab0f87f032c7b84eb8ddb24d9","impliedFormat":99},{"version":"8085954ba165e611c6230596078063627f3656fed3fb68ad1e36a414c4d7599a","impliedFormat":99},{"version":"9effa6f9decfeb6230e20958c815cdfef8bd84f6ec6aafc8e2e87c5e4c64b4b2","signature":"a548630f941a3440739c0de45a1e20495f57ea8abebe98425a124bfc6ebb8d75"},{"version":"801c5fac01248e8e4692b58a6ee5c6a50a3cddb9b095e0bb2e04aff201313b6c","signature":"5759cb11825992823d4a1b694974bf261d262a376225b14bb295845851160aa2"},{"version":"caf4af98bf464ad3e10c46cf7d340556f89197aab0f87f032c7b84eb8ddb24d9","impliedFormat":99},{"version":"9c580c6eae94f8c9a38373566e59d5c3282dc194aa266b23a50686fe10560159","impliedFormat":99},{"version":"96ef29b5aa9a169fd23a813ebbd4a721ba693c9ba73b9bdd9b4ece6788e9279c","signature":"dbb75a08150c6031b2a036d35c99fe58bd58afb83ea378200726f7686979b649"},{"version":"07203100cedafa78bd03b8ffe71559d29c35bfe7ea034449ed21d1008907cc0e","signature":"7f1a63df38832b63ac8fd0d109e01b04dca1a8911debb304a6e6a6b129dda6f5"},{"version":"57ae71d27ee71b7d1f2c6d867ddafbbfbaa629ad75565e63a508dbaa3ef9f859","impliedFormat":99},{"version":"60924ca0c60f0674f208bfa1eaaa54e6973ced7650df7c7a81ae069730ef665a","impliedFormat":99},{"version":"e3181c7595a89dd03ba9a20eb5065fa37e0b0a514261bed774f6ae2241634470","impliedFormat":99},{"version":"c42d5cbf94816659c01f7c2298d0370247f1a981f8ca6370301b7a03b3ced950","impliedFormat":99},{"version":"18c18ab0341fd5fdfefb5d992c365be1696bfe000c7081c964582b315e33f8f2","impliedFormat":99},{"version":"dafbd4199902d904e3d4a233b5faf5dc4c98847fcd8c0ddd7617b2aed50e90d8","impliedFormat":99},{"version":"9fc866f9783d12d0412ed8d68af5e4c9e44f0072d442b0c33c3bda0a5c8cae15","impliedFormat":99},{"version":"5fc13d24a2d0328eac00c4e73cc052a987fbced2151bc0d3b7eb8f3ba4d0f4e2","impliedFormat":99},{"version":"2cef84bf00cbdb452fdc5d8ecfe7b8c0aa3fa788bdc4ad8961e2e636530dbb60","impliedFormat":99},{"version":"24104650185414f379d5cc35c0e2c19f06684a73de5b472bae79e0d855771ecf","impliedFormat":99},{"version":"799003c0ab928582fca04977f47b8d85b43a8de610f4eef0ad2d069fbb9f9399","impliedFormat":99},{"version":"b13dd41c344a23e085f81b2f5cd96792e6b35ae814f32b25e39d9841844ad240","impliedFormat":99},{"version":"17d8b4e6416e48b6e23b73d05fd2fde407e2af8fddbe9da2a98ede14949c3489","impliedFormat":99},{"version":"6d17b2b41f874ab4369b8e04bdbe660163ea5c8239785c850f767370604959e3","impliedFormat":99},{"version":"04b4c044c8fe6af77b6c196a16c41e0f7d76b285d036d79dcaa6d92e24b4982b","impliedFormat":99},{"version":"30bdeead5293c1ddfaea4097d3e9dd5a6b0bc59a1e07ff4714ea1bbe7c5b2318","impliedFormat":99},{"version":"e7df226dcc1b0ce76b32f160556f3d1550124c894aae2d5f73cefaaf28df7779","impliedFormat":99},{"version":"f2b7eef5c46c61e6e72fba9afd7cc612a08c0c48ed44c3c5518559d8508146a2","impliedFormat":99},{"version":"00f0ba57e829398d10168b7db1e16217f87933e61bd8612b53a894bd7d6371da","impliedFormat":99},{"version":"126b20947d9fa74a88bb4e9281462bda05e529f90e22d08ee9f116a224291e84","impliedFormat":99},{"version":"40d9e43acee39702745eb5c641993978ac40f227475eacc99a83ba893ad995db","impliedFormat":99},{"version":"8a66b69b21c8de9cb88b4b6d12f655d5b7636e692a014c5aa1bd81745c8c51d5","impliedFormat":99},{"version":"ebbb846bdd5a78fdacff59ae04cea7a097912aeb1a2b34f8d88f4ebb84643069","impliedFormat":99},{"version":"7321adb29ffd637acb33ee67ea035f1a97d0aa0b14173291cc2fd58e93296e04","impliedFormat":99},{"version":"320816f1a4211188f07a782bdb6c1a44555b3e716ce13018f528ad7387108d5f","impliedFormat":99},{"version":"b2cc8a474b7657f4a03c67baf6bff75e26635fd4b5850675e8cad524a09ddd0c","impliedFormat":99},{"version":"0d081e9dc251063cc69611041c17d25847e8bdbe18164baaa89b7f1f1633c0ab","impliedFormat":99},{"version":"a64c25d8f4ec16339db49867ea2324e77060782993432a875d6e5e8608b0de1e","impliedFormat":99},{"version":"0739310b6b777f3e2baaf908c0fbc622c71160e6310eb93e0d820d86a52e2e23","impliedFormat":99},{"version":"37b32e4eadd8cd3c263e7ac1681c58b2ac54f3f77bb34c5e4326cc78516d55a9","impliedFormat":99},{"version":"9b7a8974e028c4ed6f7f9abb969e3eb224c069fd7f226e26fcc3a5b0e2a1eba8","impliedFormat":99},{"version":"e8100b569926a5592146ed68a0418109d625a045a94ed878a8c5152b1379237c","impliedFormat":99},{"version":"594201c616c318b7f3149a912abd8d6bdf338d765b7bcbde86bca2e66b144606","impliedFormat":99},{"version":"03e380975e047c5c6ded532cf8589e6cc85abb7be3629e1e4b0c9e703f2fd36f","impliedFormat":99},{"version":"fae14b53b7f52a8eb3274c67c11f261a58530969885599efe3df0277b48909e1","impliedFormat":99},{"version":"c41206757c428186f2e0d1fd373915c823504c249336bdc9a9c9bbdf9da95fef","impliedFormat":99},{"version":"e961f853b7b0111c42b763a6aa46fc70d06a697db3d8ed69b38f7ba0ae42a62b","impliedFormat":99},{"version":"3db90f79e36bcb60b3f8de1bc60321026800979c150e5615047d598c787a64b7","impliedFormat":99},{"version":"639b6fb3afbb8f6067c1564af2bd284c3e883f0f1556d59bd5eb87cdbbdd8486","impliedFormat":99},{"version":"49795f5478cb607fd5965aa337135a8e7fd1c58bc40c0b6db726adf186dd403f","impliedFormat":99},{"version":"7d8890e6e2e4e215959e71d5b5bd49482cf7a23be68d48ea446601a4c99bd511","impliedFormat":99},{"version":"d56f72c4bb518de5702b8b6ae3d3c3045c99e0fd48b3d3b54c653693a8378017","impliedFormat":99},{"version":"4c9ac40163e4265b5750510d6d2933fb7b39023eed69f7b7c68b540ad960826e","impliedFormat":99},{"version":"8dfab17cf48e7be6e023c438a9cdf6d15a9b4d2fa976c26e223ba40c53eb8da8","impliedFormat":99},{"version":"38bdf7ccacfd8e418de3a7b1e3cecc29b5625f90abc2fa4ac7843a290f3bf555","impliedFormat":99},{"version":"9819e46a914735211fbc04b8dc6ba65152c62e3a329ca0601a46ba6e05b2c897","impliedFormat":99},{"version":"50f0dc9a42931fb5d65cdd64ba0f7b378aedd36e0cfca988aa4109aad5e714cb","impliedFormat":99},{"version":"894f23066f9fafccc6e2dd006ed5bd85f3b913de90f17cf1fe15a2eb677fd603","impliedFormat":99},{"version":"abdf39173867e6c2d6045f120a316de451bbb6351a6929546b8470ddf2e4b3b9","impliedFormat":99},{"version":"aa2cb4053f948fbd606228195bbe44d78733861b6f7204558bbee603202ee440","impliedFormat":99},{"version":"6911b41bfe9942ac59c2da1bbcbe5c3c1f4e510bf65cae89ed00f434cc588860","impliedFormat":99},{"version":"7b81bc4d4e2c764e85d869a8dd9fe3652b34b45c065482ac94ffaacc642b2507","impliedFormat":99},{"version":"895df4edb46ccdcbce2ec982f5eed292cf7ea3f7168f1efea738ee346feab273","impliedFormat":99},{"version":"8692bb1a4799eda7b2e3288a6646519d4cebb9a0bddf800085fc1bd8076997a0","impliedFormat":99},{"version":"239c9e98547fe99711b01a0293f8a1a776fc10330094aa261f3970aaba957c82","impliedFormat":99},{"version":"34833ec50360a32efdc12780ae624e9a710dd1fd7013b58c540abf856b54285a","impliedFormat":99},{"version":"647538e4007dcc351a8882067310a0835b5bb8559d1cfa5f378e929bceb2e64d","impliedFormat":99},{"version":"992d6b1abcc9b6092e5a574d51d441238566b6461ade5de53cb9718e4f27da46","impliedFormat":99},{"version":"938702305649bf1050bd79f3803cf5cc2904596fc1edd4e3b91033184eae5c54","impliedFormat":99},{"version":"1e931d3c367d4b96fe043e792196d9c2cf74f672ff9c0b894be54e000280a79d","impliedFormat":99},{"version":"05bec322ea9f6eb9efcd6458bb47087e55bd688afdd232b78379eb5d526816ed","impliedFormat":99},{"version":"4c449a874c2d2e5e5bc508e6aa98f3140218e78c585597a21a508a647acd780a","impliedFormat":99},{"version":"dae15e326140a633d7693e92b1af63274f7295ea94fb7c322d5cbe3f5e48be88","impliedFormat":99},{"version":"c2b0a869713bca307e58d81d1d1f4b99ebfc7ec8b8f17e80dde40739aa8a2bc6","impliedFormat":99},{"version":"6e4b4ff6c7c54fa9c6022e88f2f3e675eac3c6923143eb8b9139150f09074049","impliedFormat":99},{"version":"69559172a9a97bbe34a32bff8c24ef1d8c8063feb5f16a6d3407833b7ee504cf","impliedFormat":99},{"version":"86b94a2a3edcb78d9bfcdb3b382547d47cb017e71abe770c9ee8721e9c84857f","impliedFormat":99},{"version":"e3fafafda82853c45c0afc075fea1eaf0df373a06daf6e6c7f382f9f61b2deb3","impliedFormat":99},{"version":"a4ba4b31de9e9140bc49c0addddbfaf96b943a7956a46d45f894822e12bf5560","impliedFormat":99},{"version":"d8a7926fc75f2ed887f17bae732ee31a4064b8a95a406c87e430c58578ee1f67","impliedFormat":99},{"version":"9886ffbb134b0a0059fd82219eba2a75f8af341d98bc6331b6ef8a921e10ec68","impliedFormat":99},{"version":"c2ead057b70d0ae7b87a771461a6222ebdb187ba6f300c974768b0ae5966d10e","impliedFormat":99},{"version":"46687d985aed8485ab2c71085f82fafb11e69e82e8552cf5d3849c00e64a00a5","impliedFormat":99},{"version":"999ca66d4b5e2790b656e0a7ce42267737577fc7a52b891e97644ec418eff7ec","impliedFormat":99},{"version":"ec948ee7e92d0888f92d4a490fdd0afb27fbf6d7aabebe2347a3e8ac82c36db9","impliedFormat":99},{"version":"03ef2386c683707ce741a1c30cb126e8c51a908aa0acc01c3471fafb9baaacd5","impliedFormat":99},{"version":"66a372e03c41d2d5e920df5282dadcec2acae4c629cb51cab850825d2a144cea","impliedFormat":99},{"version":"ddf9b157bd4c06c2e4646c9f034f36267a0fbd028bd4738214709de7ea7c548b","impliedFormat":99},{"version":"3e795aac9be23d4ad9781c00b153e7603be580602e40e5228e2dafe8a8e3aba1","impliedFormat":99},{"version":"98c461ec5953dfb1b5d5bca5fee0833c8a932383b9e651ca6548e55f1e2c71c3","impliedFormat":99},{"version":"5c42107b46cb1d36b6f1dee268df125e930b81f9b47b5fa0b7a5f2a42d556c10","impliedFormat":99},{"version":"7e32f1251d1e986e9dd98b6ff25f62c06445301b94aeebdf1f4296dbd2b8652f","impliedFormat":99},{"version":"2f7e328dda700dcb2b72db0f58c652ae926913de27391bd11505fc5e9aae6c33","impliedFormat":99},{"version":"3de7190e4d37da0c316db53a8a60096dbcd06d1a50677ccf11d182fa26882080","impliedFormat":99},{"version":"a9d6f87e59b32b02c861aade3f4477d7277c30d43939462b93f48644fa548c58","impliedFormat":99},{"version":"2bce8fd2d16a9432110bbe0ba1e663fd02f7d8b8968cd10178ea7bc306c4a5df","impliedFormat":99},{"version":"798bedbf45a8f1e55594e6879cd46023e8767757ecce1d3feaa78d16ad728703","impliedFormat":99},{"version":"62723d5ac66f7ed6885a3931dd5cfa017797e73000d590492988a944832e8bc2","impliedFormat":99},{"version":"03db8e7df7514bf17fc729c87fff56ca99567b9aa50821f544587a666537c233","impliedFormat":99},{"version":"9b1f311ba4409968b68bf20b5d892dbd3c5b1d65c673d5841c7dbde351bc0d0b","impliedFormat":99},{"version":"2d1e8b5431502739fe335ceec0aaded030b0f918e758a5d76f61effa0965b189","impliedFormat":99},{"version":"e725839b8f884dab141b42e9d7ff5659212f6e1d7b4054caa23bc719a4629071","impliedFormat":99},{"version":"4fa38a0b8ae02507f966675d0a7d230ed67c92ab8b5736d99a16c5fbe2b42036","impliedFormat":99},{"version":"50ec1e8c23bad160ddedf8debeebc722becbddda127b8fdce06c23eacd3fe689","impliedFormat":99},{"version":"9a0aea3a113064fd607f41375ade308c035911d3c8af5ae9db89593b5ca9f1f9","impliedFormat":99},{"version":"8d643903b58a0bf739ce4e6a8b0e5fb3fbdfaacbae50581b90803934b27d5b89","impliedFormat":99},{"version":"19de2915ccebc0a1482c2337b34cb178d446def2493bf775c4018a4ea355adb8","impliedFormat":99},{"version":"9be8fc03c8b5392cd17d40fd61063d73f08d0ee3457ecf075dcb3768ae1427bd","impliedFormat":99},{"version":"a2d89a8dc5a993514ca79585039eea083a56822b1d9b9d9d85b14232e4782cbe","impliedFormat":99},{"version":"f526f20cae73f17e8f38905de4c3765287575c9c4d9ecacee41cfda8c887da5b","impliedFormat":99},{"version":"d9ec0978b7023612b9b83a71fee8972e290d02f8ff894e95cdd732cd0213b070","impliedFormat":99},{"version":"7ab10c473a058ec8ac4790b05cae6f3a86c56be9b0c0a897771d428a2a48a9f9","impliedFormat":99},{"version":"451d7a93f8249d2e1453b495b13805e58f47784ef2131061821b0e456a9fd0e1","impliedFormat":99},{"version":"21c56fe515d227ed4943f275a8b242d884046001722a4ba81f342a08dbe74ae2","impliedFormat":99},{"version":"d8311f0c39381aa1825081c921efde36e618c5cf46258c351633342a11601208","impliedFormat":99},{"version":"6b50c3bcc92dc417047740810596fcb2df2502aa3f280c9e7827e87896da168a","impliedFormat":99},{"version":"18a6b318d1e7b31e5749a52be0cf9bbce1b275f63190ef32e2c79db0579328ca","impliedFormat":99},{"version":"6a2d0af2c27b993aa85414f3759898502aa198301bc58b0d410948fe908b07b0","impliedFormat":99},{"version":"2da11b6f5c374300e5e66a6b01c3c78ec21b5d3fec0748a28cc28e00be73e006","impliedFormat":99},{"version":"0729691b39c24d222f0b854776b00530877217bfc30aac1dc7fa2f4b1795c536","impliedFormat":99},{"version":"ca45bb5c98c474d669f0e47615e4a5ae65d90a2e78531fda7862ee43e687a059","impliedFormat":99},{"version":"c1c058b91d5b9a24c95a51aea814b0ad4185f411c38ac1d5eef0bf3cebec17dc","impliedFormat":99},{"version":"3ab0ed4060b8e5b5e594138aab3e7f0262d68ad671d6678bcda51568d4fc4ccc","impliedFormat":99},{"version":"e2bf1faba4ff10a6020c41df276411f641d3fdce5c6bae1db0ec84a0bf042106","impliedFormat":99},{"version":"80b0a8fe14d47a71e23d7c3d4dcee9584d4282ef1d843b70cab1a42a4ea1588c","impliedFormat":99},{"version":"a0f02a73f6e3de48168d14abe33bf5970fdacdb52d7c574e908e75ad571e78f7","impliedFormat":99},{"version":"c728002a759d8ec6bccb10eed56184e86aeff0a762c1555b62b5d0fa9d1f7d64","impliedFormat":99},{"version":"586f94e07a295f3d02f847f9e0e47dbf14c16e04ccc172b011b3f4774a28aaea","impliedFormat":99},{"version":"cfe1a0f4ed2df36a2c65ea6bc235dbb8cf6e6c25feb6629989f1fa51210b32e7","impliedFormat":99},{"version":"8ba69c9bf6de79c177329451ffde48ddab7ec495410b86972ded226552f664df","impliedFormat":99},{"version":"15111cbe020f8802ad1d150524f974a5251f53d2fe10eb55675f9df1e82dbb62","impliedFormat":99},{"version":"782dc153c56a99c9ed07b2f6f497d8ad2747764966876dbfef32f3e27ce11421","impliedFormat":99},{"version":"cc2db30c3d8bb7feb53a9c9ff9b0b859dd5e04c83d678680930b5594b2bf99cb","impliedFormat":99},{"version":"46909b8c85a6fd52e0807d18045da0991e3bdc7373435794a6ba425bc23cc6be","impliedFormat":99},{"version":"e4e511ff63bb6bd69a2a51e472c6044298bca2c27835a34a20827bc3ef9b7d13","impliedFormat":99},{"version":"2c86f279d7db3c024de0f21cd9c8c2c972972f842357016bfbbd86955723b223","impliedFormat":99},{"version":"112c895cff9554cf754f928477c7d58a21191c8089bffbf6905c87fe2dc6054f","impliedFormat":99},{"version":"8cfc293b33082003cacbf7856b8b5e2d6dd3bde46abbd575b0c935dc83af4844","impliedFormat":99},{"version":"d2c5c53f85ce0474b3a876d76c4fc44ff7bb766b14ed1bf495f9abac181d7f5f","impliedFormat":99},{"version":"3c523f27926905fcbe20b8301a0cc2da317f3f9aea2273f8fc8d9ae88b524819","impliedFormat":99},{"version":"9ca0d706f6b039cc52552323aeccb4db72e600b67ddc7a54cebc095fc6f35539","impliedFormat":99},{"version":"a64909a9f75081342ddd061f8c6b49decf0d28051bc78e698d347bdcb9746577","impliedFormat":99},{"version":"7d8d55ae58766d0d52033eae73084c4db6a93c4630a3e17f419dd8a0b2a4dcd8","impliedFormat":99},{"version":"b8b5c8ba972d9ffff313b3c8a3321e7c14523fc58173862187e8d1cb814168ac","impliedFormat":99},{"version":"9c42c0fa76ee36cf9cc7cc34b1389fbb4bd49033ec124b93674ec635fabf7ffe","impliedFormat":99},{"version":"6184c8da9d8107e3e67c0b99dedb5d2dfe5ccf6dfea55c2a71d4037caf8ca196","impliedFormat":99},{"version":"4030ceea7bf41449c1b86478b786e3b7eadd13dfe5a4f8f5fe2eb359260e08b3","impliedFormat":99},{"version":"7bf516ec5dfc60e97a5bde32a6b73d772bd9de24a2e0ec91d83138d39ac83d04","impliedFormat":99},{"version":"e6a6fb3e6525f84edf42ba92e261240d4efead3093aca3d6eb1799d5942ba393","impliedFormat":99},{"version":"45df74648934f97d26800262e9b2af2f77ef7191d4a5c2eb1df0062f55e77891","impliedFormat":99},{"version":"3fe361e4e567f32a53af1f2c67ad62d958e3d264e974b0a8763d174102fe3b29","impliedFormat":99},{"version":"28b520acee4bc6911bfe458d1ad3ebc455fa23678463f59946ad97a327c9ab2b","impliedFormat":99},{"version":"121b39b1a9ad5d23ed1076b0db2fe326025150ef476dccb8bf87778fcc4f6dd7","impliedFormat":99},{"version":"f791f92a060b52aa043dde44eb60307938f18d4c7ac13df1b52c82a1e658953f","impliedFormat":99},{"version":"df09443e7743fd6adc7eb108e760084bacdf5914403b7aac5fbd4dc4e24e0c2c","impliedFormat":99},{"version":"eeb4ff4aa06956083eaa2aad59070361c20254b865d986bc997ee345dbd44cbb","impliedFormat":99},{"version":"ed84d5043444d51e1e5908f664addc4472c227b9da8401f13daa565f23624b6e","impliedFormat":99},{"version":"146bf888b703d8baa825f3f2fb1b7b31bda5dff803e15973d9636cdda33f4af3","impliedFormat":99},{"version":"b4ec8b7a8d23bdf7e1c31e43e5beac3209deb7571d2ccf2a9572865bf242da7c","impliedFormat":99},{"version":"3fba0d61d172091638e56fba651aa1f8a8500aac02147d29bd5a9cc0bc8f9ec2","impliedFormat":99},{"version":"a5a57deb0351b03041e0a1448d3a0cc5558c48e0ed9b79b69c99163cdca64ad8","impliedFormat":99},{"version":"9bcecf0cbc2bfc17e33199864c19549905309a0f9ecc37871146107aac6e05ae","impliedFormat":99},{"version":"d6a211db4b4a821e93c978add57e484f2a003142a6aef9dbfa1fe990c66f337b","impliedFormat":99},{"version":"bd4d10bd44ce3f630dd9ce44f102422cb2814ead5711955aa537a52c8d2cae14","impliedFormat":99},{"version":"08e4c39ab1e52eea1e528ee597170480405716bae92ebe7a7c529f490afff1e0","impliedFormat":99},{"version":"625bb2bc3867557ea7912bd4581288a9fca4f3423b8dffa1d9ed57fafc8610e3","impliedFormat":99},{"version":"d1992164ecc334257e0bef56b1fd7e3e1cea649c70c64ffc39999bb480c0ecdf","impliedFormat":99},{"version":"a53ff2c4037481eb357e33b85e0d78e8236e285b6428b93aa286ceea1db2f5dc","impliedFormat":99},{"version":"4fe608d524954b6857d78857efce623852fcb0c155f010710656f9db86e973a5","impliedFormat":99},{"version":"b53b62a9838d3f57b70cc456093662302abb9962e5555f5def046172a4fe0d4e","impliedFormat":99},{"version":"9866369eb72b6e77be2a92589c9df9be1232a1a66e96736170819e8a1297b61f","impliedFormat":99},{"version":"43abfbdf4e297868d780b8f4cfdd8b781b90ecd9f588b05e845192146a86df34","impliedFormat":99},{"version":"582419791241fb851403ae4a08d0712a63d4c94787524a7419c2bc8e0eb1b031","impliedFormat":99},{"version":"18437eeb932fe48590b15f404090db0ab3b32d58f831d5ffc157f63b04885ee5","impliedFormat":99},{"version":"0c5eaedf622d7a8150f5c2ec1f79ac3d51eea1966b0b3e61bfdea35e8ca213a7","impliedFormat":99},{"version":"fac39fc7a9367c0246de3543a6ee866a0cf2e4c3a8f64641461c9f2dac0d8aae","impliedFormat":99},{"version":"3b9f559d0200134f3c196168630997caedeadc6733523c8b6076a09615d5dec8","impliedFormat":99},{"version":"932af64286d9723da5ef7b77a0c4229829ce8e085e6bcc5f874cb0b83e8310d4","impliedFormat":99},{"version":"adeb9278f11f5561157feee565171c72fd48f5fe34ed06f71abf24e561fcaa1e","impliedFormat":99},{"version":"2269fef79b4900fc6b08c840260622ca33524771ff24fda5b9101ad98ea551f3","impliedFormat":99},{"version":"73d47498a1b73d5392d40fb42a3e7b009ae900c8423f4088c4faa663cc508886","impliedFormat":99},{"version":"7efc34cdc4da0968c3ba687bc780d5cacde561915577d8d1c1e46c7ac931d023","impliedFormat":99},{"version":"3c20a3bb0c50c819419f44aa55acc58476dad4754a16884cef06012d02b0722f","impliedFormat":99},{"version":"4569abf6bc7d51a455503670f3f1c0e9b4f8632a3b030e0794c61bfbba2d13be","impliedFormat":99},{"version":"98b2297b4dc1404078a54b61758d8643e4c1d7830af724f3ed2445d77a7a2d57","impliedFormat":99},{"version":"952ba89d75f1b589e07070fea2d8174332e3028752e76fd46e1c16cc51e6e2af","impliedFormat":99},{"version":"b6c9a2deefb6a57ff68d2a38d33c34407b9939487fc9ee9f32ba3ecf2987a88a","impliedFormat":99},{"version":"f6b371377bab3018dac2bca63e27502ecbd5d06f708ad7e312658d3b5315d948","impliedFormat":99},{"version":"31947dd8f1c8eeb7841e1f139a493a73bd520f90e59a6415375d0d8e6a031f01","impliedFormat":99},{"version":"95cd83b807e10b1af408e62caf5fea98562221e8ddca9d7ccc053d482283ddda","impliedFormat":99},{"version":"19287d6b76288c2814f1633bdd68d2b76748757ffd355e73e41151644e4773d6","impliedFormat":99},{"version":"fc4e6ec7dade5f9d422b153c5d8f6ad074bd9cc4e280415b7dc58fb5c52b5df1","impliedFormat":99},{"version":"3aea973106e1184db82d8880f0ca134388b6cbc420f7309d1c8947b842886349","impliedFormat":99},{"version":"765e278c464923da94dda7c2b281ece92f58981642421ae097862effe2bd30fa","impliedFormat":99},{"version":"de260bed7f7d25593f59e859bd7c7f8c6e6bb87e8686a0fcafa3774cb5ca02d8","impliedFormat":99},{"version":"b5c341ce978f5777fbe05bc86f65e9906a492fa6b327bda3c6aae900c22e76c6","impliedFormat":99},{"version":"686ddbfaf88f06b02c6324005042f85317187866ca0f8f4c9584dd9479653344","impliedFormat":99},{"version":"7f789c0c1db29dd3aab6e159d1ba82894a046bf8df595ac48385931ae6ad83e0","impliedFormat":99},{"version":"8eb3057d4fe9b59b2492921b73a795a2455ebe94ccb3d01027a7866612ead137","impliedFormat":99},{"version":"1e43c5d7aee1c5ec20611e28b5417f5840c75d048de9d7f1800d6808499236f8","impliedFormat":99},{"version":"d42610a5a2bee4b71769968a24878885c9910cd049569daa2d2ee94208b3a7a5","impliedFormat":99},{"version":"f6ed95506a6ed2d40ed5425747529befaa4c35fcbbc1e0d793813f6d725690fa","impliedFormat":99},{"version":"a6fcc1cd6583939506c906dff1276e7ebdc38fbe12d3e108ba38ad231bd18d97","impliedFormat":99},{"version":"ed13354f0d96fb6d5878655b1fead51722b54875e91d5e53ef16de5b71a0e278","impliedFormat":99},{"version":"1193b4872c1fb65769d8b164ca48124c7ebacc33eae03abf52087c2b29e8c46c","impliedFormat":99},{"version":"af682dfabe85688289b420d939020a10eb61f0120e393d53c127f1968b3e9f66","impliedFormat":99},{"version":"0dca04006bf13f72240c6a6a502df9c0b49c41c3cab2be75e81e9b592dcd4ea8","impliedFormat":99},{"version":"79d6ac4a2a229047259116688f9cd62fda25422dee3ad304f77d7e9af53a41ef","impliedFormat":99},{"version":"64534c17173990dc4c3d9388d16675a059aac407031cfce8f7fdffa4ee2de988","impliedFormat":99},{"version":"ba46d160a192639f3ca9e5b640b870b1263f24ac77b6895ab42960937b42dcbb","impliedFormat":99},{"version":"5e5ddd6fc5b590190dde881974ab969455e7fad61012e32423415ae3d085b037","impliedFormat":99},{"version":"1c16fd00c42b60b96fe0fa62113a953af58ddf0d93b0a49cb4919cf5644616f0","impliedFormat":99},{"version":"eb240c0e6b412c57f7d9a9f1c6cd933642a929837c807b179a818f6e8d3a4e44","impliedFormat":99},{"version":"4a7bde5a1155107fc7d9483b8830099f1a6072b6afda5b78d91eb5d6549b3956","impliedFormat":99},{"version":"3c1baaffa9a24cc7ef9eea6b64742394498e0616b127ca630aca0e11e3298006","impliedFormat":99},{"version":"87ca1c31a326c898fa3feb99ec10750d775e1c84dbb7c4b37252bcf3742c7b21","impliedFormat":99},{"version":"d7bd26af1f5457f037225602035c2d7e876b80d02663ab4ca644099ad3a55888","impliedFormat":99},{"version":"2ad0a6b93e84a56b64f92f36a07de7ebcb910822f9a72ad22df5f5d642aff6f3","impliedFormat":99},{"version":"523d1775135260f53f672264937ee0f3dc42a92a39de8bee6c48c7ea60b50b5a","impliedFormat":99},{"version":"e441b9eebbc1284e5d995d99b53ed520b76a87cab512286651c4612d86cd408e","impliedFormat":99},{"version":"76f853ee21425c339a79d28e0859d74f2e53dee2e4919edafff6883dd7b7a80f","impliedFormat":99},{"version":"00cf042cd6ba1915648c8d6d2aa00e63bbbc300ea54d28ed087185f0f662e080","impliedFormat":99},{"version":"f57e6707d035ab89a03797d34faef37deefd3dd90aa17d90de2f33dce46a2c56","impliedFormat":99},{"version":"cc8b559b2cf9380ca72922c64576a43f000275c72042b2af2415ce0fb88d7077","impliedFormat":99},{"version":"1a337ca294c428ba8f2eb01e887b28d080ee4a4307ae87e02e468b1d26af4a74","impliedFormat":99},{"version":"5a15362fc2e72765a908c0d4dd89e3ab3b763e8bc8c23f19234a709ecfd202fe","impliedFormat":99},{"version":"2dffdfe62ac8af0943853234519616db6fd8958fc7ff631149fd8364e663f361","impliedFormat":99},{"version":"5dbdb2b2229b5547d8177c34705272da5a10b8d0033c49efbc9f6efba5e617f2","impliedFormat":99},{"version":"6fc0498cd8823d139004baff830343c9a0d210c687b2402c1384fb40f0aa461c","impliedFormat":99},{"version":"8492306a4864a1dc6fc7e0cc0de0ae9279cbd37f3aae3e9dc1065afcdc83dddc","impliedFormat":99},{"version":"c011b378127497d6337a93f020a05f726db2c30d55dc56d20e6a5090f05919a6","impliedFormat":99},{"version":"f4556979e95a274687ae206bbab2bb9a71c3ad923b92df241d9ab88c184b3f40","impliedFormat":99},{"version":"50e82bb6e238db008b5beba16d733b77e8b2a933c9152d1019cf8096845171a4","impliedFormat":99},{"version":"d6011f8b8bbf5163ef1e73588e64a53e8bf1f13533c375ec53e631aad95f1375","impliedFormat":99},{"version":"693cd7936ac7acfa026d4bcb5801fce71cec49835ba45c67af1ef90dbfd30af7","impliedFormat":99},{"version":"195e2cf684ecddfc1f6420564535d7c469f9611ce7a380d6e191811f84556cd2","impliedFormat":99},{"version":"1dc6b6e7b2a7f2962f31c77f4713f3a5a132bbe14c00db75d557568fe82e4311","impliedFormat":99},{"version":"add93b1180e9aaac2dae4ef3b16f7655893e2ecbe62bd9e48366c305f0063d89","impliedFormat":99},{"version":"594bd896fe37c970aafb7a376ebeec4c0d636b62a5f611e2e27d30fb839ad8a5","impliedFormat":99},{"version":"b1c6a6faf60542ba4b4271db045d7faea56e143b326ef507d2797815250f3afc","impliedFormat":99},{"version":"8c8b165beb794260f462679329b131419e9f5f35212de11c4d53e6d4d9cbedf6","impliedFormat":99},{"version":"ee5a4cf57d49fcf977249ab73c690a59995997c4672bb73fcaaf2eed65dbd1b2","impliedFormat":99},{"version":"f9f36051f138ab1c40b76b230c2a12b3ce6e1271179f4508da06a959f8bee4c1","impliedFormat":99},{"version":"9dc2011a3573d271a45c12656326530c0930f92539accbec3531d65131a14a14","impliedFormat":99},{"version":"091521ce3ede6747f784ae6f68ad2ea86bbda76b59d2bf678bcad2f9d141f629","impliedFormat":99},{"version":"202c2be951f53bafe943fb2c8d1245e35ed0e4dfed89f48c9a948e4d186dd6d4","impliedFormat":99},{"version":"c618aead1d799dbf4f5b28df5a6b9ce13d72722000a0ec3fe90a8115b1ea9226","impliedFormat":99},{"version":"9b0bf59708549c3e77fddd36530b95b55419414f88bbe5893f7bc8b534617973","impliedFormat":99},{"version":"7e216f67c4886f1bde564fb4eebdd6b185f262fe85ad1d6128cad9b229b10354","impliedFormat":99},{"version":"cd51e60b96b4d43698df74a665aa7a16604488193de86aa60ec0c44d9f114951","impliedFormat":99},{"version":"b63341fb6c7ba6f2aeabd9fc46b43e6cc2d2b9eec06534cfd583d9709f310ec2","impliedFormat":99},{"version":"be2af50c81b15bcfe54ad60f53eb1c72dae681c72d0a9dce1967825e1b5830a3","impliedFormat":99},{"version":"be5366845dfb9726f05005331b9b9645f237f1ddc594c0def851208e8b7d297b","impliedFormat":99},{"version":"5ddd536aaeadd4bf0f020492b3788ed209a7050ce27abec4e01c7563ff65da81","impliedFormat":99},{"version":"e243b24da119c1ef0d79af2a45217e50682b139cb48e7607efd66cc01bd9dcda","impliedFormat":99},{"version":"5b1398c8257fd180d0bf62e999fe0a89751c641e87089a83b24392efda720476","impliedFormat":99},{"version":"1588b1359f8507a16dbef67cd2759965fc2e8d305e5b3eb71be5aa9506277dff","impliedFormat":99},{"version":"4c99f2524eee1ec81356e2b4f67047a4b7efaf145f1c4eb530cd358c36784423","impliedFormat":99},{"version":"b30c6b9f6f30c35d6ef84daed1c3781e367f4360171b90598c02468b0db2fc3d","impliedFormat":99},{"version":"79c0d32274ccfd45fae74ac61d17a2be27aea74c70806d22c43fc625b7e9f12a","impliedFormat":99},{"version":"1b7e3958f668063c9d24ac75279f3e610755b0f49b1c02bb3b1c232deb958f54","impliedFormat":99},{"version":"779d4022c3d0a4df070f94858a33d9ebf54af3664754536c4ce9fd37c6f4a8db","impliedFormat":99},{"version":"e662f063d46aa8c088edffdf1d96cb13d9a2cbf06bc38dc6fc62b4d125fb7b49","impliedFormat":99},{"version":"d1d612df1e41c90d9678b07740d13d4f8e6acec2f17390d4ff4be5c889a6d37d","impliedFormat":99},{"version":"c95933fe140918892d569186f17b70ef6b1162f851a0f13f6a89e8f4d599c5a1","impliedFormat":99},{"version":"1d8d30677f87c13c2786980a80750ac1e281bdb65aa013ea193766fe9f0edd74","impliedFormat":99},{"version":"4661673cbc984b8a6ee5e14875a71ed529b64e7f8e347e12c0db4cecc25ad67d","impliedFormat":99},{"version":"7f980a414274f0f23658baa9a16e21d828535f9eac538e2eab2bb965325841db","impliedFormat":99},{"version":"20fb747a339d3c1d4a032a31881d0c65695f8167575e01f222df98791a65da9b","impliedFormat":99},{"version":"dd4e7ebd3f205a11becf1157422f98db675a626243d2fbd123b8b93efe5fb505","impliedFormat":99},{"version":"43ec6b74c8d31e88bb6947bb256ad78e5c6c435cbbbad991c3ff39315b1a3dba","impliedFormat":99},{"version":"b27242dd3af2a5548d0c7231db7da63d6373636d6c4e72d9b616adaa2acef7e1","impliedFormat":99},{"version":"e0ee7ba0571b83c53a3d6ec761cf391e7128d8f8f590f8832c28661b73c21b68","impliedFormat":99},{"version":"072bfd97fc61c894ef260723f43a416d49ebd8b703696f647c8322671c598873","impliedFormat":99},{"version":"e70875232f5d5528f1650dd6f5c94a5bed344ecf04bdbb998f7f78a3c1317d02","impliedFormat":99},{"version":"8e495129cb6cd8008de6f4ff8ce34fe1302a9e0dcff8d13714bd5593be3f7898","impliedFormat":99},{"version":"0345bc0b1067588c4ea4c48e34425d3284498c629bc6788ebc481c59949c9037","impliedFormat":99},{"version":"e30f5b5d77c891bc16bd65a2e46cd5384ea57ab3d216c377f482f535db48fc8f","impliedFormat":99},{"version":"f113afe92ee919df8fc29bca91cab6b2ffbdd12e4ac441d2bb56121eb5e7dbe3","impliedFormat":99},{"version":"49d567cc002efb337f437675717c04f207033f7067825b42bb59c9c269313d83","impliedFormat":99},{"version":"1d248f707d02dc76555298a934fba0f337f5028bb1163ce59cd7afb831c9070f","impliedFormat":99},{"version":"5d8debffc9e7b842dc0f17b111673fe0fc0cca65e67655a2b543db2150743385","impliedFormat":99},{"version":"5fccbedc3eb3b23bc6a3a1e44ceb110a1f1a70fa8e76941dce3ae25752caa7a9","impliedFormat":99},{"version":"f4031b95f3bab2b40e1616bd973880fb2f1a97c730bac5491d28d6484fac9560","impliedFormat":99},{"version":"dbe75b3c5ed547812656e7945628f023c4cd0bc1879db0db3f43a57fb8ec0e2b","impliedFormat":99},{"version":"b754718a546a1939399a6d2a99f9022d8a515f2db646bab09f7d2b5bff3cbb82","impliedFormat":99},{"version":"2eef10fb18ed0b4be450accf7a6d5bcce7b7f98e02cac4e6e793b7ad04fc0d79","impliedFormat":99},{"version":"c46f471e172c3be12c0d85d24876fedcc0c334b0dab48060cdb1f0f605f09fed","impliedFormat":99},{"version":"7d6ddeead1d208588586c58c26e4a23f0a826b7a143fb93de62ed094d0056a33","impliedFormat":99},{"version":"7c5782291ff6e7f2a3593295681b9a411c126e3736b83b37848032834832e6b9","impliedFormat":99},{"version":"3a3f09df6258a657dd909d06d4067ee360cd2dccc5f5d41533ae397944a11828","impliedFormat":99},{"version":"ea54615be964503fec7bce04336111a6fa455d3e8d93d44da37b02c863b93eb8","impliedFormat":99},{"version":"2a83694bc3541791b64b0e57766228ea23d92834df5bf0b0fcb93c5bb418069c","impliedFormat":99},{"version":"b5913641d6830e7de0c02366c08b1d26063b5758132d8464c938e78a45355979","impliedFormat":99},{"version":"46c095d39c1887979d9494a824eda7857ec13fb5c20a6d4f7d02c2975309bf45","impliedFormat":99},{"version":"f6e02ca076dc8e624aa38038e3488ebd0091e2faea419082ed764187ba8a6500","impliedFormat":99},{"version":"4d49e8a78aba1d4e0ad32289bf8727ae53bc2def9285dff56151a91e7d770c3e","impliedFormat":99},{"version":"63315cf08117cc728eab8f3eec8801a91d2cd86f91d0ae895d7fd928ab54596d","impliedFormat":99},{"version":"a14a6f3a5636bcaebfe9ec2ccfa9b07dc94deb1f6c30358e9d8ea800a1190d5e","impliedFormat":99},{"version":"21206e7e81876dabf2a7af7aa403f343af1c205bdcf7eff24d9d7f4eee6214c4","impliedFormat":99},{"version":"cd0a9f0ffec2486cad86b7ef1e4da42953ffeb0eb9f79f536e16ff933ec28698","impliedFormat":99},{"version":"f609a6ec6f1ab04dba769e14d6b55411262fd4627a099e333aa8876ea125b822","impliedFormat":99},{"version":"6d8052bb814be030c64cb22ca0e041fe036ad3fc8d66208170f4e90d0167d354","impliedFormat":99},{"version":"851f72a5d3e8a2bf7eeb84a3544da82628f74515c92bdf23c4a40af26dcc1d16","impliedFormat":99},{"version":"59692a7938aab65ea812a8339bbc63c160d64097fe5a457906ea734d6f36bcd4","impliedFormat":99},{"version":"8cb3b95e610c44a9986a7eab94d7b8f8462e5de457d5d10a0b9c6dd16bde563b","impliedFormat":99},{"version":"f571713abd9a676da6237fe1e624d2c6b88c0ca271c9f1acc1b4d8efeea60b66","impliedFormat":99},{"version":"16c5d3637d1517a3d17ed5ebcfbb0524f8a9997a7b60f6100f7c5309b3bb5ac8","impliedFormat":99},{"version":"ca1ec669726352c8e9d897f24899abf27ad15018a6b6bcf9168d5cd1242058ab","impliedFormat":99},{"version":"bffb1b39484facf6d0c5d5feefe6c0736d06b73540b9ce0cf0f12da2edfd8e1d","impliedFormat":99},{"version":"f1663c030754f6171b8bb429096c7d2743282de7733bccd6f67f84a4c588d96e","impliedFormat":99},{"version":"dd09693285e58504057413c3adc84943f52b07d2d2fd455917f50fa2a63c9d69","impliedFormat":99},{"version":"d94c94593d03d44a03810a85186ae6d61ebeb3a17a9b210a995d85f4b584f23d","impliedFormat":99},{"version":"c7c3bf625a8cb5a04b1c0a2fbe8066ecdbb1f383d574ca3ffdabe7571589a935","impliedFormat":99},{"version":"7a2f39a4467b819e873cd672c184f45f548511b18f6a408fe4e826136d0193bb","impliedFormat":99},{"version":"f8a0ae0d3d4993616196619da15da60a6ec5a7dfaf294fe877d274385eb07433","impliedFormat":99},{"version":"2cca80de38c80ef6c26deb4e403ca1ff4efbe3cf12451e26adae5e165421b58d","impliedFormat":99},{"version":"0070d3e17aa5ad697538bf865faaff94c41f064db9304b2b949eb8bcccb62d34","impliedFormat":99},{"version":"53df93f2db5b7eb8415e98242c1c60f6afcac2db44bce4a8830c8f21eee6b1dd","impliedFormat":99},{"version":"d67bf28dc9e6691d165357424c8729c5443290367344263146d99b2f02a72584","impliedFormat":99},{"version":"932557e93fbdf0c36cc29b9e35950f6875425b3ac917fa0d3c7c2a6b4f550078","impliedFormat":99},{"version":"e3dc7ec1597fb61de7959335fb7f8340c17bebf2feb1852ed8167a552d9a4a25","impliedFormat":99},{"version":"b64e15030511c5049542c2e0300f1fe096f926cf612662884f40227267f5cd9f","impliedFormat":99},{"version":"1932796f09c193783801972a05d8fb1bfef941bb46ac76fbe1abb0b3bfb674fa","impliedFormat":99},{"version":"d9575d5787311ee7d61ad503f5061ebcfaf76b531cfecce3dc12afb72bb2d105","impliedFormat":99},{"version":"5b41d96c9a4c2c2d83f1200949f795c3b6a4d2be432b357ad1ab687e0f0de07c","impliedFormat":99},{"version":"38ec829a548e869de4c5e51671245a909644c8fb8e7953259ebb028d36b4dd06","impliedFormat":99},{"version":"20c2c5e44d37dac953b516620b5dba60c9abd062235cdf2c3bfbf722d877a96b","impliedFormat":99},{"version":"875fe6f7103cf87c1b741a0895fda9240fed6353d5e7941c8c8cbfb686f072b4","impliedFormat":99},{"version":"c0ccccf8fbcf5d95f88ed151d0d8ce3015aa88cf98d4fd5e8f75e5f1534ee7ae","impliedFormat":99},{"version":"1b1f4aba21fd956269ced249b00b0e5bfdbd5ebd9e628a2877ab1a2cf493c919","impliedFormat":99},{"version":"939e3299952dff0869330e3324ba16efe42d2cf25456d7721d7f01a43c1b0b34","impliedFormat":99},{"version":"f0a9b52faec508ba22053dedfa4013a61c0425c8b96598cef3dea9e4a22637c6","impliedFormat":99},{"version":"d5b302f50db61181adc6e209af46ae1f27d7ef3d822de5ea808c9f44d7d219fd","impliedFormat":99},{"version":"19131632ba492c83e8eeadf91a481def0e0b39ffc3f155bc20a7f640e0570335","impliedFormat":99},{"version":"4581c03abea21396c3e1bb119e2fd785a4d91408756209cbeed0de7070f0ab5b","impliedFormat":99},{"version":"ebcd3b99e17329e9d542ef2ccdd64fddab7f39bc958ee99bbdb09056c02d6e64","impliedFormat":99},{"version":"4b148999deb1d95b8aedd1a810473a41d9794655af52b40e4894b51a8a4e6a6d","impliedFormat":99},{"version":"1781cc99a0f3b4f11668bb37cca7b8d71f136911e87269e032f15cf5baa339bf","impliedFormat":99},{"version":"33f1b7fa96117d690035a235b60ecd3cd979fb670f5f77b08206e4d8eb2eb521","impliedFormat":99},{"version":"01429b306b94ff0f1f5548ce5331344e4e0f5872b97a4776bd38fd2035ad4764","impliedFormat":99},{"version":"c1bc4f2136de7044943d784e7a18cb8411c558dbb7be4e4b4876d273cbd952af","impliedFormat":99},{"version":"5470f84a69b94643697f0d7ec2c8a54a4bea78838aaa9170189b9e0a6e75d2cf","impliedFormat":99},{"version":"36aaa44ee26b2508e9a6e93cd567e20ec700940b62595caf962249035e95b5e3","impliedFormat":99},{"version":"f8343562f283b7f701f86ad3732d0c7fd000c20fe5dc47fa4ed0073614202b4d","impliedFormat":99},{"version":"a53c572630a78cd99a25b529069c1e1370f8a5d8586d98e798875f9052ad7ad1","impliedFormat":99},{"version":"4ad3451d066711dde1430c544e30e123f39e23c744341b2dfd3859431c186c53","impliedFormat":99},{"version":"8069cbef9efa7445b2f09957ffbc27b5f8946fdbade4358fb68019e23df4c462","impliedFormat":99},{"version":"cd8b4e7ad04ba9d54eb5b28ac088315c07335b837ee6908765436a78d382b4c3","impliedFormat":99},{"version":"d533d8f8e5c80a30c51f0cbfe067b60b89b620f2321d3a581b5ba9ac8ffd7c3a","impliedFormat":99},{"version":"33f49f22fdda67e1ddbacdcba39e62924793937ea7f71f4948ed36e237555de3","impliedFormat":99},{"version":"710c31d7c30437e2b8795854d1aca43b540cb37cefd5900f09cfcd9e5b8540c4","impliedFormat":99},{"version":"b2c03a0e9628273bc26a1a58112c311ffbc7a0d39938f3878837ab14acf3bc41","impliedFormat":99},{"version":"a93beb0aa992c9b6408e355ea3f850c6f41e20328186a8e064173106375876c2","impliedFormat":99},{"version":"efdcba88fcd5421867898b5c0e8ea6331752492bd3547942dea96c7ebcb65194","impliedFormat":99},{"version":"a98e777e7a6c2c32336a017b011ba1419e327320c3556b9139413e48a8460b9a","impliedFormat":99},{"version":"ea44f7f8e1fe490516803c06636c1b33a6b82314366be1bd6ffa4ba89bc09f86","impliedFormat":99},{"version":"c25f22d78cc7f46226179c33bef0e4b29c54912bde47b62e5fdaf9312f22ffcb","impliedFormat":99},{"version":"d57579cfedc5a60fda79be303080e47dfe0c721185a5d95276523612228fcefc","impliedFormat":99},{"version":"a41630012afe0d4a9ff14707f96a7e26e1154266c008ddbd229e3f614e4d1cf7","impliedFormat":99},{"version":"298a858633dfa361bb8306bbd4cfd74f25ab7cc20631997dd9f57164bc2116d1","impliedFormat":99},{"version":"921782c45e09940feb232d8626a0b8edb881be2956520c42c44141d9b1ddb779","impliedFormat":99},{"version":"06117e4cc7399ce1c2b512aa070043464e0561f956bda39ef8971a2fcbcdbf2e","impliedFormat":99},{"version":"daccf332594b304566c7677c2732fed6e8d356da5faac8c5f09e38c2f607a4ab","impliedFormat":99},{"version":"4386051a0b6b072f35a2fc0695fecbe4a7a8a469a1d28c73be514548e95cd558","impliedFormat":99},{"version":"78e41de491fe25947a7fd8eeef7ebc8f1c28c1849a90705d6e33f34b1a083b90","impliedFormat":99},{"version":"3ccd198e0a693dd293ed22e527c8537c76b8fe188e1ebf20923589c7cfb2c270","impliedFormat":99},{"version":"2ebf2ee015d5c8008428493d4987e2af9815a76e4598025dd8c2f138edc1dcae","impliedFormat":99},{"version":"0dcc8f61382c9fcdafd48acc54b6ffda69ca4bb7e872f8ad12fb011672e8b20c","impliedFormat":99},{"version":"9db563287eb527ead0bcb9eb26fbec32f662f225869101af3cabcb6aee9259cf","impliedFormat":99},{"version":"068489bec523be43f12d8e4c5c337be4ff6a7efb4fe8658283673ae5aae14b85","impliedFormat":99},{"version":"838212d0dc5b97f7c5b5e29a89953de3906f72fce13c5ae3c5ade346f561d226","impliedFormat":99},{"version":"ddc78d29af824ad7587152ea523ed5d60f2bc0148d8741c5dacf9b5b44587b1b","impliedFormat":99},{"version":"019b522e3783e5519966927ceeb570eefcc64aba3f9545828a5fb4ae1fde53c6","impliedFormat":99},{"version":"b34623cc86497a5123de522afba770390009a56eebddba38d2aa5798b70b0a87","impliedFormat":99},{"version":"d2a8cbeb0c0caaf531342062b4b5c227118862879f6a25033e31fad00797b7eb","impliedFormat":99},{"version":"14891c20f15be1d0d42ecbbd63de1c56a4d745e3ea2b4c56775a4d5d36855630","impliedFormat":99},{"version":"e55a1f6b198a39e38a3cea3ffe916aab6fde7965c827db3b8a1cacf144a67cd9","impliedFormat":99},{"version":"f7910ccfe56131e99d52099d24f3585570dc9df9c85dd599a387b4499596dd4d","impliedFormat":99},{"version":"9409ac347c5779f339112000d7627f17ede6e39b0b6900679ce5454d3ad2e3c9","impliedFormat":99},{"version":"22dfe27b0aa1c669ce2891f5c89ece9be18074a867fe5dd8b8eb7c46be295ca1","impliedFormat":99},{"version":"684a5c26ce2bb7956ef6b21e7f2d1c584172cd120709e5764bc8b89bac1a10eb","impliedFormat":99},{"version":"93761e39ce9d3f8dd58c4327e615483f0713428fa1a230883eb812292d47bbe8","impliedFormat":99},{"version":"c66be51e3d121c163a4e140b6b520a92e1a6a8a8862d44337be682e6f5ec290a","impliedFormat":99},{"version":"66e486a9c9a86154dc9780f04325e61741f677713b7e78e515938bf54364fee2","impliedFormat":99},{"version":"d211bc80b6b6e98445df46fe9dd3091944825dd924986a1c15f9c66d7659c495","impliedFormat":99},{"version":"8dd2b72f5e9bf88939d066d965144d07518e180efec3e2b6d06ae5e725d84c7d","impliedFormat":99},{"version":"949cb88e315ab1a098c3aa4a8b02496a32b79c7ef6d189eee381b96471a7f609","impliedFormat":99},{"version":"bc43af2a5fa30a36be4a3ed195ff29ffb8067bf4925aa350ace9d9f18f380cc2","impliedFormat":99},{"version":"f280b47f4ad3a3a8d6c53dc31aee21a40da6977ec43ea890b7c86d672933335b","impliedFormat":99},{"version":"8428e71f6d1b63acf55ceb56244aad9cf07678cf9626166e4aded15e3d252f8a","impliedFormat":99},{"version":"11505212ab24aa0f06d719a09add4be866e26f0fc15e96a1a2a8522c0c6a73a8","impliedFormat":99},{"version":"8228186214a5d7da60bd1dd91387a725e19c6c31a7ed4e114cf68d5ce6629c52","impliedFormat":99},{"version":"c44bb0071cededc08236d57d1131c44339c1add98b029a95584dfe1462533575","impliedFormat":99},{"version":"7a4935af71877da3bbc53938af00e5d4f6d445ef850e1573a240447dcb137b5c","impliedFormat":99},{"version":"4e313033202712168ecc70a6d830964ad05c9c93f81d806d7a25d344f6352565","impliedFormat":99},{"version":"8a1fc69eaf8fc8d447e6f776fbfa0c1b12245d7f35f1dbfb18fbc2d941f5edd8","impliedFormat":99},{"version":"afb9b4c8bd38fb43d38a674de56e6f940698f91114fded0aa119de99c6cd049a","impliedFormat":99},{"version":"1d277860f19b8825d027947fca9928ee1f3bfaa0095e85a97dd7a681b0698dfc","impliedFormat":99},{"version":"6d32122bb1e7c0b38b6f126d166dff1f74c8020f8ba050248d182dcafc835d08","impliedFormat":99},{"version":"cfac5627d337b82d2fbeff5f0f638b48a370a8d72d653327529868a70c5bc0f8","impliedFormat":99},{"version":"8a826bc18afa4c5ed096ceb5d923e2791a5bae802219e588a999f535b1c80492","impliedFormat":99},{"version":"73e94021c55ab908a1b8c53792e03bf7e0d195fee223bdc5567791b2ccbfcdec","impliedFormat":99},{"version":"5f73eb47b37f3a957fe2ac6fe654648d60185908cab930fc01c31832a5cb4b10","impliedFormat":99},{"version":"cb6372a2460010a342ba39e06e1dcfd722e696c9d63b4a71577f9a3c72d09e0a","impliedFormat":99},{"version":"1e289698069f553f36bbf12ee0084c492245004a69409066faceb173d2304ec4","impliedFormat":99},{"version":"f1ca71145e5c3bba4d7f731db295d593c3353e9a618b40c4af0a4e9a814bb290","impliedFormat":99},{"version":"ac12a6010ff501e641f5a8334b8eaf521d0e0739a7e254451b6eea924c3035c7","impliedFormat":99},{"version":"97395d1e03af4928f3496cc3b118c0468b560765ab896ce811acb86f6b902b5c","impliedFormat":99},{"version":"7dcfbd6a9f1ce1ddf3050bd469aa680e5259973b4522694dc6291afe20a2ae28","impliedFormat":99},{"version":"6e545419ad200ae4614f8e14d32b7e67e039c26a872c0f93437b0713f54cde53","impliedFormat":99},{"version":"efc225581aae9bb47d421a1b9f278db0238bc617b257ce6447943e59a2d1621e","impliedFormat":99},{"version":"8833b88e26156b685bc6f3d6a014c2014a878ffbd240a01a8aee8a9091014e9c","impliedFormat":99},{"version":"7a2a42a1ac642a9c28646731bd77d9849cb1a05aa1b7a8e648f19ab7d72dd7dc","impliedFormat":99},{"version":"4d371c53067a3cc1a882ff16432b03291a016f4834875b77169a2d10bb1b023e","impliedFormat":99},{"version":"99b38f72e30976fd1946d7b4efe91aa227ecf0c9180e1dd6502c1d39f37445b4","impliedFormat":99},{"version":"df1bcf0b1c413e2945ce63a67a1c5a7b21dbbec156a97d55e9ea0eed90d2c604","impliedFormat":99},{"version":"6e2011a859fa435b1196da1720be944ed59c668bb42d2f2711b49a506b3e4e90","impliedFormat":99},{"version":"b4bfa90fac90c6e0d0185d2fe22f059fec67587cc34281f62294f9c4615a8082","impliedFormat":99},{"version":"036d363e409ebe316a6366aff5207380846f8f82e100c2e3db4af5fe0ad0c378","impliedFormat":99},{"version":"5ae6642588e4a72e5a62f6111cb750820034a7fbe56b5d8ec2bcb29df806ce52","impliedFormat":99},{"version":"6fca09e1abc83168caf36b751dec4ddda308b5714ec841c3ff0f3dc07b93c1b8","impliedFormat":99},{"version":"2f7268e6ac610c7122b6b416e34415ce42b51c56d080bef41786d2365f06772d","impliedFormat":99},{"version":"9a07957f75128ed0be5fc8a692a14da900878d5d5c21880f7c08f89688354aa4","impliedFormat":99},{"version":"8b6f3ae84eab35c50cf0f1b608c143fe95f1f765df6f753cd5855ae61b3efbe2","impliedFormat":99},{"version":"992491d83ff2d1e7f64a8b9117daee73724af13161f1b03171f0fa3ffe9b4e3e","impliedFormat":99},{"version":"12bcf6af851be8dd5f3e66c152bb77a83829a6a8ba8c5acc267e7b15e11aa9ab","impliedFormat":99},{"version":"e2704efc7423b077d7d9a21ddb42f640af1565e668d5ec85f0c08550eff8b833","impliedFormat":99},{"version":"e0513c71fd562f859a98940633830a7e5bcd7316b990310e8bb68b1d41d676a3","impliedFormat":99},{"version":"712071b9066a2d8f4e11c3b8b3d5ada6253f211a90f06c6e131cff413312e26d","impliedFormat":99},{"version":"5a187a7bc1e7514ef1c3d6eaafa470fc45541674d8fca0f9898238728d62666a","impliedFormat":99},{"version":"0c06897f7ab3830cef0701e0e083b2c684ed783ae820b306aedd501f32e9562d","impliedFormat":99},{"version":"56cc6eae48fd08fa709cf9163d01649f8d24d3fea5806f488d2b1b53d25e1d6c","impliedFormat":99},{"version":"57a925b13947b38c34277d93fb1e85d6f03f47be18ca5293b14082a1bd4a48f5","impliedFormat":99},{"version":"9d9d64c1fa76211dd529b6a24061b8d724e2110ee55d3829131bca47f3fe4838","impliedFormat":99},{"version":"c13042e244bb8cf65586e4131ef7aed9ca33bf1e029a43ed0ebab338b4465553","impliedFormat":99},{"version":"54be9b9c71a17cb2519b841fad294fa9dc6e0796ed86c8ac8dd9d8c0d1c3a631","impliedFormat":99},{"version":"10881be85efd595bef1d74dfa7b9a76a5ab1bfed9fb4a4ca7f73396b72d25b90","impliedFormat":99},{"version":"925e71eaa87021d9a1215b5cf5c5933f85fe2371ddc81c32d1191d7842565302","impliedFormat":99},{"version":"faed0b3f8979bfbfb54babcff9d91bd51fda90931c7716effa686b4f30a09575","impliedFormat":99},{"version":"53c72d68328780f711dbd39de7af674287d57e387ddc5a7d94f0ffd53d8d3564","impliedFormat":99},{"version":"51129924d359cdebdccbf20dbabc98c381b58bfebe2457a7defed57002a61316","impliedFormat":99},{"version":"7270a757071e3bc7b5e7a6175f1ac9a4ddf4de09f3664d80cb8805138f7d365b","impliedFormat":99},{"version":"ea7b5c6a79a6511cdeeedc47610370be1b0e932e93297404ef75c90f05fc1b61","impliedFormat":99},{"version":"11b817aaa791d8ebd39a882f80827a7d4a99c6d451c8b836a81b186fcb2de87a","signature":"e7828ab708d23dd98370a8de5d7ad81d44fc5817dffa5a53c4adce749cf30d58"},{"version":"e516240bc1e5e9faef055432b900bc0d3c9ca7edce177fdabbc6c53d728cced8","impliedFormat":99},{"version":"5402765feacf44e052068ccb4535a346716fa1318713e3dae1af46e1e85f29a9","impliedFormat":99},{"version":"e16ec5d4796e7a765810efee80373675cedc4aa4814cf7272025a88addf5f0be","impliedFormat":99},{"version":"1f57157fcd45f9300c6efcfc53e2071fbe43396b0a7ed2701fbd1efb5599f07f","impliedFormat":99},{"version":"9f1886f3efddfac35babcada2d454acd4e23164345d11c979966c594af63468b","impliedFormat":99},{"version":"a3541c308f223863526df064933e408eba640c0208c7345769d7dc330ad90407","impliedFormat":99},{"version":"59af208befeb7b3c9ab0cb6c511e4fec54ede11922f2ffb7b497351deaf8aa2e","impliedFormat":99},{"version":"928b16f344f6cddaba565da8238f4cf2ddf12fe03eb426ab46a7560e9b3078fa","impliedFormat":99},{"version":"120bdf62bccef4ea96562a3d30dd60c9d55481662f5cf31c19725f56c0056b34","impliedFormat":99},{"version":"39e0da933908de42ba76ea1a92e4657305ae195804cfaa8760664e80baac2d6a","impliedFormat":99},{"version":"55ce6ca8df9d774d60cef58dd5d716807d5cc8410b8b065c06d3edac13f2e726","impliedFormat":99},{"version":"788a0faf3f28d43ce3793b4147b7539418a887b4a15a00ffb037214ed8f0b7f6","impliedFormat":99},{"version":"a3e66e7b8ccdab967cd4ada0f178151f1c42746eabb589a06958482fd4ed354e","impliedFormat":99},{"version":"bf45a2964a872c9966d06b971d0823daecbd707f97e927f2368ba54bb1b13a90","impliedFormat":99},{"version":"39973a12c57e06face646fb79462aabe8002e5523eec4e86e399228eb34b32c9","impliedFormat":99},{"version":"f01091e9b5028acfb38208113ae051fad8a0b4b8ec1f7137a2a5cf903c47eefc","impliedFormat":99},{"version":"b3e87824c9e7e3a3be7f76246e45c8d603ce83d116733047200b3aa95875445b","impliedFormat":99},{"version":"7e1f7f9ae14e362d41167dc861be6a8d76eca30dde3a9893c42946dc5a5fc686","impliedFormat":99},{"version":"9308ef3b9433063ac753a55c3f36d6d89fa38a8e6c51e05d9d8329c7f1174f24","impliedFormat":99},{"version":"cd3bb1aa24726a0abd67558fde5759fe968c3c6aa3ec7bad272e718851502894","impliedFormat":99},{"version":"1ae0f22c3b8420b5c2fec118f07b7ebd5ae9716339ab3477f63c603fe7a151c8","impliedFormat":99},{"version":"919ff537fff349930acc8ad8b875fd985a17582fb1beb43e2f558c541fd6ecd9","impliedFormat":99},{"version":"4e67811e45bae6c44bd6f13a160e4188d72fd643665f40c2ac3e8a27552d3fd9","impliedFormat":99},{"version":"3d1450fd1576c1073f6f4db9ebae5104e52e2c4599afb68d7d6c3d283bdbaf4f","impliedFormat":99},{"version":"c072af873c33ff11af126c56a846dfada32461b393983a72b6da7bff373e0002","impliedFormat":99},{"version":"de66e997ea5376d4aeb16d77b86f01c7b7d6d72fbb738241966459d42a4089e0","impliedFormat":99},{"version":"d77ea3b91e4bc44d710b7c9487c2c6158e8e5a3439d25fc578befeb27b03efd7","impliedFormat":99},{"version":"a3d5c695c3d1ebc9b0bd55804afaf2ac7c97328667cbeedf2c0861b933c45d3e","impliedFormat":99},{"version":"270724545d446036f42ddea422ee4d06963db1563ccc5e18b01c76f6e67968ae","impliedFormat":99},{"version":"85441c4f6883f7cfd1c5a211c26e702d33695acbabec8044e7fa6831ed501b45","impliedFormat":99},{"version":"0f268017a6b1891fdeea69c2a11d576646d7fd9cdfc8aac74d003cd7e87e9c5a","impliedFormat":99},{"version":"9ece188c336c80358742a5a0279f2f550175f5a07264349d8e0ce64db9701c0b","impliedFormat":99},{"version":"cf41b0fc7d57643d1a8d21af07b0247db2f2d7e2391c2e55929e9c00fbe6ab9a","impliedFormat":99},{"version":"11e7ddddd9eddaac56a6f23d8699ae7a94c2a55ae8c986fdabc719d3c3e875a1","impliedFormat":99},{"version":"dd129c2d348be7dbf9f15d34661defdfc11ee00628ca6f7161bead46095c6bc3","impliedFormat":99},{"version":"c38d8e7cfc64bbfc14a63346388249c1cfa2cc02166c5f37e5a57da4790ce27f","impliedFormat":99},{"version":"67237a35be1473c2436d9438a17330e183bf720e84391dd8d0a00a73f289a371","signature":"0d2ec35e98301af187839a1a6110c5f2dd8202b514755c1b6450394eac8cb5bc"},{"version":"7e3373dde2bba74076250204bd2af3aa44225717435e46396ef076b1954d2729","impliedFormat":1},{"version":"1c3dfad66ff0ba98b41c98c6f41af096fc56e959150bc3f44b2141fb278082fd","impliedFormat":1},{"version":"56208c500dcb5f42be7e18e8cb578f257a1a89b94b3280c506818fed06391805","impliedFormat":1},{"version":"0c94c2e497e1b9bcfda66aea239d5d36cd980d12a6d9d59e66f4be1fa3da5d5a","impliedFormat":1},{"version":"eb9271b3c585ea9dc7b19b906a921bf93f30f22330408ffec6df6a22057f3296","impliedFormat":1},{"version":"82b7bf38f1bc606dc662c35b8c80905e40956e4c2212d523402ae925bd75de63","impliedFormat":1},{"version":"81be14ad77be99cea7343fdc92a0f4058bcdebaa789d944e04ce4f86f0ca5fbb","impliedFormat":1},{"version":"9f1e00eab512de990ba27afa8634ca07362192063315be1f8166bc3dcc7f0e0f","impliedFormat":1},{"version":"1cdbf5cc31860b39bd1881f19809357ee3600331ff1317f9d700c21665649aa8","impliedFormat":1},{"version":"86dac6ce3fcd0a069b67a1ac9abdbce28588ea547fd2b42d73c1a2b7841cf182","impliedFormat":1},{"version":"4d34fbeadba0009ed3a1a5e77c99a1feedec65d88c4d9640910ff905e4e679f7","impliedFormat":1},{"version":"2f3ec8a345eefed1af66b5975da98ccf3178d13ba9308359d34d2f7f87dd4c9c","impliedFormat":1},{"version":"8fcc5571404796a8fe56e5c4d05049acdeac9c7a72205ac15b35cb463916d614","impliedFormat":1},{"version":"a3b3a1712610260c7ab96e270aad82bd7b28a53e5776f25a9a538831057ff44c","impliedFormat":1},{"version":"33a2af54111b3888415e1d81a7a803d37fada1ed2f419c427413742de3948ff5","impliedFormat":1},{"version":"d5a4fca3b69f2f740e447efb9565eecdbbe4e13f170b74dd4a829c5c9a5b8ebf","impliedFormat":1},{"version":"56f1e1a0c56efce87b94501a354729d0a0898508197cb50ab3e18322eb822199","impliedFormat":1},{"version":"8960e8c1730aa7efb87fcf1c02886865229fdbf3a8120dd08bb2305d2241bd7e","impliedFormat":1},{"version":"27bf82d1d38ea76a590cbe56873846103958cae2b6f4023dc59dd8282b66a38a","impliedFormat":1},{"version":"0daaab2afb95d5e1b75f87f59ee26f85a5f8d3005a799ac48b38976b9b521e69","impliedFormat":1},{"version":"2c378d9368abcd2eba8c29b294d40909845f68557bc0b38117e4f04fc56e5f9c","impliedFormat":1},{"version":"9b048390bcffe88c023a4cd742a720b41d4cd7df83bc9270e6f2339bf38de278","affectsGlobalScope":true,"impliedFormat":1},{"version":"c60b14c297cc569c648ddaea70bc1540903b7f4da416edd46687e88a543515a1","impliedFormat":1},{"version":"d03cf6cd011da250c9a67c35a3378de326f6136c4192a90dd11f3a84627b4ef6","impliedFormat":1},{"version":"9c0217750253e3bf9c7e3821e51cff04551c00e63258d5e190cf8bd3181d5d4a","impliedFormat":1},{"version":"5c2e7f800b757863f3ddf1a98d7521b8da892a95c1b2eafb48d652a782891677","impliedFormat":1},{"version":"73ed3ff18ca862b9d7272de3b0d137d284a0c40e1c94cbf37acd5270ce9b7cd6","impliedFormat":1},{"version":"c61d8275c35a76cb12c271b5fa8707bb46b1e5778a370fd6037c244c4df6a725","impliedFormat":1},{"version":"c7793cb5cd2bef461059ca340fbcd19d7ddac7ab3dcc6cd1c90432fca260a6ae","impliedFormat":1},{"version":"fd3bf6d545e796ebd31acc33c3b20255a5bc61d963787fc8473035ea1c09d870","impliedFormat":1},{"version":"c7af51101b509721c540c86bb5fc952094404d22e8a18ced30c38a79619916fa","impliedFormat":1},{"version":"59c8f7d68f79c6e3015f8aee218282d47d3f15b85e5defc2d9d1961b6ffed7a0","impliedFormat":1},{"version":"93a2049cbc80c66aa33582ec2648e1df2df59d2b353d6b4a97c9afcbb111ccab","impliedFormat":1},{"version":"d04d359e40db3ae8a8c23d0f096ad3f9f73a9ef980f7cb252a1fdc1e7b3a2fb9","impliedFormat":1},{"version":"84aa4f0c33c729557185805aae6e0df3bd084e311da67a10972bbcf400321ff0","impliedFormat":1},{"version":"cf6cbe50e3f87b2f4fd1f39c0dc746b452d7ce41b48aadfdb724f44da5b6f6ed","impliedFormat":1},{"version":"3cf494506a50b60bf506175dead23f43716a088c031d3aa00f7220b3fbcd56c9","impliedFormat":1},{"version":"f2d47126f1544c40f2b16fc82a66f97a97beac2085053cf89b49730a0e34d231","impliedFormat":1},{"version":"724ac138ba41e752ae562072920ddee03ba69fe4de5dafb812e0a35ef7fb2c7e","impliedFormat":1},{"version":"e4eb3f8a4e2728c3f2c3cb8e6b60cadeb9a189605ee53184d02d265e2820865c","impliedFormat":1},{"version":"f16cb1b503f1a64b371d80a0018949135fbe06fb4c5f78d4f637b17921a49ee8","impliedFormat":1},{"version":"f4808c828723e236a4b35a1415f8f550ff5dec621f81deea79bf3a051a84ffd0","impliedFormat":1},{"version":"3b810aa3410a680b1850ab478d479c2f03ed4318d1e5bf7972b49c4d82bacd8d","impliedFormat":1},{"version":"0ce7166bff5669fcb826bc6b54b246b1cf559837ea9cc87c3414cc70858e6097","impliedFormat":1},{"version":"90ae889ba2396d54fe9c517fcb0d5a8923d3023c3e6cbd44676748045853d433","impliedFormat":1},{"version":"3549400d56ee2625bb5cc51074d3237702f1f9ffa984d61d9a2db2a116786c22","impliedFormat":1},{"version":"5ffe02488a8ffd06804b75084ecc66b512f85186508e7c9b57b5335283b1f487","impliedFormat":1},{"version":"b60f6734309d20efb9b0e0c7e6e68282ee451592b9c079dd1a988bb7a5eeb5e7","impliedFormat":1},{"version":"f4187a4e2973251fd9655598aa7e6e8bba879939a73188ee3290bb090cc46b15","impliedFormat":1},{"version":"44c1a26f578277f8ccef3215a4bd642a0a4fbbaf187cf9ae3053591c891fdc9c","impliedFormat":1},{"version":"a5989cd5e1e4ca9b327d2f93f43e7c981f25ee12a81c2ebde85ec7eb30f34213","impliedFormat":1},{"version":"f65b8fa1532dfe0ef2c261d63e72c46fe5f089b28edcd35b3526328d42b412b8","impliedFormat":1},{"version":"1060083aacfc46e7b7b766557bff5dafb99de3128e7bab772240877e5bfe849d","impliedFormat":1},{"version":"1b32f14ef9e26be36776d6115d3661747508a3437f5bb2528a39ce60f622b5aa","impliedFormat":1},{"version":"9ee50ea4e24ac33273880940358802dd98baddf27173f19ea061752eb192c44d","impliedFormat":1},{"version":"111e1ef247e53abc607bd921154a477a4b19b3e876abb79c672012f06f69b368","impliedFormat":1},{"version":"7ec569bb000dbd2ae79f6e5888fa16765a7c579936054a4f50b021eaf31b0998","impliedFormat":1},{"version":"dd0b9b00a39436c1d9f7358be8b1f32571b327c05b5ed0e88cc91f9d6b6bc3c9","impliedFormat":1},{"version":"a951a7b2224a4e48963762f155f5ad44ca1145f23655dde623ae312d8faeb2f2","impliedFormat":1},{"version":"f7eb7fc7e7c956605835e5bbbdfc4b6d1c36f1d41a162bfffba4540eae5d4257","impliedFormat":1},{"version":"cf7698e227b8f0e3373106ef29db72fc52661c0fdaa823205fbfc357985ec219","impliedFormat":1},{"version":"9f20de1b5776e653764e55f059d02ef460d7e2c064c304bfda1d7ba2dda43886","impliedFormat":1},{"version":"890ed5cccf66fdced5795066488cd006379dfc84b1670e459f03d40c625341ca","impliedFormat":1},{"version":"d8e8ab0dbaee5220b21dfbbb33fefc684ef4d87b07743a998f39e9d88ffe9776","impliedFormat":1},{"version":"977aeb024f773799d20985c6817a4c0db8fed3f601982a52d4093e0c60aba85f","impliedFormat":1},{"version":"d59cf5116848e162c7d3d954694f215b276ad10047c2854ed2ee6d14a481411f","impliedFormat":1},{"version":"50098be78e7cbfc324dfc04983571c80539e55e11a0428f83a090c13c41824a2","impliedFormat":1},{"version":"40894bcf307f326ec4d371cd2ff304dac0fa303d1c6c71ad7dc65742239114da","impliedFormat":1},{"version":"dd6051c7b02af0d521857069c49897adb8595d1f0e94487d53ebc157294ef864","impliedFormat":1},{"version":"79c6a11f75a62151848da39f6098549af0dd13b22206244961048326f451b2a8","impliedFormat":1},{"version":"0d1015da32cad5bcf8b19ecb4464bfada1faf005ead1db5107410f33a4b1ac77","signature":"e382d9aa86ae57a0634861cd952e44d2676f508b963e4243c35546caa86c7d86"},{"version":"2c57db2bf2dbd9e8ef4853be7257d62a1cb72845f7b976bb4ee827d362675f96","impliedFormat":99},{"version":"f4629326151cdb4fefbb8d49ff20bcc3ffab3f791fb31b795937650877eae212","signature":"f0be1892cb7f2a9d3ad1905cb890ba8ce14f31fdd29160043ea88830717b284b"},{"version":"89d052508dd671fdc6c823cc299a53537edd00c7067ae9508a2af0a8eeb4348b","signature":"160fbcda3ae5291ff8861d7328a3bc0b086a02cf45e521cbef69bc50817bbdba"},{"version":"bb703864a1bc9ca5ac3589ffd83785f6dc86f7f6c485c97d7ffd53438777cb9e","impliedFormat":1},{"version":"2341f5d3379758c9659806e518299f9a3dc394128571e379ed83941deae83403","signature":"7cc49a13d6dc95645c5e5d5fd44f7b3f5c69dfe80b50bbfb48ee0598195798ea"},{"version":"803aa420db4170238043ca1b9f1fd88f285f1b83f3ff2c0c5abff217df316896","signature":"143126980202f9d9cf7ba155552d23da27f196afa8812c1155ee28780e8fcbc5"},{"version":"6b5f886fe41e2e767168e491fe6048398ed6439d44e006d9f51cc31265f08978","impliedFormat":99},{"version":"56a87e37f91f5625eb7d5f8394904f3f1e2a90fb08f347161dc94f1ae586bdd0","impliedFormat":99},{"version":"6b863463764ae572b9ada405bf77aac37b5e5089a3ab420d0862e4471051393b","impliedFormat":99},{"version":"68b6a7501a56babd7bcd840e0d638ee7ec582f1e70b3c36ebf32e5e5836913c8","impliedFormat":99},{"version":"89783bd45ab35df55203b522f8271500189c3526976af533a599a86caaf31362","impliedFormat":99},{"version":"6da2e0928bdab05861abc4e4abebea0c7cf0b67e25374ba35a94df2269563dd8","impliedFormat":99},{"version":"ef3f8b668e7abee8ea18ea66317d067a5f3590a3bdfb7be937df5838e69602e8","signature":"704c09fbf8cab1b4da84a0fb0b9229185746bb65f8c2db5ebb52ecc121389aa4"},{"version":"e7441be68f390975c6155c805cea8f54cc1b7f3656b6b9440ecbbbd7753499e6","impliedFormat":99},{"version":"e62592bd1cea50ad95ebeba32a165f9cfdf5a5c6431067ec74e024b83a866f01","signature":"0c744d06c45e1d7281cbb0ed29c102a48716bb845436ad02ec4b2b2b101b8318"},{"version":"26e6c521a290630ea31f0205a46a87cab35faac96e2b30606f37bae7bcda4f9d","impliedFormat":99},{"version":"3124a8b0edfe90400cf4d14d438dfe6ac3af9ec9a6181feee10f48390aeb1815","signature":"4be287c460622f9f8329a3ac0eac7c67852ac6ce7a2afc20dbbcbce631ac0077"},{"version":"c9828acce9044690059524bee2e67dec68710baed7bfa1f6c787ca86413112d6","signature":"f3b6fe28433081e12eb78957c2df90d86f81122a07cec2440f9d3fb82718696b"},{"version":"c80fb0dc554855fd84ac91ad30f724127a066ad2156b1846dc46ee5811ee9135","signature":"367466b8edaa628bdf47c48c768e0dbad54a8a128eaa6af92041c72be0381843"},{"version":"6ce55335012d76737df504baabc950805760acf3be988142d1985aa4893f919e","impliedFormat":1},{"version":"88efe27bebddb62da9655a9f093e0c27719647e96747f16650489dc9671075d6","impliedFormat":1},{"version":"e348f128032c4807ad9359a1fff29fcbc5f551c81be807bfa86db5a45649b7ba","impliedFormat":1},{"version":"8ee6b07974528da39b7835556e12dd3198c0a13e4a9de321217cd2044f3de22e","impliedFormat":1},{"version":"deefd8c43b40f9797c3921d78d3f9243959621a17b817be7f5d95c149f23a9dd","impliedFormat":1},{"version":"5f12132800d430adbe59b49c2c0354d85a71ada7d756e34250a655baa8ad4ae5","impliedFormat":1},{"version":"1996d1cd7d585a8359a35878f67abdd73cc35b1f675c9c6b147b202fdd8dfc3f","impliedFormat":1},{"version":"b16e757e4c35434065120a2b3bf13a518fc9e621dc9c2ed668f91635a9dc4e75","impliedFormat":1},{"version":"d22cd2e880dc30d21cf20b26b6341e0478f3505ea645d1504c7e9c14cdff1198","impliedFormat":1},{"version":"d02ced7accb512e6198b796b8d284e7979abde0f089b0a77969747a5f27bfb23","impliedFormat":1},{"version":"4374cefdde5c6e9bad52b0436e887b8325b8f407c12035194ad02c28f1553a3a","impliedFormat":1},{"version":"5f1ba0898eb0a54a644cb9c95c2240beaa961d87fd080cbb90807a6cc03daeb3","impliedFormat":1},{"version":"8e92ee8710ba85b158c5d91b0bbc9d0d033f5e062b6e70178063f01b20f63a14","impliedFormat":1},{"version":"ee933420aacba1f60aa70fb8ba47c5e69001b005073b71973114587089a13c7f","impliedFormat":1},{"version":"0a0714999d0a5bdfacd15c7b34cffbcc6f263f6cb0ccb42076cdc541c6987797","impliedFormat":1},{"version":"56584bfc655f9df64afc0f22f7d1122c29e5b74b342c203b891e19de9fa37de8","impliedFormat":1},{"version":"40ec58f0fadd0b3981b3d383e1c12fa0680115ae9f018387fc2cfc0bbcf23204","impliedFormat":1},{"version":"849b9e7283b7309a4556c9b90bb8e2dfc27751f157798065bbc513dcddb09a8c","impliedFormat":1},{"version":"76bba0c97594248c1be19af32d5799f7eff51cec2926d8e4dd59267d7636a0b4","impliedFormat":1},{"version":"10e109212c7be8a9f66e988e5d6c2a8900c9d14bf6beadf5fa70d32ada3425cf","impliedFormat":1},{"version":"2b821aeb31e690092f8eae671dd961a9d0fd598ff4883ce0a600c90e9e8fa716","impliedFormat":1},{"version":"26602933b613e4df3868a6c82e14fffa2393a08531cb333ed27b151923462981","impliedFormat":1},{"version":"f57a588d8f6b3ce5c8b494f2dc759a8885eaee18e80a4952df47de45403fedbe","impliedFormat":1},{"version":"34735727b3fe7a0ed0651a0f88d06449163d1989a2b2de7f047473adc7c1c383","impliedFormat":1},{"version":"a5b13abc88ab3186e713c445e59e2f6eee20c6167943517bc2f56985d89b8c55","impliedFormat":1},{"version":"c8a206a6ba4e32710ebb4a389187772423de0f4f6180b95a7ef1a5a1934c1be6","impliedFormat":1},{"version":"7ae65fe95b18205e241e6695cb2c61c0828d660aca7d08f68781b439a800e6b8","impliedFormat":1},{"version":"c2c8c166199d3a7bd093152437d1f6399d05e458a9ca9364456feecba920cda4","impliedFormat":1},{"version":"369b7270eeeb37982203b2cb18c7302947b89bf5818c1d3d2e95a0418f02b74e","impliedFormat":1},{"version":"94f95d223e2783b0aef4d15d7f6990a6a550fe17d099c501395f690337f7105e","impliedFormat":1},{"version":"039bd8d1e0d151570b66e75ee152877fb0e2f42eca43718632ac195e6884be34","impliedFormat":1},{"version":"d565d66b38d54de037c9d46dede1f12630010d9b45fd9c6b432c7a40b2e30502","impliedFormat":1},{"version":"d7386a1ebe9a3eae227a5561c898c10cacb61a49f941c5a18cdf593f979c693c","impliedFormat":1},{"version":"e308b9b592b4c89895a14077bd3254811cab67bb580286b1bd7428cb476b6df3","signature":"59d4d3e50459d3dcb53cc0ca9d1211d299167c2283ac63428b90a53824dd248c"},{"version":"89ad9a4e8044299f356f38879a1c2176bc60c997519b442c92cc5a70b731a360","impliedFormat":99},{"version":"3a05918eaf7436596e09562f4d5371384e15f2f27c9ef0788354035282d96064","signature":"fd469ee23a7074342357545f0d37b487066bab6fc00e079695cc02f79598bf8d"},{"version":"cf31ce99f03ac69f9821b4463a366c66698ae8e7eba5c06d2ede63d5cf7309bd","signature":"233bf868506e6fb7576da957ddead506efb374fe8b70a1b56e0114f231fdadbb"},{"version":"9214c077d8d253331da82bffdb36edb778abc73d27b34dff0eb544e6d7b9d386","signature":"fefbe143dffcdc8d5ff7f05ce2d8ed71a5bc8d73afb6726ae2e1838e1bb4d020"},{"version":"b843496b17a2bbd79c83809c73fd9c59fab53d3e361e04e52e2d489524eea764","impliedFormat":1},{"version":"6a046b50c82c554699c148a9f4922c785b200fb87f067772f166e80c59e813ca","signature":"6be90cc3810d5b2a29f304c6f7ff64a7f4d0f26e44d944d1dfa68b7d7a2fbf65"},{"version":"c4f50ecab61ee02224a432f2e5e7cafc1941913640134abade00e3db82512baf","signature":"bd8a274814ea3590e2b90c7bc29d86ade4f2540b2d1de2d461579d92eb344bdc"},{"version":"3e346d9b84a0e2cbafb6311589d4dfcf0df6c1c8f94fca26ff4c34dfa4170823","signature":"eb1f0c48fcae785ca971602b876b59df15d9213a439d3ec82aacd5fc8415350e"},{"version":"fd4f58cd6b5fc8ce8af0d04bfef5142f15c4bafaac9a9899c6daa056f10bb517","impliedFormat":99},{"version":"da0313c01c8aedd722c4bb1cbd4723acef6187cda4de0ea230cff90d6aebcf2e","signature":"da6a1d498947d59b453f7bdca298ee4b77f0e34ab6e2aaaf782aaac054b571f4"},{"version":"2a00cea77767cb26393ee6f972fd32941249a0d65b246bfcb20a780a2b919a21","impliedFormat":99},{"version":"440cb5b34e06fabe3dcb13a3f77b98d771bf696857c8e97ce170b4f345f8a26b","impliedFormat":99},{"version":"c0f759689e24aaa36d62d2de868ddab35b12c5e4a8c8c035582c46a963e4b56f","signature":"aa4c6a3e34c3d0d6e795066286aa3e062b085c1b2a8967f5782d14394d7cae16"},{"version":"c0306e3325a10c7377794b1b75fffb57179be1f19a3b3b3b0e0d79dde53b4ecf","signature":"c9001d3c77c7b306af3e8b7d4407e4a7f9ca133d1302fdd67238211f6e1c2b6f"},{"version":"2535fc1a5fe64892783ff8f61321b181c24f824e688a4a05ae738da33466605b","impliedFormat":99},{"version":"50b93b8af040517d766f9ee6d0dffeacf40b5082469bba7e5d49a7f9eb5aaa37","signature":"adeb329d41b4133066a9911fdc1f39c4956fe3dfa83611a70434f542b6adb268"},{"version":"a9373d52584b48809ffd61d74f5b3dfd127da846e3c4ee3c415560386df3994b","impliedFormat":99},{"version":"caf4af98bf464ad3e10c46cf7d340556f89197aab0f87f032c7b84eb8ddb24d9","impliedFormat":99},{"version":"cbfd5ef0c8fdb4983202252b5f5758a579f4500edc3b9ad413da60cffb5c3564","impliedFormat":99},{"version":"d48446fe6380e0fb272988c37992a4633b7002dd7e8faa639993f38e010953aa","signature":"dc27b41119d6806693f9e4f0d68431d33532f737a84ade77e34b76bb8c9873eb"},{"version":"9f7a3c434912fd3feb87af4aabdf0d1b614152ecb5e7b2aa1fff3429879cdd51","impliedFormat":99},{"version":"9a91313aaed0e8358c69fad89d12a1f5d148bd7fa5ffbed925e6f8b368617ba9","signature":"a0d654569736836260ac4805fe575fbafd16a3fd838f8b503a59a98b236073f1"},{"version":"a81a0eea036dd60a2c2edc52466bb2853bef379c3b9de327fe9fff6e3c38e6c5","impliedFormat":1},{"version":"348c13a1c9160681e41bc5cd3cc519dd8170d38a36a30480b41849f60f5bf8a0","impliedFormat":1},{"version":"c772a37a02356897d6f9872e30fcc2108f43ad943cc112bd1acc5415a876e9f8","impliedFormat":1},{"version":"279248c34ecd223fc46224f86384ebf49c775eb69329ad644d3d99f1205f3e7d","impliedFormat":1},{"version":"74dedffc2d09627f5a4de02bbd7eedf634938c13c2cc4e92f0b4135573432783","impliedFormat":1},{"version":"1f2bbbe38d5e536607b385f04c3d2cbf1e678c5ded7e8c5871ad8ae91ef33c3d","impliedFormat":1},{"version":"3aa3513d5e13d028202e788d763f021d2d113bd673087b42a2606ab50345492d","impliedFormat":1},{"version":"f012173d64d0579875aa60405de21ad379af7971b93bf46bee23acc5fa2b76a4","impliedFormat":1},{"version":"dcf5dc3ce399d472929c170de58422b549130dd540531623c830aaaaf3dd5f93","impliedFormat":1},{"version":"ec35f1490510239b89c745c948007c5dd00a8dca0861a836dcf0db5360679a2d","impliedFormat":1},{"version":"32868e4ec9b6bd4b1d96d24611343404b3a0a37064a7ac514b1d66b48325a911","impliedFormat":1},{"version":"4bbea07f21ff84bf3ceeb218b5a8c367c6e0f08014d3fd09e457d2ffb2826b9c","impliedFormat":1},{"version":"873a07dbeb0f8a3018791d245c0cf10c3289c8f7162cdbbb4a5b9cf723136185","impliedFormat":1},{"version":"43839af7f24edbd4b4e42e861eb7c0d85d80ec497095bb5002c93b451e9fcf88","impliedFormat":1},{"version":"54a7ee56aadecbe8126744f7787f54f79d1e110adab8fe7026ad83a9681f136a","impliedFormat":1},{"version":"6333c727ee2b79cdab55e9e10971e59cbfee26c73dfb350972cfd97712fc2162","impliedFormat":1},{"version":"8743b4356e522c26dc37f20cde4bcdb5ebd0a71a3afe156e81c099db7f34621d","impliedFormat":1},{"version":"af3d97c3a0da9491841efc4e25585247aa76772b840dd279dbff714c69d3a1ec","impliedFormat":1},{"version":"d9ac50fe802967929467413a79631698b8d8f4f2dc692b207e509b6bb3a92524","impliedFormat":1},{"version":"34d017b29ca5107bf2832b992e4cee51ed497f074724a4b4a7b6386b7f8297c9","impliedFormat":1},{"version":"b75d56703daaffcb31a7cdebf190856e07739a9481f01c2919f95bde99be9424","impliedFormat":99},{"version":"8f96f309d60fb87c09afbfba79c43326324379859e2bc27e1d26594a886ec908","signature":"1b2b4612cbfad4c97462a177552f8ad4d3014c58b6f40318318e8049e701e13f"},{"version":"99d1a601593495371e798da1850b52877bf63d0678f15722d5f048e404f002e4","impliedFormat":99},{"version":"4d19b093a16635687d128e2157c8f5bac50b2391cbe031e07ec1e2d53f4d73a3","signature":"351f7cb5f3ce63374db1c4a065fa52fb1395e525c7a7a9dcaade8db57dae36a7"},{"version":"1179ef8174e0e4a09d35576199df04803b1db17c0fb35b9326442884bc0b0cce","impliedFormat":99},{"version":"e2b4198bbf3968eae76d71fd04074b43f802357d997dbd01a1721a96e5895383","signature":"89c4c894c2e107e6acd529ccc90f5d3ac56e9e26eec7acc69db5bc74c67f66b8"},{"version":"647b61de5cb1f53e7265022c6f60bf25a43b75ff71bde690adf9ec5f74a22688","signature":"d76d7a53b855e40233ee94d7991f041ef08798ce237f572fa1fe5120792e0f3a"},{"version":"c3005a6a39bd1aaecf3c0c9c61860db480ec5cbd16381556e381bdc3a59b6ac6","signature":"6ff334f1e3348c2e00624e004c3f55ab2e5a80c688642db171633a735efb9374"},{"version":"233267a4a036c64aee95f66a0d31e3e0ef048cccc57dd66f9cf87582b38691e4","impliedFormat":99},{"version":"b620f27ccc82ec7748e2039143cd3c36c029e48b083025f88e621e6dda91222a","signature":"6d248991a8cfaece02458f68fed4d3e7ebbdb17833b9fd127fdaa69cf8436c69"},{"version":"1bdf187549f043a81a5b1a97da1422c4bf2bc5b2cce0415f074e017dcf1e8f71","signature":"0bcbba038569698e4536177738d43aed5cc5e81a958ef84c512c683ac9414354"},{"version":"cc3738ba01d9af5ba1206a313896837ff8779791afcd9869e582783550f17f38","impliedFormat":99},{"version":"0d000a7ec98386e515f6e484e4545cc4d34bcf201fd52ce5a53a5fea0bfdd9b5","signature":"5c6d966b719f71bfc1053b6613fc4062e9697d4ffe3d4cc328ae34651ec3adf4"},{"version":"e6b8f3cd057e49a50b57a52acc38cff7c224def2249464d489295e0e1d200af6","impliedFormat":1},{"version":"5f2418e3437ab5fcf922fefa408f3b0257431ac9353a10c5c3d18fd3e68b30f7","signature":"6758bdb7bc5b66438c03317d3c2a15ac771cb1382d8229f65fbb6a05b225f1da"},{"version":"4a5aa16151dbec524bb043a5cbce2c3fec75957d175475c115a953aca53999a9","impliedFormat":99},{"version":"6d89650a8b9474244627b2ead855995f9923b9ad8576db96c1841b084f44c76a","signature":"5035c4b9bc34ab886efe227aab0d1057f08efd33c317ac18adbb0c5137544e5e"},{"version":"7e4ec95a993de8b29a144facf8c5e99271239ee40ca158a93cbc8b6853e7ca54","signature":"6a837d288765564d548dd6ca64acfcd5d51b53898414355060b1ebf38d45d74d"},{"version":"7a14bf21ae8a29d64c42173c08f026928daf418bed1b97b37ac4bb2aa197b89b","impliedFormat":99},{"version":"23cc67b5360458decab2e93b3827aebbe142fd2d9f76ec418f96cb3269f1820a","signature":"a0e3d7ec764206d4047f5be0152f038bc3498b3fa0751247d00e02267906fbcd"},{"version":"2dfd19d81413d2eda50679dd8caa1cad25ebb34194b37fa1ddfb7dd647939f6d","signature":"5fe0be66db3dd2c391800533fc65d83aff705a2accd5a59c1804b462d5d1c15c"},{"version":"69ec8d900cfec3d40e50490fedbbea5c1b49d32c38adbc236e73a3b8978c0b11","impliedFormat":99},{"version":"7fd629484ba6772b686885b443914655089246f75a13dd685845d0abae337671","impliedFormat":99},{"version":"80a93a384850d9fd7b4d5c2d1f8409874d198467648e000c310695caedaf807b","signature":"ea61fe226066ef7b04c31bb4cb69f280569982683945c2dcaf65d59a537b6217"},{"version":"4e725b44cc99b17211ca80c9306271c7dd1a9c9af0d0aba3faddad63d33992e2","signature":"44c4203ac811b5d4d8953be3b07ace5b3b5396d892cde969912d40d058d43086"},{"version":"1b43441b273aa21c1e74fefa774d5a7cb50068e5d4c192a8f63b9c95c5580431","signature":"32f7c168ee545e9b432d2a861f4fb0bc645e21e88c774cedf54e72d1e3ccc049"},"d1986184a09a52db8228cb2bb2a61a8c05c9354e5b93cec8e2628d8579c892d7",{"version":"1da9ea5c91eb7450635526ab1d97da61b1f98d04a60704a646f2635ed93de81d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"d1986184a09a52db8228cb2bb2a61a8c05c9354e5b93cec8e2628d8579c892d7",{"version":"42fb3e6be3cf1e414dd7f85f41952e01d3d1247e4bc2837c3acefbf8df15848d","affectsGlobalScope":true},{"version":"6ebf10b8b67c1a1e7aeb0eb9d6d03928101268ee5ba4bee98aa25a353136af34","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2174e20517788d2a1379fc0aaacd87899a70f9e0197b4295edabfe75c4db03d8","impliedFormat":1},{"version":"b1538a92b9bae8d230267210c5db38c2eb6bdb352128a3ce3aa8c6acf9fc9622","impliedFormat":1},{"version":"6fc1a4f64372593767a9b7b774e9b3b92bf04e8785c3f9ea98973aa9f4bbe490","impliedFormat":1},{"version":"ff09b6fbdcf74d8af4e131b8866925c5e18d225540b9b19ce9485ca93e574d84","impliedFormat":1},{"version":"d5895252efa27a50f134a9b580aa61f7def5ab73d0a8071f9b5bf9a317c01c2d","impliedFormat":1},{"version":"1f366bde16e0513fa7b64f87f86689c4d36efd85afce7eb24753e9c99b91c319","impliedFormat":1},{"version":"751764bb94219b4ce8f5475dc35d3de2e432fea01a0c9610cd7f69ad05e398c6","impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","impliedFormat":1},{"version":"fb893a0dfc3c9fb0f9ca93d0648694dd95f33cbad2c0f2c629f842981dfd4e2e","impliedFormat":1},{"version":"95da3c365e3d45709ad6e0b4daa5cdaf05e9076ba3c201e8f8081dd282c02f57","impliedFormat":1},{"version":"0e60e0cbf2283adfd5a15430ae548cd2f662d581b5da6ecd98220203e7067c70","impliedFormat":1},{"version":"8357ad1403cf5d74ac86ce60332396a11ba3acef7e32a314acb38a6076b64a80","impliedFormat":1},{"version":"e91ad231af87f864b3f07cd0e39b1cf6c133988156f087c1c3ccb0a5491c9115","impliedFormat":1},{"version":"ef5a2229cc377ddd1b8d3fb498b161d6d47ca2d8fa5857b9cfee5ab6b945b687","impliedFormat":1},{"version":"319c37263037e8d9481a3dc7eadf6afa6a5f5c002189ebe28776ac1a62a38e15","impliedFormat":1},{"version":"1f4ae755492a669b317903a6b1664cb7af3fe0c3d1eec6447f4e95a80616d15a","impliedFormat":1},{"version":"03c258e060b7da220973f84b89615e4e9850e9b5d30b3a8e4840b3e3268ae8eb","impliedFormat":1},{"version":"908217c4f2244ec402b73533ebfcc46d6dcd34fc1c807ff403d7f98702abb3bc","impliedFormat":1},{"version":"2c3b8be03577c98530ef9cb1a76e2c812636a871f367e9edf4c5f3ce702b77f8","affectsGlobalScope":true,"impliedFormat":1},{"version":"0b301e46295e7dee8bcead624b4a0f94ab8ba1cb3f572b726977322293be2196","impliedFormat":1}],"root":[531,532,[723,726],[791,794],[806,808],[814,828],830,[839,855],870,[884,886],906,[923,941],[946,951],[953,987],[989,1008],[1011,1017],[1021,1081],[1083,1085],1088,1093,1094,1097,1101,1102,1105,1106,1541,1578,1649,1651,1652,1654,1655,1662,1664,[1666,1668],1702,[1704,1706],[1708,1710],1712,1715,1716,1718,1722,1724,1746,1748,[1750,1752],1754,1755,1757,1759,1761,1762,1764,1765,[1768,1775]],"options":{"allowJs":true,"esModuleInterop":true,"jsx":4,"module":99,"skipLibCheck":true,"strict":true,"target":2},"referencedMap":[[1773,1],[1774,2],[1775,3],[1771,4],[531,2],[1772,5],[957,6],[958,7],[966,8],[968,9],[969,10],[970,11],[971,12],[973,13],[974,11],[963,14],[1003,15],[976,16],[1004,17],[964,18],[1005,19],[1006,20],[1007,11],[1008,8],[1014,21],[1013,22],[794,23],[959,23],[1016,24],[818,25],[821,26],[820,26],[822,25],[823,26],[824,25],[825,26],[826,26],[828,27],[1021,28],[1017,29],[1022,30],[1027,31],[1025,32],[1028,12],[1037,33],[1038,34],[1035,35],[1040,36],[1041,37],[1039,38],[1042,35],[1045,39],[1047,40],[1048,41],[1046,35],[1049,42],[1031,43],[1050,44],[1051,45],[1052,46],[1053,47],[951,48],[1054,49],[1061,50],[1063,51],[1062,29],[956,52],[1064,10],[1074,53],[1075,49],[948,54],[1079,55],[1080,49],[1081,56],[962,57],[991,58],[996,59],[993,60],[999,61],[1002,62],[998,63],[995,64],[987,65],[977,66],[980,67],[981,68],[985,69],[978,67],[1084,70],[982,71],[979,67],[986,66],[983,68],[1001,72],[994,20],[984,20],[989,10],[967,73],[972,74],[975,73],[965,73],[830,20],[997,75],[1000,72],[961,76],[1073,77],[1067,78],[1068,79],[1071,71],[1065,78],[1069,66],[1066,80],[1072,67],[1070,81],[1026,10],[1024,10],[1036,82],[990,83],[1044,84],[1043,85],[1034,86],[1032,87],[1033,88],[992,82],[1085,89],[1030,76],[947,90],[955,91],[954,92],[949,93],[1057,94],[1060,95],[1059,96],[1058,97],[1055,98],[1077,94],[1078,99],[1076,98],[1083,100],[950,90],[1088,101],[1093,102],[1094,103],[1097,104],[1101,105],[1056,106],[1102,107],[1106,108],[953,106],[1541,109],[1015,110],[1578,111],[1649,112],[1651,113],[1652,114],[1655,115],[1662,116],[1023,10],[1654,117],[1664,118],[1666,119],[1667,120],[1668,121],[1702,122],[1704,123],[1706,124],[1708,125],[1012,110],[1709,126],[1710,127],[1011,128],[1712,129],[1715,130],[1716,131],[1718,132],[1722,133],[1724,134],[1746,135],[1748,136],[1750,137],[1105,138],[1751,117],[1755,139],[1752,127],[1757,140],[1759,141],[960,142],[1761,143],[1762,110],[1764,144],[1705,110],[840,145],[1765,146],[1769,147],[1768,148],[1754,149],[1770,90],[841,150],[1029,151],[842,90],[843,150],[725,152],[845,153],[847,154],[946,155],[724,156],[814,157],[848,157],[806,23],[849,158],[815,159],[850,160],[855,161],[851,162],[723,23],[808,163],[852,164],[854,165],[853,166],[807,160],[816,23],[819,167],[817,167],[827,168],[839,169],[870,170],[532,171],[1107,2],[1108,172],[1109,173],[1114,174],[1110,173],[1113,2],[1111,2],[1112,2],[888,175],[889,176],[898,177],[803,175],[810,178],[799,179],[798,180],[796,181],[795,182],[797,183],[892,184],[890,185],[891,178],[896,186],[895,187],[894,188],[804,189],[802,190],[801,2],[905,191],[903,192],[902,193],[904,2],[900,194],[899,195],[812,178],[800,2],[720,196],[718,197],[716,197],[714,197],[719,198],[717,199],[715,200],[637,201],[636,197],[551,2],[375,2],[1087,202],[1092,203],[1656,204],[1096,205],[1095,206],[1100,207],[1098,206],[1099,206],[1650,208],[1086,209],[1661,210],[831,206],[1091,211],[833,204],[1665,210],[1089,204],[1703,212],[1010,205],[1009,206],[1660,213],[1711,214],[1714,215],[1717,216],[1658,217],[1090,204],[832,206],[1721,207],[1719,206],[1720,206],[1723,218],[1659,209],[1747,209],[1749,216],[1104,205],[1103,206],[1756,209],[952,219],[1760,209],[1763,218],[834,220],[1767,221],[1766,204],[1753,212],[1713,204],[1657,2],[1776,2],[1777,2],[1778,2],[1779,2],[1780,222],[1599,2],[1582,223],[1600,224],[1581,2],[1781,2],[1782,2],[1783,2],[1784,2],[1786,225],[1787,2],[1788,2],[1785,2],[139,226],[140,226],[141,227],[93,228],[142,229],[143,230],[144,231],[88,2],[91,232],[89,2],[90,2],[145,233],[146,234],[147,235],[148,236],[149,237],[150,238],[151,238],[152,239],[153,240],[154,241],[155,242],[94,2],[92,2],[156,243],[157,244],[158,245],[192,246],[159,247],[160,2],[161,248],[162,249],[163,250],[164,251],[165,252],[166,253],[167,254],[168,255],[169,256],[170,256],[171,257],[172,2],[173,258],[174,259],[176,260],[175,261],[177,262],[178,263],[179,264],[180,265],[181,266],[182,267],[183,268],[184,269],[185,270],[186,271],[187,272],[188,273],[189,274],[95,2],[96,2],[97,2],[136,275],[137,2],[138,2],[190,276],[191,277],[196,278],[460,206],[197,279],[195,280],[462,281],[461,282],[193,283],[458,2],[194,284],[79,2],[81,285],[457,206],[227,206],[1791,286],[1792,2],[1793,2],[1794,2],[1795,287],[1018,2],[1796,2],[945,2],[909,2],[910,288],[911,289],[914,290],[913,2],[759,2],[770,291],[765,292],[768,293],[783,294],[772,2],[775,295],[774,296],[786,296],[773,297],[912,2],[767,298],[769,298],[761,299],[764,300],[780,299],[766,301],[760,2],[699,302],[98,2],[837,303],[836,304],[835,2],[1653,305],[80,2],[1203,306],[1182,307],[1279,2],[1183,308],[1119,306],[1120,306],[1121,306],[1122,306],[1123,306],[1124,306],[1125,306],[1126,306],[1127,306],[1128,306],[1129,306],[1130,306],[1131,306],[1132,306],[1133,306],[1134,306],[1135,306],[1136,306],[1115,2],[1137,306],[1138,306],[1139,2],[1140,306],[1141,306],[1143,306],[1142,306],[1144,306],[1145,306],[1146,306],[1147,306],[1148,306],[1149,306],[1150,306],[1151,306],[1152,306],[1153,306],[1154,306],[1155,306],[1156,306],[1157,306],[1158,306],[1159,306],[1160,306],[1161,306],[1162,306],[1164,306],[1165,306],[1166,306],[1163,306],[1167,306],[1168,306],[1169,306],[1170,306],[1171,306],[1172,306],[1173,306],[1174,306],[1175,306],[1176,306],[1177,306],[1178,306],[1179,306],[1180,306],[1181,306],[1184,309],[1185,306],[1186,306],[1187,310],[1188,311],[1189,306],[1190,306],[1191,306],[1192,306],[1195,306],[1193,306],[1194,306],[1117,2],[1196,306],[1197,306],[1198,306],[1199,306],[1200,306],[1201,306],[1202,306],[1204,312],[1205,306],[1206,306],[1207,306],[1209,306],[1208,306],[1210,306],[1211,306],[1212,306],[1213,306],[1214,306],[1215,306],[1216,306],[1217,306],[1218,306],[1219,306],[1221,306],[1220,306],[1222,306],[1223,2],[1224,2],[1225,2],[1372,313],[1226,306],[1227,306],[1228,306],[1229,306],[1230,306],[1231,306],[1232,2],[1233,306],[1234,2],[1235,306],[1236,306],[1237,306],[1238,306],[1239,306],[1240,306],[1241,306],[1242,306],[1243,306],[1244,306],[1245,306],[1246,306],[1247,306],[1248,306],[1249,306],[1250,306],[1251,306],[1252,306],[1253,306],[1254,306],[1255,306],[1256,306],[1257,306],[1258,306],[1259,306],[1260,306],[1261,306],[1262,306],[1263,306],[1264,306],[1265,306],[1266,306],[1267,2],[1268,306],[1269,306],[1270,306],[1271,306],[1272,306],[1273,306],[1274,306],[1275,306],[1276,306],[1277,306],[1278,306],[1280,314],[1468,315],[1373,308],[1375,308],[1376,308],[1377,308],[1378,308],[1379,308],[1374,308],[1380,308],[1382,308],[1381,308],[1383,308],[1384,308],[1385,308],[1386,308],[1387,308],[1388,308],[1389,308],[1390,308],[1392,308],[1391,308],[1393,308],[1394,308],[1395,308],[1396,308],[1397,308],[1398,308],[1399,308],[1400,308],[1401,308],[1402,308],[1403,308],[1404,308],[1405,308],[1406,308],[1407,308],[1409,308],[1410,308],[1408,308],[1411,308],[1412,308],[1413,308],[1414,308],[1415,308],[1416,308],[1417,308],[1418,308],[1419,308],[1420,308],[1421,308],[1422,308],[1424,308],[1423,308],[1426,308],[1425,308],[1427,308],[1428,308],[1429,308],[1430,308],[1431,308],[1432,308],[1433,308],[1434,308],[1435,308],[1436,308],[1437,308],[1438,308],[1439,308],[1441,308],[1440,308],[1442,308],[1443,308],[1444,308],[1446,308],[1445,308],[1447,308],[1448,308],[1449,308],[1450,308],[1451,308],[1452,308],[1454,308],[1453,308],[1455,308],[1456,308],[1457,308],[1458,308],[1459,308],[1116,306],[1460,308],[1461,308],[1463,308],[1462,308],[1464,308],[1465,308],[1466,308],[1467,308],[1281,306],[1282,306],[1283,2],[1284,2],[1285,2],[1286,306],[1287,2],[1288,2],[1289,2],[1290,2],[1291,2],[1292,306],[1293,306],[1294,306],[1295,306],[1296,306],[1297,306],[1298,306],[1299,306],[1304,316],[1302,317],[1303,318],[1301,319],[1300,306],[1305,306],[1306,306],[1307,306],[1308,306],[1309,306],[1310,306],[1311,306],[1312,306],[1313,306],[1314,306],[1315,2],[1316,2],[1317,306],[1318,306],[1319,2],[1320,2],[1321,2],[1322,306],[1323,306],[1324,306],[1325,306],[1326,312],[1327,306],[1328,306],[1329,306],[1330,306],[1331,306],[1332,306],[1333,306],[1334,306],[1335,306],[1336,306],[1337,306],[1338,306],[1339,306],[1340,306],[1341,306],[1342,306],[1343,306],[1344,306],[1345,306],[1346,306],[1347,306],[1348,306],[1349,306],[1350,306],[1351,306],[1352,306],[1353,306],[1354,306],[1355,306],[1356,306],[1357,306],[1358,306],[1359,306],[1360,306],[1361,306],[1362,306],[1363,306],[1364,306],[1365,306],[1366,306],[1367,306],[1118,320],[1368,2],[1369,2],[1370,2],[1371,2],[1019,287],[1576,321],[1577,322],[1542,2],[1550,323],[1544,324],[1551,2],[1573,325],[1548,326],[1572,327],[1569,328],[1552,329],[1553,2],[1546,2],[1543,2],[1574,330],[1570,331],[1554,2],[1571,332],[1555,333],[1557,334],[1558,335],[1547,336],[1559,337],[1560,336],[1562,337],[1563,338],[1564,339],[1566,340],[1561,341],[1567,342],[1568,343],[1545,344],[1565,345],[1549,346],[1556,2],[1575,347],[698,2],[919,348],[921,349],[920,350],[918,351],[917,2],[534,352],[536,352],[533,2],[539,353],[535,354],[876,2],[872,2],[882,355],[877,356],[874,2],[883,357],[881,358],[880,359],[879,360],[878,359],[871,2],[875,361],[873,2],[721,362],[722,363],[537,364],[538,365],[809,366],[811,367],[893,368],[897,369],[887,2],[901,370],[805,371],[813,372],[1789,373],[638,374],[640,375],[641,376],[639,377],[689,197],[690,378],[691,378],[686,378],[679,379],[707,380],[683,381],[684,382],[709,383],[708,384],[677,384],[687,385],[712,386],[685,387],[702,388],[701,389],[710,390],[676,391],[711,392],[693,393],[713,394],[694,395],[706,396],[704,397],[705,398],[682,399],[703,400],[680,401],[692,2],[688,2],[671,2],[700,402],[681,403],[678,404],[695,2],[697,2],[621,405],[540,406],[625,2],[542,407],[618,408],[619,409],[545,2],[549,410],[547,411],[595,412],[594,413],[596,414],[597,415],[546,2],[550,2],[543,2],[544,2],[607,2],[615,2],[634,416],[628,417],[623,418],[581,419],[602,419],[580,419],[558,419],[584,420],[568,421],[565,2],[566,422],[559,419],[562,423],[561,424],[593,425],[564,419],[569,426],[570,419],[574,427],[575,419],[576,428],[577,419],[578,427],[579,419],[587,429],[588,419],[590,430],[591,419],[592,426],[585,420],[573,431],[572,432],[571,419],[586,433],[583,434],[582,420],[567,419],[589,421],[560,419],[601,419],[604,435],[603,436],[635,437],[633,438],[627,439],[629,440],[626,441],[609,442],[630,443],[622,444],[614,445],[541,446],[616,447],[611,448],[610,449],[624,450],[631,451],[632,443],[617,452],[598,453],[612,454],[613,455],[608,456],[620,457],[563,2],[599,458],[606,459],[605,460],[600,461],[548,2],[557,462],[554,197],[663,2],[664,463],[646,464],[658,465],[657,466],[655,467],[665,468],[643,2],[668,469],[650,2],[661,470],[660,471],[662,472],[666,2],[656,473],[649,474],[654,475],[667,476],[652,477],[647,2],[648,478],[669,479],[659,480],[653,476],[644,2],[670,481],[642,466],[645,2],[651,466],[1707,206],[1020,482],[556,483],[555,2],[829,206],[988,2],[1082,206],[483,484],[488,485],[495,486],[478,487],[231,2],[239,488],[379,489],[382,490],[354,2],[367,491],[374,492],[256,2],[356,2],[237,2],[353,493],[399,494],[238,2],[229,495],[381,496],[383,497],[384,498],[455,499],[348,500],[301,501],[361,502],[362,503],[360,504],[359,2],[355,505],[380,506],[240,507],[425,2],[426,508],[267,509],[241,510],[268,509],[304,509],[207,509],[377,511],[376,2],[366,512],[473,2],[216,2],[494,513],[433,514],[434,515],[430,516],[512,2],[331,2],[435,90],[431,517],[517,518],[516,519],[511,2],[282,2],[334,520],[333,2],[510,521],[432,206],[287,522],[294,523],[296,524],[286,2],[291,525],[293,526],[295,527],[290,528],[288,2],[292,529],[513,2],[509,2],[515,530],[514,2],[285,531],[504,532],[507,533],[275,534],[274,535],[273,536],[520,206],[272,537],[261,2],[522,2],[943,538],[942,2],[523,206],[524,539],[199,2],[363,540],[364,541],[365,542],[203,2],[368,2],[223,543],[198,2],[447,206],[205,544],[446,545],[445,546],[436,2],[437,2],[444,2],[439,2],[442,547],[438,2],[440,548],[443,549],[441,548],[236,2],[233,2],[234,509],[388,2],[393,550],[394,551],[392,552],[390,553],[391,554],[386,2],[453,90],[228,90],[482,555],[489,556],[493,557],[322,558],[321,2],[316,2],[469,559],[477,560],[349,561],[350,562],[428,563],[338,2],[451,564],[326,206],[343,565],[454,566],[339,2],[342,567],[340,2],[452,568],[449,569],[448,2],[450,2],[346,2],[424,570],[211,571],[324,572],[328,573],[344,574],[347,575],[336,576],[329,577],[476,578],[402,579],[320,580],[208,581],[475,582],[204,583],[395,584],[387,2],[396,585],[413,586],[385,2],[412,587],[87,2],[407,588],[232,2],[427,589],[403,2],[217,2],[219,2],[358,2],[411,590],[235,2],[259,591],[345,592],[265,593],[325,2],[410,2],[389,2],[415,594],[416,595],[357,2],[418,596],[420,597],[419,598],[369,2],[409,581],[422,599],[319,600],[408,601],[414,602],[244,2],[248,2],[247,2],[246,2],[251,2],[245,2],[254,2],[253,2],[250,2],[249,2],[252,2],[255,603],[243,2],[311,604],[310,2],[315,605],[312,606],[314,607],[317,605],[313,606],[224,608],[303,609],[472,610],[470,2],[499,611],[501,612],[465,613],[500,614],[212,615],[209,615],[242,2],[226,616],[225,617],[221,618],[222,619],[230,620],[258,620],[269,620],[305,621],[270,621],[214,622],[213,2],[309,623],[308,624],[307,625],[306,626],[215,627],[456,628],[257,629],[464,630],[429,631],[459,632],[463,633],[352,634],[351,635],[332,636],[318,637],[300,638],[302,639],[299,640],[421,641],[323,2],[487,2],[220,642],[423,643],[471,644],[330,2],[260,645],[337,646],[335,647],[262,648],[397,649],[466,2],[263,650],[398,650],[485,2],[484,2],[486,2],[468,2],[467,2],[400,651],[327,2],[297,652],[218,653],[276,2],[202,654],[264,2],[491,206],[201,2],[503,655],[284,206],[497,90],[283,656],[480,657],[281,655],[206,2],[505,658],[279,206],[280,206],[271,2],[200,2],[278,659],[277,660],[266,661],[341,255],[401,255],[417,2],[405,662],[404,2],[289,531],[210,2],[298,206],[474,543],[481,663],[82,206],[85,664],[86,665],[83,206],[84,2],[378,666],[373,667],[372,2],[371,668],[370,2],[479,669],[490,670],[492,671],[496,672],[944,673],[498,674],[502,675],[530,676],[506,676],[529,677],[508,678],[518,679],[519,680],[521,681],[525,682],[528,543],[527,2],[526,683],[751,684],[749,685],[750,686],[738,687],[739,685],[746,688],[737,689],[742,690],[752,2],[743,691],[748,692],[754,693],[753,694],[736,695],[744,696],[745,697],[740,698],[747,684],[741,699],[674,700],[675,701],[673,700],[672,683],[553,197],[552,2],[696,197],[1527,702],[1488,703],[1487,704],[1526,705],[1528,706],[1469,206],[1470,206],[1471,206],[1515,707],[1494,708],[1495,708],[1496,709],[1497,206],[1498,206],[1499,710],[1472,711],[1500,206],[1501,206],[1502,712],[1503,206],[1504,206],[1505,206],[1506,206],[1507,206],[1508,206],[1473,711],[1509,206],[1510,206],[1511,711],[1512,206],[1513,206],[1514,712],[1529,709],[1516,702],[1517,702],[1518,702],[1519,702],[1520,702],[1521,2],[1522,702],[1523,713],[1530,714],[1531,715],[1540,716],[1485,717],[1474,718],[1475,702],[1476,718],[1477,702],[1478,2],[1479,702],[1480,2],[1481,702],[1482,702],[1483,702],[1484,702],[1525,702],[1492,719],[1493,720],[1489,721],[1490,722],[1524,723],[1486,206],[1491,724],[1532,718],[1533,718],[1539,725],[1534,702],[1535,718],[1536,718],[1537,702],[1538,718],[1669,2],[1685,726],[1686,726],[1687,726],[1701,727],[1688,728],[1689,728],[1690,729],[1682,730],[1680,731],[1671,2],[1675,732],[1679,733],[1677,734],[1684,735],[1672,736],[1673,737],[1674,738],[1676,739],[1678,740],[1681,741],[1683,742],[1691,728],[1692,728],[1693,728],[1694,726],[1695,728],[1696,728],[1670,728],[1697,2],[1699,743],[1698,728],[1700,726],[1730,2],[1744,744],[1725,206],[1727,745],[1729,746],[1728,747],[1726,2],[1731,2],[1732,2],[1733,2],[1734,2],[1735,2],[1736,2],[1737,2],[1738,2],[1739,2],[1740,748],[1742,749],[1743,749],[1741,2],[1745,750],[1622,751],[1624,752],[1614,753],[1619,754],[1620,755],[1626,756],[1621,757],[1618,758],[1617,759],[1616,760],[1627,761],[1584,754],[1585,754],[1625,754],[1630,762],[1640,763],[1634,763],[1642,763],[1646,763],[1632,764],[1633,763],[1635,763],[1638,763],[1641,763],[1637,765],[1639,763],[1643,206],[1636,754],[1631,766],[1593,206],[1597,206],[1587,754],[1590,206],[1595,754],[1596,767],[1589,768],[1592,206],[1594,206],[1591,769],[1580,206],[1579,206],[1648,770],[1645,771],[1611,772],[1610,754],[1608,206],[1609,754],[1612,773],[1613,774],[1606,206],[1602,775],[1605,754],[1604,754],[1603,754],[1598,754],[1607,775],[1644,754],[1623,776],[1629,777],[1628,778],[1647,2],[1615,2],[1588,2],[1586,779],[729,780],[728,781],[727,2],[406,782],[1758,206],[735,2],[838,2],[784,2],[762,2],[763,783],[1790,2],[77,2],[78,2],[13,2],[14,2],[16,2],[15,2],[2,2],[17,2],[18,2],[19,2],[20,2],[21,2],[22,2],[23,2],[24,2],[3,2],[25,2],[26,2],[4,2],[27,2],[31,2],[28,2],[29,2],[30,2],[32,2],[33,2],[34,2],[5,2],[35,2],[36,2],[37,2],[38,2],[6,2],[42,2],[39,2],[40,2],[41,2],[43,2],[7,2],[44,2],[49,2],[50,2],[45,2],[46,2],[47,2],[48,2],[8,2],[54,2],[51,2],[52,2],[53,2],[55,2],[9,2],[56,2],[57,2],[58,2],[60,2],[59,2],[61,2],[62,2],[10,2],[63,2],[64,2],[65,2],[11,2],[66,2],[67,2],[68,2],[69,2],[70,2],[1,2],[71,2],[72,2],[12,2],[75,2],[74,2],[73,2],[76,2],[114,784],[124,785],[113,784],[134,786],[105,787],[104,788],[133,683],[127,789],[132,790],[107,791],[121,792],[106,793],[130,794],[102,795],[101,683],[131,796],[103,797],[108,798],[109,2],[112,798],[99,2],[135,799],[125,800],[116,801],[117,802],[119,803],[115,804],[118,805],[128,683],[110,806],[111,807],[120,808],[100,809],[123,800],[122,798],[126,2],[129,810],[1663,305],[1583,811],[1601,812],[781,813],[778,814],[779,813],[782,815],[777,2],[758,816],[755,817],[733,818],[734,2],[731,819],[730,2],[732,820],[756,2],[757,821],[790,822],[785,823],[776,824],[771,2],[915,825],[787,826],[916,827],[788,828],[908,829],[907,830],[789,831],[922,832],[869,833],[861,834],[868,835],[863,2],[864,2],[862,836],[865,837],[856,2],[857,2],[858,833],[860,838],[866,2],[867,839],[859,840],[726,841],[884,842],[885,842],[886,842],[906,843],[924,844],[925,844],[926,844],[927,844],[923,845],[928,844],[929,23],[930,846],[931,847],[932,848],[933,849],[934,850],[935,851],[936,852],[937,853],[938,847],[939,854],[940,855],[941,849],[844,23],[846,23],[791,856],[792,856],[793,856]],"semanticDiagnosticsPerFile":[[932,[{"start":1965,"length":7,"code":2322,"category":1,"messageText":"Type '{ name: string; }' is not assignable to type 'never'."}]],[935,[{"start":3592,"length":7,"code":2345,"category":1,"messageText":"Argument of type '{ name: string; }' is not assignable to parameter of type 'never'."},{"start":6952,"length":18,"code":2322,"category":1,"messageText":"Type '{ name: string; }' is not assignable to type 'never'."},{"start":7212,"length":21,"code":2322,"category":1,"messageText":"Type '{ name: string; }' is not assignable to type 'never'."}]]],"affectedFilesPendingEmit":[1775,1772,957,958,966,968,969,970,971,973,974,963,1003,976,1004,964,1005,1006,1007,1008,1014,1013,794,959,1016,818,821,820,822,823,824,825,826,828,1021,1017,1022,1027,1025,1028,1037,1038,1035,1040,1041,1039,1042,1045,1047,1048,1046,1049,1031,1050,1051,1052,1053,951,1054,1061,1063,1062,956,1064,1074,1075,948,1079,1080,1081,962,991,996,993,999,1002,998,995,987,977,980,981,985,978,1084,982,979,986,983,1001,994,984,989,967,972,975,965,830,997,1000,961,1073,1067,1068,1071,1065,1069,1066,1072,1070,1026,1024,1036,990,1044,1043,1034,1032,1033,992,1085,1030,947,955,954,949,1057,1060,1059,1058,1055,1077,1078,1076,1083,950,1088,1093,1094,1097,1101,1056,1102,1106,953,1541,1015,1578,1649,1651,1652,1655,1662,1023,1654,1664,1666,1667,1668,1702,1704,1706,1708,1012,1709,1710,1011,1712,1715,1716,1718,1722,1724,1746,1748,1750,1105,1751,1755,1752,1757,1759,960,1761,1762,1764,1705,840,1765,1769,1768,1754,1770,841,1029,842,843,725,845,847,946,724,814,848,806,849,815,850,855,851,723,808,852,854,853,807,816,819,817,827,839,870,726,884,885,886,906,924,925,926,927,923,928,929,930,931,932,933,934,935,936,937,938,939,940,941,844,846,791,792,793],"version":"5.7.3"} \ No newline at end of file +{"fileNames":["./node_modules/typescript/lib/lib.es5.d.ts","./node_modules/typescript/lib/lib.es2015.d.ts","./node_modules/typescript/lib/lib.es2016.d.ts","./node_modules/typescript/lib/lib.es2017.d.ts","./node_modules/typescript/lib/lib.es2018.d.ts","./node_modules/typescript/lib/lib.es2019.d.ts","./node_modules/typescript/lib/lib.es2020.d.ts","./node_modules/typescript/lib/lib.es2021.d.ts","./node_modules/typescript/lib/lib.es2022.d.ts","./node_modules/typescript/lib/lib.es2023.d.ts","./node_modules/typescript/lib/lib.es2024.d.ts","./node_modules/typescript/lib/lib.esnext.d.ts","./node_modules/typescript/lib/lib.dom.d.ts","./node_modules/typescript/lib/lib.dom.iterable.d.ts","./node_modules/typescript/lib/lib.es2015.core.d.ts","./node_modules/typescript/lib/lib.es2015.collection.d.ts","./node_modules/typescript/lib/lib.es2015.generator.d.ts","./node_modules/typescript/lib/lib.es2015.iterable.d.ts","./node_modules/typescript/lib/lib.es2015.promise.d.ts","./node_modules/typescript/lib/lib.es2015.proxy.d.ts","./node_modules/typescript/lib/lib.es2015.reflect.d.ts","./node_modules/typescript/lib/lib.es2015.symbol.d.ts","./node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","./node_modules/typescript/lib/lib.es2016.array.include.d.ts","./node_modules/typescript/lib/lib.es2016.intl.d.ts","./node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","./node_modules/typescript/lib/lib.es2017.date.d.ts","./node_modules/typescript/lib/lib.es2017.object.d.ts","./node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2017.string.d.ts","./node_modules/typescript/lib/lib.es2017.intl.d.ts","./node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","./node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","./node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","./node_modules/typescript/lib/lib.es2018.intl.d.ts","./node_modules/typescript/lib/lib.es2018.promise.d.ts","./node_modules/typescript/lib/lib.es2018.regexp.d.ts","./node_modules/typescript/lib/lib.es2019.array.d.ts","./node_modules/typescript/lib/lib.es2019.object.d.ts","./node_modules/typescript/lib/lib.es2019.string.d.ts","./node_modules/typescript/lib/lib.es2019.symbol.d.ts","./node_modules/typescript/lib/lib.es2019.intl.d.ts","./node_modules/typescript/lib/lib.es2020.bigint.d.ts","./node_modules/typescript/lib/lib.es2020.date.d.ts","./node_modules/typescript/lib/lib.es2020.promise.d.ts","./node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2020.string.d.ts","./node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","./node_modules/typescript/lib/lib.es2020.intl.d.ts","./node_modules/typescript/lib/lib.es2020.number.d.ts","./node_modules/typescript/lib/lib.es2021.promise.d.ts","./node_modules/typescript/lib/lib.es2021.string.d.ts","./node_modules/typescript/lib/lib.es2021.weakref.d.ts","./node_modules/typescript/lib/lib.es2021.intl.d.ts","./node_modules/typescript/lib/lib.es2022.array.d.ts","./node_modules/typescript/lib/lib.es2022.error.d.ts","./node_modules/typescript/lib/lib.es2022.intl.d.ts","./node_modules/typescript/lib/lib.es2022.object.d.ts","./node_modules/typescript/lib/lib.es2022.string.d.ts","./node_modules/typescript/lib/lib.es2022.regexp.d.ts","./node_modules/typescript/lib/lib.es2023.array.d.ts","./node_modules/typescript/lib/lib.es2023.collection.d.ts","./node_modules/typescript/lib/lib.es2023.intl.d.ts","./node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","./node_modules/typescript/lib/lib.es2024.collection.d.ts","./node_modules/typescript/lib/lib.es2024.object.d.ts","./node_modules/typescript/lib/lib.es2024.promise.d.ts","./node_modules/typescript/lib/lib.es2024.regexp.d.ts","./node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2024.string.d.ts","./node_modules/typescript/lib/lib.esnext.array.d.ts","./node_modules/typescript/lib/lib.esnext.collection.d.ts","./node_modules/typescript/lib/lib.esnext.intl.d.ts","./node_modules/typescript/lib/lib.esnext.disposable.d.ts","./node_modules/typescript/lib/lib.esnext.decorators.d.ts","./node_modules/typescript/lib/lib.esnext.iterator.d.ts","./node_modules/typescript/lib/lib.decorators.d.ts","./node_modules/typescript/lib/lib.decorators.legacy.d.ts","./node_modules/@types/react/global.d.ts","./node_modules/csstype/index.d.ts","./node_modules/@types/react/index.d.ts","./node_modules/next/dist/styled-jsx/types/css.d.ts","./node_modules/next/dist/styled-jsx/types/macro.d.ts","./node_modules/next/dist/styled-jsx/types/style.d.ts","./node_modules/next/dist/styled-jsx/types/global.d.ts","./node_modules/next/dist/styled-jsx/types/index.d.ts","./node_modules/next/dist/server/get-page-files.d.ts","./node_modules/@types/node/compatibility/disposable.d.ts","./node_modules/@types/node/compatibility/indexable.d.ts","./node_modules/@types/node/compatibility/iterators.d.ts","./node_modules/@types/node/compatibility/index.d.ts","./node_modules/@types/node/globals.typedarray.d.ts","./node_modules/@types/node/buffer.buffer.d.ts","./node_modules/@types/node/globals.d.ts","./node_modules/@types/node/web-globals/abortcontroller.d.ts","./node_modules/@types/node/web-globals/domexception.d.ts","./node_modules/@types/node/web-globals/events.d.ts","./node_modules/buffer/index.d.ts","./node_modules/undici-types/header.d.ts","./node_modules/undici-types/readable.d.ts","./node_modules/undici-types/file.d.ts","./node_modules/undici-types/fetch.d.ts","./node_modules/undici-types/formdata.d.ts","./node_modules/undici-types/connector.d.ts","./node_modules/undici-types/client.d.ts","./node_modules/undici-types/errors.d.ts","./node_modules/undici-types/dispatcher.d.ts","./node_modules/undici-types/global-dispatcher.d.ts","./node_modules/undici-types/global-origin.d.ts","./node_modules/undici-types/pool-stats.d.ts","./node_modules/undici-types/pool.d.ts","./node_modules/undici-types/handlers.d.ts","./node_modules/undici-types/balanced-pool.d.ts","./node_modules/undici-types/agent.d.ts","./node_modules/undici-types/mock-interceptor.d.ts","./node_modules/undici-types/mock-agent.d.ts","./node_modules/undici-types/mock-client.d.ts","./node_modules/undici-types/mock-pool.d.ts","./node_modules/undici-types/mock-errors.d.ts","./node_modules/undici-types/proxy-agent.d.ts","./node_modules/undici-types/env-http-proxy-agent.d.ts","./node_modules/undici-types/retry-handler.d.ts","./node_modules/undici-types/retry-agent.d.ts","./node_modules/undici-types/api.d.ts","./node_modules/undici-types/interceptors.d.ts","./node_modules/undici-types/util.d.ts","./node_modules/undici-types/cookies.d.ts","./node_modules/undici-types/patch.d.ts","./node_modules/undici-types/websocket.d.ts","./node_modules/undici-types/eventsource.d.ts","./node_modules/undici-types/filereader.d.ts","./node_modules/undici-types/diagnostics-channel.d.ts","./node_modules/undici-types/content-type.d.ts","./node_modules/undici-types/cache.d.ts","./node_modules/undici-types/index.d.ts","./node_modules/@types/node/web-globals/fetch.d.ts","./node_modules/@types/node/web-globals/navigator.d.ts","./node_modules/@types/node/web-globals/storage.d.ts","./node_modules/@types/node/assert.d.ts","./node_modules/@types/node/assert/strict.d.ts","./node_modules/@types/node/async_hooks.d.ts","./node_modules/@types/node/buffer.d.ts","./node_modules/@types/node/child_process.d.ts","./node_modules/@types/node/cluster.d.ts","./node_modules/@types/node/console.d.ts","./node_modules/@types/node/constants.d.ts","./node_modules/@types/node/crypto.d.ts","./node_modules/@types/node/dgram.d.ts","./node_modules/@types/node/diagnostics_channel.d.ts","./node_modules/@types/node/dns.d.ts","./node_modules/@types/node/dns/promises.d.ts","./node_modules/@types/node/domain.d.ts","./node_modules/@types/node/events.d.ts","./node_modules/@types/node/fs.d.ts","./node_modules/@types/node/fs/promises.d.ts","./node_modules/@types/node/http.d.ts","./node_modules/@types/node/http2.d.ts","./node_modules/@types/node/https.d.ts","./node_modules/@types/node/inspector.d.ts","./node_modules/@types/node/inspector.generated.d.ts","./node_modules/@types/node/module.d.ts","./node_modules/@types/node/net.d.ts","./node_modules/@types/node/os.d.ts","./node_modules/@types/node/path.d.ts","./node_modules/@types/node/perf_hooks.d.ts","./node_modules/@types/node/process.d.ts","./node_modules/@types/node/punycode.d.ts","./node_modules/@types/node/querystring.d.ts","./node_modules/@types/node/readline.d.ts","./node_modules/@types/node/readline/promises.d.ts","./node_modules/@types/node/repl.d.ts","./node_modules/@types/node/sea.d.ts","./node_modules/@types/node/sqlite.d.ts","./node_modules/@types/node/stream.d.ts","./node_modules/@types/node/stream/promises.d.ts","./node_modules/@types/node/stream/consumers.d.ts","./node_modules/@types/node/stream/web.d.ts","./node_modules/@types/node/string_decoder.d.ts","./node_modules/@types/node/test.d.ts","./node_modules/@types/node/timers.d.ts","./node_modules/@types/node/timers/promises.d.ts","./node_modules/@types/node/tls.d.ts","./node_modules/@types/node/trace_events.d.ts","./node_modules/@types/node/tty.d.ts","./node_modules/@types/node/url.d.ts","./node_modules/@types/node/util.d.ts","./node_modules/@types/node/v8.d.ts","./node_modules/@types/node/vm.d.ts","./node_modules/@types/node/wasi.d.ts","./node_modules/@types/node/worker_threads.d.ts","./node_modules/@types/node/zlib.d.ts","./node_modules/@types/node/index.d.ts","./node_modules/@types/react/canary.d.ts","./node_modules/@types/react/experimental.d.ts","./node_modules/@types/react-dom/index.d.ts","./node_modules/@types/react-dom/canary.d.ts","./node_modules/@types/react-dom/experimental.d.ts","./node_modules/next/dist/lib/fallback.d.ts","./node_modules/next/dist/compiled/webpack/webpack.d.ts","./node_modules/next/dist/shared/lib/modern-browserslist-target.d.ts","./node_modules/next/dist/shared/lib/entry-constants.d.ts","./node_modules/next/dist/shared/lib/constants.d.ts","./node_modules/next/dist/lib/bundler.d.ts","./node_modules/next/dist/server/config.d.ts","./node_modules/next/dist/lib/load-custom-routes.d.ts","./node_modules/next/dist/shared/lib/image-config.d.ts","./node_modules/next/dist/build/webpack/plugins/subresource-integrity-plugin.d.ts","./node_modules/next/dist/server/body-streams.d.ts","./node_modules/next/dist/server/request/search-params.d.ts","./node_modules/next/dist/shared/lib/segment-cache/vary-params-decoding.d.ts","./node_modules/next/dist/server/app-render/vary-params.d.ts","./node_modules/next/dist/server/request/params.d.ts","./node_modules/next/dist/server/route-kind.d.ts","./node_modules/next/dist/server/route-definitions/route-definition.d.ts","./node_modules/next/dist/server/route-matches/route-match.d.ts","./node_modules/next/dist/client/components/app-router-headers.d.ts","./node_modules/next/dist/server/lib/cache-control.d.ts","./node_modules/next/dist/shared/lib/app-router-types.d.ts","./node_modules/next/dist/server/lib/cache-handlers/types.d.ts","./node_modules/next/dist/server/use-cache/use-cache-wrapper.d.ts","./node_modules/next/dist/server/resume-data-cache/cache-store.d.ts","./node_modules/next/dist/server/resume-data-cache/resume-data-cache.d.ts","./node_modules/next/dist/lib/constants.d.ts","./node_modules/next/dist/server/render-result.d.ts","./node_modules/next/dist/server/response-cache/types.d.ts","./node_modules/next/dist/server/response-cache/index.d.ts","./node_modules/@types/react/jsx-runtime.d.ts","./node_modules/next/dist/next-devtools/userspace/pages/pages-dev-overlay-setup.d.ts","./node_modules/next/dist/build/static-paths/types.d.ts","./node_modules/next/dist/server/route-definitions/app-page-route-definition.d.ts","./node_modules/next/dist/build/adapter/setup-node-env.external.d.ts","./node_modules/next/dist/server/instrumentation/types.d.ts","./node_modules/next/dist/lib/setup-exception-listeners.d.ts","./node_modules/next/dist/lib/worker.d.ts","./node_modules/next/dist/server/lib/experimental/ppr.d.ts","./node_modules/next/dist/lib/page-types.d.ts","./node_modules/next/dist/build/segment-config/app/app-segment-config.d.ts","./node_modules/next/dist/build/segment-config/pages/pages-segment-config.d.ts","./node_modules/next/dist/build/analysis/get-page-static-info.d.ts","./node_modules/next/dist/build/webpack/loaders/get-module-build-info.d.ts","./node_modules/next/dist/build/webpack/plugins/middleware-plugin.d.ts","./node_modules/next/dist/server/require-hook.d.ts","./node_modules/next/dist/server/node-polyfill-crypto.d.ts","./node_modules/next/dist/server/node-environment-baseline.d.ts","./node_modules/next/dist/server/node-environment-extensions/error-inspect.d.ts","./node_modules/next/dist/server/node-environment-extensions/console-file.d.ts","./node_modules/next/dist/server/node-environment-extensions/console-exit.d.ts","./node_modules/next/dist/server/node-environment-extensions/console-dim.external.d.ts","./node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.d.ts","./node_modules/next/dist/server/node-environment-extensions/random.d.ts","./node_modules/next/dist/server/node-environment-extensions/date.d.ts","./node_modules/next/dist/server/node-environment-extensions/web-crypto.d.ts","./node_modules/next/dist/server/node-environment-extensions/node-crypto.d.ts","./node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.d.ts","./node_modules/next/dist/server/node-environment.d.ts","./node_modules/next/dist/build/page-extensions-type.d.ts","./node_modules/next/dist/server/route-modules/app-page/module.compiled.d.ts","./node_modules/next/dist/server/route-definitions/app-route-route-definition.d.ts","./node_modules/next/dist/server/lib/i18n-provider.d.ts","./node_modules/next/dist/server/web/next-url.d.ts","./node_modules/next/dist/compiled/@edge-runtime/cookies/index.d.ts","./node_modules/next/dist/server/web/spec-extension/cookies.d.ts","./node_modules/next/dist/server/web/spec-extension/request.d.ts","./node_modules/next/dist/shared/lib/deep-readonly.d.ts","./node_modules/next/dist/server/lib/incremental-cache/index.d.ts","./node_modules/next/dist/shared/lib/router/utils/middleware-route-matcher.d.ts","./node_modules/next/dist/build/webpack/plugins/flight-manifest-plugin.d.ts","./node_modules/next/dist/build/webpack/plugins/next-font-manifest-plugin.d.ts","./node_modules/next/dist/server/route-definitions/locale-route-definition.d.ts","./node_modules/next/dist/server/route-definitions/pages-route-definition.d.ts","./node_modules/next/dist/shared/lib/mitt.d.ts","./node_modules/next/dist/client/with-router.d.ts","./node_modules/next/dist/client/router.d.ts","./node_modules/next/dist/client/route-loader.d.ts","./node_modules/next/dist/client/page-loader.d.ts","./node_modules/next/dist/shared/lib/bloom-filter.d.ts","./node_modules/next/dist/shared/lib/router/router.d.ts","./node_modules/next/dist/shared/lib/router-context.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/loadable-context.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/loadable.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/image-config-context.shared-runtime.d.ts","./node_modules/next/dist/client/components/readonly-url-search-params.d.ts","./node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.d.ts","./node_modules/next/dist/client/flight-data-helpers.d.ts","./node_modules/next/dist/client/components/segment-cache/cache-key.d.ts","./node_modules/next/dist/client/components/router-reducer/fetch-server-response.d.ts","./node_modules/next/dist/client/components/segment-cache/types.d.ts","./node_modules/next/dist/shared/lib/segment-cache/segment-value-encoding.d.ts","./node_modules/next/dist/client/components/segment-cache/scheduler.d.ts","./node_modules/next/dist/client/components/segment-cache/cache-map.d.ts","./node_modules/next/dist/client/components/segment-cache/vary-path.d.ts","./node_modules/next/dist/client/components/segment-cache/cache.d.ts","./node_modules/next/dist/client/components/router-reducer/ppr-navigations.d.ts","./node_modules/next/dist/client/components/segment-cache/navigation.d.ts","./node_modules/next/dist/client/components/router-reducer/router-reducer-types.d.ts","./node_modules/next/dist/shared/lib/app-router-context.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.d.ts","./node_modules/next/dist/server/route-modules/pages/vendored/contexts/entrypoints.d.ts","./node_modules/next/dist/server/route-modules/pages/module.compiled.d.ts","./node_modules/next/dist/build/templates/pages.d.ts","./node_modules/next/dist/server/route-modules/pages/module.d.ts","./node_modules/next/dist/server/render.d.ts","./node_modules/next/dist/build/webpack/plugins/pages-manifest-plugin.d.ts","./node_modules/next/dist/server/route-definitions/pages-api-route-definition.d.ts","./node_modules/next/dist/server/route-matches/pages-api-route-match.d.ts","./node_modules/next/dist/server/route-matchers/route-matcher.d.ts","./node_modules/next/dist/server/route-matcher-providers/route-matcher-provider.d.ts","./node_modules/next/dist/server/route-matcher-managers/route-matcher-manager.d.ts","./node_modules/next/dist/server/normalizers/normalizer.d.ts","./node_modules/next/dist/server/normalizers/locale-route-normalizer.d.ts","./node_modules/next/dist/server/normalizers/request/pathname-normalizer.d.ts","./node_modules/next/dist/server/normalizers/request/suffix.d.ts","./node_modules/next/dist/server/normalizers/request/rsc.d.ts","./node_modules/next/dist/server/normalizers/request/next-data.d.ts","./node_modules/next/dist/server/after/builtin-request-context.d.ts","./node_modules/next/dist/server/normalizers/request/segment-prefix-rsc.d.ts","./node_modules/next/dist/server/route-modules/pages/builtin/_error.d.ts","./node_modules/next/dist/server/load-default-error-components.d.ts","./node_modules/next/dist/server/base-server.d.ts","./node_modules/next/dist/server/after/after.d.ts","./node_modules/next/dist/server/after/after-context.d.ts","./node_modules/next/dist/server/use-cache/cache-life.d.ts","./node_modules/next/dist/server/app-render/work-async-storage-instance.d.ts","./node_modules/next/dist/server/lib/lazy-result.d.ts","./node_modules/next/dist/server/app-render/create-error-handler.d.ts","./node_modules/next/dist/shared/lib/action-revalidation-kind.d.ts","./node_modules/next/dist/server/app-render/work-async-storage.external.d.ts","./node_modules/next/dist/server/async-storage/work-store.d.ts","./node_modules/next/dist/server/web/http.d.ts","./node_modules/next/dist/client/components/hooks-server-context.d.ts","./node_modules/next/dist/server/route-modules/app-route/shared-modules.d.ts","./node_modules/next/dist/client/components/redirect-status-code.d.ts","./node_modules/next/dist/client/components/redirect-error.d.ts","./node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.d.ts","./node_modules/next/dist/server/async-storage/draft-mode-provider.d.ts","./node_modules/next/dist/server/web/spec-extension/adapters/headers.d.ts","./node_modules/next/dist/server/app-render/cache-signal.d.ts","./node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.d.ts","./node_modules/next/dist/server/app-render/instant-validation/instant-validation-error.d.ts","./node_modules/next/dist/shared/lib/router/utils/parse-relative-url.d.ts","./node_modules/next/dist/server/app-render/instant-validation/instant-samples.d.ts","./node_modules/next/dist/server/app-render/dynamic-rendering.d.ts","./node_modules/next/dist/server/app-render/work-unit-async-storage-instance.d.ts","./node_modules/next/dist/server/lib/implicit-tags.d.ts","./node_modules/next/dist/server/app-render/staged-rendering.d.ts","./node_modules/next/dist/server/app-render/work-unit-async-storage.external.d.ts","./node_modules/next/dist/build/templates/app-route.d.ts","./node_modules/next/dist/server/app-render/action-async-storage-instance.d.ts","./node_modules/next/dist/server/app-render/action-async-storage.external.d.ts","./node_modules/next/dist/server/route-modules/app-route/module.d.ts","./node_modules/next/dist/server/route-modules/app-route/module.compiled.d.ts","./node_modules/next/dist/build/segment-config/app/app-segments.d.ts","./node_modules/next/dist/build/get-supported-browsers.d.ts","./node_modules/next/dist/build/utils.d.ts","./node_modules/next/dist/build/rendering-mode.d.ts","./node_modules/next/dist/server/lib/router-utils/build-prefetch-segment-data-route.d.ts","./node_modules/next/dist/server/lib/cpu-profile.d.ts","./node_modules/next/dist/build/turborepo-access-trace/types.d.ts","./node_modules/next/dist/build/turborepo-access-trace/result.d.ts","./node_modules/next/dist/build/turborepo-access-trace/helpers.d.ts","./node_modules/next/dist/build/turborepo-access-trace/index.d.ts","./node_modules/next/dist/export/routes/types.d.ts","./node_modules/next/dist/export/types.d.ts","./node_modules/next/dist/export/worker.d.ts","./node_modules/next/dist/build/worker.d.ts","./node_modules/next/dist/build/index.d.ts","./node_modules/next/dist/lib/coalesced-function.d.ts","./node_modules/next/dist/server/lib/router-utils/types.d.ts","./node_modules/next/dist/trace/types.d.ts","./node_modules/next/dist/trace/trace.d.ts","./node_modules/next/dist/trace/shared.d.ts","./node_modules/next/dist/trace/index.d.ts","./node_modules/next/dist/build/load-jsconfig.d.ts","./node_modules/@next/env/dist/index.d.ts","./node_modules/next/dist/build/webpack/plugins/telemetry-plugin/use-cache-tracker-utils.d.ts","./node_modules/next/dist/build/webpack/plugins/telemetry-plugin/telemetry-plugin.d.ts","./node_modules/next/dist/telemetry/storage.d.ts","./node_modules/next/dist/build/build-context.d.ts","./node_modules/next/dist/build/webpack-config.d.ts","./node_modules/next/dist/build/swc/generated-native.d.ts","./node_modules/next/dist/build/define-env.d.ts","./node_modules/next/dist/build/swc/index.d.ts","./node_modules/next/dist/build/swc/types.d.ts","./node_modules/next/dist/server/dev/parse-version-info.d.ts","./node_modules/next/dist/next-devtools/shared/types.d.ts","./node_modules/next/dist/server/dev/dev-indicator-server-state.d.ts","./node_modules/next/dist/next-devtools/dev-overlay/cache-indicator.d.ts","./node_modules/next/dist/server/lib/parse-stack.d.ts","./node_modules/next/dist/next-devtools/server/shared.d.ts","./node_modules/next/dist/next-devtools/shared/stack-frame.d.ts","./node_modules/next/dist/next-devtools/dev-overlay/utils/get-error-by-type.d.ts","./node_modules/next/dist/next-devtools/dev-overlay/container/runtime-error/render-error.d.ts","./node_modules/next/dist/next-devtools/dev-overlay/shared.d.ts","./node_modules/next/dist/server/dev/debug-channel.d.ts","./node_modules/next/dist/server/dev/hot-reloader-types.d.ts","./node_modules/next/dist/server/web/spec-extension/fetch-event.d.ts","./node_modules/next/dist/server/web/spec-extension/response.d.ts","./node_modules/next/dist/build/segment-config/middleware/middleware-config.d.ts","./node_modules/next/dist/server/web/types.d.ts","./node_modules/next/dist/shared/lib/router/utils/parse-url.d.ts","./node_modules/next/dist/server/base-http/node.d.ts","./node_modules/next/dist/server/lib/async-callback-set.d.ts","./node_modules/next/dist/shared/lib/router/utils/route-regex.d.ts","./node_modules/next/dist/shared/lib/router/utils/route-matcher.d.ts","./node_modules/sharp/lib/index.d.ts","./node_modules/next/dist/server/image-optimizer.d.ts","./node_modules/next/dist/server/next-server.d.ts","./node_modules/next/dist/server/lib/types.d.ts","./node_modules/next/dist/server/lib/lru-cache.d.ts","./node_modules/next/dist/server/lib/dev-bundler-service.d.ts","./node_modules/next/dist/server/dev/static-paths-worker.d.ts","./node_modules/next/dist/server/dev/next-dev-server.d.ts","./node_modules/next/dist/server/next.d.ts","./node_modules/next/dist/server/lib/render-server.d.ts","./node_modules/next/dist/server/lib/router-server.d.ts","./node_modules/next/dist/shared/lib/router/utils/path-match.d.ts","./node_modules/next/dist/server/lib/router-utils/filesystem.d.ts","./node_modules/next/dist/server/lib/router-utils/setup-dev-bundler.d.ts","./node_modules/next/dist/server/lib/router-utils/router-server-context.d.ts","./node_modules/next/dist/server/route-modules/route-module.d.ts","./node_modules/next/dist/server/load-components.d.ts","./node_modules/next/dist/server/web/adapter.d.ts","./node_modules/next/dist/server/app-render/types.d.ts","./node_modules/next/dist/build/webpack/loaders/metadata/types.d.ts","./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.d.ts","./node_modules/next/dist/server/lib/app-dir-module.d.ts","./node_modules/next/dist/server/app-render/app-render.d.ts","./node_modules/next/dist/server/route-modules/app-page/vendored/contexts/entrypoints.d.ts","./node_modules/next/dist/client/components/error-boundary.d.ts","./node_modules/next/dist/client/components/layout-router.d.ts","./node_modules/next/dist/client/components/render-from-template-context.d.ts","./node_modules/next/dist/client/components/client-page.d.ts","./node_modules/next/dist/client/components/client-segment.d.ts","./node_modules/next/dist/client/components/http-access-fallback/error-boundary.d.ts","./node_modules/next/dist/lib/metadata/types/alternative-urls-types.d.ts","./node_modules/next/dist/lib/metadata/types/extra-types.d.ts","./node_modules/next/dist/lib/metadata/types/metadata-types.d.ts","./node_modules/next/dist/lib/metadata/types/manifest-types.d.ts","./node_modules/next/dist/lib/metadata/types/opengraph-types.d.ts","./node_modules/next/dist/lib/metadata/types/twitter-types.d.ts","./node_modules/next/dist/lib/metadata/types/metadata-interface.d.ts","./node_modules/next/dist/lib/metadata/types/resolvers.d.ts","./node_modules/next/dist/lib/metadata/types/icons.d.ts","./node_modules/next/dist/lib/metadata/resolve-metadata.d.ts","./node_modules/next/dist/lib/metadata/metadata.d.ts","./node_modules/next/dist/lib/framework/boundary-components.d.ts","./node_modules/next/dist/server/app-render/rsc/preloads.d.ts","./node_modules/next/dist/server/app-render/rsc/postpone.d.ts","./node_modules/next/dist/server/app-render/rsc/taint.d.ts","./node_modules/next/dist/server/app-render/collect-segment-data.d.ts","./node_modules/next/dist/server/app-render/instant-validation/instant-validation.d.ts","./node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.d.ts","./node_modules/next/dist/server/app-render/entry-base.d.ts","./node_modules/next/dist/build/templates/app-page.d.ts","./node_modules/next/dist/server/route-modules/app-page/helpers/prerender-manifest-matcher.d.ts","./node_modules/@types/react/jsx-dev-runtime.d.ts","./node_modules/@types/react/compiler-runtime.d.ts","./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/entrypoints.d.ts","./node_modules/@types/react-dom/client.d.ts","./node_modules/@types/react-dom/static.d.ts","./node_modules/@types/react-dom/server.d.ts","./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/entrypoints.d.ts","./node_modules/next/dist/server/route-modules/app-page/module.d.ts","./node_modules/next/dist/server/request/fallback-params.d.ts","./node_modules/next/dist/server/web/spec-extension/image-response.d.ts","./node_modules/next/dist/server/web/spec-extension/user-agent.d.ts","./node_modules/next/dist/server/web/spec-extension/url-pattern.d.ts","./node_modules/next/dist/server/after/index.d.ts","./node_modules/next/dist/server/request/connection.d.ts","./node_modules/next/dist/server/web/exports/index.d.ts","./node_modules/next/dist/server/request-meta.d.ts","./node_modules/next/dist/cli/next-test.d.ts","./node_modules/next/dist/shared/lib/size-limit.d.ts","./node_modules/next/dist/server/config-shared.d.ts","./node_modules/next/dist/server/base-http/index.d.ts","./node_modules/next/dist/server/api-utils/index.d.ts","./node_modules/next/dist/build/adapter/build-complete.d.ts","./node_modules/next/dist/types.d.ts","./node_modules/next/dist/shared/lib/html-context.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/utils.d.ts","./node_modules/next/dist/pages/_app.d.ts","./node_modules/next/app.d.ts","./node_modules/next/dist/server/web/spec-extension/unstable-cache.d.ts","./node_modules/next/dist/server/web/spec-extension/revalidate.d.ts","./node_modules/next/dist/server/web/spec-extension/unstable-no-store.d.ts","./node_modules/next/dist/server/use-cache/cache-tag.d.ts","./node_modules/next/cache.d.ts","./node_modules/next/dist/pages/_document.d.ts","./node_modules/next/document.d.ts","./node_modules/next/dist/shared/lib/dynamic.d.ts","./node_modules/next/dynamic.d.ts","./node_modules/next/dist/pages/_error.d.ts","./node_modules/next/dist/client/components/catch-error.d.ts","./node_modules/next/dist/api/error.d.ts","./node_modules/next/error.d.ts","./node_modules/next/dist/shared/lib/head.d.ts","./node_modules/next/head.d.ts","./node_modules/next/dist/server/request/cookies.d.ts","./node_modules/next/dist/server/request/headers.d.ts","./node_modules/next/dist/server/request/draft-mode.d.ts","./node_modules/next/headers.d.ts","./node_modules/next/dist/shared/lib/get-img-props.d.ts","./node_modules/next/dist/client/image-component.d.ts","./node_modules/next/dist/shared/lib/image-external.d.ts","./node_modules/next/image.d.ts","./node_modules/next/dist/client/link.d.ts","./node_modules/next/link.d.ts","./node_modules/next/dist/client/components/unrecognized-action-error.d.ts","./node_modules/next/dist/client/components/redirect.d.ts","./node_modules/next/dist/client/components/not-found.d.ts","./node_modules/next/dist/client/components/forbidden.d.ts","./node_modules/next/dist/client/components/unauthorized.d.ts","./node_modules/next/dist/client/components/unstable-rethrow.server.d.ts","./node_modules/next/dist/client/components/unstable-rethrow.d.ts","./node_modules/next/dist/client/components/navigation.react-server.d.ts","./node_modules/next/dist/client/components/navigation.d.ts","./node_modules/next/navigation.d.ts","./node_modules/next/router.d.ts","./node_modules/next/dist/client/script.d.ts","./node_modules/next/script.d.ts","./node_modules/next/dist/compiled/@edge-runtime/primitives/url.d.ts","./node_modules/next/dist/compiled/@vercel/og/satori/index.d.ts","./node_modules/next/dist/compiled/@vercel/og/types.d.ts","./node_modules/next/server.d.ts","./node_modules/next/types/global.d.ts","./node_modules/next/types/compiled.d.ts","./node_modules/next/types.d.ts","./node_modules/next/index.d.ts","./node_modules/next/image-types/global.d.ts","./.next/dev/types/routes.d.ts","./next-env.d.ts","./node_modules/firebase-admin/lib/app/credential.d.ts","./node_modules/firebase-admin/lib/app/core.d.ts","./node_modules/firebase-admin/lib/app/lifecycle.d.ts","./node_modules/firebase-admin/lib/app/credential-factory.d.ts","./node_modules/firebase-admin/lib/messaging/messaging-api.d.ts","./node_modules/firebase-admin/lib/utils/error.d.ts","./node_modules/firebase-admin/lib/app/index.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/auth-context.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/metadata.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/call-credentials.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/constants.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/deadline.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/certificate-provider.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/compression-algorithms.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/channel-options.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/uri-parser.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/channel-credentials.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/connectivity-state.d.ts","./node_modules/@js-sdsl/ordered-map/dist/esm/index.d.ts","./node_modules/protobufjs/index.d.ts","./node_modules/protobufjs/ext/descriptor/index.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/node_modules/@grpc/proto-loader/build/src/util.d.ts","./node_modules/long/umd/types.d.ts","./node_modules/long/umd/index.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/node_modules/@grpc/proto-loader/build/src/index.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/timestamp.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/channelref.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/subchannelref.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/channeltraceevent.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/channeltrace.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/subchannel-address.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getchannelrequest.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/channelconnectivitystate.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/channeldata.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/socketref.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/channel.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getchannelresponse.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getserverrequest.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/serverref.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/serverdata.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/server.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getserverresponse.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getserversocketsrequest.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getserversocketsresponse.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getserversrequest.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getserversresponse.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getsocketrequest.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/int64value.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/any.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/socketoption.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/socketdata.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/address.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/security.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/socket.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getsocketresponse.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getsubchannelrequest.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/subchannel.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/getsubchannelresponse.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/gettopchannelsrequest.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/gettopchannelsresponse.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/channelz.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/channelz.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/channel.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/client-interceptors.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/client.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/server-credentials.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/subchannel-call.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/transport.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/xds/data/orca/v3/orcaloadreport.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/duration.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/xds/service/orca/v3/orcaloadreportrequest.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/generated/xds/service/orca/v3/openrcaservice.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/subchannel.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/subchannel-interface.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/duration.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/service-config.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/load-balancer.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/picker.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/orca.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/server-interceptors.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/server.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/make-client.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/events.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/object-stream.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/server-call.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/call-interface.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/call.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/status-builder.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/admin.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/logging.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/filter.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/resolver.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/backoff-timeout.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/load-balancer-pick-first.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/load-balancer-child-handler.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/filter-stack.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/load-balancer-outlier-detection.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/load-balancing-call.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/resolving-call.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/retrying-call.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/internal-channel.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/experimental.d.ts","./node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/index.d.ts","./node_modules/@grpc/proto-loader/build/src/util.d.ts","./node_modules/@grpc/proto-loader/build/src/index.d.ts","./node_modules/gaxios/build/src/common.d.ts","./node_modules/gaxios/build/src/interceptor.d.ts","./node_modules/gaxios/build/src/gaxios.d.ts","./node_modules/gaxios/build/src/index.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/transporters.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/credentials.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/crypto/crypto.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/util.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/authclient.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/loginticket.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/oauth2client.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/idtokenclient.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/envdetect.d.ts","./node_modules/gtoken/build/src/index.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/jwtclient.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/refreshclient.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/impersonated.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/baseexternalclient.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/identitypoolclient.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/awsrequestsigner.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/awsclient.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/pluggable-auth-client.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/externalclient.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/externalaccountauthorizeduserclient.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/googleauth.d.ts","./node_modules/google-gax/node_modules/gcp-metadata/build/src/gcp-residency.d.ts","./node_modules/google-gax/node_modules/gcp-metadata/build/src/index.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/computeclient.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/iam.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/jwtaccess.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/downscopedclient.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/auth/passthrough.d.ts","./node_modules/google-gax/node_modules/google-auth-library/build/src/index.d.ts","./node_modules/google-gax/build/src/status.d.ts","./node_modules/proto3-json-serializer/build/src/types.d.ts","./node_modules/proto3-json-serializer/build/src/toproto3json.d.ts","./node_modules/proto3-json-serializer/build/src/fromproto3json.d.ts","./node_modules/proto3-json-serializer/build/src/index.d.ts","./node_modules/google-gax/build/src/googleerror.d.ts","./node_modules/google-gax/build/src/call.d.ts","./node_modules/google-gax/build/src/streamingcalls/streaming.d.ts","./node_modules/google-gax/build/src/apicaller.d.ts","./node_modules/google-gax/build/src/paginationcalls/pagedescriptor.d.ts","./node_modules/google-gax/build/src/streamingcalls/streamdescriptor.d.ts","./node_modules/google-gax/build/src/normalcalls/normalapicaller.d.ts","./node_modules/google-gax/build/src/bundlingcalls/bundleapicaller.d.ts","./node_modules/google-gax/build/src/bundlingcalls/bundledescriptor.d.ts","./node_modules/google-gax/build/src/descriptor.d.ts","./node_modules/google-gax/build/protos/operations.d.ts","./node_modules/google-gax/build/src/clientinterface.d.ts","./node_modules/google-gax/build/src/routingheader.d.ts","./node_modules/google-gax/build/protos/http.d.ts","./node_modules/google-gax/build/protos/iam_service.d.ts","./node_modules/google-gax/build/protos/locations.d.ts","./node_modules/google-gax/build/src/pathtemplate.d.ts","./node_modules/google-gax/build/src/iamservice.d.ts","./node_modules/google-gax/build/src/locationservice.d.ts","./node_modules/google-gax/build/src/util.d.ts","./node_modules/protobufjs/minimal.d.ts","./node_modules/google-gax/build/src/warnings.d.ts","./node_modules/event-target-shim/index.d.ts","./node_modules/abort-controller/dist/abort-controller.d.ts","./node_modules/google-gax/build/src/streamarrayparser.d.ts","./node_modules/google-gax/build/src/fallbackservicestub.d.ts","./node_modules/google-gax/build/src/fallback.d.ts","./node_modules/google-gax/build/src/operationsclient.d.ts","./node_modules/google-gax/build/src/longrunningcalls/longrunningapicaller.d.ts","./node_modules/google-gax/build/src/longrunningcalls/longrunningdescriptor.d.ts","./node_modules/google-gax/build/src/longrunningcalls/longrunning.d.ts","./node_modules/google-gax/build/src/apitypes.d.ts","./node_modules/google-gax/build/src/bundlingcalls/task.d.ts","./node_modules/google-gax/build/src/bundlingcalls/bundleexecutor.d.ts","./node_modules/google-gax/build/src/gax.d.ts","./node_modules/google-gax/build/src/grpc.d.ts","./node_modules/google-gax/build/src/createapicall.d.ts","./node_modules/google-gax/build/src/index.d.ts","./node_modules/@google-cloud/firestore/types/protos/firestore_v1beta1_proto_api.d.ts","./node_modules/@google-cloud/firestore/types/v1beta1/firestore_client.d.ts","./node_modules/@google-cloud/firestore/types/protos/firestore_v1_proto_api.d.ts","./node_modules/@google-cloud/firestore/types/v1/firestore_client.d.ts","./node_modules/@google-cloud/firestore/types/protos/firestore_admin_v1_proto_api.d.ts","./node_modules/@google-cloud/firestore/types/v1/firestore_admin_client.d.ts","./node_modules/@google-cloud/firestore/types/firestore.d.ts","./node_modules/firebase-admin/lib/firestore/firestore-internal.d.ts","./node_modules/firebase-admin/lib/firestore/index.d.ts","./lib/firebase/seeddata.ts","./lib/firebase/autoseed.server.ts","./instrumentation.ts","./proxy.ts","./node_modules/rollup/node_modules/@types/estree/index.d.ts","./node_modules/rollup/dist/rollup.d.ts","./node_modules/rollup/dist/parseast.d.ts","./node_modules/vite/types/hmrpayload.d.ts","./node_modules/vite/types/customevent.d.ts","./node_modules/vite/types/hot.d.ts","./node_modules/vite/dist/node/types.d-agj9qkwt.d.ts","./node_modules/vite/node_modules/esbuild/lib/main.d.ts","./node_modules/source-map-js/source-map.d.ts","./node_modules/postcss/lib/previous-map.d.ts","./node_modules/postcss/lib/input.d.ts","./node_modules/postcss/lib/css-syntax-error.d.ts","./node_modules/postcss/lib/declaration.d.ts","./node_modules/postcss/lib/root.d.ts","./node_modules/postcss/lib/warning.d.ts","./node_modules/postcss/lib/lazy-result.d.ts","./node_modules/postcss/lib/no-work-result.d.ts","./node_modules/postcss/lib/processor.d.ts","./node_modules/postcss/lib/result.d.ts","./node_modules/postcss/lib/document.d.ts","./node_modules/postcss/lib/rule.d.ts","./node_modules/postcss/lib/node.d.ts","./node_modules/postcss/lib/comment.d.ts","./node_modules/postcss/lib/container.d.ts","./node_modules/postcss/lib/at-rule.d.ts","./node_modules/postcss/lib/list.d.ts","./node_modules/postcss/lib/postcss.d.ts","./node_modules/postcss/lib/postcss.d.mts","./node_modules/vite/dist/node/runtime.d.ts","./node_modules/vite/types/importglob.d.ts","./node_modules/vite/types/metadata.d.ts","./node_modules/vite/dist/node/index.d.ts","./node_modules/@vitest/pretty-format/dist/index.d.ts","./node_modules/@vitest/utils/dist/types.d.ts","./node_modules/@vitest/utils/dist/helpers.d.ts","./node_modules/tinyrainbow/dist/index-c1cfc5e9.d.ts","./node_modules/tinyrainbow/dist/node.d.ts","./node_modules/@vitest/utils/dist/index.d.ts","./node_modules/@vitest/runner/dist/tasks-3znpj1lr.d.ts","./node_modules/@vitest/utils/dist/types-bxe-2udy.d.ts","./node_modules/@vitest/utils/dist/diff.d.ts","./node_modules/@vitest/runner/dist/types.d.ts","./node_modules/@vitest/utils/dist/error.d.ts","./node_modules/@vitest/runner/dist/index.d.ts","./node_modules/vitest/dist/chunks/environment.looobwuu.d.ts","./node_modules/@vitest/snapshot/dist/environment-ddx0edty.d.ts","./node_modules/@vitest/snapshot/dist/rawsnapshot-cpnkto81.d.ts","./node_modules/@vitest/snapshot/dist/index.d.ts","./node_modules/@vitest/snapshot/dist/environment.d.ts","./node_modules/vitest/dist/chunks/config.cy0c388z.d.ts","./node_modules/vite-node/dist/trace-mapping.d-dlvdeqop.d.ts","./node_modules/vite-node/dist/index-z0r8hvru.d.ts","./node_modules/vite-node/dist/index.d.ts","./node_modules/@vitest/utils/dist/source-map.d.ts","./node_modules/vite-node/dist/client.d.ts","./node_modules/vite-node/dist/server.d.ts","./node_modules/@vitest/runner/dist/utils.d.ts","./node_modules/tinybench/dist/index.d.ts","./node_modules/vitest/dist/chunks/benchmark.geerunq4.d.ts","./node_modules/@vitest/snapshot/dist/manager.d.ts","./node_modules/vitest/dist/chunks/reporters.nr4dxcka.d.ts","./node_modules/vitest/dist/chunks/vite.czkp4x9w.d.ts","./node_modules/vitest/dist/config.d.ts","./node_modules/vitest/config.d.ts","./vitest.config.ts","./vitest.integration.config.ts","./vitest.unit.config.ts","./app/admin/actions.ts","./node_modules/@firebase/component/dist/src/provider.d.ts","./node_modules/@firebase/component/dist/src/component_container.d.ts","./node_modules/@firebase/component/dist/src/types.d.ts","./node_modules/@firebase/component/dist/src/component.d.ts","./node_modules/@firebase/component/dist/index.d.ts","./node_modules/@firebase/util/dist/util-public.d.ts","./node_modules/@firebase/logger/dist/src/logger.d.ts","./node_modules/@firebase/logger/dist/index.d.ts","./node_modules/@firebase/app/dist/app-public.d.ts","./node_modules/@firebase/firestore/dist/index.d.ts","./node_modules/firebase/firestore/dist/firestore/index.d.ts","./lib/firebase/constants.ts","./lib/firebase/types.ts","./lib/firebase/services.ts","./node_modules/firebase/app/dist/app/index.d.ts","./node_modules/@firebase/auth/dist/auth-public.d.ts","./node_modules/firebase/auth/dist/auth/index.d.ts","./node_modules/@firebase/storage/dist/storage-public.d.ts","./node_modules/firebase/storage/dist/storage/index.d.ts","./lib/firebase/clientapp.ts","./lib/firebase/getdefaultdb.ts","./lib/pagecontentconfig.ts","./lib/publicpagescontent.ts","./app/api/public/about/route.ts","./lib/publiccontent.ts","./app/api/public/blogs/route.ts","./app/api/public/blogs/[slug]/route.ts","./app/api/public/contacts/route.ts","./app/api/public/donate/route.ts","./app/api/public/home/route.ts","./app/api/public/media/route.ts","./app/api/public/reports/route.ts","./lib/tenant/masterdb.ts","./app/api/tenant/config/route.ts","./node_modules/lucide-react/dist/lucide-react.d.ts","./components/admin/shared/impacticons.ts","./node_modules/@radix-ui/react-context/dist/index.d.mts","./node_modules/@radix-ui/react-primitive/dist/index.d.mts","./node_modules/@radix-ui/react-dismissable-layer/dist/index.d.mts","./node_modules/@radix-ui/react-toast/dist/index.d.mts","./node_modules/clsx/clsx.d.mts","./node_modules/class-variance-authority/dist/types.d.ts","./node_modules/class-variance-authority/dist/index.d.ts","./node_modules/tailwind-merge/dist/types.d.ts","./lib/utils.ts","./components/ui/toast.tsx","./components/ui/use-toast.ts","./hooks/use-mobile.ts","./hooks/use-toast.ts","./types/editorpanel.ts","./lib/editorpanelmockdata.ts","./types/pagebuilder.ts","./lib/firebase/adminservices.ts","./lib/firebase/config.ts","./lib/firebase/editorservices.ts","./lib/firebase/helpers.ts","./lib/firebase/navservices.ts","./lib/firebase/storageutils.ts","./lib/firebase/tenantserverdb.ts","./lib/firebase/tenantfirebasecontext.tsx","./lib/firebase/hooks/usetenantservices.ts","./node_modules/zod/v3/helpers/typealiases.d.cts","./node_modules/zod/v3/helpers/util.d.cts","./node_modules/zod/v3/index.d.cts","./node_modules/zod/v3/zoderror.d.cts","./node_modules/zod/v3/locales/en.d.cts","./node_modules/zod/v3/errors.d.cts","./node_modules/zod/v3/helpers/parseutil.d.cts","./node_modules/zod/v3/helpers/enumutil.d.cts","./node_modules/zod/v3/helpers/errorutil.d.cts","./node_modules/zod/v3/helpers/partialutil.d.cts","./node_modules/zod/v3/standard-schema.d.cts","./node_modules/zod/v3/types.d.cts","./node_modules/zod/v3/external.d.cts","./node_modules/zod/index.d.cts","./lib/validation/forms.ts","./node_modules/firebase-admin/lib/auth/token-verifier.d.ts","./node_modules/firebase-admin/lib/auth/auth-config.d.ts","./node_modules/firebase-admin/lib/auth/user-record.d.ts","./node_modules/firebase-admin/lib/auth/identifier.d.ts","./node_modules/firebase-admin/lib/auth/user-import-builder.d.ts","./node_modules/firebase-admin/lib/auth/action-code-settings-builder.d.ts","./node_modules/firebase-admin/lib/auth/base-auth.d.ts","./node_modules/firebase-admin/lib/auth/tenant.d.ts","./node_modules/firebase-admin/lib/auth/tenant-manager.d.ts","./node_modules/firebase-admin/lib/auth/project-config.d.ts","./node_modules/firebase-admin/lib/auth/project-config-manager.d.ts","./node_modules/firebase-admin/lib/auth/auth.d.ts","./node_modules/firebase-admin/lib/auth/index.d.ts","./scripts/bootstrap.ts","./scripts/createusers.ts","./scripts/seedcollections.ts","./node_modules/firebase/compat/index.d.ts","./node_modules/@firebase/app-compat/dist/app-compat-public.d.ts","./node_modules/@firebase/app-types/index.d.ts","./node_modules/@firebase/database-types/index.d.ts","./node_modules/@firebase/database/dist/public.d.ts","./node_modules/@firebase/database-compat/dist/database-compat/src/index.d.ts","./node_modules/firebase/compat/database/dist/compat/database/index.d.ts","./node_modules/@firebase/firestore-types/index.d.ts","./node_modules/@firebase/firestore-compat/dist/src/register-module.d.ts","./node_modules/@firebase/firestore-compat/dist/src/index.d.ts","./node_modules/firebase/compat/firestore/dist/compat/firestore/index.d.ts","./node_modules/@firebase/app-types/private.d.ts","./node_modules/@firebase/storage-types/index.d.ts","./node_modules/@firebase/storage-compat/dist/src/index.d.ts","./node_modules/firebase/compat/storage/dist/compat/storage/index.d.ts","./node_modules/@firebase/rules-unit-testing/dist/rules-unit-testing/src/public_types/index.d.ts","./node_modules/@firebase/rules-unit-testing/dist/rules-unit-testing/src/initialize.d.ts","./node_modules/@firebase/rules-unit-testing/dist/rules-unit-testing/src/util.d.ts","./node_modules/@firebase/rules-unit-testing/dist/rules-unit-testing/index.d.ts","./scripts/testsecurityrules.ts","./node_modules/vitest/dist/chunks/worker.tn5kgiih.d.ts","./node_modules/vitest/dist/chunks/worker.b9fxpcac.d.ts","./node_modules/@vitest/expect/dist/chai.d.cts","./node_modules/@vitest/expect/dist/index.d.ts","./node_modules/@vitest/expect/index.d.ts","./node_modules/@vitest/spy/dist/index.d.ts","./node_modules/@vitest/mocker/dist/types-dzoqtgin.d.ts","./node_modules/@vitest/mocker/dist/index.d.ts","./node_modules/vitest/dist/chunks/mocker.crtm890j.d.ts","./node_modules/vitest/dist/chunks/suite.b2jumifp.d.ts","./node_modules/expect-type/dist/utils.d.ts","./node_modules/expect-type/dist/overloads.d.ts","./node_modules/expect-type/dist/branding.d.ts","./node_modules/expect-type/dist/messages.d.ts","./node_modules/expect-type/dist/index.d.ts","./node_modules/vitest/dist/index.d.ts","./tests/integration/helpers/emulator.ts","./tests/integration/blog.flow.test.ts","./tests/integration/contactmessage.flow.test.ts","./tests/integration/editor.blocked.test.ts","./tests/integration/editor.publishflow.test.ts","./tests/integration/unauth.blocked.test.ts","./tests/setup/integration.setup.ts","./tests/setup/unit.setup.ts","./tests/unit/attachments.test.ts","./tests/unit/clientapp.test.ts","./tests/unit/contactform.handler.test.ts","./tests/unit/getdefaultdb.test.ts","./tests/unit/masterdb.test.ts","./tests/unit/navservices.test.ts","./tests/unit/services.test.ts","./tests/unit/slugify.test.ts","./tests/unit/storageutils.test.ts","./tests/unit/timestamps.test.ts","./tests/unit/validation.test.ts","./node_modules/@vercel/analytics/dist/next/index.d.mts","./lib/firebase/authcontext.tsx","./components/errorboundary.tsx","./app/providers.tsx","./components/layout/navprovider.tsx","./components/theme/themelistener.tsx","./app/layout.tsx","./node_modules/@radix-ui/react-slot/dist/index.d.mts","./components/ui/button.tsx","./components/layout/header.tsx","./components/layout/footer.tsx","./app/page.tsx","./app/about/page.tsx","./app/about/vision/page.tsx","./app/admin/layout.tsx","./components/ui/spinner.tsx","./components/adminrouteguard.tsx","./components/admin/adminshell.tsx","./app/admin/(protected)/layout.tsx","./app/admin/(protected)/page.tsx","./components/admin/shared/imageuploadwithurl.tsx","./app/admin/(protected)/board-members/page.tsx","./components/admin/shared/fileuploadwithurl.tsx","./app/admin/(protected)/bylaws/page.tsx","./app/admin/(protected)/calendar/page.tsx","./app/admin/(protected)/contacts/page.tsx","./app/admin/(protected)/donate/page.tsx","./components/admin/shared/iconpicker.tsx","./app/admin/(protected)/homepage/page.tsx","./app/admin/(protected)/iban/page.tsx","./components/admin/shared/imageuploadfield.tsx","./app/admin/(protected)/menu/page.tsx","./components/admin/pagebuilder/blocktypeselector.tsx","./components/admin/pagebuilder/heroblockeditor.tsx","./components/admin/pagebuilder/richtextblockeditor.tsx","./components/admin/pagebuilder/ctabannerblockeditor.tsx","./components/admin/pagebuilder/eventgridblockeditor.tsx","./components/admin/pagebuilder/reportlistblockeditor.tsx","./components/admin/pagebuilder/teamgridblockeditor.tsx","./components/admin/shared/faqitemseditor.tsx","./components/admin/pagebuilder/faqblockeditor.tsx","./components/admin/pagebuilder/statsbarblockeditor.tsx","./components/admin/pagebuilder/blockeditorcanvas.tsx","./node_modules/marked/lib/marked.d.ts","./components/admin/shared/fileattachmentmanager.tsx","./components/editorpanel/blogpostform.tsx","./components/admin/inlineblogmanager.tsx","./components/editorpanel/eventform.tsx","./components/admin/inlineeventmanager.tsx","./components/admin/shared/draftpublishtoggle.tsx","./components/admin/inlinemediamanager.tsx","./components/admin/inlinecampaignmanager.tsx","./components/admin/shared/impactitemseditor.tsx","./components/admin/inlineimpactmanager.tsx","./components/admin/inlinefaqmanager.tsx","./components/admin/shared/teammemberseditor.tsx","./components/admin/shared/contentimageseditor.tsx","./components/admin/inlinehakkimizdamanager.tsx","./app/admin/(protected)/menu/[key]/page.tsx","./app/admin/(protected)/my-details/page.tsx","./app/admin/(protected)/pages/page.tsx","./app/admin/(protected)/performance-review/page.tsx","./app/admin/(protected)/reports/page.tsx","./app/admin/(protected)/supporters/page.tsx","./node_modules/@radix-ui/react-label/node_modules/@radix-ui/react-primitive/dist/index.d.mts","./node_modules/@radix-ui/react-label/dist/index.d.mts","./components/ui/label.tsx","./components/ui/input.tsx","./app/admin/(protected)/theme/page.tsx","./app/admin/(protected)/theme/livepreview.tsx","./components/ui/card.tsx","./app/admin/login/page.tsx","./app/blogs/page.tsx","./node_modules/@types/trusted-types/lib/index.d.ts","./node_modules/dompurify/dist/purify.es.d.mts","./node_modules/isomorphic-dompurify/dist/browser.d.mts","./app/blogs/[slug]/page.tsx","./app/contacts/page.tsx","./components/ui/copybutton.tsx","./components/donate/generaldonationwidget.tsx","./app/donate/page.tsx","./components/donate/campaigndonationform.tsx","./app/donate/[id]/page.tsx","./app/editor/page.tsx","./context/editorpanelcontext.tsx","./components/editorrouteguard.tsx","./app/editorpanel/layout.tsx","./components/editorpanel/editorsidebar.tsx","./components/editorpanel/editortopbar.tsx","./components/editorpanel/editorshell.tsx","./app/editorpanel/announcements/page.tsx","./components/editorpanel/announcementform.tsx","./app/editorpanel/announcements/[id]/edit/page.tsx","./app/editorpanel/announcements/new/page.tsx","./app/editorpanel/blog-posts/page.tsx","./app/editorpanel/blog-posts/[id]/edit/page.tsx","./app/editorpanel/blog-posts/new/page.tsx","./app/editorpanel/calendar/page.tsx","./components/editorpanel/dashboardstats.tsx","./components/editorpanel/dashboardsections.tsx","./app/editorpanel/dashboard/page.tsx","./app/editorpanel/events/page.tsx","./app/editorpanel/events/[id]/edit/page.tsx","./app/editorpanel/events/new/page.tsx","./app/editorpanel/help/page.tsx","./app/editorpanel/media/page.tsx","./app/editorpanel/my-details/page.tsx","./app/editorpanel/performance-review/page.tsx","./app/events/page.tsx","./app/legal/page.tsx","./components/media/media-hero.tsx","./components/ui/badge.tsx","./components/media/featured-media.tsx","./components/media/media-grid.tsx","./components/media/media-gallery.tsx","./components/media/media-cta.tsx","./app/media/page.tsx","./app/mg/page.tsx","./app/mg/[slug]/page.tsx","./app/pagemanagement/pagemanagement.tsx","./components/blocks/heroblock.tsx","./components/blocks/richtextblock.tsx","./components/blocks/ctabannerblock.tsx","./components/blocks/eventgridblock.tsx","./components/blocks/reportlistblock.tsx","./components/blocks/teamgridblock.tsx","./components/blocks/faqaccordionblock.tsx","./components/blocks/statsbarblock.tsx","./components/blocks/blockrenderer.tsx","./app/pages/[slug]/page.tsx","./app/privacy/page.tsx","./components/reports/reports-hero.tsx","./components/reports/featured-report.tsx","./components/reports/reports-grid.tsx","./app/reports/page.tsx","./app/terms/page.tsx","./app/volunteer/page.tsx","./node_modules/next-themes/dist/index.d.ts","./components/theme-provider.tsx","./components/admin/pagebuilder/pagepreview.tsx","./components/editorpanel/notificationdropdown.tsx","./node_modules/@radix-ui/react-collapsible/dist/index.d.mts","./node_modules/@radix-ui/react-accordion/dist/index.d.mts","./components/ui/accordion.tsx","./node_modules/@radix-ui/react-focus-scope/dist/index.d.mts","./node_modules/@radix-ui/react-portal/dist/index.d.mts","./node_modules/@radix-ui/react-dialog/dist/index.d.mts","./node_modules/@radix-ui/react-alert-dialog/dist/index.d.mts","./components/ui/alert-dialog.tsx","./components/ui/alert.tsx","./node_modules/@radix-ui/react-aspect-ratio/node_modules/@radix-ui/react-primitive/dist/index.d.mts","./node_modules/@radix-ui/react-aspect-ratio/dist/index.d.mts","./components/ui/aspect-ratio.tsx","./node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-context/dist/index.d.mts","./node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-primitive/dist/index.d.mts","./node_modules/@radix-ui/react-avatar/dist/index.d.mts","./components/ui/avatar.tsx","./components/ui/breadcrumb.tsx","./node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-primitive/dist/index.d.mts","./node_modules/@radix-ui/react-separator/dist/index.d.mts","./components/ui/separator.tsx","./components/ui/button-group.tsx","./node_modules/@date-fns/tz/constants/index.d.ts","./node_modules/@date-fns/tz/date/index.d.ts","./node_modules/@date-fns/tz/date/mini.d.ts","./node_modules/@date-fns/tz/tz/index.d.ts","./node_modules/@date-fns/tz/tzoffset/index.d.ts","./node_modules/@date-fns/tz/tzscan/index.d.ts","./node_modules/@date-fns/tz/tzname/index.d.ts","./node_modules/@date-fns/tz/index.d.ts","./node_modules/date-fns/constants.d.ts","./node_modules/date-fns/locale/types.d.ts","./node_modules/date-fns/fp/types.d.ts","./node_modules/date-fns/types.d.ts","./node_modules/date-fns/add.d.ts","./node_modules/date-fns/addbusinessdays.d.ts","./node_modules/date-fns/adddays.d.ts","./node_modules/date-fns/addhours.d.ts","./node_modules/date-fns/addisoweekyears.d.ts","./node_modules/date-fns/addmilliseconds.d.ts","./node_modules/date-fns/addminutes.d.ts","./node_modules/date-fns/addmonths.d.ts","./node_modules/date-fns/addquarters.d.ts","./node_modules/date-fns/addseconds.d.ts","./node_modules/date-fns/addweeks.d.ts","./node_modules/date-fns/addyears.d.ts","./node_modules/date-fns/areintervalsoverlapping.d.ts","./node_modules/date-fns/clamp.d.ts","./node_modules/date-fns/closestindexto.d.ts","./node_modules/date-fns/closestto.d.ts","./node_modules/date-fns/compareasc.d.ts","./node_modules/date-fns/comparedesc.d.ts","./node_modules/date-fns/constructfrom.d.ts","./node_modules/date-fns/constructnow.d.ts","./node_modules/date-fns/daystoweeks.d.ts","./node_modules/date-fns/differenceinbusinessdays.d.ts","./node_modules/date-fns/differenceincalendardays.d.ts","./node_modules/date-fns/differenceincalendarisoweekyears.d.ts","./node_modules/date-fns/differenceincalendarisoweeks.d.ts","./node_modules/date-fns/differenceincalendarmonths.d.ts","./node_modules/date-fns/differenceincalendarquarters.d.ts","./node_modules/date-fns/differenceincalendarweeks.d.ts","./node_modules/date-fns/differenceincalendaryears.d.ts","./node_modules/date-fns/differenceindays.d.ts","./node_modules/date-fns/differenceinhours.d.ts","./node_modules/date-fns/differenceinisoweekyears.d.ts","./node_modules/date-fns/differenceinmilliseconds.d.ts","./node_modules/date-fns/differenceinminutes.d.ts","./node_modules/date-fns/differenceinmonths.d.ts","./node_modules/date-fns/differenceinquarters.d.ts","./node_modules/date-fns/differenceinseconds.d.ts","./node_modules/date-fns/differenceinweeks.d.ts","./node_modules/date-fns/differenceinyears.d.ts","./node_modules/date-fns/eachdayofinterval.d.ts","./node_modules/date-fns/eachhourofinterval.d.ts","./node_modules/date-fns/eachminuteofinterval.d.ts","./node_modules/date-fns/eachmonthofinterval.d.ts","./node_modules/date-fns/eachquarterofinterval.d.ts","./node_modules/date-fns/eachweekofinterval.d.ts","./node_modules/date-fns/eachweekendofinterval.d.ts","./node_modules/date-fns/eachweekendofmonth.d.ts","./node_modules/date-fns/eachweekendofyear.d.ts","./node_modules/date-fns/eachyearofinterval.d.ts","./node_modules/date-fns/endofday.d.ts","./node_modules/date-fns/endofdecade.d.ts","./node_modules/date-fns/endofhour.d.ts","./node_modules/date-fns/endofisoweek.d.ts","./node_modules/date-fns/endofisoweekyear.d.ts","./node_modules/date-fns/endofminute.d.ts","./node_modules/date-fns/endofmonth.d.ts","./node_modules/date-fns/endofquarter.d.ts","./node_modules/date-fns/endofsecond.d.ts","./node_modules/date-fns/endoftoday.d.ts","./node_modules/date-fns/endoftomorrow.d.ts","./node_modules/date-fns/endofweek.d.ts","./node_modules/date-fns/endofyear.d.ts","./node_modules/date-fns/endofyesterday.d.ts","./node_modules/date-fns/_lib/format/formatters.d.ts","./node_modules/date-fns/_lib/format/longformatters.d.ts","./node_modules/date-fns/format.d.ts","./node_modules/date-fns/formatdistance.d.ts","./node_modules/date-fns/formatdistancestrict.d.ts","./node_modules/date-fns/formatdistancetonow.d.ts","./node_modules/date-fns/formatdistancetonowstrict.d.ts","./node_modules/date-fns/formatduration.d.ts","./node_modules/date-fns/formatiso.d.ts","./node_modules/date-fns/formatiso9075.d.ts","./node_modules/date-fns/formatisoduration.d.ts","./node_modules/date-fns/formatrfc3339.d.ts","./node_modules/date-fns/formatrfc7231.d.ts","./node_modules/date-fns/formatrelative.d.ts","./node_modules/date-fns/fromunixtime.d.ts","./node_modules/date-fns/getdate.d.ts","./node_modules/date-fns/getday.d.ts","./node_modules/date-fns/getdayofyear.d.ts","./node_modules/date-fns/getdaysinmonth.d.ts","./node_modules/date-fns/getdaysinyear.d.ts","./node_modules/date-fns/getdecade.d.ts","./node_modules/date-fns/_lib/defaultoptions.d.ts","./node_modules/date-fns/getdefaultoptions.d.ts","./node_modules/date-fns/gethours.d.ts","./node_modules/date-fns/getisoday.d.ts","./node_modules/date-fns/getisoweek.d.ts","./node_modules/date-fns/getisoweekyear.d.ts","./node_modules/date-fns/getisoweeksinyear.d.ts","./node_modules/date-fns/getmilliseconds.d.ts","./node_modules/date-fns/getminutes.d.ts","./node_modules/date-fns/getmonth.d.ts","./node_modules/date-fns/getoverlappingdaysinintervals.d.ts","./node_modules/date-fns/getquarter.d.ts","./node_modules/date-fns/getseconds.d.ts","./node_modules/date-fns/gettime.d.ts","./node_modules/date-fns/getunixtime.d.ts","./node_modules/date-fns/getweek.d.ts","./node_modules/date-fns/getweekofmonth.d.ts","./node_modules/date-fns/getweekyear.d.ts","./node_modules/date-fns/getweeksinmonth.d.ts","./node_modules/date-fns/getyear.d.ts","./node_modules/date-fns/hourstomilliseconds.d.ts","./node_modules/date-fns/hourstominutes.d.ts","./node_modules/date-fns/hourstoseconds.d.ts","./node_modules/date-fns/interval.d.ts","./node_modules/date-fns/intervaltoduration.d.ts","./node_modules/date-fns/intlformat.d.ts","./node_modules/date-fns/intlformatdistance.d.ts","./node_modules/date-fns/isafter.d.ts","./node_modules/date-fns/isbefore.d.ts","./node_modules/date-fns/isdate.d.ts","./node_modules/date-fns/isequal.d.ts","./node_modules/date-fns/isexists.d.ts","./node_modules/date-fns/isfirstdayofmonth.d.ts","./node_modules/date-fns/isfriday.d.ts","./node_modules/date-fns/isfuture.d.ts","./node_modules/date-fns/islastdayofmonth.d.ts","./node_modules/date-fns/isleapyear.d.ts","./node_modules/date-fns/ismatch.d.ts","./node_modules/date-fns/ismonday.d.ts","./node_modules/date-fns/ispast.d.ts","./node_modules/date-fns/issameday.d.ts","./node_modules/date-fns/issamehour.d.ts","./node_modules/date-fns/issameisoweek.d.ts","./node_modules/date-fns/issameisoweekyear.d.ts","./node_modules/date-fns/issameminute.d.ts","./node_modules/date-fns/issamemonth.d.ts","./node_modules/date-fns/issamequarter.d.ts","./node_modules/date-fns/issamesecond.d.ts","./node_modules/date-fns/issameweek.d.ts","./node_modules/date-fns/issameyear.d.ts","./node_modules/date-fns/issaturday.d.ts","./node_modules/date-fns/issunday.d.ts","./node_modules/date-fns/isthishour.d.ts","./node_modules/date-fns/isthisisoweek.d.ts","./node_modules/date-fns/isthisminute.d.ts","./node_modules/date-fns/isthismonth.d.ts","./node_modules/date-fns/isthisquarter.d.ts","./node_modules/date-fns/isthissecond.d.ts","./node_modules/date-fns/isthisweek.d.ts","./node_modules/date-fns/isthisyear.d.ts","./node_modules/date-fns/isthursday.d.ts","./node_modules/date-fns/istoday.d.ts","./node_modules/date-fns/istomorrow.d.ts","./node_modules/date-fns/istuesday.d.ts","./node_modules/date-fns/isvalid.d.ts","./node_modules/date-fns/iswednesday.d.ts","./node_modules/date-fns/isweekend.d.ts","./node_modules/date-fns/iswithininterval.d.ts","./node_modules/date-fns/isyesterday.d.ts","./node_modules/date-fns/lastdayofdecade.d.ts","./node_modules/date-fns/lastdayofisoweek.d.ts","./node_modules/date-fns/lastdayofisoweekyear.d.ts","./node_modules/date-fns/lastdayofmonth.d.ts","./node_modules/date-fns/lastdayofquarter.d.ts","./node_modules/date-fns/lastdayofweek.d.ts","./node_modules/date-fns/lastdayofyear.d.ts","./node_modules/date-fns/_lib/format/lightformatters.d.ts","./node_modules/date-fns/lightformat.d.ts","./node_modules/date-fns/max.d.ts","./node_modules/date-fns/milliseconds.d.ts","./node_modules/date-fns/millisecondstohours.d.ts","./node_modules/date-fns/millisecondstominutes.d.ts","./node_modules/date-fns/millisecondstoseconds.d.ts","./node_modules/date-fns/min.d.ts","./node_modules/date-fns/minutestohours.d.ts","./node_modules/date-fns/minutestomilliseconds.d.ts","./node_modules/date-fns/minutestoseconds.d.ts","./node_modules/date-fns/monthstoquarters.d.ts","./node_modules/date-fns/monthstoyears.d.ts","./node_modules/date-fns/nextday.d.ts","./node_modules/date-fns/nextfriday.d.ts","./node_modules/date-fns/nextmonday.d.ts","./node_modules/date-fns/nextsaturday.d.ts","./node_modules/date-fns/nextsunday.d.ts","./node_modules/date-fns/nextthursday.d.ts","./node_modules/date-fns/nexttuesday.d.ts","./node_modules/date-fns/nextwednesday.d.ts","./node_modules/date-fns/parse/_lib/types.d.ts","./node_modules/date-fns/parse/_lib/setter.d.ts","./node_modules/date-fns/parse/_lib/parser.d.ts","./node_modules/date-fns/parse/_lib/parsers.d.ts","./node_modules/date-fns/parse.d.ts","./node_modules/date-fns/parseiso.d.ts","./node_modules/date-fns/parsejson.d.ts","./node_modules/date-fns/previousday.d.ts","./node_modules/date-fns/previousfriday.d.ts","./node_modules/date-fns/previousmonday.d.ts","./node_modules/date-fns/previoussaturday.d.ts","./node_modules/date-fns/previoussunday.d.ts","./node_modules/date-fns/previousthursday.d.ts","./node_modules/date-fns/previoustuesday.d.ts","./node_modules/date-fns/previouswednesday.d.ts","./node_modules/date-fns/quarterstomonths.d.ts","./node_modules/date-fns/quarterstoyears.d.ts","./node_modules/date-fns/roundtonearesthours.d.ts","./node_modules/date-fns/roundtonearestminutes.d.ts","./node_modules/date-fns/secondstohours.d.ts","./node_modules/date-fns/secondstomilliseconds.d.ts","./node_modules/date-fns/secondstominutes.d.ts","./node_modules/date-fns/set.d.ts","./node_modules/date-fns/setdate.d.ts","./node_modules/date-fns/setday.d.ts","./node_modules/date-fns/setdayofyear.d.ts","./node_modules/date-fns/setdefaultoptions.d.ts","./node_modules/date-fns/sethours.d.ts","./node_modules/date-fns/setisoday.d.ts","./node_modules/date-fns/setisoweek.d.ts","./node_modules/date-fns/setisoweekyear.d.ts","./node_modules/date-fns/setmilliseconds.d.ts","./node_modules/date-fns/setminutes.d.ts","./node_modules/date-fns/setmonth.d.ts","./node_modules/date-fns/setquarter.d.ts","./node_modules/date-fns/setseconds.d.ts","./node_modules/date-fns/setweek.d.ts","./node_modules/date-fns/setweekyear.d.ts","./node_modules/date-fns/setyear.d.ts","./node_modules/date-fns/startofday.d.ts","./node_modules/date-fns/startofdecade.d.ts","./node_modules/date-fns/startofhour.d.ts","./node_modules/date-fns/startofisoweek.d.ts","./node_modules/date-fns/startofisoweekyear.d.ts","./node_modules/date-fns/startofminute.d.ts","./node_modules/date-fns/startofmonth.d.ts","./node_modules/date-fns/startofquarter.d.ts","./node_modules/date-fns/startofsecond.d.ts","./node_modules/date-fns/startoftoday.d.ts","./node_modules/date-fns/startoftomorrow.d.ts","./node_modules/date-fns/startofweek.d.ts","./node_modules/date-fns/startofweekyear.d.ts","./node_modules/date-fns/startofyear.d.ts","./node_modules/date-fns/startofyesterday.d.ts","./node_modules/date-fns/sub.d.ts","./node_modules/date-fns/subbusinessdays.d.ts","./node_modules/date-fns/subdays.d.ts","./node_modules/date-fns/subhours.d.ts","./node_modules/date-fns/subisoweekyears.d.ts","./node_modules/date-fns/submilliseconds.d.ts","./node_modules/date-fns/subminutes.d.ts","./node_modules/date-fns/submonths.d.ts","./node_modules/date-fns/subquarters.d.ts","./node_modules/date-fns/subseconds.d.ts","./node_modules/date-fns/subweeks.d.ts","./node_modules/date-fns/subyears.d.ts","./node_modules/date-fns/todate.d.ts","./node_modules/date-fns/transpose.d.ts","./node_modules/date-fns/weekstodays.d.ts","./node_modules/date-fns/yearstodays.d.ts","./node_modules/date-fns/yearstomonths.d.ts","./node_modules/date-fns/yearstoquarters.d.ts","./node_modules/date-fns/index.d.ts","./node_modules/date-fns/locale/af.d.ts","./node_modules/date-fns/locale/ar.d.ts","./node_modules/date-fns/locale/ar-dz.d.ts","./node_modules/date-fns/locale/ar-eg.d.ts","./node_modules/date-fns/locale/ar-ma.d.ts","./node_modules/date-fns/locale/ar-sa.d.ts","./node_modules/date-fns/locale/ar-tn.d.ts","./node_modules/date-fns/locale/az.d.ts","./node_modules/date-fns/locale/be.d.ts","./node_modules/date-fns/locale/be-tarask.d.ts","./node_modules/date-fns/locale/bg.d.ts","./node_modules/date-fns/locale/bn.d.ts","./node_modules/date-fns/locale/bs.d.ts","./node_modules/date-fns/locale/ca.d.ts","./node_modules/date-fns/locale/ckb.d.ts","./node_modules/date-fns/locale/cs.d.ts","./node_modules/date-fns/locale/cy.d.ts","./node_modules/date-fns/locale/da.d.ts","./node_modules/date-fns/locale/de.d.ts","./node_modules/date-fns/locale/de-at.d.ts","./node_modules/date-fns/locale/el.d.ts","./node_modules/date-fns/locale/en-au.d.ts","./node_modules/date-fns/locale/en-ca.d.ts","./node_modules/date-fns/locale/en-gb.d.ts","./node_modules/date-fns/locale/en-ie.d.ts","./node_modules/date-fns/locale/en-in.d.ts","./node_modules/date-fns/locale/en-nz.d.ts","./node_modules/date-fns/locale/en-us.d.ts","./node_modules/date-fns/locale/en-za.d.ts","./node_modules/date-fns/locale/eo.d.ts","./node_modules/date-fns/locale/es.d.ts","./node_modules/date-fns/locale/et.d.ts","./node_modules/date-fns/locale/eu.d.ts","./node_modules/date-fns/locale/fa-ir.d.ts","./node_modules/date-fns/locale/fi.d.ts","./node_modules/date-fns/locale/fr.d.ts","./node_modules/date-fns/locale/fr-ca.d.ts","./node_modules/date-fns/locale/fr-ch.d.ts","./node_modules/date-fns/locale/fy.d.ts","./node_modules/date-fns/locale/gd.d.ts","./node_modules/date-fns/locale/gl.d.ts","./node_modules/date-fns/locale/gu.d.ts","./node_modules/date-fns/locale/he.d.ts","./node_modules/date-fns/locale/hi.d.ts","./node_modules/date-fns/locale/hr.d.ts","./node_modules/date-fns/locale/ht.d.ts","./node_modules/date-fns/locale/hu.d.ts","./node_modules/date-fns/locale/hy.d.ts","./node_modules/date-fns/locale/id.d.ts","./node_modules/date-fns/locale/is.d.ts","./node_modules/date-fns/locale/it.d.ts","./node_modules/date-fns/locale/it-ch.d.ts","./node_modules/date-fns/locale/ja.d.ts","./node_modules/date-fns/locale/ja-hira.d.ts","./node_modules/date-fns/locale/ka.d.ts","./node_modules/date-fns/locale/kk.d.ts","./node_modules/date-fns/locale/km.d.ts","./node_modules/date-fns/locale/kn.d.ts","./node_modules/date-fns/locale/ko.d.ts","./node_modules/date-fns/locale/lb.d.ts","./node_modules/date-fns/locale/lt.d.ts","./node_modules/date-fns/locale/lv.d.ts","./node_modules/date-fns/locale/mk.d.ts","./node_modules/date-fns/locale/mn.d.ts","./node_modules/date-fns/locale/ms.d.ts","./node_modules/date-fns/locale/mt.d.ts","./node_modules/date-fns/locale/nb.d.ts","./node_modules/date-fns/locale/nl.d.ts","./node_modules/date-fns/locale/nl-be.d.ts","./node_modules/date-fns/locale/nn.d.ts","./node_modules/date-fns/locale/oc.d.ts","./node_modules/date-fns/locale/pl.d.ts","./node_modules/date-fns/locale/pt.d.ts","./node_modules/date-fns/locale/pt-br.d.ts","./node_modules/date-fns/locale/ro.d.ts","./node_modules/date-fns/locale/ru.d.ts","./node_modules/date-fns/locale/se.d.ts","./node_modules/date-fns/locale/sk.d.ts","./node_modules/date-fns/locale/sl.d.ts","./node_modules/date-fns/locale/sq.d.ts","./node_modules/date-fns/locale/sr.d.ts","./node_modules/date-fns/locale/sr-latn.d.ts","./node_modules/date-fns/locale/sv.d.ts","./node_modules/date-fns/locale/ta.d.ts","./node_modules/date-fns/locale/te.d.ts","./node_modules/date-fns/locale/th.d.ts","./node_modules/date-fns/locale/tr.d.ts","./node_modules/date-fns/locale/ug.d.ts","./node_modules/date-fns/locale/uk.d.ts","./node_modules/date-fns/locale/uz.d.ts","./node_modules/date-fns/locale/uz-cyrl.d.ts","./node_modules/date-fns/locale/vi.d.ts","./node_modules/date-fns/locale/zh-cn.d.ts","./node_modules/date-fns/locale/zh-hk.d.ts","./node_modules/date-fns/locale/zh-tw.d.ts","./node_modules/date-fns/locale.d.ts","./node_modules/react-day-picker/dist/esm/components/button.d.ts","./node_modules/react-day-picker/dist/esm/components/captionlabel.d.ts","./node_modules/react-day-picker/dist/esm/components/chevron.d.ts","./node_modules/react-day-picker/dist/esm/components/monthcaption.d.ts","./node_modules/react-day-picker/dist/esm/components/week.d.ts","./node_modules/react-day-picker/dist/esm/labels/labeldaybutton.d.ts","./node_modules/react-day-picker/dist/esm/labels/labelgrid.d.ts","./node_modules/react-day-picker/dist/esm/labels/labelgridcell.d.ts","./node_modules/react-day-picker/dist/esm/labels/labelmonthdropdown.d.ts","./node_modules/react-day-picker/dist/esm/labels/labelnav.d.ts","./node_modules/react-day-picker/dist/esm/labels/labelnext.d.ts","./node_modules/react-day-picker/dist/esm/labels/labelprevious.d.ts","./node_modules/react-day-picker/dist/esm/labels/labelweekday.d.ts","./node_modules/react-day-picker/dist/esm/labels/labelweeknumber.d.ts","./node_modules/react-day-picker/dist/esm/labels/labelweeknumberheader.d.ts","./node_modules/react-day-picker/dist/esm/labels/labelyeardropdown.d.ts","./node_modules/react-day-picker/dist/esm/labels/index.d.ts","./node_modules/react-day-picker/dist/esm/ui.d.ts","./node_modules/react-day-picker/dist/esm/classes/calendarweek.d.ts","./node_modules/react-day-picker/dist/esm/classes/calendarmonth.d.ts","./node_modules/react-day-picker/dist/esm/types/props.d.ts","./node_modules/react-day-picker/dist/esm/types/selection.d.ts","./node_modules/react-day-picker/dist/esm/usedaypicker.d.ts","./node_modules/react-day-picker/dist/esm/types/deprecated.d.ts","./node_modules/react-day-picker/dist/esm/types/index.d.ts","./node_modules/react-day-picker/dist/esm/components/day.d.ts","./node_modules/react-day-picker/dist/esm/components/daybutton.d.ts","./node_modules/react-day-picker/dist/esm/components/dropdown.d.ts","./node_modules/react-day-picker/dist/esm/components/dropdownnav.d.ts","./node_modules/react-day-picker/dist/esm/components/footer.d.ts","./node_modules/react-day-picker/dist/esm/components/month.d.ts","./node_modules/react-day-picker/dist/esm/components/monthgrid.d.ts","./node_modules/react-day-picker/dist/esm/components/months.d.ts","./node_modules/react-day-picker/dist/esm/components/monthsdropdown.d.ts","./node_modules/react-day-picker/dist/esm/components/nav.d.ts","./node_modules/react-day-picker/dist/esm/components/nextmonthbutton.d.ts","./node_modules/react-day-picker/dist/esm/components/option.d.ts","./node_modules/react-day-picker/dist/esm/components/previousmonthbutton.d.ts","./node_modules/react-day-picker/dist/esm/components/root.d.ts","./node_modules/react-day-picker/dist/esm/components/select.d.ts","./node_modules/react-day-picker/dist/esm/components/weekday.d.ts","./node_modules/react-day-picker/dist/esm/components/weekdays.d.ts","./node_modules/react-day-picker/dist/esm/components/weeknumber.d.ts","./node_modules/react-day-picker/dist/esm/components/weeknumberheader.d.ts","./node_modules/react-day-picker/dist/esm/components/weeks.d.ts","./node_modules/react-day-picker/dist/esm/components/yearsdropdown.d.ts","./node_modules/react-day-picker/dist/esm/components/custom-components.d.ts","./node_modules/react-day-picker/dist/esm/formatters/formatcaption.d.ts","./node_modules/react-day-picker/dist/esm/formatters/formatday.d.ts","./node_modules/react-day-picker/dist/esm/formatters/formatmonthdropdown.d.ts","./node_modules/react-day-picker/dist/esm/formatters/formatweekdayname.d.ts","./node_modules/react-day-picker/dist/esm/formatters/formatweeknumber.d.ts","./node_modules/react-day-picker/dist/esm/formatters/formatweeknumberheader.d.ts","./node_modules/react-day-picker/dist/esm/formatters/formatyeardropdown.d.ts","./node_modules/react-day-picker/dist/esm/formatters/index.d.ts","./node_modules/react-day-picker/dist/esm/types/shared.d.ts","./node_modules/react-day-picker/dist/esm/locale/en-us.d.ts","./node_modules/react-day-picker/dist/esm/classes/datelib.d.ts","./node_modules/react-day-picker/dist/esm/classes/calendarday.d.ts","./node_modules/react-day-picker/dist/esm/classes/index.d.ts","./node_modules/react-day-picker/dist/esm/daypicker.d.ts","./node_modules/react-day-picker/dist/esm/helpers/getdefaultclassnames.d.ts","./node_modules/react-day-picker/dist/esm/helpers/index.d.ts","./node_modules/react-day-picker/dist/esm/utils/addtorange.d.ts","./node_modules/react-day-picker/dist/esm/utils/datematchmodifiers.d.ts","./node_modules/react-day-picker/dist/esm/utils/rangecontainsdayofweek.d.ts","./node_modules/react-day-picker/dist/esm/utils/rangecontainsmodifiers.d.ts","./node_modules/react-day-picker/dist/esm/utils/rangeincludesdate.d.ts","./node_modules/react-day-picker/dist/esm/utils/rangeoverlaps.d.ts","./node_modules/react-day-picker/dist/esm/utils/typeguards.d.ts","./node_modules/react-day-picker/dist/esm/utils/index.d.ts","./node_modules/react-day-picker/dist/esm/index.d.ts","./components/ui/calendar.tsx","./node_modules/embla-carousel/esm/components/alignment.d.ts","./node_modules/embla-carousel/esm/components/noderects.d.ts","./node_modules/embla-carousel/esm/components/axis.d.ts","./node_modules/embla-carousel/esm/components/slidestoscroll.d.ts","./node_modules/embla-carousel/esm/components/limit.d.ts","./node_modules/embla-carousel/esm/components/scrollcontain.d.ts","./node_modules/embla-carousel/esm/components/dragtracker.d.ts","./node_modules/embla-carousel/esm/components/utils.d.ts","./node_modules/embla-carousel/esm/components/animations.d.ts","./node_modules/embla-carousel/esm/components/counter.d.ts","./node_modules/embla-carousel/esm/components/eventhandler.d.ts","./node_modules/embla-carousel/esm/components/eventstore.d.ts","./node_modules/embla-carousel/esm/components/percentofview.d.ts","./node_modules/embla-carousel/esm/components/resizehandler.d.ts","./node_modules/embla-carousel/esm/components/vector1d.d.ts","./node_modules/embla-carousel/esm/components/scrollbody.d.ts","./node_modules/embla-carousel/esm/components/scrollbounds.d.ts","./node_modules/embla-carousel/esm/components/scrolllooper.d.ts","./node_modules/embla-carousel/esm/components/scrollprogress.d.ts","./node_modules/embla-carousel/esm/components/slideregistry.d.ts","./node_modules/embla-carousel/esm/components/scrolltarget.d.ts","./node_modules/embla-carousel/esm/components/scrollto.d.ts","./node_modules/embla-carousel/esm/components/slidefocus.d.ts","./node_modules/embla-carousel/esm/components/translate.d.ts","./node_modules/embla-carousel/esm/components/slidelooper.d.ts","./node_modules/embla-carousel/esm/components/slideshandler.d.ts","./node_modules/embla-carousel/esm/components/slidesinview.d.ts","./node_modules/embla-carousel/esm/components/engine.d.ts","./node_modules/embla-carousel/esm/components/optionshandler.d.ts","./node_modules/embla-carousel/esm/components/plugins.d.ts","./node_modules/embla-carousel/esm/components/emblacarousel.d.ts","./node_modules/embla-carousel/esm/components/draghandler.d.ts","./node_modules/embla-carousel/esm/components/options.d.ts","./node_modules/embla-carousel/esm/index.d.ts","./node_modules/embla-carousel-react/esm/components/useemblacarousel.d.ts","./node_modules/embla-carousel-react/esm/index.d.ts","./components/ui/carousel.tsx","./node_modules/recharts/types/container/surface.d.ts","./node_modules/recharts/types/container/layer.d.ts","./node_modules/@types/d3-time/index.d.ts","./node_modules/@types/d3-scale/index.d.ts","./node_modules/victory-vendor/d3-scale.d.ts","./node_modules/recharts/types/cartesian/xaxis.d.ts","./node_modules/recharts/types/cartesian/yaxis.d.ts","./node_modules/recharts/types/util/types.d.ts","./node_modules/recharts/types/component/defaultlegendcontent.d.ts","./node_modules/recharts/types/util/payload/getuniqpayload.d.ts","./node_modules/recharts/types/component/legend.d.ts","./node_modules/recharts/types/component/defaulttooltipcontent.d.ts","./node_modules/recharts/types/component/tooltip.d.ts","./node_modules/recharts/types/component/responsivecontainer.d.ts","./node_modules/recharts/types/component/cell.d.ts","./node_modules/recharts/types/component/text.d.ts","./node_modules/recharts/types/component/label.d.ts","./node_modules/recharts/types/component/labellist.d.ts","./node_modules/recharts/types/component/customized.d.ts","./node_modules/recharts/types/shape/sector.d.ts","./node_modules/@types/d3-path/index.d.ts","./node_modules/@types/d3-shape/index.d.ts","./node_modules/victory-vendor/d3-shape.d.ts","./node_modules/recharts/types/shape/curve.d.ts","./node_modules/recharts/types/shape/rectangle.d.ts","./node_modules/recharts/types/shape/polygon.d.ts","./node_modules/recharts/types/shape/dot.d.ts","./node_modules/recharts/types/shape/cross.d.ts","./node_modules/recharts/types/shape/symbols.d.ts","./node_modules/recharts/types/polar/polargrid.d.ts","./node_modules/recharts/types/polar/polarradiusaxis.d.ts","./node_modules/recharts/types/polar/polarangleaxis.d.ts","./node_modules/recharts/types/polar/pie.d.ts","./node_modules/recharts/types/polar/radar.d.ts","./node_modules/recharts/types/polar/radialbar.d.ts","./node_modules/recharts/types/cartesian/brush.d.ts","./node_modules/recharts/types/util/ifoverflowmatches.d.ts","./node_modules/recharts/types/cartesian/referenceline.d.ts","./node_modules/recharts/types/cartesian/referencedot.d.ts","./node_modules/recharts/types/cartesian/referencearea.d.ts","./node_modules/recharts/types/cartesian/cartesianaxis.d.ts","./node_modules/recharts/types/cartesian/cartesiangrid.d.ts","./node_modules/recharts/types/cartesian/line.d.ts","./node_modules/recharts/types/cartesian/area.d.ts","./node_modules/recharts/types/util/barutils.d.ts","./node_modules/recharts/types/cartesian/bar.d.ts","./node_modules/recharts/types/cartesian/zaxis.d.ts","./node_modules/recharts/types/cartesian/errorbar.d.ts","./node_modules/recharts/types/cartesian/scatter.d.ts","./node_modules/recharts/types/util/getlegendprops.d.ts","./node_modules/recharts/types/util/chartutils.d.ts","./node_modules/recharts/types/chart/accessibilitymanager.d.ts","./node_modules/recharts/types/chart/types.d.ts","./node_modules/recharts/types/chart/generatecategoricalchart.d.ts","./node_modules/recharts/types/chart/linechart.d.ts","./node_modules/recharts/types/chart/barchart.d.ts","./node_modules/recharts/types/chart/piechart.d.ts","./node_modules/recharts/types/chart/treemap.d.ts","./node_modules/recharts/types/chart/sankey.d.ts","./node_modules/recharts/types/chart/radarchart.d.ts","./node_modules/recharts/types/chart/scatterchart.d.ts","./node_modules/recharts/types/chart/areachart.d.ts","./node_modules/recharts/types/chart/radialbarchart.d.ts","./node_modules/recharts/types/chart/composedchart.d.ts","./node_modules/recharts/types/chart/sunburstchart.d.ts","./node_modules/recharts/types/shape/trapezoid.d.ts","./node_modules/recharts/types/numberaxis/funnel.d.ts","./node_modules/recharts/types/chart/funnelchart.d.ts","./node_modules/recharts/types/util/global.d.ts","./node_modules/recharts/types/index.d.ts","./components/ui/chart.tsx","./node_modules/@radix-ui/react-checkbox/dist/index.d.mts","./components/ui/checkbox.tsx","./components/ui/collapsible.tsx","./node_modules/cmdk/dist/index.d.ts","./components/ui/dialog.tsx","./components/ui/command.tsx","./node_modules/@radix-ui/react-arrow/dist/index.d.mts","./node_modules/@radix-ui/rect/dist/index.d.mts","./node_modules/@radix-ui/react-popper/dist/index.d.mts","./node_modules/@radix-ui/react-roving-focus/dist/index.d.mts","./node_modules/@radix-ui/react-menu/dist/index.d.mts","./node_modules/@radix-ui/react-context-menu/dist/index.d.mts","./components/ui/context-menu.tsx","./node_modules/vaul/dist/index.d.mts","./components/ui/drawer.tsx","./node_modules/@radix-ui/react-dropdown-menu/dist/index.d.mts","./components/ui/dropdown-menu.tsx","./components/ui/empty.tsx","./components/ui/field.tsx","./node_modules/react-hook-form/dist/constants.d.ts","./node_modules/react-hook-form/dist/utils/createsubject.d.ts","./node_modules/react-hook-form/dist/types/events.d.ts","./node_modules/react-hook-form/dist/types/path/common.d.ts","./node_modules/react-hook-form/dist/types/path/eager.d.ts","./node_modules/react-hook-form/dist/types/path/index.d.ts","./node_modules/react-hook-form/dist/types/fieldarray.d.ts","./node_modules/react-hook-form/dist/types/resolvers.d.ts","./node_modules/react-hook-form/dist/types/form.d.ts","./node_modules/react-hook-form/dist/types/utils.d.ts","./node_modules/react-hook-form/dist/types/fields.d.ts","./node_modules/react-hook-form/dist/types/errors.d.ts","./node_modules/react-hook-form/dist/types/validator.d.ts","./node_modules/react-hook-form/dist/types/controller.d.ts","./node_modules/react-hook-form/dist/types/watch.d.ts","./node_modules/react-hook-form/dist/types/index.d.ts","./node_modules/react-hook-form/dist/controller.d.ts","./node_modules/react-hook-form/dist/form.d.ts","./node_modules/react-hook-form/dist/formstatesubscribe.d.ts","./node_modules/react-hook-form/dist/logic/appenderrors.d.ts","./node_modules/react-hook-form/dist/logic/createformcontrol.d.ts","./node_modules/react-hook-form/dist/logic/index.d.ts","./node_modules/react-hook-form/dist/usecontroller.d.ts","./node_modules/react-hook-form/dist/usefieldarray.d.ts","./node_modules/react-hook-form/dist/useform.d.ts","./node_modules/react-hook-form/dist/useformcontext.d.ts","./node_modules/react-hook-form/dist/useformstate.d.ts","./node_modules/react-hook-form/dist/usewatch.d.ts","./node_modules/react-hook-form/dist/utils/get.d.ts","./node_modules/react-hook-form/dist/utils/set.d.ts","./node_modules/react-hook-form/dist/utils/index.d.ts","./node_modules/react-hook-form/dist/watch.d.ts","./node_modules/react-hook-form/dist/index.d.ts","./components/ui/form.tsx","./node_modules/@radix-ui/react-hover-card/dist/index.d.mts","./components/ui/hover-card.tsx","./components/ui/textarea.tsx","./components/ui/input-group.tsx","./node_modules/input-otp/dist/index.d.ts","./components/ui/input-otp.tsx","./components/ui/item.tsx","./components/ui/kbd.tsx","./node_modules/@radix-ui/react-menubar/dist/index.d.mts","./components/ui/menubar.tsx","./node_modules/@radix-ui/react-visually-hidden/dist/index.d.mts","./node_modules/@radix-ui/react-navigation-menu/dist/index.d.mts","./components/ui/navigation-menu.tsx","./components/ui/pagination.tsx","./node_modules/@radix-ui/react-popover/dist/index.d.mts","./components/ui/popover.tsx","./node_modules/@radix-ui/react-progress/node_modules/@radix-ui/react-context/dist/index.d.mts","./node_modules/@radix-ui/react-progress/node_modules/@radix-ui/react-primitive/dist/index.d.mts","./node_modules/@radix-ui/react-progress/dist/index.d.mts","./components/ui/progress.tsx","./node_modules/@radix-ui/react-radio-group/dist/index.d.mts","./components/ui/radio-group.tsx","./node_modules/react-resizable-panels/dist/declarations/src/panel.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/types.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/panelgroup.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/panelresizehandleregistry.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/panelresizehandle.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/constants.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/assert.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/csp.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/cursor.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/dom/getpanelelement.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/dom/getpanelelementsforgroup.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/dom/getpanelgroupelement.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/dom/getresizehandleelement.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/dom/getresizehandleelementindex.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/dom/getresizehandleelementsforgroup.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/dom/getresizehandlepanelids.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/rects/types.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/rects/getintersectingrectangle.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/utils/rects/intersects.d.ts","./node_modules/react-resizable-panels/dist/declarations/src/index.d.ts","./node_modules/react-resizable-panels/dist/react-resizable-panels.cjs.d.mts","./components/ui/resizable.tsx","./node_modules/@radix-ui/react-scroll-area/dist/index.d.mts","./components/ui/scroll-area.tsx","./node_modules/@radix-ui/react-select/dist/index.d.mts","./components/ui/select.tsx","./components/ui/sheet.tsx","./components/ui/skeleton.tsx","./node_modules/@radix-ui/react-tooltip/dist/index.d.mts","./components/ui/tooltip.tsx","./components/ui/sidebar.tsx","./node_modules/@radix-ui/react-slider/dist/index.d.mts","./components/ui/slider.tsx","./node_modules/sonner/dist/index.d.ts","./components/ui/sonner.tsx","./node_modules/@radix-ui/react-switch/dist/index.d.mts","./components/ui/switch.tsx","./components/ui/table.tsx","./node_modules/@radix-ui/react-tabs/dist/index.d.mts","./components/ui/tabs.tsx","./components/ui/toaster.tsx","./node_modules/@radix-ui/react-toggle/dist/index.d.mts","./node_modules/@radix-ui/react-toggle-group/dist/index.d.mts","./components/ui/toggle.tsx","./components/ui/toggle-group.tsx","./components/ui/use-mobile.tsx","./.next/types/cache-life.d.ts","./.next/types/routes.d.ts","./.next/types/validator.ts","./.next/dev/types/cache-life.d.ts","./.next/dev/types/validator.ts","./node_modules/@types/caseless/index.d.ts","./node_modules/@types/d3-array/index.d.ts","./node_modules/@types/d3-color/index.d.ts","./node_modules/@types/d3-ease/index.d.ts","./node_modules/@types/d3-interpolate/index.d.ts","./node_modules/@types/d3-timer/index.d.ts","./node_modules/@types/estree/index.d.ts","./node_modules/@types/json-schema/index.d.ts","./node_modules/@types/json5/index.d.ts","./node_modules/@types/ms/index.d.ts","./node_modules/@types/jsonwebtoken/index.d.ts","./node_modules/@types/long/index.d.ts","./node_modules/@types/marked/index.d.ts","./node_modules/form-data/index.d.ts","./node_modules/tough-cookie/dist/index.d.cts","./node_modules/@types/request/index.d.ts","./node_modules/@types/statuses/index.d.ts","./node_modules/@types/tough-cookie/index.d.ts","./node_modules/@types/triple-beam/index.d.ts","./node_modules/@types/trusted-types/index.d.ts","./node_modules/@types/validate-npm-package-name/index.d.ts"],"fileIdsList":[[93,142,159,160,484,485,486,487,1768],[93,142,159,160,1768,1771],[93,142,159,160,227,525,528,531,818,820,821,822,823,824,825,826,828,948,953,954,955,956,960,961,963,965,966,967,968,970,971,973,1000,1001,1002,1003,1004,1005,1010,1013,1014,1018,1019,1022,1024,1025,1028,1032,1034,1035,1036,1037,1038,1039,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1058,1059,1060,1071,1072,1076,1077,1078,1768,1771],[93,142,159,160,484,485,486,487,1771],[93,142,159,160,227,525,528,818,820,821,822,823,824,825,826,828,948,953,954,955,956,960,961,963,965,966,967,968,970,971,973,1000,1001,1002,1003,1004,1005,1010,1013,1014,1018,1019,1022,1024,1025,1028,1032,1034,1035,1036,1037,1038,1039,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1058,1059,1060,1071,1072,1076,1077,1078,1768,1769,1771],[93,142,159,160,227,817,951,952,1768,1771],[93,142,159,160,227,508,817,951,952,1768,1771],[81,93,142,159,160,227,829,847,855,962,1768,1771],[81,93,142,159,160,227,855,964,1768,1771],[81,93,142,159,160,227,829,1768,1771],[81,93,142,159,160,227,829,847,855,1768,1771],[93,142,159,160,227,518,1768,1771],[81,93,142,159,160,227,794,817,829,855,969,1768,1771],[93,142,159,160,227,958,959,1768,1771],[81,93,142,159,160,227,518,794,816,829,846,847,851,855,981,984,988,990,992,993,994,995,996,997,998,999,1768,1771],[81,93,142,159,160,227,518,794,829,846,851,855,972,1768,1771],[81,93,142,159,160,227,829,855,943,1768,1771],[81,93,142,159,160,227,508,829,847,855,943,1768,1771],[93,142,159,160,227,508,829,1768,1771],[93,142,159,160,227,829,1768,1771],[81,93,142,159,160,227,1010,1768,1771],[81,93,142,159,160,227,794,805,854,950,1008,1009,1011,1768,1771],[93,142,159,160,227,1768,1771],[81,93,142,159,160,227,518,811,854,943,950,1008,1009,1012,1768,1771],[93,142,159,160,227,525,817,1768,1771],[93,142,159,160,227,525,819,1768,1771],[93,142,159,160,227,525,827,1768,1771],[93,142,159,160,227,518,819,951,952,985,1017,1768,1771],[93,142,159,160,227,508,817,819,951,952,1768,1771],[81,93,142,159,160,227,816,817,829,855,870,951,952,1768,1771],[93,142,159,160,227,508,518,819,951,952,1023,1768,1771],[93,142,159,160,227,508,817,819,830,951,952,1020,1021,1768,1771],[93,142,159,160,227,508,518,844,1026,1031,1033,1768,1771],[93,142,159,160,227,518,844,1026,1031,1033,1768,1771],[81,93,142,159,160,227,508,829,844,1026,1031,1768,1771],[93,142,159,160,227,508,518,844,987,1026,1031,1768,1771],[93,142,159,160,227,518,844,987,1026,1031,1768,1771],[81,93,142,159,160,227,508,829,1026,1031,1768,1771],[81,93,142,159,160,227,1026,1031,1040,1041,1768,1771],[93,142,159,160,227,508,518,844,989,1026,1031,1768,1771],[93,142,159,160,227,518,844,989,1026,1031,1768,1771],[93,142,159,160,227,508,829,1031,1768,1771],[93,142,159,160,227,1026,1027,1768,1771],[81,93,142,159,160,227,829,844,1026,1031,1768,1771],[81,93,142,159,160,227,829,943,1031,1768,1771],[93,142,159,160,227,829,1026,1031,1768,1771],[93,142,159,160,227,508,817,819,829,951,952,1768,1771],[93,142,159,160,227,502,526,529,827,851,853,854,942,945,946,947,1768,1771],[93,142,159,160,227,508,951,952,1768,1771],[93,142,159,160,227,819,951,952,1052,1054,1055,1056,1057,1768,1771],[93,142,159,160,227,508,518,819,951,952,1768,1771],[93,142,159,160,227,508,817,819,829,830,950,951,952,1768,1771],[93,142,159,160,227,518,808,815,846,951,952,1070,1768,1771],[81,93,142,159,160,227,943,944,1768,1771],[93,142,159,160,227,819,951,952,1073,1074,1075,1768,1771],[81,93,142,159,160,227,829,855,870,951,952,1768,1771],[81,93,142,159,160,227,508,518,829,943,1768,1771],[81,93,142,159,160,227,794,829,844,855,987,1768,1771],[81,93,142,159,160,227,794,829,844,855,1768,1771],[81,93,142,159,160,227,794,829,844,855,989,1768,1771],[93,142,159,160,227,981,1768,1771],[93,142,159,160,227,972,997,998,1768,1771],[93,142,159,160,227,994,1768,1771],[81,93,142,159,160,227,794,829,844,855,972,991,1768,1771],[81,93,142,159,160,227,829,846,974,975,976,977,978,979,980,982,983,1768,1771],[93,142,159,160,227,829,846,1768,1771],[93,142,159,160,227,846,1768,1771],[93,142,159,160,227,829,846,972,1768,1771],[93,142,159,160,227,846,981,1768,1771],[93,142,159,160,227,846,1070,1768,1771],[81,93,142,159,160,227,829,846,1768,1771],[93,142,159,160,227,829,972,1768,1771],[81,93,142,159,160,227,829,855,1768,1771],[93,142,159,160,227,830,1768,1771],[93,142,159,160,227,829,969,1768,1771],[81,93,142,159,160,227,518,943,957,1768,1771],[93,142,159,160,227,846,1062,1063,1064,1065,1066,1067,1068,1069,1768,1771],[93,142,159,160,227,508,846,1768,1771],[93,142,159,160,227,508,819,829,846,1768,1771],[93,142,159,160,227,846,985,1768,1771],[93,142,159,160,227,815,829,846,847,1768,1771],[81,93,142,159,160,227,829,844,1768,1771],[81,93,142,159,160,227,829,844,972,985,986,1768,1771],[81,93,142,159,160,227,508,829,844,1768,1771],[81,93,142,159,160,227,1026,1768,1771],[81,93,142,159,160,227,518,1029,1030,1768,1771],[93,142,159,160,227,508,518,829,943,1768,1771],[81,93,142,159,160,227,508,829,943,1768,1771],[81,93,142,159,160,227,829,1026,1768,1771],[81,93,142,159,160,227,1768,1771],[93,142,159,160,227,508,1768,1771],[81,93,142,159,160,227,508,829,851,946,950,1768,1771],[81,93,142,159,160,227,851,855,1768,1771],[93,142,159,160,227,819,829,950,1053,1768,1771],[93,142,159,160,227,508,819,829,950,1009,1768,1771],[81,93,142,159,160,227,819,829,950,1768,1771],[81,93,142,159,160,227,819,829,950,1053,1768,1771],[93,142,159,160,227,508,819,829,1768,1771],[81,93,142,159,160,227,819,829,950,1009,1053,1768,1771],[81,93,142,159,160,227,1079,1768,1771],[81,93,142,159,160,227,829,839,1084,1768,1771],[81,93,142,159,160,227,839,950,1089,1768,1771],[81,93,142,159,160,227,837,839,1768,1771],[93,142,159,160,227,1093,1768,1771],[81,93,142,159,160,227,839,1097,1768,1771],[81,93,142,159,160,227,837,839,949,1768,1771],[81,93,142,159,160,227,829,839,949,1768,1771],[93,142,159,160,227,837,839,949,1102,1768,1771],[81,93,142,159,160,227,829,839,950,1537,1768,1771],[81,93,142,159,160,227,839,1768,1771],[81,93,142,159,160,227,829,839,950,1574,1768,1771],[81,93,142,159,160,227,839,1645,1768,1771],[81,93,142,159,160,227,829,839,1647,1768,1771],[93,142,159,160,227,1083,1768,1771],[81,93,142,159,160,227,829,839,1650,1651,1768,1771],[81,93,142,159,160,227,829,839,1658,1768,1771],[81,93,142,159,160,227,829,839,1088,1768,1771],[81,93,142,159,160,227,839,1660,1768,1771],[81,93,142,159,160,227,829,839,1662,1768,1771],[93,142,159,160,227,837,839,1768,1771],[81,93,142,159,160,227,837,839,1008,1102,1768,1771],[81,93,142,159,160,227,839,949,1007,1008,1698,1768,1771],[81,93,142,159,160,227,839,1700,1768,1771],[93,142,159,160,227,837,839,950,1009,1702,1768,1771],[81,93,142,159,160,227,829,839,1704,1768,1771],[81,93,142,159,160,227,837,839,949,1102,1768,1771],[93,142,159,160,227,839,1768,1771],[81,93,142,159,160,227,839,1007,1768,1771],[81,93,142,159,160,227,829,839,1708,1768,1771],[81,93,142,159,160,227,829,837,839,1711,1768,1771],[81,93,142,159,160,227,829,839,950,1768,1771],[81,93,142,159,160,227,839,1714,1768,1771],[81,93,142,159,160,227,839,1718,1768,1771],[81,93,142,159,160,227,829,839,1720,1768,1771],[81,93,142,159,160,227,829,839,1742,1768,1771],[81,93,142,159,160,227,839,1744,1768,1771],[81,93,142,159,160,227,829,839,1746,1768,1771],[81,93,142,159,160,227,839,1101,1768,1771],[81,93,142,159,160,227,829,837,839,842,949,950,1009,1102,1748,1749,1751,1768,1771],[81,93,142,159,160,227,839,1753,1768,1771],[93,142,159,160,227,1079,1755,1768,1771],[93,142,159,160,227,829,839,1768,1771],[81,93,142,159,160,227,839,1757,1768,1771],[81,93,142,159,160,227,839,1760,1768,1771],[81,93,142,159,160,227,829,834,837,839,1768,1771],[93,142,159,160,227,840,843,1768,1771],[81,93,142,159,160,227,837,839,1764,1765,1768,1771],[81,93,142,159,160,227,837,839,1763,1768,1771],[81,93,142,159,160,227,839,1750,1768,1771],[81,93,142,159,160,227,840,1768,1771],[81,93,142,159,160,227,844,855,1768,1771],[93,142,159,160,227,724,1768,1771],[93,142,159,160,227,844,1768,1771],[93,142,159,160,227,805,806,811,846,1768,1771],[81,93,142,159,160,227,805,811,854,1768,1771],[93,142,159,160,227,539,722,723,1768,1771],[93,142,159,160,227,805,809,811,813,1768,1771],[93,142,159,160,227,805,806,811,844,1768,1771],[93,142,159,160,227,805,814,1768,1771],[93,142,159,160,227,805,1768,1771],[81,93,142,159,160,227,808,847,849,851,852,854,1768,1771],[93,142,159,160,227,805,806,846,1768,1771],[93,142,159,160,227,805,806,807,1768,1771],[93,142,159,160,227,813,1768,1771],[81,93,142,159,160,227,814,1768,1771],[93,142,159,160,227,526,806,807,851,1768,1771],[93,142,159,160,227,723,808,815,816,1768,1771],[93,142,159,160,227,526,539,722,814,1768,1771],[93,142,159,160,227,835,838,1768,1771],[93,142,159,160,227,808,869,1768,1771],[93,142,159,160,529,530,531,1768,1771],[93,142,159,160,1104,1768,1771],[93,142,159,160,1105,1768,1771],[93,142,159,160,1104,1105,1106,1107,1108,1109,1110,1768,1771],[93,142,159,160,799,800,802,889,890,894,898,899,1768,1771],[93,142,159,160,799,802,890,894,898,899,1768,1771],[93,142,159,160,799,800,889,890,894,898,899,1768,1771],[93,142,159,160,800,803,1768,1771],[93,142,159,160,795,796,797,798,1768,1771],[93,142,159,160,797,1768,1771],[93,142,159,160,795,797,798,1768,1771],[93,142,159,160,796,797,798,1768,1771],[93,142,159,160,796,1768,1771],[93,142,159,160,888,890,891,892,895,896,900,1768,1771],[93,142,159,160,799,800,889,894,898,899,1768,1771],[93,142,159,160,804,888,889,892,894,895,896,900,1768,1771],[93,142,159,160,888,892,894,896,900,1768,1771],[93,142,159,160,799,800,889,890,898,899,1768,1771],[93,142,159,160,800,802,803,1768,1771],[93,142,159,160,801,1768,1771],[93,142,159,160,902,903,904,1768,1771],[93,142,159,160,902,1768,1771],[93,142,159,160,800,887,893,897,901,1768,1771],[93,142,159,160,812,888,892,895,896,898,899,900,1768,1771],[93,142,159,160,799,800,889,890,894,898,1768,1771],[93,142,159,160,715,717,719,1768,1771],[93,142,159,160,552,557,637,1768,1771],[93,142,159,160,174,713,718,1768,1771],[93,142,159,160,174,713,716,1768,1771],[93,142,159,160,174,713,714,1768,1771],[93,142,159,160,192,552,553,556,557,636,637,1768,1771],[81,93,142,159,160,831,832,1083,1768,1771],[81,93,142,159,160,831,1088,1768,1771],[81,93,142,159,160,832,1768,1771],[81,93,142,159,160,1006,1768,1771],[81,93,142,159,160,1768,1771],[81,93,142,159,160,1006,1095,1768,1771],[81,93,142,159,160,227,831,832,1768,1771],[81,93,142,159,160,831,832,1768,1771],[81,93,142,159,160,831,832,1657,1768,1771],[81,93,142,159,160,831,832,833,1086,1087,1768,1771],[81,93,142,159,160,831,832,833,1087,1655,1768,1771],[81,93,142,159,160,831,832,833,1086,1087,1655,1656,1768,1771],[81,93,142,159,160,227,831,832,1656,1657,1768,1771],[81,93,142,159,160,831,832,833,1710,1768,1771],[81,93,142,159,160,831,832,833,1086,1087,1655,1768,1771],[81,93,142,159,160,831,832,1653,1654,1768,1771],[81,93,142,159,160,831,832,1656,1768,1771],[81,85,93,142,159,160,193,194,195,196,197,479,524,1768,1771],[81,93,142,159,160,831,832,833,1768,1771],[81,93,142,159,160,831,832,1656,1763,1768,1771],[93,142,159,160,1768,1771,1775],[93,142,159,160,1578,1768,1771],[93,142,159,160,1596,1768,1771],[93,142,147,159,160,192,1768,1771,1782],[93,139,140,142,159,160,1768,1771],[93,141,142,159,160,1768,1771],[142,159,160,1768,1771],[93,142,147,159,160,177,1768,1771],[93,142,143,148,153,159,160,162,174,185,1768,1771],[93,142,143,144,153,159,160,162,1768,1771],[88,89,90,93,142,159,160,1768,1771],[93,142,145,159,160,186,1768,1771],[93,142,146,147,154,159,160,163,1768,1771],[93,142,147,159,160,174,182,1768,1771],[93,142,148,150,153,159,160,162,1768,1771],[93,141,142,149,159,160,1768,1771],[93,142,150,151,159,160,1768,1771],[93,142,152,153,159,160,1768,1771],[93,141,142,153,159,160,1768,1771],[93,142,153,154,155,159,160,174,185,1768,1771],[93,142,153,154,155,159,160,169,174,177,1768,1771],[93,135,142,150,153,156,159,160,162,174,185,1768,1771],[93,142,153,154,156,157,159,160,162,174,182,185,1768,1771],[93,142,156,158,159,160,174,182,185,1768,1771],[91,92,93,94,95,96,97,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,1768,1771],[93,142,153,159,160,1768,1771],[93,142,159,160,161,185,1768,1771],[93,142,150,153,159,160,162,174,1768,1771],[93,142,159,160,163,1768,1771],[93,142,159,160,164,1768,1771],[93,141,142,159,160,165,1768,1771],[93,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,1768,1771],[93,142,159,160,167,1768,1771],[93,142,159,160,168,1768,1771],[93,142,153,159,160,169,170,1768,1771],[93,142,159,160,169,171,186,188,1768,1771],[93,142,154,159,160,1768,1771],[93,142,153,159,160,174,175,177,1768,1771],[93,142,159,160,176,177,1768,1771],[93,142,159,160,174,175,1768,1771],[93,142,159,160,177,1768,1771],[93,142,159,160,178,1768,1771],[93,139,142,159,160,174,179,185,1768,1771],[93,142,153,159,160,180,181,1768,1771],[93,142,159,160,180,181,1768,1771],[93,142,147,159,160,162,174,182,1768,1771],[93,142,159,160,183,1768,1771],[93,142,159,160,162,184,1768,1771],[93,142,156,159,160,168,185,1768,1771],[93,142,147,159,160,186,1768,1771],[93,142,159,160,174,187,1768,1771],[93,142,159,160,161,188,1768,1771],[93,142,159,160,189,1768,1771],[93,135,142,159,160,1768,1771],[93,135,142,153,155,159,160,165,174,177,185,187,188,190,1768,1771],[93,142,159,160,174,191,1768,1771],[81,85,93,142,159,160,193,194,195,197,479,524,949,1768,1771],[81,85,93,142,159,160,193,194,195,196,460,479,524,949,1768,1771],[81,85,93,142,159,160,193,194,196,197,479,524,949,1768,1771],[81,93,142,159,160,197,460,461,1768,1771],[81,93,142,159,160,197,460,1768,1771],[81,85,93,142,159,160,194,195,196,197,479,524,949,1768,1771],[81,85,93,142,159,160,193,195,196,197,479,524,949,1768,1771],[79,80,93,142,159,160,1768,1771],[93,142,154,156,158,159,160,162,174,185,192,1768,1771,1773,1786,1787],[93,142,159,160,1015,1768,1771],[93,142,159,160,763,764,767,1768,1771],[93,142,159,160,910,1768,1771],[93,142,159,160,913,1768,1771],[93,142,159,160,764,765,767,768,769,1768,1771],[93,142,159,160,764,1768,1771],[93,142,159,160,764,765,767,1768,1771],[93,142,159,160,764,765,1768,1771],[93,142,159,160,772,1768,1771],[93,142,159,160,759,772,773,1768,1771],[93,142,159,160,759,772,1768,1771],[93,142,159,160,759,766,1768,1771],[93,142,159,160,760,1768,1771],[93,142,159,160,759,760,761,763,1768,1771],[93,142,159,160,759,1768,1771],[93,142,159,160,698,1768,1771],[93,142,159,160,835,836,1768,1771],[93,142,159,160,835,1768,1771],[81,93,142,159,160,1088,1768,1771],[93,142,159,160,1115,1768,1771],[93,142,159,160,1113,1115,1768,1771],[93,142,159,160,1113,1768,1771],[93,142,159,160,1115,1179,1180,1768,1771],[93,142,159,160,1115,1182,1768,1771],[93,142,159,160,1115,1183,1768,1771],[93,142,159,160,1200,1768,1771],[93,142,159,160,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273,1274,1275,1277,1278,1279,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289,1290,1291,1292,1293,1294,1295,1296,1301,1302,1303,1304,1305,1306,1307,1308,1309,1310,1311,1312,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,1323,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,1356,1357,1358,1359,1360,1361,1362,1363,1364,1365,1366,1367,1368,1768,1771],[93,142,159,160,1115,1276,1768,1771],[93,142,159,160,1113,1370,1371,1372,1373,1374,1375,1376,1377,1378,1379,1380,1381,1382,1383,1384,1385,1386,1387,1388,1389,1390,1391,1392,1393,1394,1395,1396,1397,1398,1399,1400,1401,1402,1403,1404,1405,1406,1407,1408,1409,1410,1411,1412,1413,1414,1415,1416,1417,1418,1419,1420,1421,1422,1423,1424,1425,1426,1427,1428,1429,1430,1431,1432,1433,1434,1435,1436,1437,1438,1439,1440,1441,1442,1443,1444,1445,1446,1447,1448,1449,1450,1451,1452,1453,1454,1455,1456,1457,1458,1459,1460,1461,1462,1463,1464,1768,1771],[93,142,159,160,1115,1180,1300,1768,1771],[93,142,159,160,1113,1297,1298,1768,1771],[93,142,159,160,1299,1768,1771],[93,142,159,160,1115,1297,1768,1771],[93,142,159,160,1112,1113,1114,1768,1771],[93,142,159,160,1572,1768,1771],[93,142,159,160,1573,1768,1771],[93,142,159,160,1546,1566,1768,1771],[93,142,159,160,1540,1768,1771],[93,142,159,160,1541,1545,1546,1547,1548,1549,1551,1553,1554,1559,1560,1569,1768,1771],[93,142,159,160,1541,1546,1768,1771],[93,142,159,160,1549,1566,1568,1571,1768,1771],[93,142,159,160,1540,1541,1542,1543,1546,1547,1548,1549,1550,1551,1552,1553,1554,1555,1556,1557,1558,1559,1560,1561,1562,1563,1564,1565,1570,1571,1768,1771],[93,142,159,160,1569,1768,1771],[93,142,159,160,1539,1541,1542,1544,1552,1561,1564,1565,1570,1768,1771],[93,142,159,160,1546,1571,1768,1771],[93,142,159,160,1567,1569,1571,1768,1771],[93,142,159,160,1540,1541,1546,1549,1569,1768,1771],[93,142,159,160,1553,1768,1771],[93,142,159,160,1543,1551,1553,1554,1768,1771],[93,142,159,160,1543,1768,1771],[93,142,159,160,1543,1553,1768,1771],[93,142,159,160,1547,1548,1549,1553,1554,1559,1768,1771],[93,142,159,160,1549,1550,1554,1558,1560,1569,1768,1771],[93,142,159,160,1541,1553,1562,1768,1771],[93,142,159,160,1542,1543,1544,1768,1771],[93,142,159,160,1549,1569,1768,1771],[93,142,159,160,1549,1768,1771],[93,142,159,160,1540,1541,1768,1771],[93,142,159,160,1541,1768,1771],[93,142,159,160,1545,1768,1771],[93,142,159,160,1549,1554,1566,1567,1568,1569,1571,1768,1771],[93,142,159,160,917,918,1768,1771],[93,142,159,160,917,918,919,920,1768,1771],[93,142,159,160,917,919,1768,1771],[93,142,159,160,917,1768,1771],[93,142,156,159,160,533,1768,1771],[93,142,159,160,533,534,535,536,538,1768,1771],[93,142,159,160,534,1768,1771],[93,142,159,160,539,877,879,881,1768,1771],[93,142,159,160,539,871,872,873,874,875,876,1768,1771],[93,142,159,160,538,539,871,872,873,874,875,876,877,878,879,880,881,882,1768,1771],[93,142,159,160,880,1768,1771],[93,142,159,160,872,1768,1771],[93,142,159,160,871,877,878,1768,1771],[93,142,159,160,539,872,1768,1771],[93,142,159,160,539,720,1768,1771],[93,142,159,160,538,539,720,721,1768,1771],[93,142,159,160,539,1768,1771],[93,142,159,160,537,539,1768,1771],[93,142,159,160,803,1768,1771],[93,142,159,160,810,1768,1771],[93,142,159,160,892,1768,1771],[93,142,159,160,896,1768,1771],[93,142,159,160,900,1768,1771],[93,142,159,160,804,896,1768,1771],[93,142,159,160,812,900,1768,1771],[93,142,156,159,160,174,192,1768,1771],[93,142,156,159,160,174,185,1768,1771],[93,142,156,159,160,185,638,639,1768,1771],[93,142,159,160,638,639,640,1768,1771],[93,142,159,160,638,1768,1771],[93,142,159,160,552,556,557,637,1768,1771],[93,142,159,160,676,677,678,685,707,710,1768,1771],[93,142,159,160,174,676,677,706,710,1768,1771],[93,142,159,160,676,677,679,707,709,710,1768,1771],[93,142,159,160,682,683,685,710,1768,1771],[93,142,159,160,684,707,708,1768,1771],[93,142,159,160,707,1768,1771],[93,142,159,160,670,685,686,706,710,711,1768,1771],[93,142,159,160,685,707,710,1768,1771],[93,142,159,160,679,680,681,684,705,710,1768,1771],[93,142,156,159,160,552,557,637,670,676,678,685,686,688,689,690,691,692,693,694,695,696,697,701,703,706,707,710,711,1768,1771],[93,142,159,160,700,702,1768,1771],[93,142,159,160,552,557,637,676,707,709,1768,1771],[93,142,159,160,552,557,637,671,675,711,1768,1771],[93,142,156,159,160,552,557,597,635,637,670,689,710,1768,1771],[93,142,159,160,662,670,687,690,702,710,711,1768,1771],[93,142,159,160,552,557,635,637,670,671,675,676,677,678,685,686,687,688,690,691,692,693,694,695,696,697,702,703,706,707,710,711,712,1768,1771],[93,142,159,160,670,687,691,702,710,711,1768,1771],[93,142,153,159,160,676,677,686,705,707,710,711,1768,1771],[93,142,159,160,676,677,679,705,707,710,1768,1771],[93,142,159,160,552,557,637,685,703,704,1768,1771],[93,142,159,160,676,677,679,707,1768,1771],[93,142,159,160,174,662,670,677,685,686,687,702,707,710,711,1768,1771],[93,142,159,160,174,679,685,707,710,1768,1771],[93,142,159,160,174,699,1768,1771],[93,142,159,160,678,679,685,1768,1771],[93,142,159,160,174,676,707,710,1768,1771],[93,142,159,160,613,614,1768,1771],[93,142,159,160,182,1768,1771],[93,142,159,160,541,1768,1771],[93,142,159,160,540,541,542,543,544,617,1768,1771],[93,142,153,159,160,174,540,541,596,615,616,618,1768,1771],[93,142,159,160,162,182,542,545,547,548,1768,1771],[93,142,159,160,546,1768,1771],[93,142,159,160,544,547,549,550,594,617,618,1768,1771],[93,142,159,160,550,551,562,563,593,1768,1771],[93,142,159,160,540,541,543,595,597,614,618,1768,1771],[93,142,159,160,541,542,544,547,549,595,596,614,617,619,1768,1771],[93,142,159,160,545,548,549,563,598,606,607,609,610,618,621,622,623,624,625,626,627,628,629,633,1768,1771],[93,142,159,160,541,618,623,1768,1771],[93,142,159,160,541,618,1768,1771],[93,142,159,160,557,1768,1771],[93,142,159,160,581,1768,1771],[93,142,159,160,559,560,566,567,1768,1771],[93,142,159,160,557,558,562,565,1768,1771],[93,142,159,160,557,558,561,1768,1771],[93,142,159,160,558,559,560,1768,1771],[93,142,159,160,557,564,569,570,574,575,576,577,578,579,587,588,590,591,592,635,1768,1771],[93,142,159,160,568,1768,1771],[93,142,159,160,573,1768,1771],[93,142,159,160,567,1768,1771],[93,142,159,160,586,1768,1771],[93,142,159,160,589,1768,1771],[93,142,159,160,567,571,572,1768,1771],[93,142,159,160,557,558,562,1768,1771],[93,142,159,160,567,583,584,585,1768,1771],[93,142,159,160,557,558,580,582,1768,1771],[93,142,159,160,557,601,603,635,1768,1771],[93,142,159,160,602,1768,1771],[93,142,159,160,541,542,543,544,546,547,549,550,594,595,596,597,598,608,611,612,613,614,617,618,619,620,621,634,1768,1771],[93,142,159,160,541,542,544,547,549,550,594,606,610,617,618,624,630,631,632,1768,1771],[93,142,159,160,547,563,609,618,1768,1771],[93,142,159,160,547,563,607,608,609,618,634,1768,1771],[93,142,159,160,547,550,563,609,610,618,1768,1771],[93,142,159,160,547,550,563,594,606,608,610,618,1768,1771],[93,142,159,160,540,541,542,543,544,618,624,633,1768,1771],[93,142,159,160,543,1768,1771],[93,142,159,160,547,549,597,613,1768,1771],[93,142,157,159,160,1768,1771],[93,142,159,160,174,615,1768,1771],[93,142,159,160,595,601,604,606,610,613,1768,1771],[93,142,159,160,541,543,606,609,618,1768,1771],[93,142,159,160,541,543,547,548,563,608,618,623,1768,1771],[93,142,159,160,540,541,542,543,618,628,633,1768,1771],[93,142,153,159,160,174,540,541,544,611,612,614,616,618,1768,1771],[93,142,157,159,160,182,545,635,1768,1771],[93,142,157,159,160,540,541,544,547,600,611,614,617,618,1768,1771],[93,142,159,160,174,547,563,594,598,612,614,617,1768,1771],[93,142,159,160,543,607,1768,1771],[93,142,159,160,541,543,618,1768,1771],[93,142,157,159,160,540,543,600,618,1768,1771],[93,142,159,160,542,550,594,595,605,1768,1771],[93,142,159,160,541,542,547,548,549,550,563,594,595,599,600,606,1768,1771],[93,142,157,159,160,540,541,547,548,549,563,594,599,618,1768,1771],[93,142,159,160,192,552,553,554,556,557,637,1768,1771],[93,142,156,159,160,663,1768,1771],[93,142,153,159,160,641,642,643,645,648,1768,1771],[93,142,159,160,645,646,655,657,1768,1771],[93,142,159,160,641,1768,1771],[93,142,159,160,641,642,643,645,646,648,1768,1771],[93,142,159,160,641,648,1768,1771],[93,142,159,160,641,642,643,646,648,1768,1771],[93,142,159,160,641,642,643,646,648,655,1768,1771],[93,142,159,160,646,655,656,658,659,1768,1771],[93,142,159,160,174,641,642,643,646,648,649,650,652,653,654,655,660,661,670,1768,1771],[93,142,159,160,645,646,655,1768,1771],[93,142,159,160,648,1768,1771],[93,142,159,160,646,648,649,662,1768,1771],[93,142,159,160,174,643,648,1768,1771],[93,142,159,160,174,643,648,649,651,1768,1771],[93,142,159,160,168,641,642,643,644,646,647,1768,1771],[93,142,159,160,641,646,648,1768,1771],[93,142,159,160,646,655,1768,1771],[93,142,159,160,641,642,643,646,647,648,649,650,652,653,654,655,656,657,658,659,660,662,664,665,666,667,668,669,670,1768,1771],[93,142,159,160,1016,1768,1771],[93,142,159,160,555,1768,1771],[93,142,159,160,482,1768,1771],[93,142,159,160,484,485,486,487,1768,1771],[93,142,159,160,430,493,494,1768,1771],[93,142,159,160,202,203,205,217,241,356,367,475,1768,1771],[93,142,159,160,205,236,237,238,240,475,1768,1771],[93,142,159,160,205,373,375,377,378,380,475,477,1768,1771],[93,142,159,160,205,239,276,475,1768,1771],[93,142,159,160,203,205,216,217,223,229,234,355,356,357,366,475,477,1768,1771],[93,142,159,160,475,1768,1771],[93,142,159,160,212,218,237,257,352,1768,1771],[93,142,159,160,205,1768,1771],[93,142,159,160,198,212,218,1768,1771],[93,142,159,160,384,1768,1771],[93,142,159,160,381,382,384,1768,1771],[93,142,159,160,381,383,475,1768,1771],[93,142,156,159,160,257,454,472,1768,1771],[93,142,156,159,160,328,331,347,352,472,1768,1771],[93,142,156,159,160,300,472,1768,1771],[93,142,159,160,360,1768,1771],[93,142,159,160,359,360,361,1768,1771],[93,142,159,160,359,1768,1771],[87,93,142,156,159,160,198,205,217,223,229,235,237,241,242,255,256,323,353,354,367,475,479,1768,1771],[93,142,159,160,202,205,239,276,373,374,379,475,527,1768,1771],[93,142,159,160,239,527,1768,1771],[93,142,159,160,202,256,425,475,527,1768,1771],[93,142,159,160,527,1768,1771],[93,142,159,160,205,239,240,527,1768,1771],[93,142,159,160,376,527,1768,1771],[93,142,159,160,242,355,358,365,1768,1771],[81,93,142,159,160,430,1768,1771],[93,142,159,160,168,212,227,1768,1771],[93,142,159,160,212,227,1768,1771],[81,93,142,159,160,297,1768,1771],[81,93,142,159,160,218,227,430,1768,1771],[93,142,159,160,212,283,297,298,509,516,1768,1771],[93,142,159,160,282,510,511,512,513,515,1768,1771],[93,142,159,160,333,1768,1771],[93,142,159,160,333,334,1768,1771],[93,142,159,160,216,218,285,286,1768,1771],[93,142,159,160,218,292,293,1768,1771],[93,142,159,160,218,287,295,1768,1771],[93,142,159,160,292,1768,1771],[93,142,159,160,210,218,285,286,287,288,289,290,291,292,295,1768,1771],[93,142,159,160,218,285,292,293,294,296,1768,1771],[93,142,159,160,218,286,288,289,1768,1771],[93,142,159,160,286,288,291,293,1768,1771],[93,142,159,160,514,1768,1771],[93,142,159,160,218,1768,1771],[81,93,142,159,160,206,503,1768,1771],[81,93,142,159,160,185,1768,1771],[81,93,142,159,160,239,274,1768,1771],[81,93,142,159,160,239,367,1768,1771],[93,142,159,160,272,277,1768,1771],[81,93,142,159,160,273,481,1768,1771],[81,85,93,142,156,159,160,193,194,195,196,197,479,523,949,1768,1771],[93,142,156,159,160,218,1768,1771],[93,142,156,159,160,217,222,303,320,362,363,367,422,424,475,476,1768,1771],[93,142,159,160,255,364,1768,1771],[93,142,159,160,479,1768,1771],[93,142,159,160,204,1768,1771],[81,93,142,159,160,209,212,427,443,445,1768,1771],[93,142,159,160,168,212,427,442,443,444,526,1768,1771],[93,142,159,160,436,437,438,439,440,441,1768,1771],[93,142,159,160,438,1768,1771],[93,142,159,160,442,1768,1771],[93,142,159,160,227,391,392,394,1768,1771],[81,93,142,159,160,218,385,386,387,388,393,1768,1771],[93,142,159,160,391,393,1768,1771],[93,142,159,160,389,1768,1771],[93,142,159,160,390,1768,1771],[81,93,142,159,160,227,273,481,1768,1771],[81,93,142,159,160,227,480,481,1768,1771],[81,93,142,159,160,227,481,1768,1771],[93,142,159,160,320,321,1768,1771],[93,142,159,160,321,1768,1771],[93,142,156,159,160,476,481,1768,1771],[93,142,159,160,350,1768,1771],[93,141,142,159,160,349,1768,1771],[93,142,159,160,212,218,224,226,328,341,345,347,424,427,464,465,472,476,1768,1771],[93,142,159,160,218,267,289,1768,1771],[93,142,159,160,328,339,342,347,1768,1771],[81,93,142,159,160,209,212,328,331,347,350,384,431,432,433,434,435,446,447,448,449,450,451,452,453,527,1768,1771],[93,142,159,160,209,212,237,328,335,336,337,340,341,1768,1771],[93,142,159,160,174,218,237,339,346,427,428,472,1768,1771],[93,142,159,160,343,1768,1771],[93,142,156,159,160,168,206,218,222,232,264,265,268,320,323,388,422,423,464,475,476,477,479,527,1768,1771],[93,142,159,160,209,210,212,1768,1771],[93,142,159,160,328,1768,1771],[93,141,142,159,160,237,264,265,322,323,324,325,326,327,476,1768,1771],[93,142,159,160,347,1768,1771],[93,141,142,159,160,211,212,222,226,262,328,335,336,337,338,339,342,343,344,345,346,465,1768,1771],[93,142,156,159,160,262,263,335,476,477,1768,1771],[93,142,159,160,237,265,320,323,328,424,476,1768,1771],[93,142,156,159,160,475,477,1768,1771],[93,142,156,159,160,174,472,476,477,1768,1771],[93,142,156,159,160,168,198,212,217,224,226,229,232,239,259,264,265,266,267,268,303,304,306,309,311,314,315,316,317,319,367,422,424,472,475,476,477,1768,1771],[93,142,156,159,160,174,1768,1771],[93,142,159,160,205,206,207,235,472,473,474,479,481,527,1768,1771],[93,142,159,160,202,203,475,1768,1771],[93,142,159,160,396,1768,1771],[93,142,156,159,160,174,185,214,380,384,385,386,387,388,394,395,527,1768,1771],[93,142,159,160,168,185,198,212,214,226,229,265,304,309,319,320,373,400,401,402,408,411,412,422,424,472,475,1768,1771],[93,142,159,160,229,235,242,255,265,323,475,1768,1771],[93,142,156,159,160,185,206,217,226,265,406,472,475,1768,1771],[93,142,159,160,426,1768,1771],[93,142,156,159,160,396,409,410,419,1768,1771],[93,142,159,160,472,475,1768,1771],[93,142,159,160,325,465,1768,1771],[93,142,159,160,226,264,367,481,1768,1771],[93,142,156,159,160,168,204,309,369,373,402,408,411,414,472,1768,1771],[93,142,156,159,160,242,255,373,415,1768,1771],[93,142,159,160,205,266,367,417,475,477,1768,1771],[93,142,156,159,160,185,388,475,1768,1771],[93,142,156,159,160,239,266,367,368,369,378,396,416,418,475,1768,1771],[87,93,142,156,159,160,264,421,479,481,1768,1771],[93,142,159,160,318,422,1768,1771],[93,142,156,159,160,168,212,215,217,218,224,226,232,241,242,255,265,268,304,306,316,319,320,367,400,401,402,403,405,407,422,424,472,481,1768,1771],[93,142,156,159,160,174,242,408,413,419,472,1768,1771],[93,142,159,160,245,246,247,248,249,250,251,252,253,254,1768,1771],[93,142,159,160,259,310,1768,1771],[93,142,159,160,312,1768,1771],[93,142,159,160,310,1768,1771],[93,142,159,160,312,313,1768,1771],[93,142,156,159,160,216,217,218,222,223,476,1768,1771],[93,142,156,159,160,168,204,206,224,228,264,267,268,302,422,472,477,479,481,1768,1771],[93,142,156,159,160,168,185,208,215,216,226,228,265,420,465,471,476,1768,1771],[93,142,159,160,335,1768,1771],[93,142,159,160,336,1768,1771],[93,142,159,160,218,229,464,1768,1771],[93,142,159,160,337,1768,1771],[93,142,159,160,211,1768,1771],[93,142,159,160,213,225,1768,1771],[93,142,156,159,160,213,217,224,1768,1771],[93,142,159,160,220,225,1768,1771],[93,142,159,160,221,1768,1771],[93,142,159,160,213,214,1768,1771],[93,142,159,160,213,269,1768,1771],[93,142,159,160,213,1768,1771],[93,142,159,160,215,259,308,1768,1771],[93,142,159,160,307,1768,1771],[93,142,159,160,212,214,215,1768,1771],[93,142,159,160,215,305,1768,1771],[93,142,159,160,212,214,1768,1771],[93,142,159,160,264,367,1768,1771],[93,142,159,160,464,1768,1771],[93,142,156,159,160,185,224,226,230,264,367,421,424,427,428,429,455,456,459,463,465,472,476,1768,1771],[93,142,159,160,278,281,283,284,297,298,1768,1771],[81,93,142,159,160,195,197,227,457,458,1768,1771],[81,93,142,159,160,195,197,227,457,458,462,1768,1771],[93,142,159,160,351,1768,1771],[93,142,159,160,237,258,263,264,328,329,330,331,332,334,347,348,350,353,421,424,475,477,1768,1771],[93,142,159,160,297,1768,1771],[93,142,156,159,160,302,472,1768,1771],[93,142,159,160,302,1768,1771],[93,142,156,159,160,224,270,299,301,303,421,472,479,481,1768,1771],[93,142,159,160,278,279,280,281,283,284,297,298,480,1768,1771],[87,93,142,156,159,160,168,185,213,214,226,232,264,265,268,367,419,420,422,472,475,476,479,1768,1771],[93,142,159,160,209,212,219,1768,1771],[93,142,159,160,263,265,397,400,1768,1771],[93,142,159,160,263,398,466,467,468,469,470,1768,1771],[93,142,156,159,160,259,475,1768,1771],[93,142,156,159,160,1768,1771],[93,142,159,160,262,347,1768,1771],[93,142,159,160,261,1768,1771],[93,142,159,160,263,316,1768,1771],[93,142,159,160,260,262,475,1768,1771],[93,142,156,159,160,208,263,397,398,399,472,475,476,1768,1771],[81,93,142,159,160,212,218,296,1768,1771],[81,93,142,159,160,210,1768,1771],[93,142,159,160,200,201,1768,1771],[81,93,142,159,160,206,1768,1771],[81,93,142,159,160,212,282,1768,1771],[81,87,93,142,159,160,264,268,479,481,1768,1771],[93,142,159,160,206,503,504,1768,1771],[81,93,142,159,160,277,1768,1771],[81,93,142,159,160,168,185,204,271,273,275,276,481,1768,1771],[93,142,159,160,212,239,476,1768,1771],[93,142,159,160,212,404,1768,1771],[81,93,142,154,156,159,160,168,202,204,277,375,479,480,1768,1771],[81,93,142,159,160,193,194,195,196,197,479,524,949,1768,1771],[81,82,83,84,85,93,142,159,160,1768,1771],[93,142,147,159,160,1768,1771],[93,142,159,160,370,371,372,1768,1771],[93,142,159,160,370,1768,1771],[81,85,93,142,156,158,159,160,168,192,193,194,195,196,197,198,204,232,237,414,442,477,478,481,524,949,1768,1771],[93,142,159,160,489,1768,1771],[93,142,159,160,491,1768,1771],[93,142,159,160,495,1768,1771],[93,142,159,160,497,1768,1771],[93,142,159,160,499,500,501,1768,1771],[93,142,159,160,505,1768,1771],[86,93,142,159,160,483,488,490,492,496,498,502,506,508,518,519,521,525,526,527,528,1768,1771],[93,142,159,160,507,1768,1771],[93,142,159,160,517,1768,1771],[93,142,159,160,273,1768,1771],[93,142,159,160,520,1768,1771],[93,141,142,159,160,263,397,398,400,466,467,469,470,522,524,1768,1771],[93,142,159,160,192,1768,1771],[93,142,159,160,750,1768,1771],[93,142,159,160,748,750,1768,1771],[93,142,159,160,739,747,748,749,751,753,1768,1771],[93,142,159,160,737,1768,1771],[93,142,159,160,740,745,750,753,1768,1771],[93,142,159,160,736,753,1768,1771],[93,142,159,160,740,741,744,745,746,753,1768,1771],[93,142,159,160,740,741,742,744,745,753,1768,1771],[93,142,159,160,737,738,739,740,741,745,746,747,749,750,751,753,1768,1771],[93,142,159,160,753,1768,1771],[93,142,159,160,735,737,738,739,740,741,742,744,745,746,747,748,749,750,751,752,1768,1771],[93,142,159,160,735,753,1768,1771],[93,142,159,160,740,742,743,745,746,753,1768,1771],[93,142,159,160,744,753,1768,1771],[93,142,159,160,745,746,750,753,1768,1771],[93,142,159,160,738,748,1768,1771],[93,142,159,160,552,557,637,672,1768,1771],[93,142,159,160,672,673,674,1768,1771],[93,142,159,160,1523,1768,1771],[93,142,159,160,1484,1768,1771],[93,142,159,160,1524,1768,1771],[93,142,159,160,1369,1465,1521,1522,1768,1771],[93,142,159,160,1484,1485,1523,1524,1768,1771],[93,142,159,160,1466,1467,1468,1469,1470,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1768,1771],[81,93,142,159,160,1490,1525,1768,1771],[81,93,142,159,160,1490,1768,1771],[81,93,142,159,160,1485,1768,1771],[81,93,142,159,160,1525,1768,1771],[81,93,142,159,160,1493,1768,1771],[93,142,159,160,1513,1514,1515,1516,1517,1518,1519,1768,1771],[93,142,159,160,1490,1768,1771],[93,142,159,160,1527,1768,1771],[93,142,159,160,1111,1482,1483,1488,1490,1512,1520,1525,1526,1528,1536,1768,1771],[93,142,159,160,1471,1472,1473,1474,1475,1476,1477,1478,1479,1480,1481,1768,1771],[93,142,159,160,1490,1523,1768,1771],[93,142,159,160,1469,1470,1482,1483,1486,1488,1521,1768,1771],[93,142,159,160,1486,1487,1489,1521,1768,1771],[81,93,142,159,160,1483,1521,1523,1768,1771],[93,142,159,160,1486,1521,1768,1771],[81,93,142,159,160,1482,1483,1512,1520,1768,1771],[81,93,142,159,160,1485,1486,1487,1521,1524,1768,1771],[93,142,159,160,1529,1530,1531,1532,1533,1534,1535,1768,1771],[81,93,142,159,160,1681,1768,1771],[93,142,159,160,1681,1682,1683,1684,1687,1688,1689,1690,1691,1692,1693,1696,1697,1768,1771],[93,142,159,160,1681,1768,1771],[93,142,159,160,1685,1686,1768,1771],[81,93,142,159,160,1678,1681,1768,1771],[93,142,159,160,1675,1676,1678,1768,1771],[93,142,159,160,1671,1674,1676,1678,1768,1771],[93,142,159,160,1675,1678,1768,1771],[81,93,142,159,160,1666,1667,1668,1671,1672,1673,1675,1676,1677,1678,1768,1771],[93,142,159,160,1668,1671,1672,1673,1674,1675,1676,1677,1678,1679,1680,1768,1771],[93,142,159,160,1675,1768,1771],[93,142,159,160,1669,1675,1676,1768,1771],[93,142,159,160,1669,1670,1768,1771],[93,142,159,160,1674,1676,1677,1768,1771],[93,142,159,160,1674,1768,1771],[93,142,159,160,1666,1671,1674,1676,1677,1768,1771],[81,93,142,159,160,1671,1674,1675,1676,1768,1771],[93,142,159,160,1694,1695,1768,1771],[93,142,159,160,1722,1724,1725,1726,1727,1728,1729,1730,1731,1732,1733,1734,1735,1736,1737,1739,1740,1768,1771],[81,93,142,159,160,1723,1768,1771],[81,93,142,159,160,1725,1768,1771],[93,142,159,160,1723,1768,1771],[93,142,159,160,1722,1768,1771],[93,142,159,160,1738,1768,1771],[93,142,159,160,1741,1768,1771],[81,93,142,159,160,1581,1582,1583,1599,1602,1768,1771],[81,93,142,159,160,1581,1582,1583,1592,1600,1620,1768,1771],[81,93,142,159,160,1580,1583,1768,1771],[81,93,142,159,160,1583,1768,1771],[81,93,142,159,160,1581,1582,1583,1768,1771],[81,93,142,159,160,1581,1582,1583,1618,1621,1624,1768,1771],[81,93,142,159,160,1581,1582,1583,1592,1599,1602,1768,1771],[81,93,142,159,160,1581,1582,1583,1592,1600,1612,1768,1771],[81,93,142,159,160,1581,1582,1583,1592,1602,1612,1768,1771],[81,93,142,159,160,1581,1582,1583,1592,1612,1768,1771],[81,93,142,159,160,1581,1582,1583,1587,1593,1599,1604,1622,1623,1768,1771],[93,142,159,160,1583,1768,1771],[81,93,142,159,160,1583,1627,1628,1629,1768,1771],[81,93,142,159,160,1583,1626,1627,1628,1768,1771],[81,93,142,159,160,1583,1600,1768,1771],[81,93,142,159,160,1583,1626,1768,1771],[81,93,142,159,160,1583,1592,1768,1771],[81,93,142,159,160,1583,1584,1585,1768,1771],[81,93,142,159,160,1583,1585,1587,1768,1771],[93,142,159,160,1576,1577,1581,1582,1583,1584,1586,1587,1588,1589,1590,1591,1592,1593,1594,1595,1599,1600,1601,1602,1603,1604,1605,1606,1607,1608,1609,1610,1611,1613,1614,1615,1616,1617,1618,1619,1621,1622,1623,1624,1630,1631,1632,1633,1634,1635,1636,1637,1638,1639,1640,1641,1642,1643,1644,1768,1771],[81,93,142,159,160,1583,1641,1768,1771],[81,93,142,159,160,1583,1595,1768,1771],[81,93,142,159,160,1583,1602,1606,1607,1768,1771],[81,93,142,159,160,1583,1593,1595,1768,1771],[81,93,142,159,160,1583,1598,1768,1771],[81,93,142,159,160,1583,1621,1768,1771],[81,93,142,159,160,1583,1598,1625,1768,1771],[81,93,142,159,160,1586,1626,1768,1771],[81,93,142,159,160,1580,1581,1582,1768,1771],[93,142,159,160,728,757,1768,1771],[93,142,159,160,727,728,1768,1771],[93,142,159,160,174,192,1768,1771],[93,142,159,160,762,1768,1771],[93,107,111,142,159,160,185,1768,1771],[93,107,142,159,160,174,185,1768,1771],[93,102,142,159,160,1768,1771],[93,104,107,142,159,160,182,185,1768,1771],[93,142,159,160,162,182,1768,1771],[93,102,142,159,160,192,1768,1771],[93,104,107,142,159,160,162,185,1768,1771],[93,99,100,103,106,142,153,159,160,174,185,1768,1771],[93,107,114,142,159,160,1768,1771],[93,99,105,142,159,160,1768,1771],[93,107,128,129,142,159,160,1768,1771],[93,103,107,142,159,160,177,185,192,1768,1771],[93,128,142,159,160,192,1768,1771],[93,101,102,142,159,160,192,1768,1771],[93,107,142,159,160,1768,1771],[93,101,102,103,104,105,106,107,108,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,129,130,131,132,133,134,142,159,160,1768,1771],[93,107,122,142,159,160,1768,1771],[93,107,114,115,142,159,160,1768,1771],[93,105,107,115,116,142,159,160,1768,1771],[93,106,142,159,160,1768,1771],[93,99,102,107,142,159,160,1768,1771],[93,107,111,115,116,142,159,160,1768,1771],[93,111,142,159,160,1768,1771],[93,105,107,110,142,159,160,185,1768,1771],[93,99,104,107,114,142,159,160,1768,1771],[93,142,159,160,174,1768,1771],[93,102,107,128,142,159,160,190,192,1768,1771],[93,142,159,160,1579,1768,1771],[93,142,159,160,1597,1768,1771],[93,142,159,160,777,778,1768,1771],[93,142,159,160,777,1768,1771],[93,142,159,160,758,777,778,788,1768,1771],[93,142,153,154,156,157,158,159,160,162,174,182,185,191,192,728,729,730,731,732,733,734,754,755,756,757,1768,1771],[93,142,159,160,730,731,732,733,1768,1771],[93,142,159,160,730,731,732,1768,1771],[93,142,159,160,730,1768,1771],[93,142,159,160,731,1768,1771],[93,142,159,160,728,1768,1771],[93,142,159,160,789,1768,1771],[93,142,159,160,770,783,784,922,1768,1771],[93,142,159,160,759,770,774,775,922,1768,1771],[93,142,159,160,914,1768,1771],[93,142,154,159,160,174,758,759,764,770,771,774,776,779,780,781,782,785,786,788,909,922,1768,1771],[93,142,159,160,770,783,784,785,922,1768,1771],[93,142,159,160,758,787,1768,1771],[93,142,159,160,190,907,1768,1771],[93,142,159,160,770,771,774,776,779,922,1768,1771],[93,142,154,159,160,174,758,759,764,770,771,774,775,776,779,780,781,782,783,784,785,786,787,788,909,922,1768,1771],[93,142,154,159,160,174,190,758,759,764,767,770,771,774,775,776,779,780,781,782,783,784,785,786,787,788,907,908,909,911,912,914,915,916,921,922,1768,1771],[93,142,159,160,868,1768,1771],[93,142,159,160,859,860,1768,1771],[93,142,159,160,856,857,859,861,862,867,1768,1771],[93,142,159,160,857,859,1768,1771],[93,142,159,160,867,1768,1771],[93,142,159,160,859,1768,1771],[93,142,159,160,856,857,859,862,863,864,865,866,1768,1771],[93,142,159,160,856,857,858,1768,1771],[93,142,159,160,227,525,1768,1771],[93,142,154,159,160,164,227,539,722,883,1768,1771],[93,142,154,159,160,164,227,805,905,1768,1771],[93,142,159,160,227,805,905,922,923,1768,1771],[93,142,154,159,160,164,227,905,1768,1771],[93,142,159,160,227,922,1768,1771],[93,142,159,160,227,849,922,1768,1771],[93,142,159,160,227,814,922,1768,1771],[93,142,159,160,227,870,922,1768,1771],[93,142,159,160,227,815,922,1768,1771],[93,142,159,160,227,827,922,1768,1771],[93,142,159,160,227,805,851,922,1768,1771],[93,142,159,160,227,805,808,922,1768,1771],[93,142,159,160,227,813,852,922,1768,1771],[93,142,159,160,227,805,849,922,1768,1771],[93,142,159,160,164,185,227,790,1768,1771]],"fileInfos":[{"version":"e41c290ef7dd7dab3493e6cbe5909e0148edf4a8dad0271be08edec368a0f7b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","impliedFormat":1},{"version":"8fd575e12870e9944c7e1d62e1f5a73fcf23dd8d3a321f2a2c74c20d022283fe","impliedFormat":1},{"version":"e12a46ce14b817d4c9e6b2b478956452330bf00c9801b79de46f7a1815b5bd40","impliedFormat":1},{"version":"4fd3f3422b2d2a3dfd5cdd0f387b3a8ec45f006c6ea896a4cb41264c2100bb2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"69e65d976bf166ce4a9e6f6c18f94d2424bf116e90837ace179610dbccad9b42","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"62bb211266ee48b2d0edf0d8d1b191f0c24fc379a82bd4c1692a082c540bc6b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"f1e2a172204962276504466a6393426d2ca9c54894b1ad0a6c9dad867a65f876","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"b5ce7a470bc3628408429040c4e3a53a27755022a32fd05e2cb694e7015386c7","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"bab26767638ab3557de12c900f0b91f710c7dc40ee9793d5a27d32c04f0bf646","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true,"impliedFormat":1},{"version":"87dc0f382502f5bbce5129bdc0aea21e19a3abbc19259e0b43ae038a9fc4e326","affectsGlobalScope":true,"impliedFormat":1},{"version":"b1cb28af0c891c8c96b2d6b7be76bd394fddcfdb4709a20ba05a7c1605eea0f9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true,"impliedFormat":1},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ece9f17b3866cc077099c73f4983bddbcb1dc7ddb943227f1ec070f529dedd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1c9319a09485199c1f7b0498f2988d6d2249793ef67edda49d1e584746be9032","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3a2a0cee0f03ffdde24d89660eba2685bfbdeae955a6c67e8c4c9fd28928eeb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true,"impliedFormat":1},{"version":"61d6a2092f48af66dbfb220e31eea8b10bc02b6932d6e529005fd2d7b3281290","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"7e29f41b158de217f94cb9676bf9cbd0cd9b5a46e1985141ed36e075c52bf6ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"dc0a7f107690ee5cd8afc8dbf05c4df78085471ce16bdd9881642ec738bc81fe","impliedFormat":1},{"version":"acd8fd5090ac73902278889c38336ff3f48af6ba03aa665eb34a75e7ba1dccc4","impliedFormat":1},{"version":"d6258883868fb2680d2ca96bc8b1352cab69874581493e6d52680c5ffecdb6cc","impliedFormat":1},{"version":"1b61d259de5350f8b1e5db06290d31eaebebc6baafd5f79d314b5af9256d7153","impliedFormat":1},{"version":"f258e3960f324a956fc76a3d3d9e964fff2244ff5859dcc6ce5951e5413ca826","impliedFormat":1},{"version":"643f7232d07bf75e15bd8f658f664d6183a0efaca5eb84b48201c7671a266979","impliedFormat":1},{"version":"21da358700a3893281ce0c517a7a30cbd46be020d9f0c3f2834d0a8ad1f5fc75","impliedFormat":1},{"version":"6c7176368037af28cb72f2392010fa1cef295d6d6744bca8cfb54985f3a18c3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"98cffbf06d6bab333473c70a893770dbe990783904002c4f1a960447b4b53dca","affectsGlobalScope":true,"impliedFormat":1},{"version":"3af97acf03cc97de58a3a4bc91f8f616408099bc4233f6d0852e72a8ffb91ac9","affectsGlobalScope":true,"impliedFormat":1},{"version":"808069bba06b6768b62fd22429b53362e7af342da4a236ed2d2e1c89fcca3b4a","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"b52476feb4a0cbcb25e5931b930fc73cb6643fb1a5060bf8a3dda0eeae5b4b68","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9501cc13ce624c72b61f12b3963e84fad210fbdf0ffbc4590e08460a3f04eba","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0fa06ada475b910e2106c98c68b10483dc8811d0c14a8a8dd36efb2672485b29","impliedFormat":1},{"version":"33e5e9aba62c3193d10d1d33ae1fa75c46a1171cf76fef750777377d53b0303f","impliedFormat":1},{"version":"2b06b93fd01bcd49d1a6bd1f9b65ddcae6480b9a86e9061634d6f8e354c1468f","impliedFormat":1},{"version":"6a0cd27e5dc2cfbe039e731cf879d12b0e2dded06d1b1dedad07f7712de0d7f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f5c844119c43e51ce777c509267f14d6aaf31eafb2c2b002ca35584cd13b29","impliedFormat":1},{"version":"e60477649d6ad21542bd2dc7e3d9ff6853d0797ba9f689ba2f6653818999c264","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"4c829ab315f57c5442c6667b53769975acbf92003a66aef19bce151987675bd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"b2ade7657e2db96d18315694789eff2ddd3d8aea7215b181f8a0b303277cc579","impliedFormat":1},{"version":"9855e02d837744303391e5623a531734443a5f8e6e8755e018c41d63ad797db2","impliedFormat":1},{"version":"4d631b81fa2f07a0e63a9a143d6a82c25c5f051298651a9b69176ba28930756d","impliedFormat":1},{"version":"836a356aae992ff3c28a0212e3eabcb76dd4b0cc06bcb9607aeef560661b860d","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"41670ee38943d9cbb4924e436f56fc19ee94232bc96108562de1a734af20dc2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c906fb15bd2aabc9ed1e3f44eb6a8661199d6c320b3aa196b826121552cb3695","impliedFormat":1},{"version":"22295e8103f1d6d8ea4b5d6211e43421fe4564e34d0dd8e09e520e452d89e659","impliedFormat":1},{"version":"58647d85d0f722a1ce9de50955df60a7489f0593bf1a7015521efe901c06d770","impliedFormat":1},{"version":"6b4e081d55ac24fc8a4631d5dd77fe249fa25900abd7d046abb87d90e3b45645","impliedFormat":1},{"version":"a10f0e1854f3316d7ee437b79649e5a6ae3ae14ffe6322b02d4987071a95362e","impliedFormat":1},{"version":"e208f73ef6a980104304b0d2ca5f6bf1b85de6009d2c7e404028b875020fa8f2","impliedFormat":1},{"version":"d163b6bc2372b4f07260747cbc6c0a6405ab3fbcea3852305e98ac43ca59f5bc","impliedFormat":1},{"version":"e6fa9ad47c5f71ff733744a029d1dc472c618de53804eae08ffc243b936f87ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"83e63d6ccf8ec004a3bb6d58b9bb0104f60e002754b1e968024b320730cc5311","impliedFormat":1},{"version":"24826ed94a78d5c64bd857570fdbd96229ad41b5cb654c08d75a9845e3ab7dde","impliedFormat":1},{"version":"8b479a130ccb62e98f11f136d3ac80f2984fdc07616516d29881f3061f2dd472","impliedFormat":1},{"version":"928af3d90454bf656a52a48679f199f64c1435247d6189d1caf4c68f2eaf921f","affectsGlobalScope":true,"impliedFormat":1},{"version":"bceb58df66ab8fb00170df20cd813978c5ab84be1d285710c4eb005d8e9d8efb","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"77fbe5eecb6fac4b6242bbf6eebfc43e98ce5ccba8fa44e0ef6a95c945ff4d98","impliedFormat":1},{"version":"4f9d8ca0c417b67b69eeb54c7ca1bedd7b56034bb9bfd27c5d4f3bc4692daca7","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"a3fc63c0d7b031693f665f5494412ba4b551fe644ededccc0ab5922401079c95","impliedFormat":1},{"version":"f27524f4bef4b6519c604bdb23bf4465bddcccbf3f003abb901acbd0d7404d99","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"6b039f55681caaf111d5eb84d292b9bee9e0131d0db1ad0871eef0964f533c73","affectsGlobalScope":true,"impliedFormat":1},{"version":"18fd40412d102c5564136f29735e5d1c3b455b8a37f920da79561f1fde068208","impliedFormat":1},{"version":"c8d3e5a18ba35629954e48c4cc8f11dc88224650067a172685c736b27a34a4dc","impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"2b55d426ff2b9087485e52ac4bc7cfafe1dc420fc76dad926cd46526567c501a","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"5b7aa3c4c1a5d81b411e8cb302b45507fea9358d3569196b27eb1a27ae3a90ef","affectsGlobalScope":true,"impliedFormat":1},{"version":"5987a903da92c7462e0b35704ce7da94d7fdc4b89a984871c0e2b87a8aae9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea08a0345023ade2b47fbff5a76d0d0ed8bff10bc9d22b83f40858a8e941501c","impliedFormat":1},{"version":"47613031a5a31510831304405af561b0ffaedb734437c595256bb61a90f9311b","impliedFormat":1},{"version":"ae062ce7d9510060c5d7e7952ae379224fb3f8f2dd74e88959878af2057c143b","impliedFormat":1},{"version":"8a1a0d0a4a06a8d278947fcb66bf684f117bf147f89b06e50662d79a53be3e9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"358765d5ea8afd285d4fd1532e78b88273f18cb3f87403a9b16fef61ac9fdcfe","impliedFormat":1},{"version":"9f55299850d4f0921e79b6bf344b47c420ce0f507b9dcf593e532b09ea7eeea1","impliedFormat":1},{"version":"2beff543f6e9a9701df88daeee3cdd70a34b4a1c11cb4c734472195a5cb2af54","impliedFormat":1},{"version":"2e07abf27aa06353d46f4448c0bbac73431f6065eef7113128a5cd804d0c384d","impliedFormat":1},{"version":"be1cc4d94ea60cbe567bc29ed479d42587bf1e6cba490f123d329976b0fe4ee5","impliedFormat":1},{"version":"42bc0e1a903408137c3df2b06dfd7e402cdab5bbfa5fcfb871b22ebfdb30bd0b","impliedFormat":1},{"version":"9894dafe342b976d251aac58e616ac6df8db91fb9d98934ff9dd103e9e82578f","impliedFormat":1},{"version":"413df52d4ea14472c2fa5bee62f7a40abd1eb49be0b9722ee01ee4e52e63beb2","impliedFormat":1},{"version":"db6d2d9daad8a6d83f281af12ce4355a20b9a3e71b82b9f57cddcca0a8964a96","impliedFormat":1},{"version":"446a50749b24d14deac6f8843e057a6355dd6437d1fac4f9e5ce4a5071f34bff","impliedFormat":1},{"version":"182e9fcbe08ac7c012e0a6e2b5798b4352470be29a64fdc114d23c2bab7d5106","impliedFormat":1},{"version":"2f4e6b4d39426a1b85ecf4bdeb9dddbf4d9b3397d95d8555d46f925c9519ec7d","impliedFormat":1},{"version":"78a2869ad0cbf3f9045dda08c0d4562b7e1b2bfe07b19e0db072f5c3c56e9584","impliedFormat":1},{"version":"89d5d28d4f57e000b836ac273079be1b75710e28ce14750d081fb420d37e2ca5","impliedFormat":1},{"version":"fd4e24ccff3966390600d7f5d6aa1fed5a512e92ada735ea5fbc933d313ad3d3","impliedFormat":1},{"version":"b7cddfe1aa6b86b5fad3c9ccb30d05b3ccb165aebbf112f48d2d8a5f69dd98b1","impliedFormat":1},{"version":"a86f82d646a739041d6702101afa82dcb935c416dd93cbca7fd754fd0282ce1f","impliedFormat":1},{"version":"ad0d1d75d129b1c80f911be438d6b61bfa8703930a8ff2be2f0e1f8a91841c64","impliedFormat":1},{"version":"bd2c7ada3dee03653d3f601011d30072194bc3970cd93208f9588fbdc0c69347","impliedFormat":1},{"version":"e480da45d32313e7174b265674da504f075f59ef326852f0c5a5d863b438ae85","impliedFormat":1},{"version":"ad54850f61fcf5d014e11be80d2f46fea9265cfa7e77456da876f7833ef81769","impliedFormat":1},{"version":"6f7c9e8bd2b5b6a080b07080065f94900bd3c7e5ebbd3047bc33fcce2fab1dd8","impliedFormat":1},{"version":"3e7efde639c6a6c3edb9847b3f61e308bf7a69685b92f665048c45132f51c218","impliedFormat":1},{"version":"df45ca1176e6ac211eae7ddf51336dc075c5314bc5c253651bae639defd5eec5","impliedFormat":1},{"version":"8a0e762ceb20c7e72504feef83d709468a70af4abccb304f32d6b9bac1129b2c","impliedFormat":1},{"version":"da5950ee2a90721df6f3fba45f5d05308f7e4c35835392215dd2cd404505e2de","impliedFormat":1},{"version":"ce75b1aebb33d510ff28af960a9221410a3eaf7f18fc5f21f9404075fba77256","impliedFormat":1},{"version":"f42d5fed19610d485c646a0c430e768115567d078c7fc855c57b0c578b3d6cd3","impliedFormat":1},{"version":"ee8df1cb8d0faaca4013a1b442e99130769ce06f438d18d510fed95890067563","impliedFormat":1},{"version":"d5630f2ad9b4541e5ce891648121022f9412ecdca1820baa1f0104f70fd7eff7","impliedFormat":1},{"version":"4d15375ab13497104bc8fe56fdef2b5fd6853f29255737d23a33fa306ff7fd69","impliedFormat":1},{"version":"2cd3fc1d0d6a1e85baffd2d4f50f5efb192b5446eef567e97c94765402f0aad4","impliedFormat":1},{"version":"e4cbf2f1e89ecccaddd2c045e600ae41b732295953fb06247c7dcbc2d281ed30","impliedFormat":1},{"version":"27bbdb7509a5bb564020321fc5485764d0db3230a10d2336ae5ce2c1d401b0e7","impliedFormat":1},{"version":"8c1697d90c394a6fd955b98eae01238eff628e129b987a68aea10f898a48e7da","impliedFormat":1},{"version":"7580e62139cb2b44a0270c8d01abcbfcba2819a02514a527342447fa69b34ef1","impliedFormat":1},{"version":"42c169fb8c2d42f4f668c624a9a11e719d5d07dacbebb63cbcf7ef365b0a75b3","impliedFormat":1},{"version":"f374cb24e93e7798c4d9e83ff872fa52d2cdb36306392b840a6ddf46cb925cb6","impliedFormat":1},{"version":"d10d63718e1646c2279e3b33831f82c60e31f622b2b7020f1196409ca4c09242","impliedFormat":1},{"version":"106c6025f1d99fd468fd8bf6e5bda724e11e5905a4076c5d29790b6c3745e50c","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"148679c6d0f449210a96e7d2e562d589e56fcde87f843a92808b3ff103f1a774","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"02436d7e9ead85e09a2f8e27d5f47d9464bced31738dec138ca735390815c9f0","impliedFormat":1},{"version":"f8d5ff8eafd37499f2b6a98659dd9b45a321de186b8db6b6142faed0fea3de77","impliedFormat":1},{"version":"c86fe861cf1b4c46a0fb7d74dffe596cf679a2e5e8b1456881313170f092e3fa","impliedFormat":1},{"version":"a22dd55aa4d39906252000ab8e8a1b83b195eef7f4274eb51e457c1f11cf6580","impliedFormat":1},{"version":"540cc83ab772a2c6bc509fe1354f314825b5dba3669efdfbe4693ecd3048e34f","impliedFormat":1},{"version":"121b0696021ab885c570bbeb331be8ad82c6efe2f3b93a6e63874901bebc13e3","impliedFormat":1},{"version":"612d9da66bb046a9c1e2e8d026245ded881fc4b9f98cbfae714415d57ee0ae0b","impliedFormat":1},{"version":"32c2ad9494dad5d11b0564a619fee18f388db6c1e9e2cd3c360b3122549691eb","impliedFormat":1},{"version":"6c301d40aec56a74ec7bd7324e31a728dadf9bfba3e96def02938d3d973534ec","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"aa14cee20aa0db79f8df101fc027d929aec10feb5b8a8da3b9af3895d05b7ba2","impliedFormat":1},{"version":"493c700ac3bd317177b2eb913805c87fe60d4e8af4fb39c41f04ba81fae7e170","impliedFormat":1},{"version":"aeb554d876c6b8c818da2e118d8b11e1e559adbe6bf606cc9a611c1b6c09f670","impliedFormat":1},{"version":"acf5a2ac47b59ca07afa9abbd2b31d001bf7448b041927befae2ea5b1951d9f9","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"d71291eff1e19d8762a908ba947e891af44749f3a2cbc5bd2ec4b72f72ea795f","impliedFormat":1},{"version":"c0480e03db4b816dff2682b347c95f2177699525c54e7e6f6aa8ded890b76be7","impliedFormat":1},{"version":"25a5f6fd3a2243c859eddc99ab5fba11d970af2fe7a5df9c32b7668f76f97b01","impliedFormat":1},{"version":"8d207e1f9d2c30d6f77dfa693f3827c3fbf0d89240297e10bdfe1041d433df68","impliedFormat":1},{"version":"b620391fe8060cf9bedc176a4d01366e6574d7a71e0ac0ab344a4e76576fcbb8","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"2652448ac55a2010a1f71dd141f828b682298d39728f9871e1cdf8696ef443fd","impliedFormat":1},{"version":"d682336018141807fb602709e2d95a192828fcb8d5ba06dda3833a8ea98f69e3","impliedFormat":1},{"version":"6124e973eab8c52cabf3c07575204efc1784aca6b0a30c79eb85fe240a857efa","impliedFormat":1},{"version":"0d891735a21edc75df51f3eb995e18149e119d1ce22fd40db2b260c5960b914e","impliedFormat":1},{"version":"3b414b99a73171e1c4b7b7714e26b87d6c5cb03d200352da5342ab4088a54c85","impliedFormat":1},{"version":"4fbd3116e00ed3a6410499924b6403cc9367fdca303e34838129b328058ede40","impliedFormat":1},{"version":"9c82171d836c47486074e4ca8e059735bf97b205e70b196535b5efd40cbe1bc5","impliedFormat":1},{"version":"8c70ddc0c22d85e56011d49fddfaae3405eb53d47b59327b9dd589e82df672e7","impliedFormat":1},{"version":"2f9c89cbb29d362290531b48880a4024f258c6033aaeb7e59fbc62db26819650","impliedFormat":1},{"version":"a365c4d3bed3be4e4e20793c999c51f5cd7e6792322f14650949d827fbcd170f","impliedFormat":1},{"version":"c5426dbfc1cf90532f66965a7aa8c1136a78d4d0f96d8180ecbfc11d7722f1a5","impliedFormat":1},{"version":"65a15fc47900787c0bd18b603afb98d33ede930bed1798fc984d5ebb78b26cf9","impliedFormat":1},{"version":"9d202701f6e0744adb6314d03d2eb8fc994798fc83d91b691b75b07626a69801","impliedFormat":1},{"version":"de9d2df7663e64e3a91bf495f315a7577e23ba088f2949d5ce9ec96f44fba37d","impliedFormat":1},{"version":"c7af78a2ea7cb1cd009cfb5bdb48cd0b03dad3b54f6da7aab615c2e9e9d570c5","impliedFormat":1},{"version":"1ee45496b5f8bdee6f7abc233355898e5bf9bd51255db65f5ff7ede617ca0027","impliedFormat":1},{"version":"273782b8454e78f6a8b30d2cfbf6860499c930595095fcc1689637115f0eddda","affectsGlobalScope":true,"impliedFormat":1},{"version":"3fbdd025f9d4d820414417eeb4107ffa0078d454a033b506e22d3a23bc3d9c41","affectsGlobalScope":true,"impliedFormat":1},{"version":"dba114fb6a32b355a9cfc26ca2276834d72fe0e94cd2c3494005547025015369","impliedFormat":1},{"version":"a8f8e6ab2fa07b45251f403548b78eaf2022f3c2254df3dc186cb2671fe4996d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa6c12a7c0f6b84d512f200690bfc74819e99efae69e4c95c4cd30f6884c526e","impliedFormat":1},{"version":"f1c32f9ce9c497da4dc215c3bc84b722ea02497d35f9134db3bb40a8d918b92b","impliedFormat":1},{"version":"b73c319af2cc3ef8f6421308a250f328836531ea3761823b4cabbd133047aefa","affectsGlobalScope":true,"impliedFormat":1},{"version":"e433b0337b8106909e7953015e8fa3f2d30797cea27141d1c5b135365bb975a6","impliedFormat":1},{"version":"9f9bb6755a8ce32d656ffa4763a8144aa4f274d6b69b59d7c32811031467216e","impliedFormat":1},{"version":"5c32bdfbd2d65e8fffbb9fbda04d7165e9181b08dad61154961852366deb7540","impliedFormat":1},{"version":"ddff7fc6edbdc5163a09e22bf8df7bef75f75369ebd7ecea95ba55c4386e2441","impliedFormat":1},{"version":"0c05e9842ec4f8b7bfebfd3ca61604bb8c914ba8da9b5337c4f25da427a005f2","impliedFormat":1},{"version":"faed7a5153215dbd6ebe76dfdcc0af0cfe760f7362bed43284be544308b114cf","impliedFormat":1},{"version":"7029e566b8df176f703fb59fd437a38670c7a0e02c58b2d66dfb5b2e2b2defdb","impliedFormat":1},{"version":"7f2aa4d4989a82530aaac3f72b3dceca90e9c25bee0b1a327e8a08a1262435ad","impliedFormat":1},{"version":"d96b39301d0ded3f1a27b47759676a33a02f6f5049bfcbde81e533fd10f50dcb","impliedFormat":1},{"version":"e9f147ecca73d9346a4c073432843c159ccbe50bdcb678a78f6da10eae2cecf4","impliedFormat":1},{"version":"de061f7d72bd65c06fc1419f841dfdcb29a8e22fe6fa527d1e6eb20b897d4de0","impliedFormat":1},{"version":"663beafc2446079574570cba86e9b15f986f908ddb1b01274509970126fee945","impliedFormat":1},{"version":"a3102887d5058bf4cb5b37fa6964c09e9527c42053b3b5c642b89878620748de","impliedFormat":1},{"version":"0aaaa1727edd29673d85c9b26d7ca4d54e5407a48586903c51b48b7f7d196f61","impliedFormat":1},{"version":"d35bca0b261bff02635758c48e8ab99c61c420d0dfabbcf467e847171d876b7d","impliedFormat":1},{"version":"3bc12c40d90c342ff88a3d876996c555ed5cbee5fe8c3308a240b321f401ee46","impliedFormat":1},{"version":"ba130768aae855a5477e9e148e5c879548e6e7ccbcc56fd1934c8a18ea5b7569","impliedFormat":1},{"version":"2e4f37ffe8862b14d8e24ae8763daaa8340c0df0b859d9a9733def0eee7562d9","impliedFormat":1},{"version":"d38530db0601215d6d767f280e3a3c54b2a83b709e8d9001acb6f61c67e965fc","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"b499af2054a037a162b3b72cd886f48bbf32a3502c865c6e29fac7d2ab3ce0b5","impliedFormat":1},{"version":"b83cb14474fa60c5f3ec660146b97d122f0735627f80d82dd03e8caa39b4388c","impliedFormat":1},{"version":"d87f90d2df7b638204d81d6c57e1f2a8cc9317c45ca331c691c375649aa9255c","impliedFormat":1},{"version":"7274fbffbd7c9589d8d0ffba68157237afd5cecff1e99881ea3399127e60572f","impliedFormat":1},{"version":"b73cbf0a72c8800cf8f96a9acfe94f3ad32ca71342a8908b8ae484d61113f647","impliedFormat":1},{"version":"bae6dd176832f6423966647382c0d7ba9e63f8c167522f09a982f086cd4e8b23","impliedFormat":1},{"version":"20865ac316b8893c1a0cc383ccfc1801443fbcc2a7255be166cf90d03fac88c9","impliedFormat":1},{"version":"c9958eb32126a3843deedda8c22fb97024aa5d6dd588b90af2d7f2bfac540f23","impliedFormat":1},{"version":"461d0ad8ae5f2ff981778af912ba71b37a8426a33301daa00f21c6ccb27f8156","impliedFormat":1},{"version":"e927c2c13c4eaf0a7f17e6022eee8519eb29ef42c4c13a31e81a611ab8c95577","impliedFormat":1},{"version":"fcafff163ca5e66d3b87126e756e1b6dfa8c526aa9cd2a2b0a9da837d81bbd72","impliedFormat":1},{"version":"70246ad95ad8a22bdfe806cb5d383a26c0c6e58e7207ab9c431f1cb175aca657","impliedFormat":1},{"version":"f00f3aa5d64ff46e600648b55a79dcd1333458f7a10da2ed594d9f0a44b76d0b","impliedFormat":1},{"version":"772d8d5eb158b6c92412c03228bd9902ccb1457d7a705b8129814a5d1a6308fc","impliedFormat":1},{"version":"802e797bcab5663b2c9f63f51bdf67eff7c41bc64c0fd65e6da3e7941359e2f7","impliedFormat":1},{"version":"b01bd582a6e41457bc56e6f0f9de4cb17f33f5f3843a7cf8210ac9c18472fb0f","impliedFormat":1},{"version":"8b4327413e5af38cd8cb97c59f48c3c866015d5d642f28518e3a891c469f240e","impliedFormat":1},{"version":"4cceef18d7f088e797a463e90b7a9dad10c6bc667724b7686e3e740ae00122be","impliedFormat":1},{"version":"7ee86fbb3754388e004de0ef9e6505485ddfb3be7640783d6d015711c03d302d","impliedFormat":1},{"version":"cc1954b539604b1e562319119ac7e888172208b32ca873f9a357a92c826bd046","impliedFormat":1},{"version":"a67b87d0281c97dfc1197ef28dfe397fc2c865ccd41f7e32b53f647184cc7307","impliedFormat":1},{"version":"771ffb773f1ddd562492a6b9aaca648192ac3f056f0e1d997678ff97dbb6bf9b","impliedFormat":1},{"version":"43e96a3d5d1411ab40ba2f61d6a3192e58177bcf3b133a80ad2a16591611726d","impliedFormat":1},{"version":"232f70c0cf2b432f3a6e56a8dc3417103eb162292a9fd376d51a3a9ea5fbbf6f","impliedFormat":1},{"version":"bb8f2dbc03533abca2066ce4655c119bff353dd4514375beb93c08590c03e023","impliedFormat":1},{"version":"706dd95827e7ebaabda91d5db2b755233e0952d98570e9c032b0f066a15c1177","affectsGlobalScope":true,"impliedFormat":1},{"version":"0b103e9abfe82d14c0ad06a55d9f91d6747154ef7cacc73cf27ecad2bfb3afcf","impliedFormat":1},{"version":"990b8fad2327b77e6920cc792af320e8867e68f02ce849b12c0a6ab9a1aebb09","impliedFormat":1},{"version":"5eb8cd1cb0c9143d74a8190b577c522720878c31aef67d866fcd29973f83e955","impliedFormat":1},{"version":"120599fd965257b1f4d0ff794bc696162832d9d8467224f4665f713a3119078b","impliedFormat":1},{"version":"43ba4f2fa8c698f5c304d21a3ef596741e8e85a810b7c1f9b692653791d8d97a","impliedFormat":1},{"version":"5433f33b0a20300cca35d2f229a7fc20b0e8477c44be2affeb21cb464af60c76","impliedFormat":1},{"version":"db036c56f79186da50af66511d37d9fe77fa6793381927292d17f81f787bb195","impliedFormat":1},{"version":"a6805fcafed712aea7759f8bc731014f9d22738c1d6ef9d43b8091d1d48346d5","impliedFormat":1},{"version":"c49469a5349b3cc1965710b5b0f98ed6c028686aa8450bcb3796728873eb923e","impliedFormat":1},{"version":"4a889f2c763edb4d55cb624257272ac10d04a1cad2ed2948b10ed4a7fda2a428","impliedFormat":1},{"version":"7bb79aa2fead87d9d56294ef71e056487e848d7b550c9a367523ee5416c44cfa","impliedFormat":1},{"version":"d88ea80a6447d7391f52352ec97e56b52ebec934a4a4af6e2464cfd8b39c3ba8","impliedFormat":1},{"version":"142617b3cdf902b69c6464c9fbd942b60ab3e733ca18c032b19e0f7e2adbefe8","impliedFormat":1},{"version":"0b603555f1881f87256ffd6344d3e3ed6d466c2e701eabf381f28be8c2125892","impliedFormat":1},{"version":"897e4f7662488e3ecc79e743bdd3b78f13bdb69a97851afa5b440c4211e32ea9","impliedFormat":1},{"version":"e2e1c6d3b2d93add5200bd7bc1a8cccb4e446836b2111ece45db8683a2c765de","impliedFormat":1},{"version":"251b03d5cd243854ce870d9a9a39f491faf69898c5d6b5eee28cc7649c57417b","impliedFormat":1},{"version":"27ff4196654e6373c9af16b6165120e2dd2169f9ad6abb5c935af5abd8c7938c","impliedFormat":1},{"version":"2c4de79f406d137390608e8c0a44fba2ff8e00bacfcae7c9d1781fef10e9440d","impliedFormat":1},{"version":"07ba23a10465791be5d22deaf5ef7de7658774ddff53721e5ea17fedea1bc721","impliedFormat":1},{"version":"dca8c645c5afeb03b1ecedbf16323f33e7d0afaa6256c8e047e6e38087a97f53","impliedFormat":1},{"version":"775f181bd4a533d6f8b5e55ec1d9f1624559720ae8a70e9432258da26b38d27c","impliedFormat":1},{"version":"796273b2edc72e78a04e86d7c58ae94d370ab93a0ddf40b1aa85a37a1c29ecd7","impliedFormat":1},{"version":"5df15a69187d737d6d8d066e189ae4f97e41f4d53712a46b2710ff9f8563ec9f","impliedFormat":1},{"version":"9109a1291dd4b9f1541bea81ee11c247a2ca9e1ea89f87f13aa1811c3c069616","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"622694a8522b46f6310c2a9b5d2530dde1e2854cb5829354e6d1ff8f371cf469","impliedFormat":1},{"version":"cd8ce8d68567f62dd580b3c3c37777ac3f5b81944c7417f5ea83030eab533385","impliedFormat":1},{"version":"e374d1eaa05b7dc38580062942ac8351ce79cbe11f6dbce4946a582a5680582d","impliedFormat":1},{"version":"9e2739b32f741859263fdba0244c194ca8e96da49b430377930b8f721d77c000","impliedFormat":1},{"version":"a9e6c0ff3f8186fccd05752cf75fc94e147c02645087ac6de5cc16403323d870","impliedFormat":1},{"version":"49af4b52f0d4d2304c5f2c6fe5fab3e153e0acc38830d0202821b877c097dd02","impliedFormat":1},{"version":"49c346823ba6d4b12278c12c977fb3a31c06b9ca719015978cb145eb86da1c61","impliedFormat":1},{"version":"bfac6e50eaa7e73bb66b7e052c38fdc8ccfc8dbde2777648642af33cf349f7f1","impliedFormat":1},{"version":"92f7c1a4da7fbfd67a2228d1687d5c2e1faa0ba865a94d3550a3941d7527a45d","impliedFormat":1},{"version":"f53b120213a9289d9a26f5af90c4c686dd71d91487a0aa5451a38366c70dc64b","impliedFormat":1},{"version":"e68b8e5a1df7c1be2bc105141456ecba70215806e1c28bfbc5c12bfce4be6e68","impliedFormat":1},{"version":"511c8f02329808d47d00b859c532ae9115590048b17325a946c74dac48428650","impliedFormat":1},{"version":"57d67b72e06059adc5e9454de26bbfe567d412b962a501d263c75c2db430f40e","impliedFormat":1},{"version":"b5f9e66625783eefcbe3d2da074b2e7ba2066d61ce3fc6ef4f22805ad946cab4","impliedFormat":1},{"version":"e37115962d284b9f7a37c2bdd2add50f88365dde41f5e0ff591ffc48a8ec7575","impliedFormat":1},{"version":"6459054aabb306821a043e02b89d54da508e3a6966601a41e71c166e4ea1474f","impliedFormat":1},{"version":"bb37588926aba35c9283fe8d46ebf4e79ffe976343105f5c6d45f282793352b2","impliedFormat":1},{"version":"f89488602bec98a142072fae7ea5ba99431a569ff580c64b7be39896474799d8","impliedFormat":1},{"version":"bbbc47961f39a57df103cf4ca3bb8f8732b4b6678a18225a0aa76d59c466956c","impliedFormat":1},{"version":"2e6114a7dd6feeef85b2c80120fdbfb59a5529c0dcc5bfa8447b6996c97a69f5","impliedFormat":1},{"version":"2ffb043dc5163458e473b7010859f86e01dc4edffcae0a93d885d028b426a546","impliedFormat":1},{"version":"c8f004e6036aa1c764ad4ec543cf89a5c1893a9535c80ef3f2b653e370de45e6","impliedFormat":1},{"version":"dd80b1e600d00f5c6a6ba23f455b84a7db121219e68f89f10552c54ba46e4dc9","impliedFormat":1},{"version":"b064c36f35de7387d71c599bfcf28875849a1dbc733e82bd26cae3d1cd060521","impliedFormat":1},{"version":"05c7280d72f3ed26f346cbe7cbbbb002fb7f15739197cbbee6ab3fd1a6cb9347","impliedFormat":1},{"version":"8de9fe97fa9e00ec00666fa77ab6e91b35d25af8ca75dabcb01e14ad3299b150","impliedFormat":1},{"version":"04b7b2e0832dfd3c31e81df3975e8d8fda28e7ff999b0aa2932608a8f6661d5c","impliedFormat":1},{"version":"ca2d34c6ed5cbd3070b8b6f32f42ae54adcc6499c1e4b99f0a5798b3f27cc653","impliedFormat":1},{"version":"9ec68995e66dd6b9dac834bf5ae85fde802714ea2e82151a5d1d53ef01b463ef","impliedFormat":1},{"version":"5c4d626b4902f2ef8a1cc146d761d276cef988016dc674e3b98fbad70e64bc9f","impliedFormat":1},{"version":"fdfaa0aad899524962e2955287b5b991ffe3be50f64e02eb60c933ca44644a94","impliedFormat":1},{"version":"53c972a0f9bc3a4ec70fff7314123ea8cfcf75b3703046f767d2dc1eea87b2fb","impliedFormat":1},{"version":"f974e4a06953682a2c15d5bd5114c0284d5abf8bc0fe4da25cb9159427b70072","impliedFormat":1},{"version":"50256e9c31318487f3752b7ac12ff365c8949953e04568009c8705db802776fb","impliedFormat":1},{"version":"7d73b24e7bf31dfb8a931ca6c4245f6bb0814dfae17e4b60c9e194a631fe5f7b","impliedFormat":1},{"version":"d130c5f73768de51402351d5dc7d1b36eaec980ca697846e53156e4ea9911476","impliedFormat":1},{"version":"413586add0cfe7369b64979d4ec2ed56c3f771c0667fbde1bf1f10063ede0b08","impliedFormat":1},{"version":"06472528e998d152375ad3bd8ebcb69ff4694fd8d2effaf60a9d9f25a37a097a","impliedFormat":1},{"version":"7303b45138d2511035056a5901a1490ebdcbf055cbb1276f8629c5121cbe733e","impliedFormat":1},{"version":"27f874cd5327507eeff699a74567f60c1215b94509f4308633a7b01922471ed2","impliedFormat":1},{"version":"a401617604fa1f6ce437b81689563dfdc377069e4c58465dbd8d16069aede0a5","impliedFormat":1},{"version":"2c6cf04bc525caf6546e859e8ef10bfb9573837ec0bc5ec7b53a7b1b8ca72781","impliedFormat":1},{"version":"8695dec09ad439b0ceef3776ea68a232e381135b516878f0901ed2ea114fd0fe","impliedFormat":1},{"version":"304b44b1e97dd4c94697c3313df89a578dca4930a104454c99863f1784a54357","impliedFormat":1},{"version":"0a437ae178f999b46b6153d79095b60c42c996bc0458c04955f1c996dc68b971","impliedFormat":1},{"version":"74b2a5e5197bd0f2e0077a1ea7c07455bbea67b87b0869d9786d55104006784f","impliedFormat":1},{"version":"4a7baeb6325920044f66c0f8e5e6f1f52e06e6d87588d837bdf44feb6f35c664","impliedFormat":1},{"version":"87cc05fe13108f02e12da7e3efd8e360fef78d96a0c9e11408ea1b1b9fb3e03d","impliedFormat":1},{"version":"1abbf67c218d23c2ce76887caac2df6c7dab3d97ba2b65348432b876f510002a","impliedFormat":1},{"version":"1a82deef4c1d39f6882f28d275cad4c01f907b9b39be9cbc472fcf2cf051e05b","impliedFormat":1},{"version":"4b20fcf10a5413680e39f5666464859fc56b1003e7dfe2405ced82371ebd49b6","impliedFormat":1},{"version":"c06ef3b2569b1c1ad99fcd7fe5fba8d466e2619da5375dfa940a94e0feea899b","impliedFormat":1},{"version":"f7d628893c9fa52ba3ab01bcb5e79191636c4331ee5667ecc6373cbccff8ae12","impliedFormat":1},{"version":"1d879125d1ec570bf04bc1f362fdbe0cb538315c7ac4bcfcdf0c1e9670846aa6","impliedFormat":1},{"version":"8bd496cf710d4873d15e4891a5dbf945673e3321ca74cf75187e347fd5ed295e","impliedFormat":1},{"version":"a6dba407fc287f1e25454e75028c91bbc00675f2d1c4e8b3edcc36c08611a486","impliedFormat":1},{"version":"d663134457d8d669ae0df34eabd57028bddc04fc444c4bc04bc5215afc91e1f4","impliedFormat":1},{"version":"e91f7b1344577a02f051b9b471f33044fef8334a76dc9e1de003d17595a5219b","impliedFormat":1},{"version":"c0723195c85e19656d6b5b9fdb81d3f3403c1ae4679e722c6ea058c516b38d12","impliedFormat":1},{"version":"186eea74805194f04e41038fc5eca653788b9dedbab7c2d7d17e10139622dd92","impliedFormat":1},{"version":"71d9eb4c4e99456b78ae182fb20a5dfc20eb1667f091dbb9335b3c017dd1c783","impliedFormat":1},{"version":"cfa846a7b7847a1d973605fbb8c91f47f3a0f0643c18ac05c47077ebc72e71c7","impliedFormat":1},{"version":"1594da19968752a22b2ac48c2d0e60575700e745c577a8a4a676b841238ad5bb","impliedFormat":1},{"version":"e0cee12109e0a10a4c3d6769fcc7644b7c1ea7f52365bea51728f5af29f8a137","impliedFormat":1},{"version":"7d4254b4c6c67a29d5e7f65e67d72540480ac2cfb041ca484847f5ae70480b62","impliedFormat":1},{"version":"3536968defef8a75514f547ead5e2e9c1e984820290ec9b00c5fdfb6ef786535","impliedFormat":1},{"version":"d83773870080c30a230e322ce13a9c6f3398e8dacea4ea8a83e26370f3bac23e","impliedFormat":1},{"version":"dcfeaf98d66314fec29a9076c4290e45d0b196a65827becc19138e9c7b855f37","impliedFormat":1},{"version":"6849fe9210fe4946d5f085bfed36758f33dc6ae15a751338d178dd4daa017c46","impliedFormat":1},{"version":"888cda0fa66d7f74e985a3f7b1af1f64b8ff03eb3d5e80d051c3cbdeb7f32ab7","impliedFormat":1},{"version":"60681e13f3545be5e9477acb752b741eae6eaf4cc01658a25ec05bff8b82a2ef","impliedFormat":1},{"version":"ffae4e1e06aa848a1e4bcef162cd1c48e5909b26223515981310af9c036bdfc7","impliedFormat":1},{"version":"a57b1802794433adec9ff3fed12aa79d671faed86c49b09e02e1ac41b4f1d33a","impliedFormat":1},{"version":"34e16eb7c31768a11a08aebcfb3d70d7b8f0b016197e98d8419e566ceae6d6c8","impliedFormat":1},{"version":"f94ec1f7e4b709d26960306c9082a7a1b728a6e13089346aa48ba57c74cbf47e","impliedFormat":1},{"version":"9a11cb4033405e96c247cd5aa29790212aaffdd127869e8a5219103f0b389fd5","impliedFormat":1},{"version":"01479d9d5a5dda16d529b91811375187f61a06e74be294a35ecce77e0b9e8d6c","impliedFormat":1},{"version":"aff5213585cb72e94054dfe17250ff315f3569b3919d1ef1ad235f37c4ee894e","impliedFormat":1},{"version":"fb2ea35e1be6388d722d7725e2b49c697d34d9c890c3b96758faaeb86d35cef8","impliedFormat":1},{"version":"ce0df82a9ae6f914ba08409d4d883983cc08e6d59eb2df02d8e4d68309e7848b","impliedFormat":1},{"version":"1a4dc28334a926d90ba6a2d811ba0ff6c22775fcc13679521f034c124269fd40","impliedFormat":1},{"version":"f05315ff85714f0b87cc0b54bcd3dde2716e5a6b99aedcc19cad02bf2403e08c","impliedFormat":1},{"version":"5fad3b31fc17a5bc58095118a8b160f5260964787c52e7eb51e3d4fcf5d4a6f0","impliedFormat":1},{"version":"72105519d0390262cf0abe84cf41c926ade0ff475d35eb21307b2f94de985778","impliedFormat":1},{"version":"456006a6975b26c0a1785feddae165f6d307e2d601ffde27e21fc4a790e448a4","impliedFormat":1},{"version":"c857e0aae3f5f444abd791ec81206020fbcc1223e187316677e026d1c1d6fe08","impliedFormat":1},{"version":"ccf6dd45b708fb74ba9ed0f2478d4eb9195c9dfef0ff83a6092fa3cf2ff53b4f","impliedFormat":1},{"version":"1fe0d18b111e1145a7e7601855bccd4ca20f24e3b9a5aba6bb1fa9d1a7059170","impliedFormat":1},{"version":"5632c3c26d420c063eebe64c45b1248b9492a67bf44f1d0c57e9dc8f6cf449bb","impliedFormat":1},{"version":"0df5aa619ab12993a39ea6dae062ee46eadbb4d738916460e636ada52bced75b","impliedFormat":1},{"version":"8fca3039857709484e5893c05c1f9126ab7451fa6c29e19bb8c2411a2e937345","impliedFormat":1},{"version":"35069c2c417bd7443ae7c7cafd1de02f665bf015479fec998985ffbbf500628c","impliedFormat":1},{"version":"10ab7be91f87ebe8916b62cf28af2e45b5601fc7b0e311adf838f912c6b31dd8","impliedFormat":1},{"version":"bc636fbc08e0979ceb7eb0731a33000283d77a33b62e1f71ee65be50394e40ba","impliedFormat":1},{"version":"7e0b7f91c5ab6e33f511efc640d36e6f933510b11be24f98836a20a2dc914c2d","impliedFormat":1},{"version":"045b752f44bf9bbdcaffd882424ab0e15cb8d11fa94e1448942e338c8ef19fba","impliedFormat":1},{"version":"2894c56cad581928bb37607810af011764a2f511f575d28c9f4af0f2ef02d1ab","impliedFormat":1},{"version":"0a72186f94215d020cb386f7dca81d7495ab6c17066eb07d0f44a5bf33c1b21a","impliedFormat":1},{"version":"75bbd3be047d539988a0ff0b56384ef7a6a25f3b676ad96bee547d44c31622a7","impliedFormat":1},{"version":"42960001a776b089ade681ab5cfddc936e0afb0615133ec1841f3dee89d3e1bf","impliedFormat":1},{"version":"0aedb02516baf3e66b2c1db9fef50666d6ed257edac0f866ea32f1aa05aa474f","impliedFormat":1},{"version":"da47712b394d944328245482603bc6f416d3949b67c9392279caab595076b510","affectsGlobalScope":true,"impliedFormat":1},{"version":"37d0071d8f0a06dc55c2c5e0ec3391affd4fd107c53410bf358196ec0bf3923f","impliedFormat":1},{"version":"b213dad76ca37fd552274c9499056e1c0d9c1bd38a55bb7f68b22ba6b84c3ad7","impliedFormat":1},{"version":"56ccb49443bfb72e5952f7012f0de1a8679f9f75fc93a5c1ac0bafb28725fc5f","impliedFormat":1},{"version":"20fa37b636fdcc1746ea0738f733d0aed17890d1cd7cb1b2f37010222c23f13e","impliedFormat":1},{"version":"d90b9f1520366d713a73bd30c5a9eb0040d0fb6076aff370796bc776fd705943","impliedFormat":1},{"version":"bc03c3c352f689e38c0ddd50c39b1e65d59273991bfc8858a9e3c0ebb79c023b","impliedFormat":1},{"version":"19df3488557c2fc9b4d8f0bac0fd20fb59aa19dec67c81f93813951a81a867f8","affectsGlobalScope":true,"impliedFormat":1},{"version":"b25350193e103ae90423c5418ddb0ad1168dc9c393c9295ef34980b990030617","affectsGlobalScope":true,"impliedFormat":1},{"version":"bef86adb77316505c6b471da1d9b8c9e428867c2566270e8894d4d773a1c4dc2","impliedFormat":1},{"version":"5a49adaef698b7ad7e6127949fa1b0bbd3d46b7cbd11c54e392a4dcdd51f5190","impliedFormat":1},{"version":"96171c03c2e7f314d66d38acd581f9667439845865b7f85da8df598ff9617476","impliedFormat":1},{"version":"27be6622e2922a1b412eb057faa854831b95db9db5035c3f6d4b677b902ab3b7","impliedFormat":1},{"version":"5c634644d45a1b6bc7b05e71e05e52ec04f3d73d9ac85d5927f647a5f965181a","impliedFormat":1},{"version":"2489bf04d77dc025ba67f49f1a56eb24b9db477d5ff88123d887e163ed1776aa","impliedFormat":1},{"version":"63a7595a5015e65262557f883463f934904959da563b4f788306f699411e9bac","impliedFormat":1},{"version":"4ba137d6553965703b6b55fd2000b4e07ba365f8caeb0359162ad7247f9707a6","impliedFormat":1},{"version":"0b77b819b5417775fccb20c678293cf614c054a5b1a65421a5b933a9124ba998","impliedFormat":1},{"version":"e1f6076688a95bd82deaac740fccbe3cdea0d8a22057cccc9c5bce4398bdd33b","impliedFormat":1},{"version":"9252d498a77517aab5d8d4b5eb9d71e4b225bbc7123df9713e08181de63180f6","impliedFormat":1},{"version":"b1f1d57fde8247599731b24a733395c880a6561ec0c882efaaf20d7df968c5af","impliedFormat":1},{"version":"d7c1bbcddb06dcc8c9184013ace33c0dc71af715ab5987ccb42b903d2ec91193","impliedFormat":1},{"version":"35e6379c3f7cb27b111ad4c1aa69538fd8e788ab737b8ff7596a1b40e96f4f90","impliedFormat":1},{"version":"1fffe726740f9787f15b532e1dc870af3cd964dbe29e191e76121aa3dd8693f2","impliedFormat":1},{"version":"5a3ea721d03a361ccbdd7390ccd75f6e84cbca3a3f01f4b331ecc9af31890c49","impliedFormat":1},{"version":"e7dfaee4af38d45b1cab8a1ee0b3bc1f85ddcf64545ed391d675d78ae6526274","affectsGlobalScope":true,"impliedFormat":1},{"version":"98e2b197bf7fe7800f89c87825e2556d66474869845e97ad9c2b36f347c43539","impliedFormat":1},{"version":"af48e58339188d5737b608d41411a9c054685413d8ae88b8c1d0d9bfabdf6e7e","impliedFormat":1},{"version":"616775f16134fa9d01fc677ad3f76e68c051a056c22ab552c64cc281a9686790","impliedFormat":1},{"version":"65c24a8baa2cca1de069a0ba9fba82a173690f52d7e2d0f1f7542d59d5eb4db0","impliedFormat":1},{"version":"f9fe6af238339a0e5f7563acee3178f51db37f32a2e7c09f85273098cee7ec49","impliedFormat":1},{"version":"1de8c302fd35220d8f29dea378a4ae45199dc8ff83ca9923aca1400f2b28848a","impliedFormat":1},{"version":"77e71242e71ebf8528c5802993697878f0533db8f2299b4d36aa015bae08a79c","impliedFormat":1},{"version":"98a787be42bd92f8c2a37d7df5f13e5992da0d967fab794adbb7ee18370f9849","impliedFormat":1},{"version":"332248ee37cca52903572e66c11bef755ccc6e235835e63d3c3e60ddda3e9b93","impliedFormat":1},{"version":"94e8cc88ae2ef3d920bb3bdc369f48436db123aa2dc07f683309ad8c9968a1e1","impliedFormat":1},{"version":"4545c1a1ceca170d5d83452dd7c4994644c35cf676a671412601689d9a62da35","impliedFormat":1},{"version":"320f4091e33548b554d2214ce5fc31c96631b513dffa806e2e3a60766c8c49d9","impliedFormat":1},{"version":"a2d648d333cf67b9aeac5d81a1a379d563a8ffa91ddd61c6179f68de724260ff","impliedFormat":1},{"version":"d90d5f524de38889d1e1dbc2aeef00060d779f8688c02766ddb9ca195e4a713d","impliedFormat":1},{"version":"07ed3ddab975995eea41b22f3010506fb9f5fb301d04820b07d7a1aee5477d7c","impliedFormat":1},{"version":"969d8b0965849f4bae7cab0ba90bd1e1220e95999c2c6f01117fa7500901c017","impliedFormat":1},{"version":"6ec840ee5e2bc103f557fe38b1d585ee250540468713d7634ee066de372bf332","impliedFormat":1},{"version":"b0309e1eda99a9e76f87c18992d9c3689b0938266242835dd4611f2b69efe456","impliedFormat":1},{"version":"47699512e6d8bebf7be488182427189f999affe3addc1c87c882d36b7f2d0b0e","impliedFormat":1},{"version":"6ceb10ca57943be87ff9debe978f4ab73593c0c85ee802c051a93fc96aaf7a20","impliedFormat":1},{"version":"1de3ffe0cc28a9fe2ac761ece075826836b5a02f340b412510a59ba1d41a505a","impliedFormat":1},{"version":"e46d6cc08d243d8d0d83986f609d830991f00450fb234f5b2f861648c42dc0d8","impliedFormat":1},{"version":"1c0a98de1323051010ce5b958ad47bc1c007f7921973123c999300e2b7b0ecc0","impliedFormat":1},{"version":"ff863d17c6c659440f7c5c536e4db7762d8c2565547b2608f36b798a743606ca","impliedFormat":1},{"version":"5412ad0043cd60d1f1406fc12cb4fb987e9a734decbdd4db6f6acf71791e36fe","impliedFormat":1},{"version":"ad036a85efcd9e5b4f7dd5c1a7362c8478f9a3b6c3554654ca24a29aa850a9c5","impliedFormat":1},{"version":"fedebeae32c5cdd1a85b4e0504a01996e4a8adf3dfa72876920d3dd6e42978e7","impliedFormat":1},{"version":"e297c0a524edee7677939122f90027bfbe5f2698939d9a85728e5044b39c7124","impliedFormat":1},{"version":"cdf21eee8007e339b1b9945abf4a7b44930b1d695cc528459e68a3adc39a622e","impliedFormat":1},{"version":"bc9ee0192f056b3d5527bcd78dc3f9e527a9ba2bdc0a2c296fbc9027147df4b2","impliedFormat":1},{"version":"b62381cae176db34f003cc6172ee8f3e0122014889d66391aa73698105cf4934","impliedFormat":1},{"version":"1d9c0a9a6df4e8f29dc84c25c5aa0bb1da5456ebede7a03e03df08bb8b27bae6","impliedFormat":1},{"version":"84380af21da938a567c65ef95aefb5354f676368ee1a1cbb4cae81604a4c7d17","impliedFormat":1},{"version":"1af3e1f2a5d1332e136f8b0b95c0e6c0a02aaabd5092b36b64f3042a03debf28","impliedFormat":1},{"version":"30d8da250766efa99490fc02801047c2c6d72dd0da1bba6581c7e80d1d8842a4","impliedFormat":1},{"version":"03566202f5553bd2d9de22dfab0c61aa163cabb64f0223c08431fb3fc8f70280","impliedFormat":1},{"version":"41eb514d9ce0a6e87957f08a4b7af70d93f87637f37dee706e2d92a6601c25a9","impliedFormat":1},{"version":"e7765aa8bcb74a38b3230d212b4547686eb9796621ffb4367a104451c3f9614f","impliedFormat":1},{"version":"1de80059b8078ea5749941c9f863aa970b4735bdbb003be4925c853a8b6b4450","impliedFormat":1},{"version":"1d079c37fa53e3c21ed3fa214a27507bda9991f2a41458705b19ed8c2b61173d","impliedFormat":1},{"version":"5bf5c7a44e779790d1eb54c234b668b15e34affa95e78eada73e5757f61ed76a","impliedFormat":1},{"version":"5835a6e0d7cd2738e56b671af0e561e7c1b4fb77751383672f4b009f4e161d70","impliedFormat":1},{"version":"4b7f74b772140395e7af67c4841be1ab867c11b3b82a51b1aeb692822b76c872","impliedFormat":1},{"version":"7bd01f0f28cd3aeb2046274d85208e245965f6f2948edf4f7b2057bcf9f22ccc","impliedFormat":99},{"version":"d2f2cf2b8cc92bea913cda4a076e0f790b23a21e84f989d12f0116a7fe3906e0","impliedFormat":99},{"version":"6de125ea94866c736c6d58d68eb15272cf7d1020a5b459fea1c660027eca9a90","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5b20bc288ee49989c95b20847fc93b96bf61cc0845598897a6a53a967dd7d07","affectsGlobalScope":true,"impliedFormat":1},{"version":"064ac1c2ac4b2867c2ceaa74bbdce0cb6a4c16e7c31a6497097159c18f74aa7c","impliedFormat":1},{"version":"3dc14e1ab45e497e5d5e4295271d54ff689aeae00b4277979fdd10fa563540ae","impliedFormat":1},{"version":"d3b315763d91265d6b0e7e7fa93cfdb8a80ce7cdd2d9f55ba0f37a22db00bdb8","impliedFormat":1},{"version":"b789bf89eb19c777ed1e956dbad0925ca795701552d22e68fd130a032008b9f9","impliedFormat":1},{"version":"42fb3e6be3cf1e414dd7f85f41952e01d3d1247e4bc2837c3acefbf8df15848d","affectsGlobalScope":true},"7ad303e40d4fddf44f156129e397511953a71481c5cfd86b1862649aaaf240cc",{"version":"bd71532d2ef9685100fc1d5af27700e00c124bcef822714de033d1ef8ceae68d","impliedFormat":1},{"version":"1500f8d59bcddb77e890fe5b7032496ce022480e842f06cbdc373b1e0351b4a4","impliedFormat":1},{"version":"3e9d75b64d36ee20eae2089fab7de08c37d851a61052431a2ad748836a676edf","impliedFormat":1},{"version":"1fd82d80d129bc16cae6ca3f86fd5eeb2f04caf08209a3130928e8c09f894962","impliedFormat":1},{"version":"6a15f821211db88f7bb36c7278d113ef014804ce53689ef8e1a207dce0c848de","impliedFormat":1},{"version":"5e3e75a4982fee4e3435e6b517e7efddcd3c0508d148e35707b78522a76edeb8","impliedFormat":1},{"version":"752c24b6d7e82f3397f60ded02915bfe90df06370d0dc991c3d491ac2b2083cc","impliedFormat":1},{"version":"ddc11f385daa285bb0038898cef607ec492c7072e92df84d52df9d05a7092458","impliedFormat":1},{"version":"a22806a27f1b4c5d5616a87a62a3d89ad5b296fac68ae0a897429eb212ea3136","impliedFormat":1},{"version":"7c2c53a02a478ca87cab2342d35702e201775143cebee8b368372a181209decd","impliedFormat":1},{"version":"181694d1f7a579e57c55efb1418904efc513ebce0b08601e94f288674104359e","impliedFormat":1},{"version":"7e9b2581de465503aad53611709c61a3becd372b86c43bf9863f5715a1616fd5","impliedFormat":1},{"version":"d415bfa0853e03226a2342ab7ee3ef0d085e6d94e7dde869fe745ab11a8b3cc6","impliedFormat":1},{"version":"eed0cfbd238f0f9def37d26d793393c8cfb59afe28ecd1a4639a58905abdadf1","impliedFormat":1},{"version":"014705d98454b8d9f5bbf5c7dffa2079d151866d6e12d552e5faa2df8ee2fd5b","impliedFormat":1},{"version":"ab1296040de80ee4c7cfa5c52ff8f3b34a3f19a80ba4c9d3902ee9f98d34b6b5","impliedFormat":1},{"version":"952dc396aaf92bf4061cefdeb1a8619e52a44d7c3c0cc3bad1a1ddc6c2b417e4","impliedFormat":1},{"version":"416eec23b202526964d0f5ebf0ca9e0d8c08e4260bc0946143b66f1a1e17b787","impliedFormat":1},{"version":"bcb14be213a11d4ae3a33bd4af11d57b50a0897c0f7df0fa98cd8ee80a1b4a20","impliedFormat":1},{"version":"116b961153d86b304e788884c4a05630fe98423bcfc14c7a7ea8d542092aac10","impliedFormat":1},{"version":"f17c007d95f666ecf664ff13ca8efc196980597c4ca152a0baaa82b2525e2328","impliedFormat":1},{"version":"02ff761f690163463a4e7594d666e4c73995c4f72746a5967b3477d9ecf62c4e","impliedFormat":1},{"version":"84206a85be8e7e8f9307c1d5c087aedb4d389e05b755234aa8f37cc22f717aaf","impliedFormat":1},{"version":"45b1df23c0a6e5b45cb8fc998bd90fa9a6a79f2931f6bb1bd15cf8f7efd886d0","impliedFormat":1},{"version":"5f318c52eac7a06cd901b55e8e930d2c3dd51b7dbdca01b130e61c3e9b8b4f0a","impliedFormat":1},{"version":"f5b284ceadf71472a8fbf555dbd91079cce0ce7ba54f65dd63d18deec84cd11d","impliedFormat":1},{"version":"11f848107bc2f7535adccd37b55f018a0f18abbf5a1cd276f5776779618c37ed","impliedFormat":1},{"version":"8f47ed340254a8ccdf37035d9cba70f53a4d899804da840b47f4c3b07a7b2063","impliedFormat":1},{"version":"e79e9c45db9751fa7819ee7ba2eadbe8bface0b0f5d4a93c75f65bbb92e2f5c5","impliedFormat":1},{"version":"50b54f6dac82c34e8c12b35eac220ccc178f51e84813179826da0e3e96283af9","impliedFormat":1},{"version":"8acbcc0484e6495472d86da47abe9765541a2ecbaf88f4fecdab40670aeed333","impliedFormat":1},{"version":"6fd6fcadeab3b973ea52c2dbfcc960f23e086ea3bc07aaa0e1c6d0d690f8e776","impliedFormat":1},{"version":"7eed214004cc8d86022792c07075758fe61847c70c6c360235f3960492fd6155","impliedFormat":1},{"version":"a59fdd5525468b9afe1fef2238f5b990c640723bd430c589b4c963d576209be8","impliedFormat":1},{"version":"23c0f554c1fab508370678aca41cf9b1d6a6a00069e499d803d43387067fea9d","impliedFormat":1},{"version":"016f140691ab5fea3357a89c6a254ff8ada91173d22d36921bb8295fe5d828ab","impliedFormat":1},{"version":"ee219b4332439451cbf9ee34584e8a7e67be35d8ed3d1b292769a09483a102ce","impliedFormat":1},{"version":"305c2373ff739ceca5780a204766c76617e74b551f6fc646a358b5f687a77333","impliedFormat":1},{"version":"61c5821b70e113b15f24593e7061e6302635448ae700d813f06560ca5f140727","impliedFormat":1},{"version":"1e127052ae269b7f278b828978b962eb93bbc6134c0bda8b03e3f39df5c3865d","impliedFormat":1},{"version":"716cb84b8b410c52de9e7b310b2125cbc390a7c59e929a5c0a29514345b9ba9f","impliedFormat":1},{"version":"edabf50cfd2310b9af7214ecb821e0af6c43f66d8b5fb297d532f27bba242088","impliedFormat":1},{"version":"1687d528ca6c51a635f9a4022973f472221700464be83810788238a595cb588c","impliedFormat":1},{"version":"32162214c3f25748f784283a3f6059ad3d09d845faccc52b5c2cf521eace6bd6","impliedFormat":1},{"version":"4a13f78f265e7deb260bd0cc9063b9927a39f99f7cc8bb62b0310aa3a1df3efd","impliedFormat":1},{"version":"c04c509a58cc86b654326592aca64d7ceab81a208735c391dd171ca438114ea9","impliedFormat":1},{"version":"74c6a2352b00e41d352cc23e98e8d6313d5631738a5ea734f1c7bff0192b0f47","impliedFormat":1},{"version":"fc94bcfb823846ba8b4c1727520a3d509c9f517d4e803dfb45e6a71b41000eb8","impliedFormat":1},{"version":"0f6f23cdfb415a7c1c1d825a29d7750a4d65908e519ceff44feca8eb7f9a8ca4","impliedFormat":1},{"version":"e4c09f8a818679f80931fae1d0ca3dec192708c510c9f33fe56d71abe8337c59","impliedFormat":1},{"version":"b1cc0dfdc0455283ccf003185dbbc51e2c15299aff343413310eaf45c4572323","impliedFormat":1},{"version":"6efbec437d1022c2fd82055687710f25019fe703528a7033a3fc6fbfc08b1361","impliedFormat":1},{"version":"2a343c23d4be0af3d5b136ad2009a40d6704c901b6b385cc4df355cf6c0acfaa","impliedFormat":1},{"version":"af4beeac0e879b673f8b874e5fe013bdebfb17f0213142e5037ac90aea86d636","impliedFormat":1},{"version":"c620ccd98c18e71d7e39a79bea47b4f4724c3a1f30f78d2cdd03cf707ae64e4d","impliedFormat":1},{"version":"150f375c7f5c01a15d531c961468f1a04a1c21dc4e4a372ca4661700d66cc9c2","impliedFormat":1},{"version":"8aabc7d8676ba6098fc30c95eca03a331df41ac4c08213207a9329998f32d1b0","impliedFormat":1},{"version":"9d8464e1c6b7f30c4121d28b11c112da81c496c65e65948fbc7d5b5f23b50cdc","impliedFormat":1},{"version":"6b88a632af960a4140730527eb670c3d3e6eae0da573f0df2849909d9bb3e5f3","impliedFormat":1},{"version":"ab2f4f2d874d18918f0abb55e5a89a36ab875e01e3e9efa6e19efbd65295800b","impliedFormat":1},{"version":"2212906ab48ae8891080a68a19ba3ab53a4927d360feb34120051aff4ae980ae","impliedFormat":1},{"version":"309ea20e86462f6f0a60ea7b1a35e70443054cd3e067a3b1a7ec9e357b12c4b4","impliedFormat":1},{"version":"61be4fb5600f49c7f2f5ade98f4d348d72493702dd6ba030275c23b970af3290","impliedFormat":1},{"version":"7461653b170e68cbe4be7bffaf2614ec832f31c99e2e49e4001f02c608ea59cb","impliedFormat":1},{"version":"bfb3200df4675c3b0c4a9346c42df10bd0cc28191e5c4bab51cc3b720b7a9e33","impliedFormat":1},{"version":"415d86471331c03ea56dd1f1bc3316090eef24a1b65a129a14579a97dff19539","impliedFormat":1},{"version":"743f84b507c5f9277e37f5e99b4587f03b9ef871625f7b1c10713ddc57733fca","impliedFormat":1},{"version":"75b894c18d2ee4c8b61e1c7dcfd475e51422ff0b8ce166874e7ab3447092ed25","impliedFormat":1},{"version":"22a1be63fb29b28628376bf90a0cb1706a9e10eda46cacfddbf544913c5d0b4d","impliedFormat":1},{"version":"8223f879f70edb086a7f0ef541eb87fa987c006b28f51aaa4a12b51bb82229f9","impliedFormat":1},{"version":"01ef7c7fc81a6064f52f4830b7c29ca0fcc00b1024dd5d12abc01d93e4266914","impliedFormat":1},{"version":"57610357bc1c035d31aac6cceb4d52655b4326c138a7bcf34d2aa71b33ed6157","impliedFormat":1},{"version":"122c203d7674cd08bf6962dafd4286b3319d8267cf6f513d3b42758f20056fa8","impliedFormat":1},{"version":"da242ab9bfe5833acf730ade2f6966aa207ef4d372de8bc6498b723fef422846","impliedFormat":1},{"version":"ac737900a71c3e090585b62b58864a490066dd4d5b3920fea19aeb5895df0407","impliedFormat":1},{"version":"7a888b10a2b8b0f2980f4c8d6f95d8a3dab3cf936b0bbfaf90b8950c619f0152","impliedFormat":1},{"version":"6fd8108448d9a07abbc520d1041e4ef6e696aa8ba00743267bcad319f0502fc6","impliedFormat":1},{"version":"f6bfdca1b0aee97e70167a35b3aba08cac13280ce8d61d5fd629bce8f44261b0","impliedFormat":1},{"version":"a039d5d54c4d608941aaab6a5d8a24786f03ebe1f810feb6026e184f35b41cf8","impliedFormat":1},{"version":"01ea567dd2334d0707a4cebaa7b1dd035473cfe87c77b0e10aed7e35692d51b2","impliedFormat":1},{"version":"5ea29d748e694add73212d6076aac98b15b87fd2fe413df3bf64c93e065b1524","impliedFormat":1},{"version":"94db805ae4e2a5f805e09458ba2c89c572056f920116ee65beba8c15090b8193","impliedFormat":1},{"version":"df4b5e6fe2a91140a1ed2f8f94e01d4c836a069cee23a2d0a83a00cf649f8505","impliedFormat":1},{"version":"5acef0f6a0afa32b582a7ad0a13688466bece4544ef3c8506131bd7342f528fe","impliedFormat":1},{"version":"4dc9b86feaac2ee1eafa02bd550f5851de7ac604fbf661278b14e40443d9d0e4","impliedFormat":1},{"version":"43879c8f3e8a599baeb696ec2319cafb6458ce1b0045cb2d98699f38ccdaa630","impliedFormat":1},{"version":"d85dda762b52fd95ac7456ab33be540ef9e24339370ab3981b8a4c68232259b4","impliedFormat":1},{"version":"fb0d83c2e2dc390a2a0f5c55834a301fe1cbc1021062d75a27059893f307bcc5","impliedFormat":1},{"version":"17aadaec93ee74b8c244050bd3a8c671c2968307fbef3f375483a185a2462681","impliedFormat":1},{"version":"401fa7edce893a618c09a1bbf3828e688057e4e46ffe020113ce9552cb6bc2d0","impliedFormat":1},{"version":"2e2cf6354f64725b2826804843bdffa041ca7600fef3d29b06b9fa04b96bf99f","impliedFormat":1},{"version":"9aedd5430b48e1ef15ca37a53699394be1aedfb75916eaa7d26f78ab8ef2dbed","impliedFormat":1},{"version":"482603b60ae36425005dda60408d32b75c49ef4b2dd037f64c9ccad0ee320a9d","impliedFormat":1},{"version":"d72f9fcc99d533dcc39bbf01d48f11eb58f5356ff20734c55fe7ae2db0d71720","impliedFormat":1},{"version":"c18304517d056cdf57c142f6bd662ff92672e641693b3cf89208a89ebf7a0141","impliedFormat":1},{"version":"37cb02c345b5315b2e47f41cb6c5946b2a4dbcb033cde3988b793730e343925f","impliedFormat":1},{"version":"950472b97087047840647e295474f799c98a3ac092977e01e7c5f669b88a88d5","impliedFormat":1},{"version":"5defecd97ccc564057ed56028d4ff752ce20fe2c55d89a21331e92494d807f04","impliedFormat":1},{"version":"3f61c190904ca6eae98904614cff4a77a7581bffde53b06846018b0377afbfa8","impliedFormat":1},{"version":"b6ce1e776bff7d6914ba88fc0c079d041cd7a011c8f72e7a53e6aa89c6fb88bc","impliedFormat":1},{"version":"37f5e7d5ba458ea6343ce2884b1278ec5a23c972f021db17c5f47d91b26a1f7a","impliedFormat":1},{"version":"f427ac544498d9c749073ed6bdd314cbbd87240ca9e739db1c7fa2cc1f639ea5","impliedFormat":1},{"version":"41992c944708bdff74908aff1de6fa2d24488325a1f6cace3e1a059c4400976b","impliedFormat":1},{"version":"02ff761f690163463a4e7594d666e4c73995c4f72746a5967b3477d9ecf62c4e","impliedFormat":1},{"version":"84dc97f65f9455619d0721a7e8c9bcafe25d25e4e40d175c09b4a5fa6b012c11","impliedFormat":1},{"version":"005f10cafe0939ae8d6a98e19c4ddf8b59faf3f9ae38dfa5907b82b9a6cb4de9","impliedFormat":1},{"version":"089c056ad8ecb34ee72cb831491ab72c214d8fb7ecf94b96a1b4736ab54397a1","impliedFormat":1},{"version":"e643ef3093cba63af26396ae8dc58dc542c241027749dcdf715f3d3209f79a03","impliedFormat":1},{"version":"f40e6338b8137033a5b4efbe01de45a4399f2c304648eace01d852cd05eb861e","impliedFormat":1},{"version":"89d879fae02696e226dbcb7444d6153158fa264bb646071988f19a2e422b314f","impliedFormat":1},{"version":"57de3f0b1730cf8439c8aa4686f78f38b170a9b55e7a8393ae6f8a524bb3ba5a","impliedFormat":1},{"version":"e933bd300ea4f6c724d222bf2d93a0ae2b1e748baa1db09cb71d67d563794b2d","impliedFormat":1},{"version":"c43d0df83d8bb68ab9e2795cf1ec896ff1b5fab2023c977f3777819bc6b5c880","impliedFormat":1},{"version":"bf810d50332562d1b223a7ce607e5f8dc42714d8a3fa7bf39afe33830e107bf7","impliedFormat":1},{"version":"f025aff69699033567ebb4925578dedb18f63b4aa185f85005451cfd5fc53343","impliedFormat":1},{"version":"3d36c36df6ce6c4c3651a5f804ab07fe1c9bb8ce7d40ef4134038c364b429cb3","impliedFormat":1},{"version":"e9243dd3c92d2c56a2edf96cbce8faf357caf9397b95acaa65e960ad36cb7235","impliedFormat":1},{"version":"a24a9c59b7baecbb85c0ace2c07c9c5b7c2330bb5a2ae5d766f6bbf68f75e727","impliedFormat":1},{"version":"3c264d6a0f6be4f8684cb9e025f32c9b131cca7199c658eea28f0dae1f439124","impliedFormat":1},{"version":"d3cd789b0eebd5cebde1404383fd32c610bec782c74a415aa05ab3593abc35c8","impliedFormat":1},{"version":"8c1babb42f52952a6593b678f4cfb4afea5dc91e5cfaf3ca922cdd2d23b1277a","impliedFormat":1},{"version":"04ebb965333800caba800cabd1e18b02e0e69ab6a6f8948f2d53211df00a193c","impliedFormat":1},{"version":"f8e2be107b3e756e0a1c4f5e195e69dce69d38d0ff5c0b0509933e970c6d915b","impliedFormat":1},{"version":"309e580094520f9675a85c406ab5d1de4735f74a38f36690d569dbc5341f36a8","impliedFormat":1},{"version":"c2fa79fd37e4b0e4040de9d8db1b79accb1f8f63b3458cd0e5dac9d4f9e6f3f1","impliedFormat":1},{"version":"4f0d1a7e2a5a8b85d69f60a7be2a6223827f5fec473ba2142279841a54e8a845","impliedFormat":1},{"version":"ae2fb62b3647083fe8299e95dbfab2063c8301e9a626f42be0f360a57e434797","impliedFormat":1},{"version":"f53d803d9c9c8acdbb82ef5c6b8f224d42be50e9ab8bc09c8a9a942717214f9a","impliedFormat":1},{"version":"d2d70166533a2233aa35977eecea4b08c2f0f2e6e7b56c12a1c613c5ebf2c384","impliedFormat":1},{"version":"1097820fae2d12eb60006de0b5d057105e60d165cf8a6e6125f9876e6335cde7","impliedFormat":1},{"version":"8f62905f50830a638fd1a5ff68d9c8f2c1347ff046908eeb9119d257e8e8ae4a","impliedFormat":1},{"version":"8b4d34279952175f972f1aa62e136248311889148eb40a3e4782b244cece09f3","impliedFormat":1},{"version":"d3c3cc0840704fe524dbe8a812290bfd303e43d3bd43dcaac83ee682d2e15be0","impliedFormat":1},{"version":"71725ba9235f9d2aa02839162b1df2df59fd9dd91c110a54ea02112243d7a4d9","impliedFormat":1},{"version":"80af0c272dcb64518f7768428cdf91d21966a7f24ed0dfc69fad964d4c2ed8c1","impliedFormat":1},{"version":"1dc9702aa16e3ada78c84aa96868a7e5502001c402918b6d85ed25acbe80fd51","impliedFormat":1},{"version":"35f891c1bc36c97469df06316c65a718956515c8b3bdbeb146b468c02493ef13","impliedFormat":1},{"version":"2e9b05d7db853315f44d824e13840e6fdf17d615d13170b5f5cf830442018dcd","impliedFormat":1},{"version":"75efaf7dee18ee6d8f78255e370175a788984656170872fd7c6dfba9ed78e456","impliedFormat":1},{"version":"45801e746ccc061d516dd9b3ada8577176382cbf1fa010921211a697cc362355","impliedFormat":1},{"version":"529f07b003aa6d6916e84a5c503c6dc244280bed1d0e528d49c34fe54960c8dc","impliedFormat":1},{"version":"a4d6781f2d709fe9f1378181deb3f457036c7ebc7968a233f7bc16f343b98ced","impliedFormat":1},{"version":"94d6b9e12ee034b99c3bfff70b5f92df1fbcb1d8ebcb46fd940047fe1bd68db9","impliedFormat":1},{"version":"d0d843664c2251b877ab4d7e67fea4054bad5a33b1f8cce634f0acb4397e4ddb","impliedFormat":1},{"version":"6ae375916cb1ab039b0d8191a1b2a4c5ee7d54ca55523edf9c648751d9bf4f3f","impliedFormat":1},{"version":"cfa00459332e385bd6d999dc1d87adeec5ed7d383bde9f7ebf61159d370e5938","impliedFormat":1},{"version":"5b016a20523753fb55e44223ad7e4f2728a3d6b83771e8f2b52a3212d612f494","impliedFormat":1},{"version":"996e31673fe2d4cbd4708d14dc547f79b694e40d58622c982eb26e15eabd78eb","impliedFormat":1},{"version":"27f91d5df194be07adba9331db4861ebce0250d2401c56d4a56979fa2d8d9685","impliedFormat":1},{"version":"f9a8a74a3277dba5994b7830faa0a72ccbbdde4edc546579ea5f3bfdd833f1c3","impliedFormat":1},{"version":"6396e07ac9d5653e2ea225c491e7d5b548165eddb49e4293dcad42445fdd2b5b","impliedFormat":1},{"version":"4356f53b3bcd48f4253465746ccdb0baa38c6bf929712349bffea5426e59c2f4","impliedFormat":1},{"version":"c07dcc52ff4bf2fe6b9027067089b2696ea8debfab01c5a89567b57c85a8143a","impliedFormat":1},{"version":"01c7b17b4106823329939ac4971770aa720b35749401312a9c6610ba61a689f3","impliedFormat":1},{"version":"53902be908625a56e222e1e005948b242822863c62bbd8fcd1ea047da47ac29e","impliedFormat":1},{"version":"6ff08a01c33e70289d44268bb3954c9f3c71162085b829dc323279fbf3a70b2a","impliedFormat":1},{"version":"35a7696566e4ceabf7bb6e9edf0256c8e8411783565c26511033e2edda9e3911","impliedFormat":1},{"version":"88ab5c0465b89250245fb97b17192adbd7d3ee26b26e29f948a410c4dc554663","impliedFormat":1},{"version":"2368808dcbd42d82a70cccb12a06d6e20022f65e1feaf0251789ee24a85e0e67","impliedFormat":1},{"version":"25f989f57da0150fc531eb60696097517c300e41c48f9a35cf8c39a2884e9e9e","impliedFormat":1},{"version":"801ffcacdae7f0a2486c3ca2cf59022b289519e660a4001acc81cde94080c262","impliedFormat":1},{"version":"eec90c87a90d6f26e36ba3d1048957132682558ef88d0128241b83cee373ede9","impliedFormat":1},{"version":"706623c288a5e8a35eab6317786cc2b8e0e1753f5c3f0d57fe494c1ae269e8a3","impliedFormat":1},{"version":"932cade1c5802123b5831f332ad8a6297f0f7d14d0ee04f5a774408f393e2200","impliedFormat":1},{"version":"95874c2af12afd52e7042a326aef0303f3a6f66733c7f18a88a9c6f3fa78d2ee","impliedFormat":1},{"version":"2859adaa4f2db3d4f0fc37ad86f056045341496b58fba0dbc16a222f9d5d55b1","impliedFormat":1},{"version":"655ed305e8f4cb95d3f578040301a4e4d6ace112b1bd8824cd32bda66c3677d1","impliedFormat":1},{"version":"8511f1d1ea7b35c09639f540810b9e8f29d3c23edbf0c6f2a3f24df9911339a0","impliedFormat":1},{"version":"2ce02eb3ddb9b248ff59ca08c88e0add1942d32d10e38354600d4d3d0e3823f5","impliedFormat":1},{"version":"a8db2bf4766dc9ca09b626483c0c78b8f082f9e664b1aed5775277ca91966a32","impliedFormat":1},{"version":"21489ccc5387a3b7ec72288f35825eef99d1550cb5cf4448655f60788c2dd2bf","impliedFormat":1},{"version":"b97c43cc5c758375c762546242bd2e5dfecea495d11e7ab8670cdf7800a78a55","impliedFormat":1},{"version":"76e8204d6c3f2411c8b0f3e0db34e190880acbc525be4facf882abac3c6e9868","impliedFormat":1},{"version":"ae11c2830121324c7f7b3c2c72f6c96eaeee9bd36217893531f965be93940b01","impliedFormat":1},{"version":"3a8d1eb7be079997217f3343f26d11af23d1e330ae8edaa15d0ee6b3663405bd","impliedFormat":1},{"version":"75191cd4f498eecaa71d357b68f198aabff6e9aeb094783bc2e88224f2440e91","impliedFormat":1},{"version":"68ab7ba45dd13e321f9b4ffa2cc9092c66c8a32eac53f8268ef992c9d83bddae","impliedFormat":1},{"version":"df2f57459fcc94dcfbc999311ce1927d35accdbee5bc79751467f16121ee99b7","impliedFormat":1},{"version":"a0c1105a4dd57d412dceaa7cc2211e9ee7a9102849d69ea6610e690eba6eb24c","impliedFormat":1},{"version":"069953e197846ae2c271627a01f114623b58eac2fd40bc0b49058c7a2cb79d22","impliedFormat":1},{"version":"506b6ed00eaf46798979021e707f4e0a9b5efa39600a0d6fa8d4ba7a96d3331a","impliedFormat":1},{"version":"48d5a3642727e962342b760621baa9b30c05b0c1a327ad1832a53b2f580c62c9","impliedFormat":1},{"version":"655a1702bca6a1c60b932118cf142bcf3d4f246628cbb8a7a1160205f45016e7","impliedFormat":1},{"version":"6dcf9ebaf569318a67670d24958ac49fbb820114ec939c6a019405dd61468f33","impliedFormat":1},{"version":"cec2aaab4a551be0935d6166cb7f098ccfe2172c10e611c9321b3b676a53c496","impliedFormat":1},{"version":"3f08c2595b48fa8b71831fdff3af41bfce96eb48cec81ea6d2d9d9d957cd97fe","impliedFormat":1},{"version":"61dcb5357451ea04ddd06391bbc87ecd9f6b8397d2a386ea40df3b6806141c99","impliedFormat":1},{"version":"f17f889f40110c2dd21e7b8a067af42432a1c34fb16a9e0c8b2c4a3a735a54ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"47b468b147b355fdf30059f6ad308d7d85161c29ebe7cc5d0770ab8191938d98","impliedFormat":1},{"version":"e1eb5f70580ac243224881474cc32f499023a433c06ffabc40bbb32ca7baab1a","impliedFormat":1},{"version":"8fc7c65d1d135f16e083467519ec5e8e1cd6e807ab6448d8c6df5bebde9263cc","signature":"8b4f29d3434820dc290625b2231b79239d7633e0b711c784e9a515ef5bde4cc7"},{"version":"625fa438795e6394a9331dc9d9db8f941e04240dd05b5d02609597608afd0a9a","signature":"dac82def0889da4788920859546b62313bdbb0099d367b33cc52c9f0afc49314"},{"version":"4ee1655397c6a2fdb7b2f6f216beafc197c0d6cdc6d1d8935cd943941fbfb8f6","signature":"12e9ee117b4ecc86558bfa54b7129e86990581e4ff4cff350e04ad1f7f5fd7f1"},{"version":"bd5c3906d1bb096b7c044419aa00d28407e9fb87b15f721ad83fa11fab684bba","signature":"6ed06215475f95a208f003c7a3e86678aee8f082964886aa4d4b585a6024dff9"},{"version":"151ff381ef9ff8da2da9b9663ebf657eac35c4c9a19183420c05728f31a6761d","impliedFormat":1},{"version":"ee70b8037ecdf0de6c04f35277f253663a536d7e38f1539d270e4e916d225a3f","affectsGlobalScope":true,"impliedFormat":1},{"version":"a660aa95476042d3fdcc1343cf6bb8fdf24772d31712b1db321c5a4dcc325434","impliedFormat":1},{"version":"282f98006ed7fa9bb2cd9bdbe2524595cfc4bcd58a0bb3232e4519f2138df811","impliedFormat":1},{"version":"6222e987b58abfe92597e1273ad7233626285bc2d78409d4a7b113d81a83496b","impliedFormat":1},{"version":"cbe726263ae9a7bf32352380f7e8ab66ee25b3457137e316929269c19e18a2be","impliedFormat":1},{"version":"8b96046bf5fb0a815cba6b0880d9f97b7f3a93cf187e8dcfe8e2792e97f38f87","impliedFormat":99},{"version":"bacf2c84cf448b2cd02c717ad46c3d7fd530e0c91282888c923ad64810a4d511","affectsGlobalScope":true,"impliedFormat":1},{"version":"402e5c534fb2b85fa771170595db3ac0dd532112c8fa44fc23f233bc6967488b","impliedFormat":1},{"version":"52dcc257df5119fb66d864625112ce5033ac51a4c2afe376a0b299d2f7f76e4a","impliedFormat":1},{"version":"e5bab5f871ef708d52d47b3e5d0aa72a08ee7a152f33931d9a60809711a2a9a3","impliedFormat":1},{"version":"e16dc2a81595736024a206c7d5c8a39bfe2e6039208ef29981d0d95434ba8fcf","impliedFormat":1},{"version":"cc4a4903fb698ca1d961d4c10dce658aa3a479faf40509d526f122b044eaf6a4","impliedFormat":1},{"version":"19ee8416e6473ed6c7adb868fa796b5653cf0fa2a337658e677eaa0d134388c3","impliedFormat":1},{"version":"1328ab4e442614b28cdb3d4b414cf68325c0da0dca07287a338d0654b7a00261","impliedFormat":1},{"version":"a039dc21f045919f3cbee2ec13812cc6cc3eebc99dae4be00973230f468d19a6","impliedFormat":1},{"version":"3fbe57af01460e49dcd29df55d6931e1672bc6f1be0fb073d11410bc16f9037d","impliedFormat":1},{"version":"f760be449e8562ec5c09bb5187e8e1eabf3c113c0c58cddda53ef8c69f3e2131","impliedFormat":1},{"version":"44325ed13294fce6ab825b82947bbeed2611db7dad9d9135260192f375e5a189","impliedFormat":1},{"version":"e392e8fb5b514eafc585601c1d781485aa6dd6a320e75daf1064a4c6918a1b45","impliedFormat":1},{"version":"46e4a36e8ddbdfb4e7330e11c81c970dc8b218611df9183d39c41c5f8c653b55","impliedFormat":1},{"version":"370bde134aa8c2abc926d0e99d3a4d5d5dba65c6ee65459137e4f02670cbf841","impliedFormat":1},{"version":"6332f565867cf4a740a70e30f31cefba37ef7cebcf74f22eab8d744fde6d193e","impliedFormat":1},{"version":"2977b7884aedc895a1d0c9c210c7cf3272c29d6959a08a6fa3ff71e0aff08175","impliedFormat":1},{"version":"17f2922d41ddd032830a91371c948cd9ce903b35c95adca72271a54584f19b0b","impliedFormat":1},{"version":"3eed76ede2a1a14d7c9bb0a642041282dcc264811139d3dd275c9fe14efc9840","impliedFormat":1},{"version":"e3cf0611709328b449ec13f8c436712d62003620ce480139fae46ce001c2ee9f","impliedFormat":1},{"version":"8d369483f0c2b9ee388129cfdb6a43bc8112b377e86a41884bd06e19ce04f4c1","impliedFormat":99},{"version":"82e687ebd99518bc63ea04b0c3810fb6e50aa6942decd0ca6f7a56d9b9a212a6","impliedFormat":99},{"version":"7f698624bbbb060ece7c0e51b7236520ebada74b747d7523c7df376453ed6fea","impliedFormat":1},{"version":"8f07f2b6514744ac96e51d7cb8518c0f4de319471237ea10cf688b8d0e9d0225","impliedFormat":1},{"version":"257b83faa134d971c738a6b9e4c47e59bb7b23274719d92197580dd662bfafc3","impliedFormat":99},{"version":"d2e64a6f25013b099e83bfadb2c388d7bef3e8f3fdb25528225bbc841e7e7e3a","impliedFormat":99},{"version":"369ba5259e66ca8c7d35e3234f7a2a0863a770fdb8266505747c65cf346a0804","impliedFormat":99},{"version":"64d984f55025daf604f670b7dfd090ea765f2098aee871174ef2ee3e94479098","impliedFormat":99},{"version":"f147b6710441cf3ec3234adf63b0593ce5e8c9b692959d21d3babc8454bcf743","impliedFormat":99},{"version":"e96d5373a66c2cfbbc7e6642cf274055aa2c7ff6bd37be7480c66faf9804db6d","impliedFormat":99},{"version":"02bcdd7a76c5c1c485cbf05626d24c86ac8f9a1d8dc31f8924108bbaa4cf3ba9","impliedFormat":99},{"version":"c874ab6feac6e0fdf9142727c9a876065777a5392f14b0bbcf869b1e69eb46b5","impliedFormat":99},{"version":"7c553fc9e34773ddbaabe0fa1367d4b109101d0868a008f11042bee24b5a925d","impliedFormat":99},{"version":"9962ce696fbdce2421d883ca4b062a54f982496625437ae4d3633376c5ad4a80","impliedFormat":99},{"version":"e3ea467c4a7f743f3548c9ed61300591965b1d12c08c8bb9aaff8a002ba95fce","impliedFormat":99},{"version":"4c17183a07a63bea2653fbfc0a942b027160ddbee823024789a415f9589de327","impliedFormat":99},{"version":"3e2203c892297ea44b87470fde51b3d48cfe3eeb6901995de429539462894464","impliedFormat":99},{"version":"c84bf7a4abc5e7fdf45971a71b25b0e0d34ccd5e720a866dd78bb71d60d41a3f","impliedFormat":99},{"version":"e01ea380015ed698c3c0e2ccd0db72f3fc3ef1abc4519f122aa1c1a8d419a505","impliedFormat":99},{"version":"5ada1f8a9580c0f7478fe03ae3e07e958f0b79bdfb9dd50eeb98c1324f40011b","impliedFormat":99},{"version":"a8301dc90b4bd9fba333226ee0f1681aeeff1bd90233a8f647e687cb4b7d3521","impliedFormat":99},{"version":"e3225dc0bec183183509d290f641786245e6652bc3dce755f7ef404060693c35","impliedFormat":99},{"version":"09a03870ed8c55d7453bc9ad684df88965f2f770f987481ca71b8a09be5205bc","impliedFormat":99},{"version":"e6233e1c976265e85aa8ad76c3881febe6264cb06ae3136f0257e1eab4a6cc5a","impliedFormat":99},{"version":"2cdd50ddc49e2d608ee848fc4ab0db9a2716624fabb4209c7c683d87e54d79c5","impliedFormat":99},{"version":"e431d664338b8470abb1750d699c7dfcebb1a25434559ef85bb96f1e82de5972","impliedFormat":99},{"version":"2c4254139d037c3caca66ce291c1308c1b5092cfcb151eb25980db932dd3b01a","impliedFormat":99},{"version":"970ae00ed018cb96352dc3f37355ef9c2d9f8aa94d7174ccd6d0ed855e462097","impliedFormat":99},{"version":"d2f8dee457ef7660b604226d471d55d927c3051766bdd80353553837492635c3","impliedFormat":99},{"version":"110a503289a2ef76141ffff3ffceb9a1c3662c32748eb9f6777a2bd0866d6fb1","impliedFormat":99},{"version":"69bf2422313487956e4dacf049f30cb91b34968912058d244cb19e4baa24da97","impliedFormat":99},{"version":"310e6b62c493ce991624169a1c1904015769d947be88dc67e00adc7ebebcfa87","impliedFormat":99},{"version":"62fefda288160bf6e435b21cc03d3fbac11193d8d3bd0e82d86623cca7691c29","impliedFormat":99},{"version":"fcc46a8bcbf9bef21023bba1995160a25f0bc590ca3563ec44c315b4f4c1b18a","impliedFormat":99},{"version":"669573548930fb7d0a0761b827e203dc623581e21febf0be80fb02414f217d74","impliedFormat":99},{"version":"f974db5be6d7428044e19c2848e72495a9b56a8d33b6fcab392e7fb5328eb8df","impliedFormat":99},{"version":"aa348c4fb2f8ac77df855f07fb66281c9f6e71746fdff3b13c7932aa7642b788","impliedFormat":99},{"version":"3199efb0fd6792ac46f191ef78a17c5f77e1745ef473c71cc0d6a041a0c83479","signature":"4b96dd19fd2949d28ce80e913412b0026dc421e5bf6c31d87c7b5eb11b5753b4"},{"version":"dbf638b475f5e13b6e0a94f4c3ce88309e28858c11b35e3988f78e97c631c6a5","signature":"4b96dd19fd2949d28ce80e913412b0026dc421e5bf6c31d87c7b5eb11b5753b4"},{"version":"ea43c4da2fe56b305cfd98e0c0d4bd1060c46842bb1504c2d8a50d51ea44b059","signature":"4b96dd19fd2949d28ce80e913412b0026dc421e5bf6c31d87c7b5eb11b5753b4"},{"version":"f8a4e0893aea703c049b57b7860619fa9877abbb9a4f158f21b22ddf01e76f0f","signature":"6ed9c94f927aabb828e1949b030102a09ce2f506cbff37550412e70033dc6e9e"},{"version":"cdbd35458f506b843f280d695d192968af4b0f27db3d5c0707934d97e96dd88d","impliedFormat":1},{"version":"0d86e751cdf42541f9b0dc579f1fad78ba02c9b57104723187d942c53bd63092","impliedFormat":1},{"version":"dae32a2a0cc5be690082fc59bd4b16ab58fc400d8802dc3073657ff4e825c48a","impliedFormat":1},{"version":"654bbcc8726e2a7a684460eda9c7d25847716587b04a72e0b88e75d828aa3db1","impliedFormat":1},{"version":"5c252941b1299551ad4f3f44ef995ee7a79585aebe2c5318271297496f2611c6","impliedFormat":1},{"version":"5a39b65f1aa6dac1a189afe5b95a5dcc0f82459b859ce2377cdfb1e994b90c3d","impliedFormat":1},{"version":"84ab1b8202996d370d7580cd15c85fe5981c9fd8ce4e20019de7203c8e9b594e","impliedFormat":1},{"version":"b7b58b11be801068222c596659957f4defdeec281974feb02a28d9c9ea38cd51","impliedFormat":1},{"version":"27a8d35a2910e71c796d71fb6d570a36dfcaef8cc69bd02e0b14fd143b908e04","impliedFormat":1},{"version":"7a3d5f0f7b701633da88a36f869865c61fe6e00fd9547521133147afe391d1b3","impliedFormat":1},{"version":"7656a4096d1d60bdd81b8b1909afdf0aedb36a1d97b05edf71887d023dd59ea9","impliedFormat":1},{"version":"6fa303b96d93e5fb24c90f12dfd3a0f53b18b8f7b1d22e7b9e9cb5077d8f9108","signature":"fd2054b409c2d94abedcffcc24242121b7c192484212cb2d9b1b114972d4f404"},{"version":"d70f9eaefe73d3840a84890fe8e3cca8428e65cea32c7166d57cca68d186eeb4","signature":"db4122822479abd67f3f0b2f2f25861e3caf04fe0973a0d764e7e36bc3df4148"},{"version":"fe1628d7d953daf654f6e7670a052361f737efb0f9fd296c37d8801ecd46983a","signature":"bee07d34cd49a60655ce16c151da9957f93c86ef96f29cd5d125b08a632e6b61"},{"version":"d488bd13a9d714f30014a5f8a8df1be6b11ae3411efa63ba6643af44749bc153","impliedFormat":1},{"version":"197dd169eff598c8888dd37a3f5c3e45c1759251085119b166c1b37b50ee43b1","impliedFormat":1},{"version":"898f97b7fab287b8dd26c0f8d91fafe17bec2578645a9741ce8242f3c70ae517","impliedFormat":1},{"version":"d5a0858f7e98793a455e8f3d23f04077d1e588e72d82570bca31bab2d9f8ceae","impliedFormat":1},{"version":"6a9069e81da9856ed6780b17db0417d8a8ce217babf3681bfe29dcdad8f15f3d","impliedFormat":1},{"version":"842453114114d514599679b23cf62d6f2252cbd6731d101a0033f6068c5efd94","signature":"2e1213e06fa56524372406adcea2a19734e8c52ee23434d79bdcac5f77ca524b"},{"version":"fb00d13ec5cad6778761b14ad01679153eb5ac566f15f03cd8e834b4fad9983b","signature":"69a01d99446257614e09b8b51c2ecbee24c7525d01d0cffab062877a7f8f0955"},{"version":"76935aafe2c7322f946ac166e33b1ff41bb948a732f7500978e825e0a81d2f51","signature":"3321763c15018a4d20197de5e66d9119599423122d55c98c845440c507b7b1db"},{"version":"ae2b1e46a2f72e81315c6c5c43f2472818ee4f7ff33154d64c84d9cb8e46daec","signature":"e0f8cc9de39ccfe20015acfc60e6939c8796d1f069ce1dacd3859c6c98c3ade9"},{"version":"1499a71b303c1ffd54df26db03d586d5d38c62618c519e806a9e3de38dae686e","signature":"bf14a5be91235f574e16d68ef5eb4eb59a41409075eabbb2a39ed22b9545020c"},{"version":"40f11e12b89c44f73089b81b945484fbf9117fcfecc7af4a0650fca0d0087d95","signature":"9518bbf082b40d78067674c01fecec47fb70edc1c13e90b64d7298822cc95ae6"},{"version":"2a13f26b889a266a4a55c224a4aae94d3a6c160703d573dd8cb2cc8758653aeb","signature":"ae76773186abb83c8dd05a9433e034c6e51382015b7eb865252fdf3121c72313"},{"version":"a059a124d6d2d7530bac76a276d7419fdac41562e7683e78386a026bbadc933d","signature":"a83877ed75e24dd47d245bb16bad9a6ae76d84208d07bdbd981fe74de12d1c6c"},{"version":"b3de84306e70357ba82260c9fa8fbeaf5601f6e71aabe8e1829e9e8632268df0","signature":"4993362aa551e47159786f5d77be6c1223ec855bf940686737a6afe951418d21"},{"version":"78ce398996f8a67a6aa9976bd20f85ee917414b578043235473d5a82d38ccc7e","signature":"5dddf9fed7f9befedd2eb133b4fe1051625bce3b55cd63fdb257001a46f3a1e6"},{"version":"042b1c730536f00d3513ab09d1f2216952aa354e232edc19abd06d45f5c2e1fe","signature":"17bcd2cbd9e90a2750f56b0ad9962da9b86ce3aa1c9c76e225a6f4233242131e"},{"version":"b2d1100961d982ecbb72cd6ed08ea25779b8523b71c76836750ed7cda474d49d","signature":"95600cf6afe56beaac9665bcae225c7e68765d539258922628f697d55b058354"},{"version":"68910609e5cd0046aab78f218a30debac9b06762afe8c94175161951e66145b1","signature":"103949d86734806523a4f938a42d2dd4fd753b678cddba536fa90a3cb7f225d6"},{"version":"7cb95fdfc6f26be1ec3d9aaad83fdaef1dc3fcab80b1501e5c55ef40c4914e98","signature":"bbe5937a09aa2c3fe86bd53e42ffc5082461ed99582ac1deee2c2a6cc2fade14"},{"version":"72c4d5b3143f9566889f8d80c105912778a932fc29cb5ddb50121ede46a89d92","signature":"3dc082271cf03bec741233036b44693bf7303ffb3fbafd8536c995e4160d6b18"},{"version":"4c54300bb2670678e16cb98079486f3f2bfa061dd1b954e7e4a8999959420507","impliedFormat":1},{"version":"1b4bebb7057c294e3baa3fba40d27e240e16493ddea81d8af2363ee1ac03e305","signature":"6a8ec9486cb4c47d3828f29e3cf46a07e75c3651750d71ac8b1696fa33de0791"},{"version":"a9373d52584b48809ffd61d74f5b3dfd127da846e3c4ee3c415560386df3994b","impliedFormat":99},{"version":"caf4af98bf464ad3e10c46cf7d340556f89197aab0f87f032c7b84eb8ddb24d9","impliedFormat":99},{"version":"7ec047b73f621c526468517fea779fec2007dd05baa880989def59126c98ef79","impliedFormat":99},{"version":"c5013d60cbff572255ccc87c314c39e198c8cc6c5aa7855db7a21b79e06a510f","impliedFormat":99},{"version":"c57b441e0c0a9cbdfa7d850dae1f8a387d6f81cbffbc3cd0465d530084c2417d","impliedFormat":99},{"version":"2fbe402f0ee5aa8ab55367f88030f79d46211c0a0f342becaa9f648bf8534e9d","impliedFormat":1},{"version":"b94258ef37e67474ac5522e9c519489a55dcb3d4a8f645e335fc68ea2215fe88","impliedFormat":1},{"version":"8658354b90861a76abc7b3c04ece2124295c7da0cc4c4d31c2c78d8607188d03","impliedFormat":1},{"version":"e46429536f43f5910f5b2b0c50bb2769b510a4558bb4b5d20a3b0a9091dbf7c3","signature":"400b40fe5d5f4140993b0ac871686d2b7611ab791e8810b2e14f2d89701fc49e"},{"version":"37ee2f94a1c5df7a0194cd1740414722e58de5a94fd46e82329b4c217f5fbf36","signature":"710a00acd5f919a99bdd9b40824b024b39e9d546b5e611558fbc0ce155f422d6"},{"version":"3b5f8c9c5257f1cf36a94eeffed2588037e9cc7931d90b752604c2baed30cf81","signature":"f238db8bd54a02c277895ef9300e2d809ef738cfda6e91dd295e48d7196a7f0b"},{"version":"1b43441b273aa21c1e74fefa774d5a7cb50068e5d4c192a8f63b9c95c5580431","signature":"32f7c168ee545e9b432d2a861f4fb0bc645e21e88c774cedf54e72d1e3ccc049"},{"version":"3b5f8c9c5257f1cf36a94eeffed2588037e9cc7931d90b752604c2baed30cf81","signature":"f238db8bd54a02c277895ef9300e2d809ef738cfda6e91dd295e48d7196a7f0b"},{"version":"7911fc20da7c1bf8860879f6417adc93c58ed445e22b331bcb065913e6212841","signature":"32406f4009a1b6615d7b291f9f614ac789735b59fde5525f3d36b514b158eba4"},{"version":"0a85f27a2846ba7c39c561e617d45b44cb8464d664d2d4037ef98e407ef6f82c","signature":"f903d0c52e72e543eb8b577ac6c5c4aa6e80dc1eb7da261775edc786236f2fd4"},{"version":"a12e3223a172bd366b191223599a59bf068b74b64c0dd2a35467ec0dc8080d1f","signature":"d4837328a91f53058734ec71b4230224bf3172fbd86953ffd5fc6991468fa1b7"},{"version":"94b091568641e772bf11fa2349ab26e7cf8f892a7930aa737198cd17ddb1bcfa","signature":"20cae44ce6fabeb0a47a8f1de58d04c9ff760069c1142e6441a15080bdf32708"},{"version":"50a9383d17d9973c3017ab5904132ebb04a87439e58d129d88b80699d5a0f1ae","signature":"0ccb629a2151123906284c317498ebd737a4ee59722cf3d7ff001160a432d432"},{"version":"00852df39903bcae586c2060e8fce611d8be42fe11026fb07025ba8705c84eb3","signature":"0d3e4c6e9f625835144ef2578e10a42b327aa2ff7fe46b960dddb2f124666b4f"},{"version":"6d413a872143e8412d730e5d6ff0d27931394e6398bde5fa3b01aff2c5fddb14","signature":"8e7e1c454896a754cffa74b82cbe919da1acbec9fa3780350be1906af34e897c"},{"version":"cb99206ef158f9ca64968766e286838bee7ee53b2be8a77a98b9305d775e6125","signature":"e713391f294f91c813829a03e93f28ba633332b32261217eb26f4aeb1e729ff0"},{"version":"550b34f12d08b2829618b1be8172bc010e2baa9d26f17bda7b0ff8857dadb9e3","signature":"bcbccad6c2fc1b7fbd297bab8cd538a94cc04d2f2af184589fb8be27f2194a4b"},{"version":"ddf6b01646122efc8c86375f86dc14fa59c113b031a1f4f16e5b90b20b4a65d3","signature":"e033d09fb5fafb262c0a62e9c53da2a1ea5b322e468cb9b2b66569f0d2a974af"},{"version":"e519ce2b0b3923a8e7a78e8ecdd9df3bad3782387520def51c307677d7fcf2a5","signature":"d47e443d8869921cb769765e42ec0e7525d0f0f17cbdc15e6252059cd71beb4d"},{"version":"b62897d633c00b36c1be00c0a33d77b29e86ce6b89a866899e7b486fec1355c8","signature":"30da82cf1f541ed012635cb9ec8f0a475efb03916caf44b9848cc401aa0b6e34"},{"version":"d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5","impliedFormat":1},{"version":"293eadad9dead44c6fd1db6de552663c33f215c55a1bfa2802a1bceed88ff0ec","impliedFormat":1},{"version":"833e92c058d033cde3f29a6c7603f517001d1ddd8020bc94d2067a3bc69b2a8e","impliedFormat":1},{"version":"08b2fae7b0f553ad9f79faec864b179fc58bc172e295a70943e8585dd85f600c","impliedFormat":1},{"version":"f12edf1672a94c578eca32216839604f1e1c16b40a1896198deabf99c882b340","impliedFormat":1},{"version":"e3498cf5e428e6c6b9e97bd88736f26d6cf147dedbfa5a8ad3ed8e05e059af8a","impliedFormat":1},{"version":"dba3f34531fd9b1b6e072928b6f885aa4d28dd6789cbd0e93563d43f4b62da53","impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":1},{"version":"e4b03ddcf8563b1c0aee782a185286ed85a255ce8a30df8453aade2188bbc904","impliedFormat":1},{"version":"2329d90062487e1eaca87b5e06abcbbeeecf80a82f65f949fd332cfcf824b87b","impliedFormat":1},{"version":"25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262","impliedFormat":1},{"version":"4fdb529707247a1a917a4626bfb6a293d52cd8ee57ccf03830ec91d39d606d6d","impliedFormat":1},{"version":"a9ebb67d6bbead6044b43714b50dcb77b8f7541ffe803046fdec1714c1eba206","impliedFormat":1},{"version":"5780b706cece027f0d4444fbb4e1af62dc51e19da7c3d3719f67b22b033859b9","impliedFormat":1},{"version":"b2c6c3d31cbed9a8b02b9aafb55f9f93090d44f032efa30de68617fd039d2030","signature":"5754e59cf4111f12e809f9a57d72c4898055f72d7ea4426b8b2c4741989bd6c3"},{"version":"1e2163ae17cf19f1c1ea9093f6ebaff01b48f38191221ea767ae83c721b9c2f6","impliedFormat":1},{"version":"3ba2febe74741cd904e1543af71e461a4958060817bd415e48ce019f9138588b","impliedFormat":1},{"version":"d50e8c3ede7635bd7adbdfa1e2d67e53d7f776bcda71599d7bc4c4513a640900","impliedFormat":1},{"version":"4f9c7bb8ad1824d80b6dad1fb9b9d16b16711b0abf6310f3e9920080ac3cbb36","impliedFormat":1},{"version":"4e12a77955772fbef1c0b7e5a8ec1366c1f65ca814c7796200cb77644f47f016","impliedFormat":1},{"version":"e605e0d80c5c72078d95814ae0233220b7eb7de4133d74ea0e939f6ff6c1b32a","impliedFormat":1},{"version":"01f37a126fd0123f283de7a8948c524c470589e4a484f7feb1245000c467f993","impliedFormat":1},{"version":"a68f2c54a7ea3c3f6bddcbe082c6577f8ddcdfbc98cea62884d0bef95aea6d4b","impliedFormat":1},{"version":"87c95a764e805bd584f47fce680a038e8c994a168a4bf2fa2c903f3ff7963524","impliedFormat":1},{"version":"26859100325a713f0f6be33f88ca82fed0d44c32ee4487ff3db39b72d675fdc4","impliedFormat":1},{"version":"9fe62175a94addab3f5d81ca26c5dd5eb4c1fae5a2e51807563c56457bd17721","impliedFormat":1},{"version":"2304bb78254e907df33ce92191d5b23dd5cdcd68b82ae8a41628e71bf3c7d3ef","impliedFormat":1},{"version":"705b89f719845a12b9bb4fcccd52dce29857494908ee6efcb481e2ec0f4aca7b","impliedFormat":1},{"version":"399dc210e42ef10b3ea207df71ac17e96320b0a7b696373e74dbc5df2efcb73a","signature":"df7a7939fa508ea369c734c762fd616dda97d192afbc6a82a5452740afd86d44"},{"version":"3d59bf11fffa85e54dfd4b50054664d014cc605b72ce60318f523e427fd99655","signature":"918ad805a38f3ca75830eaff2956f2670f4f3e88d2776fdc8a51f4214e578f02"},{"version":"fdb51e4793edbb4efcabc6385f427858ffdc7c435b28607f519a87394bfb2800","signature":"9169a39a3a574329c9ebed1ca4c349b6b54203eea3f65d92e342308682dece0b"},{"version":"f1d10d0c73eff8edfe8067c4a6aa442ec5433a837e6db7063db677cb5d4e4147","impliedFormat":1},{"version":"76d05f74738803d2079d5bd16b2ca667930f8b0c8c2268c5b41f77df9cb251c5","impliedFormat":1},{"version":"c1c48c344b692d15ac2967966b880111a1be8f51060e968dacec5ac9aac722cc","impliedFormat":1},{"version":"a0b7e4b84b52f872a363ce25aa5232efb617442dde54ad6920e50c0aa1dd933e","impliedFormat":1},{"version":"6773e0f5acdff242d7f686bd20910be96af0cc22205c042e7884f0fcf0339efa","impliedFormat":1},{"version":"f4f924f379dcd0b01a00181e02e1731ecdb62c61c46c17703d182a2650f50b39","impliedFormat":1},{"version":"08f8f0964227b04179b9086168309668bcb5913e47250dc0f049d564f4da594e","impliedFormat":1},{"version":"7820fe061431bdba0b819b6582ede2e05adc62caa4df077c0d1e655eaf0f7a5f","impliedFormat":1},{"version":"d69ac15196597b626de2d013fba011558d6c61ac5f5a1d8204157875fdec4b8d","impliedFormat":1},{"version":"b07ec15bc09909bfb190b793627f2dbec053163caefb1fd6d4f6aa76d88a29ca","impliedFormat":1},{"version":"9508bf9db05fe73847021c361c7f925c8326763cab53737958cfef9fa126cb5f","impliedFormat":1},{"version":"8c58a42464e63fcd9958d03e7d42b04dfbaa00171e14d9e0c54800e5defd3784","impliedFormat":1},{"version":"37b92684a256e2cd399127f82f0200d898c6e0b98300739a61d290a5a1a3d557","impliedFormat":1},{"version":"26233e13f02e90b6f438d665af6fd2234f722b33be81a80a65bae433c163cdab","impliedFormat":1},{"version":"1baec60d4d336d81eb675e4ffcdfbf50f5cdb1f555e748aa8e17e9686be60bd1","impliedFormat":1},{"version":"5bc7721c39f2bcc4ef5bd084e11d4649cb812fff6d37fa54411674d5435aa112","impliedFormat":1},{"version":"eabea9cda1d4c7539d6f8dbeae9703bec671fc26e7482fe4b7e1effaaa651870","impliedFormat":1},{"version":"74d414f8c5b664dd0f5239704a70cb7a4c25b0c8ca632005f02308c4e4279d26","impliedFormat":1},{"version":"fcc9d944e0fa38d0b05897d9ba60781cc0a6da4c2a9b5c190d4dc816ee4f4273","impliedFormat":1},{"version":"33c2805445e6e3282d90041cc827c90c200ae98f049073708d3746608ed011f0","signature":"76f1c77f230eec4b6c720038630a0f78999fd0a0f7a6783d8b62bd9b696a59a5"},{"version":"0309a01650023994ed96edbd675ea4fdc3779a823ce716ad876cc77afb792b62","impliedFormat":99},{"version":"f13d7beeea58e219daef3a40e0dc4f2bd7d9581ac04cedec236102a12dfd2090","impliedFormat":99},{"version":"48c411efce1848d1ed55de41d7deb93cbf7c04080912fd87aa517ed25ef42639","affectsGlobalScope":true,"impliedFormat":1},{"version":"a094636c05f3e75cb072684dd42cd25a4c1324bec4a866706c85c04cecd49613","affectsGlobalScope":true,"impliedFormat":99},{"version":"fe2d63fcfdde197391b6b70daf7be8c02a60afa90754a5f4a04bdc367f62793d","impliedFormat":99},{"version":"9a3e2c85ec1ab7a0874a19814cc73c691b716282cb727914093089c5a8475955","impliedFormat":99},{"version":"cbdc781d2429935c9c42acd680f2a53a9f633e8de03290ec6ea818e4f7bff19a","impliedFormat":99},{"version":"9f6d9f5dd710922f82f69abf9a324e28122b5f31ae6f6ce78427716db30a377e","impliedFormat":99},{"version":"ac2414a284bdecfd6ab7b87578744ab056cd04dd574b17853cd76830ef5b72f2","impliedFormat":99},{"version":"c3f921bbc9d2e65bd503a56fbc66da910e68467baedb0b9db0cc939e1876c0d7","impliedFormat":99},{"version":"c30a41267fc04c6518b17e55dcb2b810f267af4314b0b6d7df1c33a76ce1b330","impliedFormat":1},{"version":"72422d0bac4076912385d0c10911b82e4694fc106e2d70added091f88f0824ba","impliedFormat":1},{"version":"da251b82c25bee1d93f9fd80c5a61d945da4f708ca21285541d7aff83ecb8200","impliedFormat":1},{"version":"64db14db2bf37ac089766fdb3c7e1160fabc10e9929bc2deeede7237e4419fc8","impliedFormat":1},{"version":"98b94085c9f78eba36d3d2314affe973e8994f99864b8708122750788825c771","impliedFormat":1},{"version":"0cc99fbb161d78729d71fad66c6c363e3095862d6277160f29fa960744b785c6","affectsGlobalScope":true,"impliedFormat":99},{"version":"b6f40bc2efa755bb5a0367566a4f2020b768bc4f3881a55b9e40dd2a7a7b87bf","signature":"394f6534d7054310afb553c9c0cbccf79aff46c427d62b9878f296633108245d"},{"version":"ecd3ddc4e46ef4a2d8fbeef7e038d06e2a16c3cab9eaf4866b6a5fc5e55168bc","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e36380e326b9ed6dea622d402755e07209311ca1d37382eccbd7243c6a94af47","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"147b89d5242cf647d554cae0bb03f7e3de39e5430a78ded9a8d9eed9d95ceac3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"716b5788e55ad834897b59872511fff0e6601d23de82681193f38662d1df5976","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b0f857fb290a653351414d798374f240bdc9a48b4097e6656268a931c2516a4e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e368e5f9f6e2aa754e64ecc23226e3e78fba9e7e44646bb3b55219781ae5e482","signature":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","affectsGlobalScope":true},{"version":"ca4ca7019d7a27316d7362da9bf72fed8aa05686de25f8febbbb4d500f726352","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"10157db45c6a9c5f2daba88e42043fe640ceb5484e42a441908088ef36fcab75","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"07dfb49eed88f49f6ea5dc809e2c7de0c5d4ff1cf3da5808eefdd1b9e39e61ed","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5b3a1c57528ba69f40543ccc5519e39143b761bf8a4cddf9ab4334aae4358b56","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"921916b47c36e8ead3d985bc061d1dcb5027def6f242983c76f7cf1667919c4b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"9d2ce8ef0a3a0a69342da0c3035635449888a4b5292b94b4308081e496c4726d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e1c75bef16cb1900872a0745dea9743cc32116bc8da389e2d88d219dc0fd2b8d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6d2e2925d354aa9aedc9c9c6cfb1efdc6fd2e844b3d65ce5a50a05c16d85b652","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b522db4dbad940b31d5382ae20ebf362d7d929cff62fdd24e16aa5b31fc95ce1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b68e87b21d5bdbc33969d39a7b276342fbf223159a2744e124b892176c170169","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2362c0b19b50661bdce39c17b81cdc24cad0d42a9d53a691c6be6c5faa7f06d8","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2663fb3980209e0596df1852403d8cca9248b8ca86392a071568e6201f280001","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6e33223b4de404a63f431d223ce05f7c6afbeff873199b608773bdd9ad70f9cc","affectsGlobalScope":true,"impliedFormat":99},{"version":"aaa137244668d5000cf65b9fef1e2fe27e6be6e030d8c7f1d680341b56a2c2f3","signature":"8000afd8be3da06deec57867d192421df0a1f7a84054d25cb272437ba2e3b47e"},{"version":"4372974c7a61ecfa8d855a25b717cb04752e80f7685fef78ce24d8a15805f119","signature":"f7e282e72cde10862cd8ce8805016645a49b895035f39791a1fee6f300302e0d"},{"version":"58590c4dc13f9e6ea1464f13ea794f8c19ac95ecb8cd71b611e04fe971dbf84f","signature":"11ec656c71cf64147c36964b7bc9c741a7c2b3e3838cb1926295acb992b73b14"},"5db980b9e7c994b51ad01e3e7d642634e941567134de400927bc4ad68a523a69",{"version":"5fea2486c1da31d5b47ea5c423b2507ec0efca3dd91792deabbfa9d86d6da448","signature":"06987ed088fd35273d8be03f35027e7fce83284c4afd7734c14d5bc5769d167f"},{"version":"4cc93e5b09aefa85c8a0d3cfca905ccd72dc58912386ef3123d319a36207105e","signature":"6171c673e99895b411dbd416f9fb27f1558a779524d9297772d0b0f091aab4fa"},{"version":"a346701ad6dcdaa58e388fe0995fc5304c09c395b8cba68ed872780f8c102004","impliedFormat":99},{"version":"7cb96ee534dedef7eb138952dc02fda0cb2caf2e02f2d3c08afab7f978d58dc3","signature":"171b593e7d096c79ddcaf10da3111066ec0608f62633dbc643117b023d279bc0"},"db726916b739ccfe583694c9636e42de2a7f028d4b6fe3f5ebc621f616eb19e4",{"version":"db912c5082800bc1f219cea45bb637dc8d26f54a3881c02d9e960726f4ac1eb8","signature":"1043c497f77ed2451a49a4fde80a171b375ea0bc554ac33d929ae2858abba968"},"823dd66b5c24c66498aac7ae678c2f0814e65e53b65e887736cb1c651ae3627d","9b04448729b949433b4ade298b51b2ef22ef83526c393b9816b255665dca3e68","36b20000508997532fbea51d936e3cf8dc703e1e416bef9e00dff664f05057b8",{"version":"aa746caf4b774931121ea3d5134a52c60ea9655230ab5a0045873a64320098d9","signature":"4700694dfabd3f749ec00d345f77a5aa63190cca29e959beb9eca57f7d96d1c6"},{"version":"006b673fb9c6922aae885173748176c0daec31d8b396a04335143808a5ec89c4","signature":"4bee0726981e0857928e286c1778d6935dbdcd9fa66d256174860c5d951a8721"},{"version":"00dbf4bde0c458e6b46fcd7acec29f387c7958645277c45500b137973657a8fb","signature":"ced1432f241ae8e46ba87a46a084a10828fe8b2f602ecda6ec9c3b47d6695248"},{"version":"83f23ad2c6aa8f100f677581be8c9173b1291720f2af45b960bd43ba19a9d4bd","signature":"ad76819ac5acc24bb85f10ca7cd177ab6f22b10d01530a32d71ad9598c1d61bd"},{"version":"f0cc17c3b251ddd8f29664fdf532bfb100faea9d411d5e3964ba7b95d577ec5b","signature":"77129ce45a937e93d3dce14c2de330d0a75370eed8f9c9b905c36cb273df950d"},"7f0023e401c760fdce590f7dbb263e8c9b6f4471bdaf407b6157714f9e702542","a29bd12be03c8b05de8648a664205a7cedf1cc26461a753ddb72fb8b8efbf6fd","901a99f4e2efb0edec385c2729cb0cbc5813e68a68fb4579bdc13aa59cd873d0","5641e54e48a61321b7b1b03c3da3d633d9a23f6e4b9cdb662c5cddbb76c50cce","1c77f0cb929e31cc441a3bdf26b3651a1d5c9aacb6e23d9341eaf1662c859569",{"version":"50ea3966e4765b401969e6cc1a3d7fe38dbe469aeb34ea330c4f80906e64ab51","signature":"91463f4efd9dab0f478a6baa9a1266e40172f7b596328f6ec42e0cbbdac71b8c"},"407907dddbfa248a866c8b56c610e79c99d9a025ab2e2dd80099aa9c3529c5c8",{"version":"5ff7210a95ec65f6a276c9394a84b6ad10b22505b26ab16dc1b938691b41844b","signature":"254f2d0412cb6449f13413c24b5120cfe8442111bd3f7fcea54239ae1fb9dbcd"},{"version":"7ddf3cfe8b36b647a37c7ed3c233704d686a6d546b64402a6a1e54bfa265efee","signature":"a7aa4ca6623df027ee1a4998ac1d1e1dbddd5161fbec0a5ea05a2d0853479d9b"},"28888d02e30fa8081cd6252b9f3fee4aa3216c608a2b1581b7817bb5dfcafcf2","e2dca0dc67708a6d9756b11c40cb8b33c8d12e311884058113b47a52ee5c34d9","150553ce304a14060ae30682ba14db83cc5c6a811f272fe068772cf574336918","b80ad6a5c764b3eb59788c37d6c4871fbbf07bc364f6544c35b4eb61db6b2dbb",{"version":"bf7e9e5024ceee8f12febbc0ccb2fb53eab40f4316e4ec3b8bed3681965e2417","signature":"964bf2e49997a970b4e532d9179fec2efc61527d6489842d470f0d9f6afb255d"},{"version":"a9ae7d9a6628150246078a22dad4084dd76234f1f42dc9d8408ef1aa0ffde5eb","signature":"7dbcaf9533e75200dc24a916356e52c6a09cc4f7fcfae6f3883f3722a1ad5d61"},{"version":"cba5bc67535110d589525064d504fac20a0d3f2bcf14e549ca3988eff6d878ea","signature":"2dc7238964ac69c37b38ddf442768cfc0a6be0d415ee115a823e7afbdba546fe"},{"version":"afd4e5c1d32fe27196599b850b158a89a34fc00d2c55570e72f6b38072c71a8c","signature":"5b44b451d5ae7c740cf2739074bf6222f11e0f0adabf29118c34a60f12af82cc"},"df1c05605ee27dbfd752a99b50f2fc4fa89a5109e05a36fbc4e67cc5d8c4c864",{"version":"7df74332af3ac6d581dc872dc77c28f5889fee99da8a28b2b12e707c079efc15","signature":"db0de7a12a7dc714f578f90c48f78e0e5dadd29e6a85826f1c150dd52c36b8fa"},"ed955ca54583a8cb9502d136a6acee58bb6d208dfd15436b2dbefe53188244ce",{"version":"ef11fe436505ea7671d36661837cdb98d5b0e60f26898d2772e0e1a1a3219db8","signature":"60ee7eeb43017c05f5bfdf6485621ab533adc487a85261612e15ccf276f07836"},{"version":"9c220f7425bc6cb24aa6b38c6375c55d73218cebd83108f0a0e82bcbee8492f4","signature":"4edefc81156a239b6b03b186e93faceccd10b1167625724044429880efc7f2f5"},{"version":"2bc222ac147c64a087a8ac7b89b03284c95127e8c8d1eb2696907ca51a5e8fe4","signature":"a80a5097036100840a1fe904ce5bd38c9f2e6193c9d3196b0e709bc66d97be41"},"5c702097b79dd4708ce15582ed4b3f42f48fc40fb783b9025cdd391016fadd8c",{"version":"115c859509e2bde22ef97ac2fe351c0cb2bd897f846aa45336ef941c90b597dc","impliedFormat":99},{"version":"79721ecdc73abe914ef5adb573cbfe8e8a7cd71f4ce82b0deccae921628a422e","signature":"a2c7797009b70eb52348e41a67459b3906c8ac468912c27a98574f7bc69de38a"},"76a9d681afaacb0e9d3e9af58d339f862d2eb6b6733e5a306bbf3d2f4eec3868","9724bcc6fe7ab37385fb3fd790972b9b9e0f99dd7db5eaaa2e87ef3d4196d736",{"version":"eb37e123f9d93dff4d46e89c03abfd60428bb381b86c455ee5790192f9ddea6f","signature":"c0f29f97cf72d4cd8ed2ec1cada93c2135b88962cda2fe579e2249721fe32e75"},"b49e0a10b0752f6f0d992bc87033128bcff849a6b29f5ee3f9c3528cf8f50b01",{"version":"ac3df436c52133e80820497dfb5fcf208ee5c0fdecc75b98ef9b2917b9e635b0","signature":"62b2f4129fb58b08ab3553307b41aa933142a016ff76012e7d26f844c2cf44e5"},"d3abe45d682e4febf7390d365c69a160e2156dcad22625b2f5489f464658a6aa","df20ff82361e8109ab2d4c055dfbfbb93e28de02a6411fd0b414e9f8f2e52abd",{"version":"05d9b7244f10dbcd7edf40f9af81749a47cab3e1b758ab613aefb8704899e133","signature":"c97030eab9e358e68f1c70998363aecea3fdce3b38f3832644cb8e7c7764a65b"},{"version":"6d7b4fbb9ec429006dff47ee929b76d2b2a3f682f3419971f9226d44ae572778","signature":"0ec93629cfd99d26d0225c378572d114562702ec0e8b652a6b2d0f0f6c5ef503"},{"version":"6da728750c67c82c9edf912d78f373e18f0ac3fbe3ba95286a4f60730f50b47c","signature":"8ba01ae5d0ade7b20a590b443419655bf2337968fca7d87e809289309e18f36b"},"4368fe719ed584b967e25bddcebc2e9892e9b238be3a1cd3e40307f4400b1521","0b63fe47383260ce1d27dfcb6b88a2e17cef82abea81ce6a1b62b7187e678488","a7fbc38d1e005d6b966e63ac48115e6bdaf4a93246d94f64e5bb4d8c3b5aadce","32143b3e9488590350155e32cddc198c20f7f83908e49ddff2b8bedca3892f33","4e7f2315a9ca9fea972f3c3481342b36cd755dba37f35b2ad454723859b7af0d",{"version":"29d4f26c8eb09dd13a06068abfaf4d891a168d02e915423e5f19ab2f8e2efba4","signature":"8626bc2d28f81058cc21974b461150efc87807b61429c2911c3c7598464af530"},{"version":"2f1127757db7e68daa7ae6d1f18cce1d9c178223f75a899d4956645680fab2e5","signature":"5f15b86916caa5f7befa35bca073d61b00801c1248cdcc21233bc5f6df058856"},"d4135bf02443b62d8a883567bd93440edcc9dd14b77310525c68186be7ff165b","f25f4aa289a11a6735eefc7cd0ce5f85359b7ed0c81ac6d98478e9d131a166e1",{"version":"caf4af98bf464ad3e10c46cf7d340556f89197aab0f87f032c7b84eb8ddb24d9","impliedFormat":99},{"version":"71acd198e19fa38447a3cbc5c33f2f5a719d933fccf314aaff0e8b0593271324","impliedFormat":99},{"version":"dfd466a53a86f0bd002050d33e96b5385ac4e102e93485ff8d9943fdc2fbeb12","signature":"bb0dfbd93a35b232bb2b36042266c565e235afd18be59f6568c76ce998c22234"},{"version":"b67dea8a8d35c004c6d94c22aacbbf2340b0e536c614e4c87a69d8814a7b4502","signature":"3309423a2837bf899df1568eaa9c41430753bf2957451b4b0494c7e4f829ada1"},{"version":"ac3af1fdac2d0795fdee4f28fcb0da2a2aefc0c428e1f6c640fba553eba158e1","signature":"972c711055e029e0650ad81cc14b92426a65c11a198b67efc40af8e395ef0a6a"},{"version":"7b425e907607442aa65df951ae3f9b28bcf189b74250c17528d270a98ca7ead5","signature":"064c58c74c8cdedeae7024e4c8801dd48d674561809fd9448c79566283854eef"},{"version":"541ffffc9e6533063116770ae651e359b41de8546c52a29a3b560074878a37db","signature":"93cbe28740c0a714593faad25b594962c03c44e6d9fc85b3c467ae4c2f39f005"},{"version":"7590151b26b5ab4a6a6a142e3636d3be7716cf520f54a2ff75d61e31740460ed","signature":"48ce6782ddafceb64328a816678f98cf662e6d1a16955218d094f476904ddd23"},"e9bab5eb3850e99a5f9b9bfd91b531e53530674fb1c381cb33943a906a771a01",{"version":"15fe687c59d62741b4494d5e623d497d55eb38966ecf5bea7f36e48fc3fbe15e","impliedFormat":1},{"version":"2b6ec8950599c0726f0ec925ed3a8e147f0a85009a0c91c77e3cbc56a5ad5a02","impliedFormat":99},{"version":"ebeadde9612fd023e900496704064e1c6d0be89e9ca567dbedfe2ca6b9cea735","impliedFormat":99},"edd6040f6ca92d4b487cef451b7b33241bd5d75ea00e9e791e8732f307bda048","bf919bf87560e80e08c859efca43291a34c48d46e8d54f46a8d85731d9991cd1",{"version":"5d7a42bee648293b76ac3da24a695c710302acfb10a15c58077cca2455d25805","signature":"1b97933626af2745edc2f350a6d0caa79f282103e6e4ff58998ffd883c5a487b"},{"version":"2d98ad52d79e4d5c346baf5c61c0ecb0c8917d0eadf113f1cfc27c44c058e00f","signature":"e4f1a77245e9a616ec641166da50b75dddfed5e6e40e85f7c7a3d82e48a24c47"},"b5d8b2a11bf875d8b531be6deec917c49bb641d17b369ce94b5433704f402d21",{"version":"1ddf3032bcce8a5212af623c72f8c034bdf89ff5b853cd56d0de26f07c8c1816","signature":"5be3203a30e047b20f6955fbfdbf8ef9ee1b6cd82e55ad31e318417e86ade6b1"},"b47ec64dc94b6124879b1e04bf35af23be20ff5b7367c6c690cd8dcac1f7abb9",{"version":"a7f80b91b62ba9b5f733c635caace8a104e20d58cf266921546977b73a1585ff","signature":"2e4e29cf92a7ce5b64d08195b9d5c6445a2b110b5174adce32c15fa3ae592c69"},{"version":"f9fdfe9ea3bb081ee96f5cfb40a0c6ab1033effbae750bdfe3bee9cfcea19126","signature":"cd9b7e7b5dd71a693371645163e7ed28242bf55b92f2a658a09ce575d8af6113"},{"version":"75f59a0d59ab1ce3307a56c276b153ce7bba0516ba40b7325beac4ecc480d945","signature":"c50578a9f51ce444556114aed0119face9f19856c19c886b90657a2bf520cea1"},"373aafbc76907968f44cbf6647ec8f0afa9e64047f75e174512930907bef9b33",{"version":"cfb938b8ec67b15f1163abf56001716bffb706ea6e50305e00a2d9c023edefb2","signature":"e7335fdc093ade3bcd466ff8352ef95702de8b8f6d341ae7e49587c14deab6f5"},{"version":"daa0eb34cf9ae014d1ed292636abbd43ed4ec6b42dd14e60fe795c3b2300cfc4","signature":"c9b131c7e29755466a2e3c2c4896cfd2579654686cf7545693752fa4669cacae"},{"version":"5f4b3359fc71f18e6f5daa4f23fbe2aece02272e6b93eb3e794d336009eda03f","signature":"822d2abcd7adbc3e09e69b6d502776b3ffc86937e00b686765ca5a269ce551a0"},"0fce02c9316a75b4a97987a320863cfb47d040b16dc5e924691f7a1beae5a6a8",{"version":"a57ba85f8d0392b5d28bded3dec06f5d370f8b188940c92c5a18115bf20dbf14","signature":"8de1cf72c7bd93329d3956e8501b219032f6cd23c44c78f7f85167637d1ba7b1"},"aa33e5aedce46597b35669ae80ac7d3b2c8f8335ccc594a75b1d8f8b65d9df11","280dc52ec56efb97164addf21a607a3444831c3311d25728be7302a27b5674de","ba529cb429af1ca12d8673ab84da4f142012f72f7ebfe8966175b033991fd4b8","0a020a3bf4ddba448ec43932f3ab9f2c3bfd9f3860f5bf79e155c5fd2f9acfdc","4cdddb1ede1b65dd6c42e6d9ce69ae8758c4de13dda6db6ae2934d9e1c9a7f7a","8e127414cb9d8279edff835839f3c3baafd21bcc024ac7e02d0480abbca52326","3770ed561dadaa1530802fcb0c34ad59e141e15fa84cb3f405937783668a1d5e",{"version":"a5ed8a6bcd15e2100d8e58326e4e5eb15a37b0ce9c809924d0d94ea756f103a0","signature":"bfbfb5da2672542187ff1390d5fd578aedc1d372f92b8f2f62ba56dac74b1328"},"ce31b442fda5f1f15d72e447482901baac00e2e34c0d6a6da1eea438d8c4f87d","7d372af3987f7ce08e5c89935763714d5a69bac877b64f5dbc9699251177ceed","4ad4378aeea43621957da3c52353da5687e2bcd32bc52f4c00672a0621c9a8fc","8613e297afea111110ff33d262cf84ca259bd500b8b163bc7edef48a98d2a966",{"version":"53d65e57d1a314a9e84d30c7a4c666db0a96e708c7675b7281b407e20019a102","signature":"82007a55f8a97943d16a14551d2e8eb31a415a920fec7d51a0d529d018f54617"},"d46785e38210fe20b0a865d5d88b55a20c31194a9050aa15dde0315c13bbc53a",{"version":"0feb65a0967d2482d47aece7f14bb8bdeaeb5d9f828c9351ecef7cb406bbac4d","signature":"c818c7e331ada03b73a83993119583693d419d6e411e634349a1343f01c2b8e0"},"6ff2ec600a544dfa83182d5174cb76845428d6cca0f42c72f59873ae72621d3d","5b8b552ec4e924056da66a478c3d51761296e8ddceff9b047acc1fbf88154a69","d834028f4c754991a04318699d9dea2c19c971696d909f0ff04952e0fde37f35",{"version":"16ef615c9cbee5b35d1633f587ba2d06297ef6aaabaad20323a29317fd982210","signature":"7f5497aeced54141e2274d029b0b3d95ea70cd5c7cc1956699c85209772f5c77"},{"version":"92dfe1cb7278ffac5c23656e33d0827da93b067724f377923f618c248204fa67","signature":"dc9ec8fcc1d97c07508efc913755665fde1feb62430a327ea3f9ad0989a31ad9"},{"version":"6d6b297cbb5990aa61b4cc4b15d32a3c211ebb6b55151a4610733264e9eb1e85","signature":"891103f36f5b37ca5b93e78077873529644f1f37bb1330f1629854bf8f4a565a"},{"version":"bfaa88f361eadaad415790d23b96fadb3f5e6ba8d0f9efd24486c745b1d8f406","signature":"399b0feb0194a998b788764abcb79550f2362963281e2620e9fdc15ae069c3de"},{"version":"686f2734d8ad760eafccfdc84c0a8a029f45350c7c23291edebd2533a8c5015a","signature":"61afe6a510c76e088624b41582b8ba29b5926995ac8a8748892ac8f1f0e7597c"},{"version":"6e153b017c3322bfcda2c256af4a9d5984eeb87266f0430c9f9becc502cf6b18","signature":"ed8d1d8700183e4263d9bfa0a3824cc91a3032b444c6785395235be3d2ee4005"},"9650e83bae742de79822409feb6f2b2ed61f70475ab4f038950e55b4f932ad66","a3abde6175e10aa119577819a0ee33ba42b42a34bf29311bbb6c808bd7a525cc","5c51e4e64d264ea6aec8b854be1f04003c46f42042f8946c77f3e4277c18c10d",{"version":"7fe426549f34db44b48b1e71379e355b24ac217cd463899495475356c17c4f8f","signature":"0a587cb277a11779346f192f2698cd77754f38fefcaca16c30f4336484c02722"},{"version":"364eeacfbc1bdf1d16690154d949ad91baa68d296dbec19ba1e2dc43b2328d31","signature":"24991486fe411737297c1ab312906c3783c68cf7bb7994067adec02f5b09f84a"},{"version":"bf1daafe347b0601738730267356f3cce0fa0b7e1e120177d24cfd47be1000b1","signature":"758cc6cd7d09f30edcb54eef0e34374361a594a71a812d05e99127a0096658a8"},{"version":"727e89104c93ad93287dc48193457a29cb14476f33cb557e727d34d24bea450a","signature":"8501181dfb03812f099d96b6136fea90d96012c395b543329b79c7fc4c5058aa"},{"version":"4e45ba5a28388f7d0446c30d49e3c1527b70540d711a063bf337558603acd517","signature":"3c3b6fb70b7cb90edb2144b045a9e33a5fd050305ea61f4f71d2ce66c144035b"},{"version":"32cd0dca1710c86231fdd586c1c84cdd879dbc113341c2701c1a5fef80e40a69","signature":"7fbed88d7c7058501d9c5040e43eb53eae6dbc7ac1241af308dc5f66c1f89b76"},{"version":"5ff49db5c9add02660f22c8825d1c3e0c56574c0129799d678ca6bae7756ad59","signature":"8fd57a820bfffc00a5287a809d870f9826867c1681d6d3609d4e54850a76e417"},{"version":"4c92a1329a7d6d78642f6cd74814981c21fac78a3079522e375a9a67ed52e138","signature":"9f4c9ef2efe75e269dc07e9cf3a500d44314c25e59b3525a5a2ae97c53638199"},{"version":"99dd3e0d4f258fae4cecf325c08e61c3f4bf2b1c6dc53e748802ff0b357122ac","signature":"c4a68a57535ba786c1328af5242c190c36cc63dfe614c29c1c8dc5efde3eb78d"},{"version":"a58481cfd655fba8aea4a656e31d0b4b7506ee94d93e87449f9a6faa012e0984","signature":"68a792f587621b0d3774bf4b66f23d45acef8c8c648539925b5420f259afba6c"},"d5251ece84d633828c7255574a70b76878eb5ec1c29d5d6fdf9e1a8cd6c303ad","f724ade2d4e93a4d05f81875466f4475f1a327a8aacf3f195f50ff55329e742a",{"version":"854268d3897e2321f6571ec1935b3f7d5852cce27347b823006c5dd823b85fc9","signature":"235a5b6ccd589820e01ce258b1ab2293ef5f5e8551676f5a3c25c1df67e63289"},{"version":"625127b39354798a2fbec4de8efc713e51b77a3ed82890225ca32c8dfe7ff16d","signature":"c4e930527562856e471ae6fcc18a40d122f7bf68c0d7ab45d70d00c26fbc2a24"},{"version":"668527131b36a1314594648ff5834d3ce4f5773a3467a2e15c457a6f3101808f","signature":"44f67e7dc12960b148988fc948ebffe44a21bdd44088a678ad4e122b8a31dda5"},"3529cd4cdc1a04dc5de2af15edefc3a977c1b58c3ea7069d737eb99e2b76a522","fa0e7853b961b76dd44df0b648d4e77590a8c907dd813d69d7b301582905aa33","590f4595f7e2edfd32358250591680e60b83bfd8502cd1a5b4eba74bde8248d8",{"version":"6c05d0fcee91437571513c404e62396ee798ff37a2d8bef2104accdc79deb9c0","impliedFormat":1},{"version":"7c1edcfa7a0614bfc279aeb8ce3e60e0642b1c24a6ff3d4d03d3e256efc95b20","signature":"8ced3e19a179346437c1ac65e063a793f4559fd0281c8b4c6ab4e34e51892085"},{"version":"40f95f7a7fc201de996bd17616be83cba94bdd04cd141529968438db7fc02cb3","signature":"8d1550565807bc336cf75eccb964ccc9740e7114ec7280112b19723098bbce32"},"5f2a29301885e099ed2829cb22b2624f173ab2cdd44ae682ae4d35a89234a561",{"version":"0943a6e4e026d0de8a4969ee975a7283e0627bf41aa4635d8502f6f24365ac9b","impliedFormat":99},{"version":"1461efc4aefd3e999244f238f59c9b9753a7e3dfede923ebe2b4a11d6e13a0d0","impliedFormat":99},{"version":"789b258bfc80b22f9634539e5b7b8d06acb68eb2842347326fdfb5b9eed79d93","signature":"0bb7dc51869cf43a818dd6d08599897543f5375fc02213c86c980cd8a56eb396"},{"version":"8dd450de6d756cee0761f277c6dc58b0b5a66b8c274b980949318b8cad26d712","impliedFormat":99},{"version":"904d6ad970b6bd825449480488a73d9b98432357ab38cf8d31ffd651ae376ff5","impliedFormat":99},{"version":"dfcf16e716338e9fe8cf790ac7756f61c85b83b699861df970661e97bf482692","impliedFormat":99},{"version":"31c30cc54e8c3da37c8e2e40e5658471f65915df22d348990d1601901e8c9ff3","impliedFormat":99},{"version":"8181c7be76533bb5e1d721274cf16bcc07dbe25c521aa6f15e01fe8a302eb481","signature":"506de066b3c5993482ff65065ba1d1fa69180a24eb20b6c5fb15141fc9d42400"},{"version":"dce4f80f612a79389688cc8f765cccde46d5af4881ea899cc694187ac386757a","signature":"6730bbdfd0ecd7e5e023e8609313bb5a25a7f1594a133669f4febf373eb5c6f1"},{"version":"caf4af98bf464ad3e10c46cf7d340556f89197aab0f87f032c7b84eb8ddb24d9","impliedFormat":99},{"version":"36d8011f1437aecf0e6e88677d933e4fb3403557f086f4ac00c5a4cb6d028ac2","impliedFormat":99},{"version":"09035a9c5b8211fffd34f06a6ec44e053b0d753390e40aea970cb59773176714","signature":"fca9bc9ef189961ee8b8ae7a29d2ee2ddbab2e15d1fefa8f3fb4d6005ef35bd8"},{"version":"a9373d52584b48809ffd61d74f5b3dfd127da846e3c4ee3c415560386df3994b","impliedFormat":99},{"version":"caf4af98bf464ad3e10c46cf7d340556f89197aab0f87f032c7b84eb8ddb24d9","impliedFormat":99},{"version":"8085954ba165e611c6230596078063627f3656fed3fb68ad1e36a414c4d7599a","impliedFormat":99},{"version":"9effa6f9decfeb6230e20958c815cdfef8bd84f6ec6aafc8e2e87c5e4c64b4b2","signature":"a548630f941a3440739c0de45a1e20495f57ea8abebe98425a124bfc6ebb8d75"},{"version":"801c5fac01248e8e4692b58a6ee5c6a50a3cddb9b095e0bb2e04aff201313b6c","signature":"5759cb11825992823d4a1b694974bf261d262a376225b14bb295845851160aa2"},{"version":"caf4af98bf464ad3e10c46cf7d340556f89197aab0f87f032c7b84eb8ddb24d9","impliedFormat":99},{"version":"9c580c6eae94f8c9a38373566e59d5c3282dc194aa266b23a50686fe10560159","impliedFormat":99},{"version":"96ef29b5aa9a169fd23a813ebbd4a721ba693c9ba73b9bdd9b4ece6788e9279c","signature":"dbb75a08150c6031b2a036d35c99fe58bd58afb83ea378200726f7686979b649"},{"version":"07203100cedafa78bd03b8ffe71559d29c35bfe7ea034449ed21d1008907cc0e","signature":"7f1a63df38832b63ac8fd0d109e01b04dca1a8911debb304a6e6a6b129dda6f5"},{"version":"57ae71d27ee71b7d1f2c6d867ddafbbfbaa629ad75565e63a508dbaa3ef9f859","impliedFormat":99},{"version":"60924ca0c60f0674f208bfa1eaaa54e6973ced7650df7c7a81ae069730ef665a","impliedFormat":99},{"version":"e3181c7595a89dd03ba9a20eb5065fa37e0b0a514261bed774f6ae2241634470","impliedFormat":99},{"version":"c42d5cbf94816659c01f7c2298d0370247f1a981f8ca6370301b7a03b3ced950","impliedFormat":99},{"version":"18c18ab0341fd5fdfefb5d992c365be1696bfe000c7081c964582b315e33f8f2","impliedFormat":99},{"version":"dafbd4199902d904e3d4a233b5faf5dc4c98847fcd8c0ddd7617b2aed50e90d8","impliedFormat":99},{"version":"9fc866f9783d12d0412ed8d68af5e4c9e44f0072d442b0c33c3bda0a5c8cae15","impliedFormat":99},{"version":"5fc13d24a2d0328eac00c4e73cc052a987fbced2151bc0d3b7eb8f3ba4d0f4e2","impliedFormat":99},{"version":"2cef84bf00cbdb452fdc5d8ecfe7b8c0aa3fa788bdc4ad8961e2e636530dbb60","impliedFormat":99},{"version":"24104650185414f379d5cc35c0e2c19f06684a73de5b472bae79e0d855771ecf","impliedFormat":99},{"version":"799003c0ab928582fca04977f47b8d85b43a8de610f4eef0ad2d069fbb9f9399","impliedFormat":99},{"version":"b13dd41c344a23e085f81b2f5cd96792e6b35ae814f32b25e39d9841844ad240","impliedFormat":99},{"version":"17d8b4e6416e48b6e23b73d05fd2fde407e2af8fddbe9da2a98ede14949c3489","impliedFormat":99},{"version":"6d17b2b41f874ab4369b8e04bdbe660163ea5c8239785c850f767370604959e3","impliedFormat":99},{"version":"04b4c044c8fe6af77b6c196a16c41e0f7d76b285d036d79dcaa6d92e24b4982b","impliedFormat":99},{"version":"30bdeead5293c1ddfaea4097d3e9dd5a6b0bc59a1e07ff4714ea1bbe7c5b2318","impliedFormat":99},{"version":"e7df226dcc1b0ce76b32f160556f3d1550124c894aae2d5f73cefaaf28df7779","impliedFormat":99},{"version":"f2b7eef5c46c61e6e72fba9afd7cc612a08c0c48ed44c3c5518559d8508146a2","impliedFormat":99},{"version":"00f0ba57e829398d10168b7db1e16217f87933e61bd8612b53a894bd7d6371da","impliedFormat":99},{"version":"126b20947d9fa74a88bb4e9281462bda05e529f90e22d08ee9f116a224291e84","impliedFormat":99},{"version":"40d9e43acee39702745eb5c641993978ac40f227475eacc99a83ba893ad995db","impliedFormat":99},{"version":"8a66b69b21c8de9cb88b4b6d12f655d5b7636e692a014c5aa1bd81745c8c51d5","impliedFormat":99},{"version":"ebbb846bdd5a78fdacff59ae04cea7a097912aeb1a2b34f8d88f4ebb84643069","impliedFormat":99},{"version":"7321adb29ffd637acb33ee67ea035f1a97d0aa0b14173291cc2fd58e93296e04","impliedFormat":99},{"version":"320816f1a4211188f07a782bdb6c1a44555b3e716ce13018f528ad7387108d5f","impliedFormat":99},{"version":"b2cc8a474b7657f4a03c67baf6bff75e26635fd4b5850675e8cad524a09ddd0c","impliedFormat":99},{"version":"0d081e9dc251063cc69611041c17d25847e8bdbe18164baaa89b7f1f1633c0ab","impliedFormat":99},{"version":"a64c25d8f4ec16339db49867ea2324e77060782993432a875d6e5e8608b0de1e","impliedFormat":99},{"version":"0739310b6b777f3e2baaf908c0fbc622c71160e6310eb93e0d820d86a52e2e23","impliedFormat":99},{"version":"37b32e4eadd8cd3c263e7ac1681c58b2ac54f3f77bb34c5e4326cc78516d55a9","impliedFormat":99},{"version":"9b7a8974e028c4ed6f7f9abb969e3eb224c069fd7f226e26fcc3a5b0e2a1eba8","impliedFormat":99},{"version":"e8100b569926a5592146ed68a0418109d625a045a94ed878a8c5152b1379237c","impliedFormat":99},{"version":"594201c616c318b7f3149a912abd8d6bdf338d765b7bcbde86bca2e66b144606","impliedFormat":99},{"version":"03e380975e047c5c6ded532cf8589e6cc85abb7be3629e1e4b0c9e703f2fd36f","impliedFormat":99},{"version":"fae14b53b7f52a8eb3274c67c11f261a58530969885599efe3df0277b48909e1","impliedFormat":99},{"version":"c41206757c428186f2e0d1fd373915c823504c249336bdc9a9c9bbdf9da95fef","impliedFormat":99},{"version":"e961f853b7b0111c42b763a6aa46fc70d06a697db3d8ed69b38f7ba0ae42a62b","impliedFormat":99},{"version":"3db90f79e36bcb60b3f8de1bc60321026800979c150e5615047d598c787a64b7","impliedFormat":99},{"version":"639b6fb3afbb8f6067c1564af2bd284c3e883f0f1556d59bd5eb87cdbbdd8486","impliedFormat":99},{"version":"49795f5478cb607fd5965aa337135a8e7fd1c58bc40c0b6db726adf186dd403f","impliedFormat":99},{"version":"7d8890e6e2e4e215959e71d5b5bd49482cf7a23be68d48ea446601a4c99bd511","impliedFormat":99},{"version":"d56f72c4bb518de5702b8b6ae3d3c3045c99e0fd48b3d3b54c653693a8378017","impliedFormat":99},{"version":"4c9ac40163e4265b5750510d6d2933fb7b39023eed69f7b7c68b540ad960826e","impliedFormat":99},{"version":"8dfab17cf48e7be6e023c438a9cdf6d15a9b4d2fa976c26e223ba40c53eb8da8","impliedFormat":99},{"version":"38bdf7ccacfd8e418de3a7b1e3cecc29b5625f90abc2fa4ac7843a290f3bf555","impliedFormat":99},{"version":"9819e46a914735211fbc04b8dc6ba65152c62e3a329ca0601a46ba6e05b2c897","impliedFormat":99},{"version":"50f0dc9a42931fb5d65cdd64ba0f7b378aedd36e0cfca988aa4109aad5e714cb","impliedFormat":99},{"version":"894f23066f9fafccc6e2dd006ed5bd85f3b913de90f17cf1fe15a2eb677fd603","impliedFormat":99},{"version":"abdf39173867e6c2d6045f120a316de451bbb6351a6929546b8470ddf2e4b3b9","impliedFormat":99},{"version":"aa2cb4053f948fbd606228195bbe44d78733861b6f7204558bbee603202ee440","impliedFormat":99},{"version":"6911b41bfe9942ac59c2da1bbcbe5c3c1f4e510bf65cae89ed00f434cc588860","impliedFormat":99},{"version":"7b81bc4d4e2c764e85d869a8dd9fe3652b34b45c065482ac94ffaacc642b2507","impliedFormat":99},{"version":"895df4edb46ccdcbce2ec982f5eed292cf7ea3f7168f1efea738ee346feab273","impliedFormat":99},{"version":"8692bb1a4799eda7b2e3288a6646519d4cebb9a0bddf800085fc1bd8076997a0","impliedFormat":99},{"version":"239c9e98547fe99711b01a0293f8a1a776fc10330094aa261f3970aaba957c82","impliedFormat":99},{"version":"34833ec50360a32efdc12780ae624e9a710dd1fd7013b58c540abf856b54285a","impliedFormat":99},{"version":"647538e4007dcc351a8882067310a0835b5bb8559d1cfa5f378e929bceb2e64d","impliedFormat":99},{"version":"992d6b1abcc9b6092e5a574d51d441238566b6461ade5de53cb9718e4f27da46","impliedFormat":99},{"version":"938702305649bf1050bd79f3803cf5cc2904596fc1edd4e3b91033184eae5c54","impliedFormat":99},{"version":"1e931d3c367d4b96fe043e792196d9c2cf74f672ff9c0b894be54e000280a79d","impliedFormat":99},{"version":"05bec322ea9f6eb9efcd6458bb47087e55bd688afdd232b78379eb5d526816ed","impliedFormat":99},{"version":"4c449a874c2d2e5e5bc508e6aa98f3140218e78c585597a21a508a647acd780a","impliedFormat":99},{"version":"dae15e326140a633d7693e92b1af63274f7295ea94fb7c322d5cbe3f5e48be88","impliedFormat":99},{"version":"c2b0a869713bca307e58d81d1d1f4b99ebfc7ec8b8f17e80dde40739aa8a2bc6","impliedFormat":99},{"version":"6e4b4ff6c7c54fa9c6022e88f2f3e675eac3c6923143eb8b9139150f09074049","impliedFormat":99},{"version":"69559172a9a97bbe34a32bff8c24ef1d8c8063feb5f16a6d3407833b7ee504cf","impliedFormat":99},{"version":"86b94a2a3edcb78d9bfcdb3b382547d47cb017e71abe770c9ee8721e9c84857f","impliedFormat":99},{"version":"e3fafafda82853c45c0afc075fea1eaf0df373a06daf6e6c7f382f9f61b2deb3","impliedFormat":99},{"version":"a4ba4b31de9e9140bc49c0addddbfaf96b943a7956a46d45f894822e12bf5560","impliedFormat":99},{"version":"d8a7926fc75f2ed887f17bae732ee31a4064b8a95a406c87e430c58578ee1f67","impliedFormat":99},{"version":"9886ffbb134b0a0059fd82219eba2a75f8af341d98bc6331b6ef8a921e10ec68","impliedFormat":99},{"version":"c2ead057b70d0ae7b87a771461a6222ebdb187ba6f300c974768b0ae5966d10e","impliedFormat":99},{"version":"46687d985aed8485ab2c71085f82fafb11e69e82e8552cf5d3849c00e64a00a5","impliedFormat":99},{"version":"999ca66d4b5e2790b656e0a7ce42267737577fc7a52b891e97644ec418eff7ec","impliedFormat":99},{"version":"ec948ee7e92d0888f92d4a490fdd0afb27fbf6d7aabebe2347a3e8ac82c36db9","impliedFormat":99},{"version":"03ef2386c683707ce741a1c30cb126e8c51a908aa0acc01c3471fafb9baaacd5","impliedFormat":99},{"version":"66a372e03c41d2d5e920df5282dadcec2acae4c629cb51cab850825d2a144cea","impliedFormat":99},{"version":"ddf9b157bd4c06c2e4646c9f034f36267a0fbd028bd4738214709de7ea7c548b","impliedFormat":99},{"version":"3e795aac9be23d4ad9781c00b153e7603be580602e40e5228e2dafe8a8e3aba1","impliedFormat":99},{"version":"98c461ec5953dfb1b5d5bca5fee0833c8a932383b9e651ca6548e55f1e2c71c3","impliedFormat":99},{"version":"5c42107b46cb1d36b6f1dee268df125e930b81f9b47b5fa0b7a5f2a42d556c10","impliedFormat":99},{"version":"7e32f1251d1e986e9dd98b6ff25f62c06445301b94aeebdf1f4296dbd2b8652f","impliedFormat":99},{"version":"2f7e328dda700dcb2b72db0f58c652ae926913de27391bd11505fc5e9aae6c33","impliedFormat":99},{"version":"3de7190e4d37da0c316db53a8a60096dbcd06d1a50677ccf11d182fa26882080","impliedFormat":99},{"version":"a9d6f87e59b32b02c861aade3f4477d7277c30d43939462b93f48644fa548c58","impliedFormat":99},{"version":"2bce8fd2d16a9432110bbe0ba1e663fd02f7d8b8968cd10178ea7bc306c4a5df","impliedFormat":99},{"version":"798bedbf45a8f1e55594e6879cd46023e8767757ecce1d3feaa78d16ad728703","impliedFormat":99},{"version":"62723d5ac66f7ed6885a3931dd5cfa017797e73000d590492988a944832e8bc2","impliedFormat":99},{"version":"03db8e7df7514bf17fc729c87fff56ca99567b9aa50821f544587a666537c233","impliedFormat":99},{"version":"9b1f311ba4409968b68bf20b5d892dbd3c5b1d65c673d5841c7dbde351bc0d0b","impliedFormat":99},{"version":"2d1e8b5431502739fe335ceec0aaded030b0f918e758a5d76f61effa0965b189","impliedFormat":99},{"version":"e725839b8f884dab141b42e9d7ff5659212f6e1d7b4054caa23bc719a4629071","impliedFormat":99},{"version":"4fa38a0b8ae02507f966675d0a7d230ed67c92ab8b5736d99a16c5fbe2b42036","impliedFormat":99},{"version":"50ec1e8c23bad160ddedf8debeebc722becbddda127b8fdce06c23eacd3fe689","impliedFormat":99},{"version":"9a0aea3a113064fd607f41375ade308c035911d3c8af5ae9db89593b5ca9f1f9","impliedFormat":99},{"version":"8d643903b58a0bf739ce4e6a8b0e5fb3fbdfaacbae50581b90803934b27d5b89","impliedFormat":99},{"version":"19de2915ccebc0a1482c2337b34cb178d446def2493bf775c4018a4ea355adb8","impliedFormat":99},{"version":"9be8fc03c8b5392cd17d40fd61063d73f08d0ee3457ecf075dcb3768ae1427bd","impliedFormat":99},{"version":"a2d89a8dc5a993514ca79585039eea083a56822b1d9b9d9d85b14232e4782cbe","impliedFormat":99},{"version":"f526f20cae73f17e8f38905de4c3765287575c9c4d9ecacee41cfda8c887da5b","impliedFormat":99},{"version":"d9ec0978b7023612b9b83a71fee8972e290d02f8ff894e95cdd732cd0213b070","impliedFormat":99},{"version":"7ab10c473a058ec8ac4790b05cae6f3a86c56be9b0c0a897771d428a2a48a9f9","impliedFormat":99},{"version":"451d7a93f8249d2e1453b495b13805e58f47784ef2131061821b0e456a9fd0e1","impliedFormat":99},{"version":"21c56fe515d227ed4943f275a8b242d884046001722a4ba81f342a08dbe74ae2","impliedFormat":99},{"version":"d8311f0c39381aa1825081c921efde36e618c5cf46258c351633342a11601208","impliedFormat":99},{"version":"6b50c3bcc92dc417047740810596fcb2df2502aa3f280c9e7827e87896da168a","impliedFormat":99},{"version":"18a6b318d1e7b31e5749a52be0cf9bbce1b275f63190ef32e2c79db0579328ca","impliedFormat":99},{"version":"6a2d0af2c27b993aa85414f3759898502aa198301bc58b0d410948fe908b07b0","impliedFormat":99},{"version":"2da11b6f5c374300e5e66a6b01c3c78ec21b5d3fec0748a28cc28e00be73e006","impliedFormat":99},{"version":"0729691b39c24d222f0b854776b00530877217bfc30aac1dc7fa2f4b1795c536","impliedFormat":99},{"version":"ca45bb5c98c474d669f0e47615e4a5ae65d90a2e78531fda7862ee43e687a059","impliedFormat":99},{"version":"c1c058b91d5b9a24c95a51aea814b0ad4185f411c38ac1d5eef0bf3cebec17dc","impliedFormat":99},{"version":"3ab0ed4060b8e5b5e594138aab3e7f0262d68ad671d6678bcda51568d4fc4ccc","impliedFormat":99},{"version":"e2bf1faba4ff10a6020c41df276411f641d3fdce5c6bae1db0ec84a0bf042106","impliedFormat":99},{"version":"80b0a8fe14d47a71e23d7c3d4dcee9584d4282ef1d843b70cab1a42a4ea1588c","impliedFormat":99},{"version":"a0f02a73f6e3de48168d14abe33bf5970fdacdb52d7c574e908e75ad571e78f7","impliedFormat":99},{"version":"c728002a759d8ec6bccb10eed56184e86aeff0a762c1555b62b5d0fa9d1f7d64","impliedFormat":99},{"version":"586f94e07a295f3d02f847f9e0e47dbf14c16e04ccc172b011b3f4774a28aaea","impliedFormat":99},{"version":"cfe1a0f4ed2df36a2c65ea6bc235dbb8cf6e6c25feb6629989f1fa51210b32e7","impliedFormat":99},{"version":"8ba69c9bf6de79c177329451ffde48ddab7ec495410b86972ded226552f664df","impliedFormat":99},{"version":"15111cbe020f8802ad1d150524f974a5251f53d2fe10eb55675f9df1e82dbb62","impliedFormat":99},{"version":"782dc153c56a99c9ed07b2f6f497d8ad2747764966876dbfef32f3e27ce11421","impliedFormat":99},{"version":"cc2db30c3d8bb7feb53a9c9ff9b0b859dd5e04c83d678680930b5594b2bf99cb","impliedFormat":99},{"version":"46909b8c85a6fd52e0807d18045da0991e3bdc7373435794a6ba425bc23cc6be","impliedFormat":99},{"version":"e4e511ff63bb6bd69a2a51e472c6044298bca2c27835a34a20827bc3ef9b7d13","impliedFormat":99},{"version":"2c86f279d7db3c024de0f21cd9c8c2c972972f842357016bfbbd86955723b223","impliedFormat":99},{"version":"112c895cff9554cf754f928477c7d58a21191c8089bffbf6905c87fe2dc6054f","impliedFormat":99},{"version":"8cfc293b33082003cacbf7856b8b5e2d6dd3bde46abbd575b0c935dc83af4844","impliedFormat":99},{"version":"d2c5c53f85ce0474b3a876d76c4fc44ff7bb766b14ed1bf495f9abac181d7f5f","impliedFormat":99},{"version":"3c523f27926905fcbe20b8301a0cc2da317f3f9aea2273f8fc8d9ae88b524819","impliedFormat":99},{"version":"9ca0d706f6b039cc52552323aeccb4db72e600b67ddc7a54cebc095fc6f35539","impliedFormat":99},{"version":"a64909a9f75081342ddd061f8c6b49decf0d28051bc78e698d347bdcb9746577","impliedFormat":99},{"version":"7d8d55ae58766d0d52033eae73084c4db6a93c4630a3e17f419dd8a0b2a4dcd8","impliedFormat":99},{"version":"b8b5c8ba972d9ffff313b3c8a3321e7c14523fc58173862187e8d1cb814168ac","impliedFormat":99},{"version":"9c42c0fa76ee36cf9cc7cc34b1389fbb4bd49033ec124b93674ec635fabf7ffe","impliedFormat":99},{"version":"6184c8da9d8107e3e67c0b99dedb5d2dfe5ccf6dfea55c2a71d4037caf8ca196","impliedFormat":99},{"version":"4030ceea7bf41449c1b86478b786e3b7eadd13dfe5a4f8f5fe2eb359260e08b3","impliedFormat":99},{"version":"7bf516ec5dfc60e97a5bde32a6b73d772bd9de24a2e0ec91d83138d39ac83d04","impliedFormat":99},{"version":"e6a6fb3e6525f84edf42ba92e261240d4efead3093aca3d6eb1799d5942ba393","impliedFormat":99},{"version":"45df74648934f97d26800262e9b2af2f77ef7191d4a5c2eb1df0062f55e77891","impliedFormat":99},{"version":"3fe361e4e567f32a53af1f2c67ad62d958e3d264e974b0a8763d174102fe3b29","impliedFormat":99},{"version":"28b520acee4bc6911bfe458d1ad3ebc455fa23678463f59946ad97a327c9ab2b","impliedFormat":99},{"version":"121b39b1a9ad5d23ed1076b0db2fe326025150ef476dccb8bf87778fcc4f6dd7","impliedFormat":99},{"version":"f791f92a060b52aa043dde44eb60307938f18d4c7ac13df1b52c82a1e658953f","impliedFormat":99},{"version":"df09443e7743fd6adc7eb108e760084bacdf5914403b7aac5fbd4dc4e24e0c2c","impliedFormat":99},{"version":"eeb4ff4aa06956083eaa2aad59070361c20254b865d986bc997ee345dbd44cbb","impliedFormat":99},{"version":"ed84d5043444d51e1e5908f664addc4472c227b9da8401f13daa565f23624b6e","impliedFormat":99},{"version":"146bf888b703d8baa825f3f2fb1b7b31bda5dff803e15973d9636cdda33f4af3","impliedFormat":99},{"version":"b4ec8b7a8d23bdf7e1c31e43e5beac3209deb7571d2ccf2a9572865bf242da7c","impliedFormat":99},{"version":"3fba0d61d172091638e56fba651aa1f8a8500aac02147d29bd5a9cc0bc8f9ec2","impliedFormat":99},{"version":"a5a57deb0351b03041e0a1448d3a0cc5558c48e0ed9b79b69c99163cdca64ad8","impliedFormat":99},{"version":"9bcecf0cbc2bfc17e33199864c19549905309a0f9ecc37871146107aac6e05ae","impliedFormat":99},{"version":"d6a211db4b4a821e93c978add57e484f2a003142a6aef9dbfa1fe990c66f337b","impliedFormat":99},{"version":"bd4d10bd44ce3f630dd9ce44f102422cb2814ead5711955aa537a52c8d2cae14","impliedFormat":99},{"version":"08e4c39ab1e52eea1e528ee597170480405716bae92ebe7a7c529f490afff1e0","impliedFormat":99},{"version":"625bb2bc3867557ea7912bd4581288a9fca4f3423b8dffa1d9ed57fafc8610e3","impliedFormat":99},{"version":"d1992164ecc334257e0bef56b1fd7e3e1cea649c70c64ffc39999bb480c0ecdf","impliedFormat":99},{"version":"a53ff2c4037481eb357e33b85e0d78e8236e285b6428b93aa286ceea1db2f5dc","impliedFormat":99},{"version":"4fe608d524954b6857d78857efce623852fcb0c155f010710656f9db86e973a5","impliedFormat":99},{"version":"b53b62a9838d3f57b70cc456093662302abb9962e5555f5def046172a4fe0d4e","impliedFormat":99},{"version":"9866369eb72b6e77be2a92589c9df9be1232a1a66e96736170819e8a1297b61f","impliedFormat":99},{"version":"43abfbdf4e297868d780b8f4cfdd8b781b90ecd9f588b05e845192146a86df34","impliedFormat":99},{"version":"582419791241fb851403ae4a08d0712a63d4c94787524a7419c2bc8e0eb1b031","impliedFormat":99},{"version":"18437eeb932fe48590b15f404090db0ab3b32d58f831d5ffc157f63b04885ee5","impliedFormat":99},{"version":"0c5eaedf622d7a8150f5c2ec1f79ac3d51eea1966b0b3e61bfdea35e8ca213a7","impliedFormat":99},{"version":"fac39fc7a9367c0246de3543a6ee866a0cf2e4c3a8f64641461c9f2dac0d8aae","impliedFormat":99},{"version":"3b9f559d0200134f3c196168630997caedeadc6733523c8b6076a09615d5dec8","impliedFormat":99},{"version":"932af64286d9723da5ef7b77a0c4229829ce8e085e6bcc5f874cb0b83e8310d4","impliedFormat":99},{"version":"adeb9278f11f5561157feee565171c72fd48f5fe34ed06f71abf24e561fcaa1e","impliedFormat":99},{"version":"2269fef79b4900fc6b08c840260622ca33524771ff24fda5b9101ad98ea551f3","impliedFormat":99},{"version":"73d47498a1b73d5392d40fb42a3e7b009ae900c8423f4088c4faa663cc508886","impliedFormat":99},{"version":"7efc34cdc4da0968c3ba687bc780d5cacde561915577d8d1c1e46c7ac931d023","impliedFormat":99},{"version":"3c20a3bb0c50c819419f44aa55acc58476dad4754a16884cef06012d02b0722f","impliedFormat":99},{"version":"4569abf6bc7d51a455503670f3f1c0e9b4f8632a3b030e0794c61bfbba2d13be","impliedFormat":99},{"version":"98b2297b4dc1404078a54b61758d8643e4c1d7830af724f3ed2445d77a7a2d57","impliedFormat":99},{"version":"952ba89d75f1b589e07070fea2d8174332e3028752e76fd46e1c16cc51e6e2af","impliedFormat":99},{"version":"b6c9a2deefb6a57ff68d2a38d33c34407b9939487fc9ee9f32ba3ecf2987a88a","impliedFormat":99},{"version":"f6b371377bab3018dac2bca63e27502ecbd5d06f708ad7e312658d3b5315d948","impliedFormat":99},{"version":"31947dd8f1c8eeb7841e1f139a493a73bd520f90e59a6415375d0d8e6a031f01","impliedFormat":99},{"version":"95cd83b807e10b1af408e62caf5fea98562221e8ddca9d7ccc053d482283ddda","impliedFormat":99},{"version":"19287d6b76288c2814f1633bdd68d2b76748757ffd355e73e41151644e4773d6","impliedFormat":99},{"version":"fc4e6ec7dade5f9d422b153c5d8f6ad074bd9cc4e280415b7dc58fb5c52b5df1","impliedFormat":99},{"version":"3aea973106e1184db82d8880f0ca134388b6cbc420f7309d1c8947b842886349","impliedFormat":99},{"version":"765e278c464923da94dda7c2b281ece92f58981642421ae097862effe2bd30fa","impliedFormat":99},{"version":"de260bed7f7d25593f59e859bd7c7f8c6e6bb87e8686a0fcafa3774cb5ca02d8","impliedFormat":99},{"version":"b5c341ce978f5777fbe05bc86f65e9906a492fa6b327bda3c6aae900c22e76c6","impliedFormat":99},{"version":"686ddbfaf88f06b02c6324005042f85317187866ca0f8f4c9584dd9479653344","impliedFormat":99},{"version":"7f789c0c1db29dd3aab6e159d1ba82894a046bf8df595ac48385931ae6ad83e0","impliedFormat":99},{"version":"8eb3057d4fe9b59b2492921b73a795a2455ebe94ccb3d01027a7866612ead137","impliedFormat":99},{"version":"1e43c5d7aee1c5ec20611e28b5417f5840c75d048de9d7f1800d6808499236f8","impliedFormat":99},{"version":"d42610a5a2bee4b71769968a24878885c9910cd049569daa2d2ee94208b3a7a5","impliedFormat":99},{"version":"f6ed95506a6ed2d40ed5425747529befaa4c35fcbbc1e0d793813f6d725690fa","impliedFormat":99},{"version":"a6fcc1cd6583939506c906dff1276e7ebdc38fbe12d3e108ba38ad231bd18d97","impliedFormat":99},{"version":"ed13354f0d96fb6d5878655b1fead51722b54875e91d5e53ef16de5b71a0e278","impliedFormat":99},{"version":"1193b4872c1fb65769d8b164ca48124c7ebacc33eae03abf52087c2b29e8c46c","impliedFormat":99},{"version":"af682dfabe85688289b420d939020a10eb61f0120e393d53c127f1968b3e9f66","impliedFormat":99},{"version":"0dca04006bf13f72240c6a6a502df9c0b49c41c3cab2be75e81e9b592dcd4ea8","impliedFormat":99},{"version":"79d6ac4a2a229047259116688f9cd62fda25422dee3ad304f77d7e9af53a41ef","impliedFormat":99},{"version":"64534c17173990dc4c3d9388d16675a059aac407031cfce8f7fdffa4ee2de988","impliedFormat":99},{"version":"ba46d160a192639f3ca9e5b640b870b1263f24ac77b6895ab42960937b42dcbb","impliedFormat":99},{"version":"5e5ddd6fc5b590190dde881974ab969455e7fad61012e32423415ae3d085b037","impliedFormat":99},{"version":"1c16fd00c42b60b96fe0fa62113a953af58ddf0d93b0a49cb4919cf5644616f0","impliedFormat":99},{"version":"eb240c0e6b412c57f7d9a9f1c6cd933642a929837c807b179a818f6e8d3a4e44","impliedFormat":99},{"version":"4a7bde5a1155107fc7d9483b8830099f1a6072b6afda5b78d91eb5d6549b3956","impliedFormat":99},{"version":"3c1baaffa9a24cc7ef9eea6b64742394498e0616b127ca630aca0e11e3298006","impliedFormat":99},{"version":"87ca1c31a326c898fa3feb99ec10750d775e1c84dbb7c4b37252bcf3742c7b21","impliedFormat":99},{"version":"d7bd26af1f5457f037225602035c2d7e876b80d02663ab4ca644099ad3a55888","impliedFormat":99},{"version":"2ad0a6b93e84a56b64f92f36a07de7ebcb910822f9a72ad22df5f5d642aff6f3","impliedFormat":99},{"version":"523d1775135260f53f672264937ee0f3dc42a92a39de8bee6c48c7ea60b50b5a","impliedFormat":99},{"version":"e441b9eebbc1284e5d995d99b53ed520b76a87cab512286651c4612d86cd408e","impliedFormat":99},{"version":"76f853ee21425c339a79d28e0859d74f2e53dee2e4919edafff6883dd7b7a80f","impliedFormat":99},{"version":"00cf042cd6ba1915648c8d6d2aa00e63bbbc300ea54d28ed087185f0f662e080","impliedFormat":99},{"version":"f57e6707d035ab89a03797d34faef37deefd3dd90aa17d90de2f33dce46a2c56","impliedFormat":99},{"version":"cc8b559b2cf9380ca72922c64576a43f000275c72042b2af2415ce0fb88d7077","impliedFormat":99},{"version":"1a337ca294c428ba8f2eb01e887b28d080ee4a4307ae87e02e468b1d26af4a74","impliedFormat":99},{"version":"5a15362fc2e72765a908c0d4dd89e3ab3b763e8bc8c23f19234a709ecfd202fe","impliedFormat":99},{"version":"2dffdfe62ac8af0943853234519616db6fd8958fc7ff631149fd8364e663f361","impliedFormat":99},{"version":"5dbdb2b2229b5547d8177c34705272da5a10b8d0033c49efbc9f6efba5e617f2","impliedFormat":99},{"version":"6fc0498cd8823d139004baff830343c9a0d210c687b2402c1384fb40f0aa461c","impliedFormat":99},{"version":"8492306a4864a1dc6fc7e0cc0de0ae9279cbd37f3aae3e9dc1065afcdc83dddc","impliedFormat":99},{"version":"c011b378127497d6337a93f020a05f726db2c30d55dc56d20e6a5090f05919a6","impliedFormat":99},{"version":"f4556979e95a274687ae206bbab2bb9a71c3ad923b92df241d9ab88c184b3f40","impliedFormat":99},{"version":"50e82bb6e238db008b5beba16d733b77e8b2a933c9152d1019cf8096845171a4","impliedFormat":99},{"version":"d6011f8b8bbf5163ef1e73588e64a53e8bf1f13533c375ec53e631aad95f1375","impliedFormat":99},{"version":"693cd7936ac7acfa026d4bcb5801fce71cec49835ba45c67af1ef90dbfd30af7","impliedFormat":99},{"version":"195e2cf684ecddfc1f6420564535d7c469f9611ce7a380d6e191811f84556cd2","impliedFormat":99},{"version":"1dc6b6e7b2a7f2962f31c77f4713f3a5a132bbe14c00db75d557568fe82e4311","impliedFormat":99},{"version":"add93b1180e9aaac2dae4ef3b16f7655893e2ecbe62bd9e48366c305f0063d89","impliedFormat":99},{"version":"594bd896fe37c970aafb7a376ebeec4c0d636b62a5f611e2e27d30fb839ad8a5","impliedFormat":99},{"version":"b1c6a6faf60542ba4b4271db045d7faea56e143b326ef507d2797815250f3afc","impliedFormat":99},{"version":"8c8b165beb794260f462679329b131419e9f5f35212de11c4d53e6d4d9cbedf6","impliedFormat":99},{"version":"ee5a4cf57d49fcf977249ab73c690a59995997c4672bb73fcaaf2eed65dbd1b2","impliedFormat":99},{"version":"f9f36051f138ab1c40b76b230c2a12b3ce6e1271179f4508da06a959f8bee4c1","impliedFormat":99},{"version":"9dc2011a3573d271a45c12656326530c0930f92539accbec3531d65131a14a14","impliedFormat":99},{"version":"091521ce3ede6747f784ae6f68ad2ea86bbda76b59d2bf678bcad2f9d141f629","impliedFormat":99},{"version":"202c2be951f53bafe943fb2c8d1245e35ed0e4dfed89f48c9a948e4d186dd6d4","impliedFormat":99},{"version":"c618aead1d799dbf4f5b28df5a6b9ce13d72722000a0ec3fe90a8115b1ea9226","impliedFormat":99},{"version":"9b0bf59708549c3e77fddd36530b95b55419414f88bbe5893f7bc8b534617973","impliedFormat":99},{"version":"7e216f67c4886f1bde564fb4eebdd6b185f262fe85ad1d6128cad9b229b10354","impliedFormat":99},{"version":"cd51e60b96b4d43698df74a665aa7a16604488193de86aa60ec0c44d9f114951","impliedFormat":99},{"version":"b63341fb6c7ba6f2aeabd9fc46b43e6cc2d2b9eec06534cfd583d9709f310ec2","impliedFormat":99},{"version":"be2af50c81b15bcfe54ad60f53eb1c72dae681c72d0a9dce1967825e1b5830a3","impliedFormat":99},{"version":"be5366845dfb9726f05005331b9b9645f237f1ddc594c0def851208e8b7d297b","impliedFormat":99},{"version":"5ddd536aaeadd4bf0f020492b3788ed209a7050ce27abec4e01c7563ff65da81","impliedFormat":99},{"version":"e243b24da119c1ef0d79af2a45217e50682b139cb48e7607efd66cc01bd9dcda","impliedFormat":99},{"version":"5b1398c8257fd180d0bf62e999fe0a89751c641e87089a83b24392efda720476","impliedFormat":99},{"version":"1588b1359f8507a16dbef67cd2759965fc2e8d305e5b3eb71be5aa9506277dff","impliedFormat":99},{"version":"4c99f2524eee1ec81356e2b4f67047a4b7efaf145f1c4eb530cd358c36784423","impliedFormat":99},{"version":"b30c6b9f6f30c35d6ef84daed1c3781e367f4360171b90598c02468b0db2fc3d","impliedFormat":99},{"version":"79c0d32274ccfd45fae74ac61d17a2be27aea74c70806d22c43fc625b7e9f12a","impliedFormat":99},{"version":"1b7e3958f668063c9d24ac75279f3e610755b0f49b1c02bb3b1c232deb958f54","impliedFormat":99},{"version":"779d4022c3d0a4df070f94858a33d9ebf54af3664754536c4ce9fd37c6f4a8db","impliedFormat":99},{"version":"e662f063d46aa8c088edffdf1d96cb13d9a2cbf06bc38dc6fc62b4d125fb7b49","impliedFormat":99},{"version":"d1d612df1e41c90d9678b07740d13d4f8e6acec2f17390d4ff4be5c889a6d37d","impliedFormat":99},{"version":"c95933fe140918892d569186f17b70ef6b1162f851a0f13f6a89e8f4d599c5a1","impliedFormat":99},{"version":"1d8d30677f87c13c2786980a80750ac1e281bdb65aa013ea193766fe9f0edd74","impliedFormat":99},{"version":"4661673cbc984b8a6ee5e14875a71ed529b64e7f8e347e12c0db4cecc25ad67d","impliedFormat":99},{"version":"7f980a414274f0f23658baa9a16e21d828535f9eac538e2eab2bb965325841db","impliedFormat":99},{"version":"20fb747a339d3c1d4a032a31881d0c65695f8167575e01f222df98791a65da9b","impliedFormat":99},{"version":"dd4e7ebd3f205a11becf1157422f98db675a626243d2fbd123b8b93efe5fb505","impliedFormat":99},{"version":"43ec6b74c8d31e88bb6947bb256ad78e5c6c435cbbbad991c3ff39315b1a3dba","impliedFormat":99},{"version":"b27242dd3af2a5548d0c7231db7da63d6373636d6c4e72d9b616adaa2acef7e1","impliedFormat":99},{"version":"e0ee7ba0571b83c53a3d6ec761cf391e7128d8f8f590f8832c28661b73c21b68","impliedFormat":99},{"version":"072bfd97fc61c894ef260723f43a416d49ebd8b703696f647c8322671c598873","impliedFormat":99},{"version":"e70875232f5d5528f1650dd6f5c94a5bed344ecf04bdbb998f7f78a3c1317d02","impliedFormat":99},{"version":"8e495129cb6cd8008de6f4ff8ce34fe1302a9e0dcff8d13714bd5593be3f7898","impliedFormat":99},{"version":"0345bc0b1067588c4ea4c48e34425d3284498c629bc6788ebc481c59949c9037","impliedFormat":99},{"version":"e30f5b5d77c891bc16bd65a2e46cd5384ea57ab3d216c377f482f535db48fc8f","impliedFormat":99},{"version":"f113afe92ee919df8fc29bca91cab6b2ffbdd12e4ac441d2bb56121eb5e7dbe3","impliedFormat":99},{"version":"49d567cc002efb337f437675717c04f207033f7067825b42bb59c9c269313d83","impliedFormat":99},{"version":"1d248f707d02dc76555298a934fba0f337f5028bb1163ce59cd7afb831c9070f","impliedFormat":99},{"version":"5d8debffc9e7b842dc0f17b111673fe0fc0cca65e67655a2b543db2150743385","impliedFormat":99},{"version":"5fccbedc3eb3b23bc6a3a1e44ceb110a1f1a70fa8e76941dce3ae25752caa7a9","impliedFormat":99},{"version":"f4031b95f3bab2b40e1616bd973880fb2f1a97c730bac5491d28d6484fac9560","impliedFormat":99},{"version":"dbe75b3c5ed547812656e7945628f023c4cd0bc1879db0db3f43a57fb8ec0e2b","impliedFormat":99},{"version":"b754718a546a1939399a6d2a99f9022d8a515f2db646bab09f7d2b5bff3cbb82","impliedFormat":99},{"version":"2eef10fb18ed0b4be450accf7a6d5bcce7b7f98e02cac4e6e793b7ad04fc0d79","impliedFormat":99},{"version":"c46f471e172c3be12c0d85d24876fedcc0c334b0dab48060cdb1f0f605f09fed","impliedFormat":99},{"version":"7d6ddeead1d208588586c58c26e4a23f0a826b7a143fb93de62ed094d0056a33","impliedFormat":99},{"version":"7c5782291ff6e7f2a3593295681b9a411c126e3736b83b37848032834832e6b9","impliedFormat":99},{"version":"3a3f09df6258a657dd909d06d4067ee360cd2dccc5f5d41533ae397944a11828","impliedFormat":99},{"version":"ea54615be964503fec7bce04336111a6fa455d3e8d93d44da37b02c863b93eb8","impliedFormat":99},{"version":"2a83694bc3541791b64b0e57766228ea23d92834df5bf0b0fcb93c5bb418069c","impliedFormat":99},{"version":"b5913641d6830e7de0c02366c08b1d26063b5758132d8464c938e78a45355979","impliedFormat":99},{"version":"46c095d39c1887979d9494a824eda7857ec13fb5c20a6d4f7d02c2975309bf45","impliedFormat":99},{"version":"f6e02ca076dc8e624aa38038e3488ebd0091e2faea419082ed764187ba8a6500","impliedFormat":99},{"version":"4d49e8a78aba1d4e0ad32289bf8727ae53bc2def9285dff56151a91e7d770c3e","impliedFormat":99},{"version":"63315cf08117cc728eab8f3eec8801a91d2cd86f91d0ae895d7fd928ab54596d","impliedFormat":99},{"version":"a14a6f3a5636bcaebfe9ec2ccfa9b07dc94deb1f6c30358e9d8ea800a1190d5e","impliedFormat":99},{"version":"21206e7e81876dabf2a7af7aa403f343af1c205bdcf7eff24d9d7f4eee6214c4","impliedFormat":99},{"version":"cd0a9f0ffec2486cad86b7ef1e4da42953ffeb0eb9f79f536e16ff933ec28698","impliedFormat":99},{"version":"f609a6ec6f1ab04dba769e14d6b55411262fd4627a099e333aa8876ea125b822","impliedFormat":99},{"version":"6d8052bb814be030c64cb22ca0e041fe036ad3fc8d66208170f4e90d0167d354","impliedFormat":99},{"version":"851f72a5d3e8a2bf7eeb84a3544da82628f74515c92bdf23c4a40af26dcc1d16","impliedFormat":99},{"version":"59692a7938aab65ea812a8339bbc63c160d64097fe5a457906ea734d6f36bcd4","impliedFormat":99},{"version":"8cb3b95e610c44a9986a7eab94d7b8f8462e5de457d5d10a0b9c6dd16bde563b","impliedFormat":99},{"version":"f571713abd9a676da6237fe1e624d2c6b88c0ca271c9f1acc1b4d8efeea60b66","impliedFormat":99},{"version":"16c5d3637d1517a3d17ed5ebcfbb0524f8a9997a7b60f6100f7c5309b3bb5ac8","impliedFormat":99},{"version":"ca1ec669726352c8e9d897f24899abf27ad15018a6b6bcf9168d5cd1242058ab","impliedFormat":99},{"version":"bffb1b39484facf6d0c5d5feefe6c0736d06b73540b9ce0cf0f12da2edfd8e1d","impliedFormat":99},{"version":"f1663c030754f6171b8bb429096c7d2743282de7733bccd6f67f84a4c588d96e","impliedFormat":99},{"version":"dd09693285e58504057413c3adc84943f52b07d2d2fd455917f50fa2a63c9d69","impliedFormat":99},{"version":"d94c94593d03d44a03810a85186ae6d61ebeb3a17a9b210a995d85f4b584f23d","impliedFormat":99},{"version":"c7c3bf625a8cb5a04b1c0a2fbe8066ecdbb1f383d574ca3ffdabe7571589a935","impliedFormat":99},{"version":"7a2f39a4467b819e873cd672c184f45f548511b18f6a408fe4e826136d0193bb","impliedFormat":99},{"version":"f8a0ae0d3d4993616196619da15da60a6ec5a7dfaf294fe877d274385eb07433","impliedFormat":99},{"version":"2cca80de38c80ef6c26deb4e403ca1ff4efbe3cf12451e26adae5e165421b58d","impliedFormat":99},{"version":"0070d3e17aa5ad697538bf865faaff94c41f064db9304b2b949eb8bcccb62d34","impliedFormat":99},{"version":"53df93f2db5b7eb8415e98242c1c60f6afcac2db44bce4a8830c8f21eee6b1dd","impliedFormat":99},{"version":"d67bf28dc9e6691d165357424c8729c5443290367344263146d99b2f02a72584","impliedFormat":99},{"version":"932557e93fbdf0c36cc29b9e35950f6875425b3ac917fa0d3c7c2a6b4f550078","impliedFormat":99},{"version":"e3dc7ec1597fb61de7959335fb7f8340c17bebf2feb1852ed8167a552d9a4a25","impliedFormat":99},{"version":"b64e15030511c5049542c2e0300f1fe096f926cf612662884f40227267f5cd9f","impliedFormat":99},{"version":"1932796f09c193783801972a05d8fb1bfef941bb46ac76fbe1abb0b3bfb674fa","impliedFormat":99},{"version":"d9575d5787311ee7d61ad503f5061ebcfaf76b531cfecce3dc12afb72bb2d105","impliedFormat":99},{"version":"5b41d96c9a4c2c2d83f1200949f795c3b6a4d2be432b357ad1ab687e0f0de07c","impliedFormat":99},{"version":"38ec829a548e869de4c5e51671245a909644c8fb8e7953259ebb028d36b4dd06","impliedFormat":99},{"version":"20c2c5e44d37dac953b516620b5dba60c9abd062235cdf2c3bfbf722d877a96b","impliedFormat":99},{"version":"875fe6f7103cf87c1b741a0895fda9240fed6353d5e7941c8c8cbfb686f072b4","impliedFormat":99},{"version":"c0ccccf8fbcf5d95f88ed151d0d8ce3015aa88cf98d4fd5e8f75e5f1534ee7ae","impliedFormat":99},{"version":"1b1f4aba21fd956269ced249b00b0e5bfdbd5ebd9e628a2877ab1a2cf493c919","impliedFormat":99},{"version":"939e3299952dff0869330e3324ba16efe42d2cf25456d7721d7f01a43c1b0b34","impliedFormat":99},{"version":"f0a9b52faec508ba22053dedfa4013a61c0425c8b96598cef3dea9e4a22637c6","impliedFormat":99},{"version":"d5b302f50db61181adc6e209af46ae1f27d7ef3d822de5ea808c9f44d7d219fd","impliedFormat":99},{"version":"19131632ba492c83e8eeadf91a481def0e0b39ffc3f155bc20a7f640e0570335","impliedFormat":99},{"version":"4581c03abea21396c3e1bb119e2fd785a4d91408756209cbeed0de7070f0ab5b","impliedFormat":99},{"version":"ebcd3b99e17329e9d542ef2ccdd64fddab7f39bc958ee99bbdb09056c02d6e64","impliedFormat":99},{"version":"4b148999deb1d95b8aedd1a810473a41d9794655af52b40e4894b51a8a4e6a6d","impliedFormat":99},{"version":"1781cc99a0f3b4f11668bb37cca7b8d71f136911e87269e032f15cf5baa339bf","impliedFormat":99},{"version":"33f1b7fa96117d690035a235b60ecd3cd979fb670f5f77b08206e4d8eb2eb521","impliedFormat":99},{"version":"01429b306b94ff0f1f5548ce5331344e4e0f5872b97a4776bd38fd2035ad4764","impliedFormat":99},{"version":"c1bc4f2136de7044943d784e7a18cb8411c558dbb7be4e4b4876d273cbd952af","impliedFormat":99},{"version":"5470f84a69b94643697f0d7ec2c8a54a4bea78838aaa9170189b9e0a6e75d2cf","impliedFormat":99},{"version":"36aaa44ee26b2508e9a6e93cd567e20ec700940b62595caf962249035e95b5e3","impliedFormat":99},{"version":"f8343562f283b7f701f86ad3732d0c7fd000c20fe5dc47fa4ed0073614202b4d","impliedFormat":99},{"version":"a53c572630a78cd99a25b529069c1e1370f8a5d8586d98e798875f9052ad7ad1","impliedFormat":99},{"version":"4ad3451d066711dde1430c544e30e123f39e23c744341b2dfd3859431c186c53","impliedFormat":99},{"version":"8069cbef9efa7445b2f09957ffbc27b5f8946fdbade4358fb68019e23df4c462","impliedFormat":99},{"version":"cd8b4e7ad04ba9d54eb5b28ac088315c07335b837ee6908765436a78d382b4c3","impliedFormat":99},{"version":"d533d8f8e5c80a30c51f0cbfe067b60b89b620f2321d3a581b5ba9ac8ffd7c3a","impliedFormat":99},{"version":"33f49f22fdda67e1ddbacdcba39e62924793937ea7f71f4948ed36e237555de3","impliedFormat":99},{"version":"710c31d7c30437e2b8795854d1aca43b540cb37cefd5900f09cfcd9e5b8540c4","impliedFormat":99},{"version":"b2c03a0e9628273bc26a1a58112c311ffbc7a0d39938f3878837ab14acf3bc41","impliedFormat":99},{"version":"a93beb0aa992c9b6408e355ea3f850c6f41e20328186a8e064173106375876c2","impliedFormat":99},{"version":"efdcba88fcd5421867898b5c0e8ea6331752492bd3547942dea96c7ebcb65194","impliedFormat":99},{"version":"a98e777e7a6c2c32336a017b011ba1419e327320c3556b9139413e48a8460b9a","impliedFormat":99},{"version":"ea44f7f8e1fe490516803c06636c1b33a6b82314366be1bd6ffa4ba89bc09f86","impliedFormat":99},{"version":"c25f22d78cc7f46226179c33bef0e4b29c54912bde47b62e5fdaf9312f22ffcb","impliedFormat":99},{"version":"d57579cfedc5a60fda79be303080e47dfe0c721185a5d95276523612228fcefc","impliedFormat":99},{"version":"a41630012afe0d4a9ff14707f96a7e26e1154266c008ddbd229e3f614e4d1cf7","impliedFormat":99},{"version":"298a858633dfa361bb8306bbd4cfd74f25ab7cc20631997dd9f57164bc2116d1","impliedFormat":99},{"version":"921782c45e09940feb232d8626a0b8edb881be2956520c42c44141d9b1ddb779","impliedFormat":99},{"version":"06117e4cc7399ce1c2b512aa070043464e0561f956bda39ef8971a2fcbcdbf2e","impliedFormat":99},{"version":"daccf332594b304566c7677c2732fed6e8d356da5faac8c5f09e38c2f607a4ab","impliedFormat":99},{"version":"4386051a0b6b072f35a2fc0695fecbe4a7a8a469a1d28c73be514548e95cd558","impliedFormat":99},{"version":"78e41de491fe25947a7fd8eeef7ebc8f1c28c1849a90705d6e33f34b1a083b90","impliedFormat":99},{"version":"3ccd198e0a693dd293ed22e527c8537c76b8fe188e1ebf20923589c7cfb2c270","impliedFormat":99},{"version":"2ebf2ee015d5c8008428493d4987e2af9815a76e4598025dd8c2f138edc1dcae","impliedFormat":99},{"version":"0dcc8f61382c9fcdafd48acc54b6ffda69ca4bb7e872f8ad12fb011672e8b20c","impliedFormat":99},{"version":"9db563287eb527ead0bcb9eb26fbec32f662f225869101af3cabcb6aee9259cf","impliedFormat":99},{"version":"068489bec523be43f12d8e4c5c337be4ff6a7efb4fe8658283673ae5aae14b85","impliedFormat":99},{"version":"838212d0dc5b97f7c5b5e29a89953de3906f72fce13c5ae3c5ade346f561d226","impliedFormat":99},{"version":"ddc78d29af824ad7587152ea523ed5d60f2bc0148d8741c5dacf9b5b44587b1b","impliedFormat":99},{"version":"019b522e3783e5519966927ceeb570eefcc64aba3f9545828a5fb4ae1fde53c6","impliedFormat":99},{"version":"b34623cc86497a5123de522afba770390009a56eebddba38d2aa5798b70b0a87","impliedFormat":99},{"version":"d2a8cbeb0c0caaf531342062b4b5c227118862879f6a25033e31fad00797b7eb","impliedFormat":99},{"version":"14891c20f15be1d0d42ecbbd63de1c56a4d745e3ea2b4c56775a4d5d36855630","impliedFormat":99},{"version":"e55a1f6b198a39e38a3cea3ffe916aab6fde7965c827db3b8a1cacf144a67cd9","impliedFormat":99},{"version":"f7910ccfe56131e99d52099d24f3585570dc9df9c85dd599a387b4499596dd4d","impliedFormat":99},{"version":"9409ac347c5779f339112000d7627f17ede6e39b0b6900679ce5454d3ad2e3c9","impliedFormat":99},{"version":"22dfe27b0aa1c669ce2891f5c89ece9be18074a867fe5dd8b8eb7c46be295ca1","impliedFormat":99},{"version":"684a5c26ce2bb7956ef6b21e7f2d1c584172cd120709e5764bc8b89bac1a10eb","impliedFormat":99},{"version":"93761e39ce9d3f8dd58c4327e615483f0713428fa1a230883eb812292d47bbe8","impliedFormat":99},{"version":"c66be51e3d121c163a4e140b6b520a92e1a6a8a8862d44337be682e6f5ec290a","impliedFormat":99},{"version":"66e486a9c9a86154dc9780f04325e61741f677713b7e78e515938bf54364fee2","impliedFormat":99},{"version":"d211bc80b6b6e98445df46fe9dd3091944825dd924986a1c15f9c66d7659c495","impliedFormat":99},{"version":"8dd2b72f5e9bf88939d066d965144d07518e180efec3e2b6d06ae5e725d84c7d","impliedFormat":99},{"version":"949cb88e315ab1a098c3aa4a8b02496a32b79c7ef6d189eee381b96471a7f609","impliedFormat":99},{"version":"bc43af2a5fa30a36be4a3ed195ff29ffb8067bf4925aa350ace9d9f18f380cc2","impliedFormat":99},{"version":"f280b47f4ad3a3a8d6c53dc31aee21a40da6977ec43ea890b7c86d672933335b","impliedFormat":99},{"version":"8428e71f6d1b63acf55ceb56244aad9cf07678cf9626166e4aded15e3d252f8a","impliedFormat":99},{"version":"11505212ab24aa0f06d719a09add4be866e26f0fc15e96a1a2a8522c0c6a73a8","impliedFormat":99},{"version":"8228186214a5d7da60bd1dd91387a725e19c6c31a7ed4e114cf68d5ce6629c52","impliedFormat":99},{"version":"c44bb0071cededc08236d57d1131c44339c1add98b029a95584dfe1462533575","impliedFormat":99},{"version":"7a4935af71877da3bbc53938af00e5d4f6d445ef850e1573a240447dcb137b5c","impliedFormat":99},{"version":"4e313033202712168ecc70a6d830964ad05c9c93f81d806d7a25d344f6352565","impliedFormat":99},{"version":"8a1fc69eaf8fc8d447e6f776fbfa0c1b12245d7f35f1dbfb18fbc2d941f5edd8","impliedFormat":99},{"version":"afb9b4c8bd38fb43d38a674de56e6f940698f91114fded0aa119de99c6cd049a","impliedFormat":99},{"version":"1d277860f19b8825d027947fca9928ee1f3bfaa0095e85a97dd7a681b0698dfc","impliedFormat":99},{"version":"6d32122bb1e7c0b38b6f126d166dff1f74c8020f8ba050248d182dcafc835d08","impliedFormat":99},{"version":"cfac5627d337b82d2fbeff5f0f638b48a370a8d72d653327529868a70c5bc0f8","impliedFormat":99},{"version":"8a826bc18afa4c5ed096ceb5d923e2791a5bae802219e588a999f535b1c80492","impliedFormat":99},{"version":"73e94021c55ab908a1b8c53792e03bf7e0d195fee223bdc5567791b2ccbfcdec","impliedFormat":99},{"version":"5f73eb47b37f3a957fe2ac6fe654648d60185908cab930fc01c31832a5cb4b10","impliedFormat":99},{"version":"cb6372a2460010a342ba39e06e1dcfd722e696c9d63b4a71577f9a3c72d09e0a","impliedFormat":99},{"version":"1e289698069f553f36bbf12ee0084c492245004a69409066faceb173d2304ec4","impliedFormat":99},{"version":"f1ca71145e5c3bba4d7f731db295d593c3353e9a618b40c4af0a4e9a814bb290","impliedFormat":99},{"version":"ac12a6010ff501e641f5a8334b8eaf521d0e0739a7e254451b6eea924c3035c7","impliedFormat":99},{"version":"97395d1e03af4928f3496cc3b118c0468b560765ab896ce811acb86f6b902b5c","impliedFormat":99},{"version":"7dcfbd6a9f1ce1ddf3050bd469aa680e5259973b4522694dc6291afe20a2ae28","impliedFormat":99},{"version":"6e545419ad200ae4614f8e14d32b7e67e039c26a872c0f93437b0713f54cde53","impliedFormat":99},{"version":"efc225581aae9bb47d421a1b9f278db0238bc617b257ce6447943e59a2d1621e","impliedFormat":99},{"version":"8833b88e26156b685bc6f3d6a014c2014a878ffbd240a01a8aee8a9091014e9c","impliedFormat":99},{"version":"7a2a42a1ac642a9c28646731bd77d9849cb1a05aa1b7a8e648f19ab7d72dd7dc","impliedFormat":99},{"version":"4d371c53067a3cc1a882ff16432b03291a016f4834875b77169a2d10bb1b023e","impliedFormat":99},{"version":"99b38f72e30976fd1946d7b4efe91aa227ecf0c9180e1dd6502c1d39f37445b4","impliedFormat":99},{"version":"df1bcf0b1c413e2945ce63a67a1c5a7b21dbbec156a97d55e9ea0eed90d2c604","impliedFormat":99},{"version":"6e2011a859fa435b1196da1720be944ed59c668bb42d2f2711b49a506b3e4e90","impliedFormat":99},{"version":"b4bfa90fac90c6e0d0185d2fe22f059fec67587cc34281f62294f9c4615a8082","impliedFormat":99},{"version":"036d363e409ebe316a6366aff5207380846f8f82e100c2e3db4af5fe0ad0c378","impliedFormat":99},{"version":"5ae6642588e4a72e5a62f6111cb750820034a7fbe56b5d8ec2bcb29df806ce52","impliedFormat":99},{"version":"6fca09e1abc83168caf36b751dec4ddda308b5714ec841c3ff0f3dc07b93c1b8","impliedFormat":99},{"version":"2f7268e6ac610c7122b6b416e34415ce42b51c56d080bef41786d2365f06772d","impliedFormat":99},{"version":"9a07957f75128ed0be5fc8a692a14da900878d5d5c21880f7c08f89688354aa4","impliedFormat":99},{"version":"8b6f3ae84eab35c50cf0f1b608c143fe95f1f765df6f753cd5855ae61b3efbe2","impliedFormat":99},{"version":"992491d83ff2d1e7f64a8b9117daee73724af13161f1b03171f0fa3ffe9b4e3e","impliedFormat":99},{"version":"12bcf6af851be8dd5f3e66c152bb77a83829a6a8ba8c5acc267e7b15e11aa9ab","impliedFormat":99},{"version":"e2704efc7423b077d7d9a21ddb42f640af1565e668d5ec85f0c08550eff8b833","impliedFormat":99},{"version":"e0513c71fd562f859a98940633830a7e5bcd7316b990310e8bb68b1d41d676a3","impliedFormat":99},{"version":"712071b9066a2d8f4e11c3b8b3d5ada6253f211a90f06c6e131cff413312e26d","impliedFormat":99},{"version":"5a187a7bc1e7514ef1c3d6eaafa470fc45541674d8fca0f9898238728d62666a","impliedFormat":99},{"version":"0c06897f7ab3830cef0701e0e083b2c684ed783ae820b306aedd501f32e9562d","impliedFormat":99},{"version":"56cc6eae48fd08fa709cf9163d01649f8d24d3fea5806f488d2b1b53d25e1d6c","impliedFormat":99},{"version":"57a925b13947b38c34277d93fb1e85d6f03f47be18ca5293b14082a1bd4a48f5","impliedFormat":99},{"version":"9d9d64c1fa76211dd529b6a24061b8d724e2110ee55d3829131bca47f3fe4838","impliedFormat":99},{"version":"c13042e244bb8cf65586e4131ef7aed9ca33bf1e029a43ed0ebab338b4465553","impliedFormat":99},{"version":"54be9b9c71a17cb2519b841fad294fa9dc6e0796ed86c8ac8dd9d8c0d1c3a631","impliedFormat":99},{"version":"10881be85efd595bef1d74dfa7b9a76a5ab1bfed9fb4a4ca7f73396b72d25b90","impliedFormat":99},{"version":"925e71eaa87021d9a1215b5cf5c5933f85fe2371ddc81c32d1191d7842565302","impliedFormat":99},{"version":"faed0b3f8979bfbfb54babcff9d91bd51fda90931c7716effa686b4f30a09575","impliedFormat":99},{"version":"53c72d68328780f711dbd39de7af674287d57e387ddc5a7d94f0ffd53d8d3564","impliedFormat":99},{"version":"51129924d359cdebdccbf20dbabc98c381b58bfebe2457a7defed57002a61316","impliedFormat":99},{"version":"7270a757071e3bc7b5e7a6175f1ac9a4ddf4de09f3664d80cb8805138f7d365b","impliedFormat":99},{"version":"ea7b5c6a79a6511cdeeedc47610370be1b0e932e93297404ef75c90f05fc1b61","impliedFormat":99},{"version":"11b817aaa791d8ebd39a882f80827a7d4a99c6d451c8b836a81b186fcb2de87a","signature":"e7828ab708d23dd98370a8de5d7ad81d44fc5817dffa5a53c4adce749cf30d58"},{"version":"e516240bc1e5e9faef055432b900bc0d3c9ca7edce177fdabbc6c53d728cced8","impliedFormat":99},{"version":"5402765feacf44e052068ccb4535a346716fa1318713e3dae1af46e1e85f29a9","impliedFormat":99},{"version":"e16ec5d4796e7a765810efee80373675cedc4aa4814cf7272025a88addf5f0be","impliedFormat":99},{"version":"1f57157fcd45f9300c6efcfc53e2071fbe43396b0a7ed2701fbd1efb5599f07f","impliedFormat":99},{"version":"9f1886f3efddfac35babcada2d454acd4e23164345d11c979966c594af63468b","impliedFormat":99},{"version":"a3541c308f223863526df064933e408eba640c0208c7345769d7dc330ad90407","impliedFormat":99},{"version":"59af208befeb7b3c9ab0cb6c511e4fec54ede11922f2ffb7b497351deaf8aa2e","impliedFormat":99},{"version":"928b16f344f6cddaba565da8238f4cf2ddf12fe03eb426ab46a7560e9b3078fa","impliedFormat":99},{"version":"120bdf62bccef4ea96562a3d30dd60c9d55481662f5cf31c19725f56c0056b34","impliedFormat":99},{"version":"39e0da933908de42ba76ea1a92e4657305ae195804cfaa8760664e80baac2d6a","impliedFormat":99},{"version":"55ce6ca8df9d774d60cef58dd5d716807d5cc8410b8b065c06d3edac13f2e726","impliedFormat":99},{"version":"788a0faf3f28d43ce3793b4147b7539418a887b4a15a00ffb037214ed8f0b7f6","impliedFormat":99},{"version":"a3e66e7b8ccdab967cd4ada0f178151f1c42746eabb589a06958482fd4ed354e","impliedFormat":99},{"version":"bf45a2964a872c9966d06b971d0823daecbd707f97e927f2368ba54bb1b13a90","impliedFormat":99},{"version":"39973a12c57e06face646fb79462aabe8002e5523eec4e86e399228eb34b32c9","impliedFormat":99},{"version":"f01091e9b5028acfb38208113ae051fad8a0b4b8ec1f7137a2a5cf903c47eefc","impliedFormat":99},{"version":"b3e87824c9e7e3a3be7f76246e45c8d603ce83d116733047200b3aa95875445b","impliedFormat":99},{"version":"7e1f7f9ae14e362d41167dc861be6a8d76eca30dde3a9893c42946dc5a5fc686","impliedFormat":99},{"version":"9308ef3b9433063ac753a55c3f36d6d89fa38a8e6c51e05d9d8329c7f1174f24","impliedFormat":99},{"version":"cd3bb1aa24726a0abd67558fde5759fe968c3c6aa3ec7bad272e718851502894","impliedFormat":99},{"version":"1ae0f22c3b8420b5c2fec118f07b7ebd5ae9716339ab3477f63c603fe7a151c8","impliedFormat":99},{"version":"919ff537fff349930acc8ad8b875fd985a17582fb1beb43e2f558c541fd6ecd9","impliedFormat":99},{"version":"4e67811e45bae6c44bd6f13a160e4188d72fd643665f40c2ac3e8a27552d3fd9","impliedFormat":99},{"version":"3d1450fd1576c1073f6f4db9ebae5104e52e2c4599afb68d7d6c3d283bdbaf4f","impliedFormat":99},{"version":"c072af873c33ff11af126c56a846dfada32461b393983a72b6da7bff373e0002","impliedFormat":99},{"version":"de66e997ea5376d4aeb16d77b86f01c7b7d6d72fbb738241966459d42a4089e0","impliedFormat":99},{"version":"d77ea3b91e4bc44d710b7c9487c2c6158e8e5a3439d25fc578befeb27b03efd7","impliedFormat":99},{"version":"a3d5c695c3d1ebc9b0bd55804afaf2ac7c97328667cbeedf2c0861b933c45d3e","impliedFormat":99},{"version":"270724545d446036f42ddea422ee4d06963db1563ccc5e18b01c76f6e67968ae","impliedFormat":99},{"version":"85441c4f6883f7cfd1c5a211c26e702d33695acbabec8044e7fa6831ed501b45","impliedFormat":99},{"version":"0f268017a6b1891fdeea69c2a11d576646d7fd9cdfc8aac74d003cd7e87e9c5a","impliedFormat":99},{"version":"9ece188c336c80358742a5a0279f2f550175f5a07264349d8e0ce64db9701c0b","impliedFormat":99},{"version":"cf41b0fc7d57643d1a8d21af07b0247db2f2d7e2391c2e55929e9c00fbe6ab9a","impliedFormat":99},{"version":"11e7ddddd9eddaac56a6f23d8699ae7a94c2a55ae8c986fdabc719d3c3e875a1","impliedFormat":99},{"version":"dd129c2d348be7dbf9f15d34661defdfc11ee00628ca6f7161bead46095c6bc3","impliedFormat":99},{"version":"c38d8e7cfc64bbfc14a63346388249c1cfa2cc02166c5f37e5a57da4790ce27f","impliedFormat":99},{"version":"67237a35be1473c2436d9438a17330e183bf720e84391dd8d0a00a73f289a371","signature":"0d2ec35e98301af187839a1a6110c5f2dd8202b514755c1b6450394eac8cb5bc"},{"version":"7e3373dde2bba74076250204bd2af3aa44225717435e46396ef076b1954d2729","impliedFormat":1},{"version":"1c3dfad66ff0ba98b41c98c6f41af096fc56e959150bc3f44b2141fb278082fd","impliedFormat":1},{"version":"56208c500dcb5f42be7e18e8cb578f257a1a89b94b3280c506818fed06391805","impliedFormat":1},{"version":"0c94c2e497e1b9bcfda66aea239d5d36cd980d12a6d9d59e66f4be1fa3da5d5a","impliedFormat":1},{"version":"eb9271b3c585ea9dc7b19b906a921bf93f30f22330408ffec6df6a22057f3296","impliedFormat":1},{"version":"82b7bf38f1bc606dc662c35b8c80905e40956e4c2212d523402ae925bd75de63","impliedFormat":1},{"version":"81be14ad77be99cea7343fdc92a0f4058bcdebaa789d944e04ce4f86f0ca5fbb","impliedFormat":1},{"version":"9f1e00eab512de990ba27afa8634ca07362192063315be1f8166bc3dcc7f0e0f","impliedFormat":1},{"version":"1cdbf5cc31860b39bd1881f19809357ee3600331ff1317f9d700c21665649aa8","impliedFormat":1},{"version":"86dac6ce3fcd0a069b67a1ac9abdbce28588ea547fd2b42d73c1a2b7841cf182","impliedFormat":1},{"version":"4d34fbeadba0009ed3a1a5e77c99a1feedec65d88c4d9640910ff905e4e679f7","impliedFormat":1},{"version":"2f3ec8a345eefed1af66b5975da98ccf3178d13ba9308359d34d2f7f87dd4c9c","impliedFormat":1},{"version":"8fcc5571404796a8fe56e5c4d05049acdeac9c7a72205ac15b35cb463916d614","impliedFormat":1},{"version":"a3b3a1712610260c7ab96e270aad82bd7b28a53e5776f25a9a538831057ff44c","impliedFormat":1},{"version":"33a2af54111b3888415e1d81a7a803d37fada1ed2f419c427413742de3948ff5","impliedFormat":1},{"version":"d5a4fca3b69f2f740e447efb9565eecdbbe4e13f170b74dd4a829c5c9a5b8ebf","impliedFormat":1},{"version":"56f1e1a0c56efce87b94501a354729d0a0898508197cb50ab3e18322eb822199","impliedFormat":1},{"version":"8960e8c1730aa7efb87fcf1c02886865229fdbf3a8120dd08bb2305d2241bd7e","impliedFormat":1},{"version":"27bf82d1d38ea76a590cbe56873846103958cae2b6f4023dc59dd8282b66a38a","impliedFormat":1},{"version":"0daaab2afb95d5e1b75f87f59ee26f85a5f8d3005a799ac48b38976b9b521e69","impliedFormat":1},{"version":"2c378d9368abcd2eba8c29b294d40909845f68557bc0b38117e4f04fc56e5f9c","impliedFormat":1},{"version":"9b048390bcffe88c023a4cd742a720b41d4cd7df83bc9270e6f2339bf38de278","affectsGlobalScope":true,"impliedFormat":1},{"version":"c60b14c297cc569c648ddaea70bc1540903b7f4da416edd46687e88a543515a1","impliedFormat":1},{"version":"d03cf6cd011da250c9a67c35a3378de326f6136c4192a90dd11f3a84627b4ef6","impliedFormat":1},{"version":"9c0217750253e3bf9c7e3821e51cff04551c00e63258d5e190cf8bd3181d5d4a","impliedFormat":1},{"version":"5c2e7f800b757863f3ddf1a98d7521b8da892a95c1b2eafb48d652a782891677","impliedFormat":1},{"version":"73ed3ff18ca862b9d7272de3b0d137d284a0c40e1c94cbf37acd5270ce9b7cd6","impliedFormat":1},{"version":"c61d8275c35a76cb12c271b5fa8707bb46b1e5778a370fd6037c244c4df6a725","impliedFormat":1},{"version":"c7793cb5cd2bef461059ca340fbcd19d7ddac7ab3dcc6cd1c90432fca260a6ae","impliedFormat":1},{"version":"fd3bf6d545e796ebd31acc33c3b20255a5bc61d963787fc8473035ea1c09d870","impliedFormat":1},{"version":"c7af51101b509721c540c86bb5fc952094404d22e8a18ced30c38a79619916fa","impliedFormat":1},{"version":"59c8f7d68f79c6e3015f8aee218282d47d3f15b85e5defc2d9d1961b6ffed7a0","impliedFormat":1},{"version":"93a2049cbc80c66aa33582ec2648e1df2df59d2b353d6b4a97c9afcbb111ccab","impliedFormat":1},{"version":"d04d359e40db3ae8a8c23d0f096ad3f9f73a9ef980f7cb252a1fdc1e7b3a2fb9","impliedFormat":1},{"version":"84aa4f0c33c729557185805aae6e0df3bd084e311da67a10972bbcf400321ff0","impliedFormat":1},{"version":"cf6cbe50e3f87b2f4fd1f39c0dc746b452d7ce41b48aadfdb724f44da5b6f6ed","impliedFormat":1},{"version":"3cf494506a50b60bf506175dead23f43716a088c031d3aa00f7220b3fbcd56c9","impliedFormat":1},{"version":"f2d47126f1544c40f2b16fc82a66f97a97beac2085053cf89b49730a0e34d231","impliedFormat":1},{"version":"724ac138ba41e752ae562072920ddee03ba69fe4de5dafb812e0a35ef7fb2c7e","impliedFormat":1},{"version":"e4eb3f8a4e2728c3f2c3cb8e6b60cadeb9a189605ee53184d02d265e2820865c","impliedFormat":1},{"version":"f16cb1b503f1a64b371d80a0018949135fbe06fb4c5f78d4f637b17921a49ee8","impliedFormat":1},{"version":"f4808c828723e236a4b35a1415f8f550ff5dec621f81deea79bf3a051a84ffd0","impliedFormat":1},{"version":"3b810aa3410a680b1850ab478d479c2f03ed4318d1e5bf7972b49c4d82bacd8d","impliedFormat":1},{"version":"0ce7166bff5669fcb826bc6b54b246b1cf559837ea9cc87c3414cc70858e6097","impliedFormat":1},{"version":"90ae889ba2396d54fe9c517fcb0d5a8923d3023c3e6cbd44676748045853d433","impliedFormat":1},{"version":"3549400d56ee2625bb5cc51074d3237702f1f9ffa984d61d9a2db2a116786c22","impliedFormat":1},{"version":"5ffe02488a8ffd06804b75084ecc66b512f85186508e7c9b57b5335283b1f487","impliedFormat":1},{"version":"b60f6734309d20efb9b0e0c7e6e68282ee451592b9c079dd1a988bb7a5eeb5e7","impliedFormat":1},{"version":"f4187a4e2973251fd9655598aa7e6e8bba879939a73188ee3290bb090cc46b15","impliedFormat":1},{"version":"44c1a26f578277f8ccef3215a4bd642a0a4fbbaf187cf9ae3053591c891fdc9c","impliedFormat":1},{"version":"a5989cd5e1e4ca9b327d2f93f43e7c981f25ee12a81c2ebde85ec7eb30f34213","impliedFormat":1},{"version":"f65b8fa1532dfe0ef2c261d63e72c46fe5f089b28edcd35b3526328d42b412b8","impliedFormat":1},{"version":"1060083aacfc46e7b7b766557bff5dafb99de3128e7bab772240877e5bfe849d","impliedFormat":1},{"version":"1b32f14ef9e26be36776d6115d3661747508a3437f5bb2528a39ce60f622b5aa","impliedFormat":1},{"version":"9ee50ea4e24ac33273880940358802dd98baddf27173f19ea061752eb192c44d","impliedFormat":1},{"version":"111e1ef247e53abc607bd921154a477a4b19b3e876abb79c672012f06f69b368","impliedFormat":1},{"version":"7ec569bb000dbd2ae79f6e5888fa16765a7c579936054a4f50b021eaf31b0998","impliedFormat":1},{"version":"dd0b9b00a39436c1d9f7358be8b1f32571b327c05b5ed0e88cc91f9d6b6bc3c9","impliedFormat":1},{"version":"a951a7b2224a4e48963762f155f5ad44ca1145f23655dde623ae312d8faeb2f2","impliedFormat":1},{"version":"f7eb7fc7e7c956605835e5bbbdfc4b6d1c36f1d41a162bfffba4540eae5d4257","impliedFormat":1},{"version":"cf7698e227b8f0e3373106ef29db72fc52661c0fdaa823205fbfc357985ec219","impliedFormat":1},{"version":"9f20de1b5776e653764e55f059d02ef460d7e2c064c304bfda1d7ba2dda43886","impliedFormat":1},{"version":"890ed5cccf66fdced5795066488cd006379dfc84b1670e459f03d40c625341ca","impliedFormat":1},{"version":"d8e8ab0dbaee5220b21dfbbb33fefc684ef4d87b07743a998f39e9d88ffe9776","impliedFormat":1},{"version":"977aeb024f773799d20985c6817a4c0db8fed3f601982a52d4093e0c60aba85f","impliedFormat":1},{"version":"d59cf5116848e162c7d3d954694f215b276ad10047c2854ed2ee6d14a481411f","impliedFormat":1},{"version":"50098be78e7cbfc324dfc04983571c80539e55e11a0428f83a090c13c41824a2","impliedFormat":1},{"version":"40894bcf307f326ec4d371cd2ff304dac0fa303d1c6c71ad7dc65742239114da","impliedFormat":1},{"version":"dd6051c7b02af0d521857069c49897adb8595d1f0e94487d53ebc157294ef864","impliedFormat":1},{"version":"79c6a11f75a62151848da39f6098549af0dd13b22206244961048326f451b2a8","impliedFormat":1},{"version":"0d1015da32cad5bcf8b19ecb4464bfada1faf005ead1db5107410f33a4b1ac77","signature":"e382d9aa86ae57a0634861cd952e44d2676f508b963e4243c35546caa86c7d86"},{"version":"2c57db2bf2dbd9e8ef4853be7257d62a1cb72845f7b976bb4ee827d362675f96","impliedFormat":99},{"version":"f4629326151cdb4fefbb8d49ff20bcc3ffab3f791fb31b795937650877eae212","signature":"f0be1892cb7f2a9d3ad1905cb890ba8ce14f31fdd29160043ea88830717b284b"},{"version":"89d052508dd671fdc6c823cc299a53537edd00c7067ae9508a2af0a8eeb4348b","signature":"160fbcda3ae5291ff8861d7328a3bc0b086a02cf45e521cbef69bc50817bbdba"},{"version":"bb703864a1bc9ca5ac3589ffd83785f6dc86f7f6c485c97d7ffd53438777cb9e","impliedFormat":1},{"version":"2341f5d3379758c9659806e518299f9a3dc394128571e379ed83941deae83403","signature":"7cc49a13d6dc95645c5e5d5fd44f7b3f5c69dfe80b50bbfb48ee0598195798ea"},{"version":"803aa420db4170238043ca1b9f1fd88f285f1b83f3ff2c0c5abff217df316896","signature":"143126980202f9d9cf7ba155552d23da27f196afa8812c1155ee28780e8fcbc5"},{"version":"6b5f886fe41e2e767168e491fe6048398ed6439d44e006d9f51cc31265f08978","impliedFormat":99},{"version":"56a87e37f91f5625eb7d5f8394904f3f1e2a90fb08f347161dc94f1ae586bdd0","impliedFormat":99},{"version":"6b863463764ae572b9ada405bf77aac37b5e5089a3ab420d0862e4471051393b","impliedFormat":99},{"version":"68b6a7501a56babd7bcd840e0d638ee7ec582f1e70b3c36ebf32e5e5836913c8","impliedFormat":99},{"version":"89783bd45ab35df55203b522f8271500189c3526976af533a599a86caaf31362","impliedFormat":99},{"version":"6da2e0928bdab05861abc4e4abebea0c7cf0b67e25374ba35a94df2269563dd8","impliedFormat":99},{"version":"ef3f8b668e7abee8ea18ea66317d067a5f3590a3bdfb7be937df5838e69602e8","signature":"704c09fbf8cab1b4da84a0fb0b9229185746bb65f8c2db5ebb52ecc121389aa4"},{"version":"e7441be68f390975c6155c805cea8f54cc1b7f3656b6b9440ecbbbd7753499e6","impliedFormat":99},{"version":"e62592bd1cea50ad95ebeba32a165f9cfdf5a5c6431067ec74e024b83a866f01","signature":"0c744d06c45e1d7281cbb0ed29c102a48716bb845436ad02ec4b2b2b101b8318"},{"version":"26e6c521a290630ea31f0205a46a87cab35faac96e2b30606f37bae7bcda4f9d","impliedFormat":99},{"version":"3124a8b0edfe90400cf4d14d438dfe6ac3af9ec9a6181feee10f48390aeb1815","signature":"4be287c460622f9f8329a3ac0eac7c67852ac6ce7a2afc20dbbcbce631ac0077"},{"version":"c9828acce9044690059524bee2e67dec68710baed7bfa1f6c787ca86413112d6","signature":"f3b6fe28433081e12eb78957c2df90d86f81122a07cec2440f9d3fb82718696b"},{"version":"c80fb0dc554855fd84ac91ad30f724127a066ad2156b1846dc46ee5811ee9135","signature":"367466b8edaa628bdf47c48c768e0dbad54a8a128eaa6af92041c72be0381843"},{"version":"6ce55335012d76737df504baabc950805760acf3be988142d1985aa4893f919e","impliedFormat":1},{"version":"88efe27bebddb62da9655a9f093e0c27719647e96747f16650489dc9671075d6","impliedFormat":1},{"version":"e348f128032c4807ad9359a1fff29fcbc5f551c81be807bfa86db5a45649b7ba","impliedFormat":1},{"version":"8ee6b07974528da39b7835556e12dd3198c0a13e4a9de321217cd2044f3de22e","impliedFormat":1},{"version":"deefd8c43b40f9797c3921d78d3f9243959621a17b817be7f5d95c149f23a9dd","impliedFormat":1},{"version":"5f12132800d430adbe59b49c2c0354d85a71ada7d756e34250a655baa8ad4ae5","impliedFormat":1},{"version":"1996d1cd7d585a8359a35878f67abdd73cc35b1f675c9c6b147b202fdd8dfc3f","impliedFormat":1},{"version":"b16e757e4c35434065120a2b3bf13a518fc9e621dc9c2ed668f91635a9dc4e75","impliedFormat":1},{"version":"d22cd2e880dc30d21cf20b26b6341e0478f3505ea645d1504c7e9c14cdff1198","impliedFormat":1},{"version":"d02ced7accb512e6198b796b8d284e7979abde0f089b0a77969747a5f27bfb23","impliedFormat":1},{"version":"4374cefdde5c6e9bad52b0436e887b8325b8f407c12035194ad02c28f1553a3a","impliedFormat":1},{"version":"5f1ba0898eb0a54a644cb9c95c2240beaa961d87fd080cbb90807a6cc03daeb3","impliedFormat":1},{"version":"8e92ee8710ba85b158c5d91b0bbc9d0d033f5e062b6e70178063f01b20f63a14","impliedFormat":1},{"version":"ee933420aacba1f60aa70fb8ba47c5e69001b005073b71973114587089a13c7f","impliedFormat":1},{"version":"0a0714999d0a5bdfacd15c7b34cffbcc6f263f6cb0ccb42076cdc541c6987797","impliedFormat":1},{"version":"56584bfc655f9df64afc0f22f7d1122c29e5b74b342c203b891e19de9fa37de8","impliedFormat":1},{"version":"40ec58f0fadd0b3981b3d383e1c12fa0680115ae9f018387fc2cfc0bbcf23204","impliedFormat":1},{"version":"849b9e7283b7309a4556c9b90bb8e2dfc27751f157798065bbc513dcddb09a8c","impliedFormat":1},{"version":"76bba0c97594248c1be19af32d5799f7eff51cec2926d8e4dd59267d7636a0b4","impliedFormat":1},{"version":"10e109212c7be8a9f66e988e5d6c2a8900c9d14bf6beadf5fa70d32ada3425cf","impliedFormat":1},{"version":"2b821aeb31e690092f8eae671dd961a9d0fd598ff4883ce0a600c90e9e8fa716","impliedFormat":1},{"version":"26602933b613e4df3868a6c82e14fffa2393a08531cb333ed27b151923462981","impliedFormat":1},{"version":"f57a588d8f6b3ce5c8b494f2dc759a8885eaee18e80a4952df47de45403fedbe","impliedFormat":1},{"version":"34735727b3fe7a0ed0651a0f88d06449163d1989a2b2de7f047473adc7c1c383","impliedFormat":1},{"version":"a5b13abc88ab3186e713c445e59e2f6eee20c6167943517bc2f56985d89b8c55","impliedFormat":1},{"version":"c8a206a6ba4e32710ebb4a389187772423de0f4f6180b95a7ef1a5a1934c1be6","impliedFormat":1},{"version":"7ae65fe95b18205e241e6695cb2c61c0828d660aca7d08f68781b439a800e6b8","impliedFormat":1},{"version":"c2c8c166199d3a7bd093152437d1f6399d05e458a9ca9364456feecba920cda4","impliedFormat":1},{"version":"369b7270eeeb37982203b2cb18c7302947b89bf5818c1d3d2e95a0418f02b74e","impliedFormat":1},{"version":"94f95d223e2783b0aef4d15d7f6990a6a550fe17d099c501395f690337f7105e","impliedFormat":1},{"version":"039bd8d1e0d151570b66e75ee152877fb0e2f42eca43718632ac195e6884be34","impliedFormat":1},{"version":"d565d66b38d54de037c9d46dede1f12630010d9b45fd9c6b432c7a40b2e30502","impliedFormat":1},{"version":"d7386a1ebe9a3eae227a5561c898c10cacb61a49f941c5a18cdf593f979c693c","impliedFormat":1},{"version":"e308b9b592b4c89895a14077bd3254811cab67bb580286b1bd7428cb476b6df3","signature":"59d4d3e50459d3dcb53cc0ca9d1211d299167c2283ac63428b90a53824dd248c"},{"version":"89ad9a4e8044299f356f38879a1c2176bc60c997519b442c92cc5a70b731a360","impliedFormat":99},{"version":"3a05918eaf7436596e09562f4d5371384e15f2f27c9ef0788354035282d96064","signature":"fd469ee23a7074342357545f0d37b487066bab6fc00e079695cc02f79598bf8d"},{"version":"cf31ce99f03ac69f9821b4463a366c66698ae8e7eba5c06d2ede63d5cf7309bd","signature":"233bf868506e6fb7576da957ddead506efb374fe8b70a1b56e0114f231fdadbb"},{"version":"9214c077d8d253331da82bffdb36edb778abc73d27b34dff0eb544e6d7b9d386","signature":"fefbe143dffcdc8d5ff7f05ce2d8ed71a5bc8d73afb6726ae2e1838e1bb4d020"},{"version":"b843496b17a2bbd79c83809c73fd9c59fab53d3e361e04e52e2d489524eea764","impliedFormat":1},{"version":"6a046b50c82c554699c148a9f4922c785b200fb87f067772f166e80c59e813ca","signature":"6be90cc3810d5b2a29f304c6f7ff64a7f4d0f26e44d944d1dfa68b7d7a2fbf65"},{"version":"c4f50ecab61ee02224a432f2e5e7cafc1941913640134abade00e3db82512baf","signature":"bd8a274814ea3590e2b90c7bc29d86ade4f2540b2d1de2d461579d92eb344bdc"},{"version":"3e346d9b84a0e2cbafb6311589d4dfcf0df6c1c8f94fca26ff4c34dfa4170823","signature":"eb1f0c48fcae785ca971602b876b59df15d9213a439d3ec82aacd5fc8415350e"},{"version":"fd4f58cd6b5fc8ce8af0d04bfef5142f15c4bafaac9a9899c6daa056f10bb517","impliedFormat":99},{"version":"da0313c01c8aedd722c4bb1cbd4723acef6187cda4de0ea230cff90d6aebcf2e","signature":"da6a1d498947d59b453f7bdca298ee4b77f0e34ab6e2aaaf782aaac054b571f4"},{"version":"2a00cea77767cb26393ee6f972fd32941249a0d65b246bfcb20a780a2b919a21","impliedFormat":99},{"version":"440cb5b34e06fabe3dcb13a3f77b98d771bf696857c8e97ce170b4f345f8a26b","impliedFormat":99},{"version":"c0f759689e24aaa36d62d2de868ddab35b12c5e4a8c8c035582c46a963e4b56f","signature":"aa4c6a3e34c3d0d6e795066286aa3e062b085c1b2a8967f5782d14394d7cae16"},{"version":"c0306e3325a10c7377794b1b75fffb57179be1f19a3b3b3b0e0d79dde53b4ecf","signature":"c9001d3c77c7b306af3e8b7d4407e4a7f9ca133d1302fdd67238211f6e1c2b6f"},{"version":"2535fc1a5fe64892783ff8f61321b181c24f824e688a4a05ae738da33466605b","impliedFormat":99},{"version":"50b93b8af040517d766f9ee6d0dffeacf40b5082469bba7e5d49a7f9eb5aaa37","signature":"adeb329d41b4133066a9911fdc1f39c4956fe3dfa83611a70434f542b6adb268"},{"version":"a9373d52584b48809ffd61d74f5b3dfd127da846e3c4ee3c415560386df3994b","impliedFormat":99},{"version":"caf4af98bf464ad3e10c46cf7d340556f89197aab0f87f032c7b84eb8ddb24d9","impliedFormat":99},{"version":"cbfd5ef0c8fdb4983202252b5f5758a579f4500edc3b9ad413da60cffb5c3564","impliedFormat":99},{"version":"d48446fe6380e0fb272988c37992a4633b7002dd7e8faa639993f38e010953aa","signature":"dc27b41119d6806693f9e4f0d68431d33532f737a84ade77e34b76bb8c9873eb"},{"version":"9f7a3c434912fd3feb87af4aabdf0d1b614152ecb5e7b2aa1fff3429879cdd51","impliedFormat":99},{"version":"9a91313aaed0e8358c69fad89d12a1f5d148bd7fa5ffbed925e6f8b368617ba9","signature":"a0d654569736836260ac4805fe575fbafd16a3fd838f8b503a59a98b236073f1"},{"version":"a81a0eea036dd60a2c2edc52466bb2853bef379c3b9de327fe9fff6e3c38e6c5","impliedFormat":1},{"version":"348c13a1c9160681e41bc5cd3cc519dd8170d38a36a30480b41849f60f5bf8a0","impliedFormat":1},{"version":"c772a37a02356897d6f9872e30fcc2108f43ad943cc112bd1acc5415a876e9f8","impliedFormat":1},{"version":"279248c34ecd223fc46224f86384ebf49c775eb69329ad644d3d99f1205f3e7d","impliedFormat":1},{"version":"74dedffc2d09627f5a4de02bbd7eedf634938c13c2cc4e92f0b4135573432783","impliedFormat":1},{"version":"1f2bbbe38d5e536607b385f04c3d2cbf1e678c5ded7e8c5871ad8ae91ef33c3d","impliedFormat":1},{"version":"3aa3513d5e13d028202e788d763f021d2d113bd673087b42a2606ab50345492d","impliedFormat":1},{"version":"f012173d64d0579875aa60405de21ad379af7971b93bf46bee23acc5fa2b76a4","impliedFormat":1},{"version":"dcf5dc3ce399d472929c170de58422b549130dd540531623c830aaaaf3dd5f93","impliedFormat":1},{"version":"ec35f1490510239b89c745c948007c5dd00a8dca0861a836dcf0db5360679a2d","impliedFormat":1},{"version":"32868e4ec9b6bd4b1d96d24611343404b3a0a37064a7ac514b1d66b48325a911","impliedFormat":1},{"version":"4bbea07f21ff84bf3ceeb218b5a8c367c6e0f08014d3fd09e457d2ffb2826b9c","impliedFormat":1},{"version":"873a07dbeb0f8a3018791d245c0cf10c3289c8f7162cdbbb4a5b9cf723136185","impliedFormat":1},{"version":"43839af7f24edbd4b4e42e861eb7c0d85d80ec497095bb5002c93b451e9fcf88","impliedFormat":1},{"version":"54a7ee56aadecbe8126744f7787f54f79d1e110adab8fe7026ad83a9681f136a","impliedFormat":1},{"version":"6333c727ee2b79cdab55e9e10971e59cbfee26c73dfb350972cfd97712fc2162","impliedFormat":1},{"version":"8743b4356e522c26dc37f20cde4bcdb5ebd0a71a3afe156e81c099db7f34621d","impliedFormat":1},{"version":"af3d97c3a0da9491841efc4e25585247aa76772b840dd279dbff714c69d3a1ec","impliedFormat":1},{"version":"d9ac50fe802967929467413a79631698b8d8f4f2dc692b207e509b6bb3a92524","impliedFormat":1},{"version":"34d017b29ca5107bf2832b992e4cee51ed497f074724a4b4a7b6386b7f8297c9","impliedFormat":1},{"version":"b75d56703daaffcb31a7cdebf190856e07739a9481f01c2919f95bde99be9424","impliedFormat":99},{"version":"8f96f309d60fb87c09afbfba79c43326324379859e2bc27e1d26594a886ec908","signature":"1b2b4612cbfad4c97462a177552f8ad4d3014c58b6f40318318e8049e701e13f"},{"version":"99d1a601593495371e798da1850b52877bf63d0678f15722d5f048e404f002e4","impliedFormat":99},{"version":"4d19b093a16635687d128e2157c8f5bac50b2391cbe031e07ec1e2d53f4d73a3","signature":"351f7cb5f3ce63374db1c4a065fa52fb1395e525c7a7a9dcaade8db57dae36a7"},{"version":"1179ef8174e0e4a09d35576199df04803b1db17c0fb35b9326442884bc0b0cce","impliedFormat":99},{"version":"e2b4198bbf3968eae76d71fd04074b43f802357d997dbd01a1721a96e5895383","signature":"89c4c894c2e107e6acd529ccc90f5d3ac56e9e26eec7acc69db5bc74c67f66b8"},{"version":"647b61de5cb1f53e7265022c6f60bf25a43b75ff71bde690adf9ec5f74a22688","signature":"d76d7a53b855e40233ee94d7991f041ef08798ce237f572fa1fe5120792e0f3a"},{"version":"c3005a6a39bd1aaecf3c0c9c61860db480ec5cbd16381556e381bdc3a59b6ac6","signature":"6ff334f1e3348c2e00624e004c3f55ab2e5a80c688642db171633a735efb9374"},{"version":"233267a4a036c64aee95f66a0d31e3e0ef048cccc57dd66f9cf87582b38691e4","impliedFormat":99},{"version":"b620f27ccc82ec7748e2039143cd3c36c029e48b083025f88e621e6dda91222a","signature":"6d248991a8cfaece02458f68fed4d3e7ebbdb17833b9fd127fdaa69cf8436c69"},{"version":"1bdf187549f043a81a5b1a97da1422c4bf2bc5b2cce0415f074e017dcf1e8f71","signature":"0bcbba038569698e4536177738d43aed5cc5e81a958ef84c512c683ac9414354"},{"version":"cc3738ba01d9af5ba1206a313896837ff8779791afcd9869e582783550f17f38","impliedFormat":99},{"version":"0d000a7ec98386e515f6e484e4545cc4d34bcf201fd52ce5a53a5fea0bfdd9b5","signature":"5c6d966b719f71bfc1053b6613fc4062e9697d4ffe3d4cc328ae34651ec3adf4"},{"version":"e6b8f3cd057e49a50b57a52acc38cff7c224def2249464d489295e0e1d200af6","impliedFormat":1},{"version":"5f2418e3437ab5fcf922fefa408f3b0257431ac9353a10c5c3d18fd3e68b30f7","signature":"6758bdb7bc5b66438c03317d3c2a15ac771cb1382d8229f65fbb6a05b225f1da"},{"version":"4a5aa16151dbec524bb043a5cbce2c3fec75957d175475c115a953aca53999a9","impliedFormat":99},{"version":"6d89650a8b9474244627b2ead855995f9923b9ad8576db96c1841b084f44c76a","signature":"5035c4b9bc34ab886efe227aab0d1057f08efd33c317ac18adbb0c5137544e5e"},{"version":"7e4ec95a993de8b29a144facf8c5e99271239ee40ca158a93cbc8b6853e7ca54","signature":"6a837d288765564d548dd6ca64acfcd5d51b53898414355060b1ebf38d45d74d"},{"version":"7a14bf21ae8a29d64c42173c08f026928daf418bed1b97b37ac4bb2aa197b89b","impliedFormat":99},{"version":"23cc67b5360458decab2e93b3827aebbe142fd2d9f76ec418f96cb3269f1820a","signature":"a0e3d7ec764206d4047f5be0152f038bc3498b3fa0751247d00e02267906fbcd"},{"version":"2dfd19d81413d2eda50679dd8caa1cad25ebb34194b37fa1ddfb7dd647939f6d","signature":"5fe0be66db3dd2c391800533fc65d83aff705a2accd5a59c1804b462d5d1c15c"},{"version":"69ec8d900cfec3d40e50490fedbbea5c1b49d32c38adbc236e73a3b8978c0b11","impliedFormat":99},{"version":"7fd629484ba6772b686885b443914655089246f75a13dd685845d0abae337671","impliedFormat":99},{"version":"80a93a384850d9fd7b4d5c2d1f8409874d198467648e000c310695caedaf807b","signature":"ea61fe226066ef7b04c31bb4cb69f280569982683945c2dcaf65d59a537b6217"},{"version":"4e725b44cc99b17211ca80c9306271c7dd1a9c9af0d0aba3faddad63d33992e2","signature":"44c4203ac811b5d4d8953be3b07ace5b3b5396d892cde969912d40d058d43086"},{"version":"1b43441b273aa21c1e74fefa774d5a7cb50068e5d4c192a8f63b9c95c5580431","signature":"32f7c168ee545e9b432d2a861f4fb0bc645e21e88c774cedf54e72d1e3ccc049"},"d1986184a09a52db8228cb2bb2a61a8c05c9354e5b93cec8e2628d8579c892d7",{"version":"42fb3e6be3cf1e414dd7f85f41952e01d3d1247e4bc2837c3acefbf8df15848d","affectsGlobalScope":true},"1da9ea5c91eb7450635526ab1d97da61b1f98d04a60704a646f2635ed93de81d","d1986184a09a52db8228cb2bb2a61a8c05c9354e5b93cec8e2628d8579c892d7","6ebf10b8b67c1a1e7aeb0eb9d6d03928101268ee5ba4bee98aa25a353136af34",{"version":"2174e20517788d2a1379fc0aaacd87899a70f9e0197b4295edabfe75c4db03d8","impliedFormat":1},{"version":"b1538a92b9bae8d230267210c5db38c2eb6bdb352128a3ce3aa8c6acf9fc9622","impliedFormat":1},{"version":"6fc1a4f64372593767a9b7b774e9b3b92bf04e8785c3f9ea98973aa9f4bbe490","impliedFormat":1},{"version":"ff09b6fbdcf74d8af4e131b8866925c5e18d225540b9b19ce9485ca93e574d84","impliedFormat":1},{"version":"d5895252efa27a50f134a9b580aa61f7def5ab73d0a8071f9b5bf9a317c01c2d","impliedFormat":1},{"version":"1f366bde16e0513fa7b64f87f86689c4d36efd85afce7eb24753e9c99b91c319","impliedFormat":1},{"version":"751764bb94219b4ce8f5475dc35d3de2e432fea01a0c9610cd7f69ad05e398c6","impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","impliedFormat":1},{"version":"fb893a0dfc3c9fb0f9ca93d0648694dd95f33cbad2c0f2c629f842981dfd4e2e","impliedFormat":1},{"version":"95da3c365e3d45709ad6e0b4daa5cdaf05e9076ba3c201e8f8081dd282c02f57","impliedFormat":1},{"version":"0e60e0cbf2283adfd5a15430ae548cd2f662d581b5da6ecd98220203e7067c70","impliedFormat":1},{"version":"8357ad1403cf5d74ac86ce60332396a11ba3acef7e32a314acb38a6076b64a80","impliedFormat":1},{"version":"e91ad231af87f864b3f07cd0e39b1cf6c133988156f087c1c3ccb0a5491c9115","impliedFormat":1},{"version":"ef5a2229cc377ddd1b8d3fb498b161d6d47ca2d8fa5857b9cfee5ab6b945b687","impliedFormat":1},{"version":"319c37263037e8d9481a3dc7eadf6afa6a5f5c002189ebe28776ac1a62a38e15","impliedFormat":1},{"version":"1f4ae755492a669b317903a6b1664cb7af3fe0c3d1eec6447f4e95a80616d15a","impliedFormat":1},{"version":"03c258e060b7da220973f84b89615e4e9850e9b5d30b3a8e4840b3e3268ae8eb","impliedFormat":1},{"version":"908217c4f2244ec402b73533ebfcc46d6dcd34fc1c807ff403d7f98702abb3bc","impliedFormat":1},{"version":"2c3b8be03577c98530ef9cb1a76e2c812636a871f367e9edf4c5f3ce702b77f8","affectsGlobalScope":true,"impliedFormat":1},{"version":"0b301e46295e7dee8bcead624b4a0f94ab8ba1cb3f572b726977322293be2196","impliedFormat":1}],"root":[531,532,[723,726],[791,794],[806,808],[814,828],830,[839,855],870,[884,886],906,[923,941],[943,948],[950,984],[986,1005],[1008,1014],[1018,1078],[1080,1082],1085,1090,1091,1094,1098,1099,1102,1103,1538,1575,1646,1648,1649,1651,1652,1659,1661,[1663,1665],1699,[1701,1703],[1705,1707],1709,1712,1713,1715,1719,1721,1743,1745,[1747,1749],1751,1752,1754,1756,1758,1759,1761,1762,[1765,1772]],"options":{"allowJs":true,"esModuleInterop":true,"jsx":4,"module":99,"skipLibCheck":true,"strict":true,"target":2},"referencedMap":[[1771,1],[531,2],[1772,3],[1768,4],[1769,2],[1770,5],[954,6],[955,7],[963,8],[965,9],[966,10],[967,11],[968,12],[970,13],[971,11],[960,14],[1000,15],[973,16],[1001,17],[961,18],[1002,19],[1003,20],[1004,11],[1005,8],[1011,21],[1010,22],[794,23],[956,23],[1013,24],[818,25],[821,26],[820,26],[822,25],[823,26],[824,25],[825,26],[826,26],[828,27],[1018,28],[1014,29],[1019,30],[1024,31],[1022,32],[1025,12],[1034,33],[1035,34],[1032,35],[1037,36],[1038,37],[1036,38],[1039,35],[1042,39],[1044,40],[1045,41],[1043,35],[1046,42],[1028,43],[1047,44],[1048,45],[1049,46],[1050,47],[948,48],[1051,49],[1058,50],[1060,51],[1059,29],[953,52],[1061,10],[1071,53],[1072,49],[945,54],[1076,55],[1077,49],[1078,56],[959,57],[988,58],[993,59],[990,60],[996,61],[999,62],[995,63],[992,64],[984,65],[974,66],[977,67],[978,68],[982,69],[975,67],[1081,70],[979,71],[976,67],[983,66],[980,68],[998,72],[991,20],[981,20],[986,10],[964,73],[969,74],[972,73],[962,73],[830,20],[994,75],[997,72],[958,76],[1070,77],[1064,78],[1065,79],[1068,71],[1062,78],[1066,66],[1063,80],[1069,67],[1067,81],[1023,10],[1021,10],[1033,82],[987,83],[1041,84],[1040,85],[1031,86],[1029,87],[1030,88],[989,82],[1082,89],[1027,76],[944,90],[952,91],[951,92],[946,93],[1054,94],[1057,95],[1056,96],[1055,97],[1052,98],[1074,94],[1075,99],[1073,98],[1080,100],[947,90],[1085,101],[1090,102],[1091,103],[1094,104],[1098,105],[1053,106],[1099,107],[1103,108],[950,106],[1538,109],[1012,110],[1575,111],[1646,112],[1648,113],[1649,114],[1652,115],[1659,116],[1020,10],[1651,117],[1661,118],[1663,119],[1664,120],[1665,121],[1699,122],[1701,123],[1703,124],[1705,125],[1009,110],[1706,126],[1707,127],[1008,128],[1709,129],[1712,130],[1713,131],[1715,132],[1719,133],[1721,134],[1743,135],[1745,136],[1747,137],[1102,138],[1748,117],[1752,139],[1749,127],[1754,140],[1756,141],[957,142],[1758,143],[1759,110],[1761,144],[1702,110],[840,145],[1762,146],[1766,147],[1765,148],[1751,149],[1767,90],[841,150],[1026,151],[842,90],[843,150],[725,152],[845,153],[847,154],[943,155],[724,156],[814,157],[848,157],[806,23],[849,158],[815,159],[850,160],[855,161],[851,162],[723,23],[808,163],[852,164],[854,165],[853,166],[807,160],[816,23],[819,167],[817,167],[827,168],[839,169],[870,170],[532,171],[1104,2],[1105,172],[1106,173],[1111,174],[1107,173],[1110,2],[1108,2],[1109,2],[888,175],[889,176],[898,177],[803,175],[810,178],[799,179],[798,180],[796,181],[795,182],[797,183],[892,184],[890,185],[891,178],[896,186],[895,187],[894,188],[804,189],[802,190],[801,2],[905,191],[903,192],[902,193],[904,2],[900,194],[899,195],[812,178],[800,2],[720,196],[718,197],[716,197],[714,197],[719,198],[717,199],[715,200],[637,201],[636,197],[551,2],[375,2],[1084,202],[1089,203],[1653,204],[1093,205],[1092,206],[1097,207],[1095,206],[1096,206],[1647,208],[1083,209],[1658,210],[831,206],[1088,211],[833,204],[1662,210],[1086,204],[1700,212],[1007,205],[1006,206],[1657,213],[1708,214],[1711,215],[1714,216],[1655,217],[1087,204],[832,206],[1718,207],[1716,206],[1717,206],[1720,218],[1656,209],[1744,209],[1746,216],[1101,205],[1100,206],[1753,209],[949,219],[1757,209],[1760,218],[834,220],[1764,221],[1763,204],[1750,212],[1710,204],[1654,2],[1773,2],[1774,2],[1775,2],[1776,2],[1777,222],[1596,2],[1579,223],[1597,224],[1578,2],[1778,2],[1779,2],[1780,2],[1781,2],[1783,225],[1784,2],[1785,2],[1782,2],[139,226],[140,226],[141,227],[93,228],[142,229],[143,230],[144,231],[88,2],[91,232],[89,2],[90,2],[145,233],[146,234],[147,235],[148,236],[149,237],[150,238],[151,238],[152,239],[153,240],[154,241],[155,242],[94,2],[92,2],[156,243],[157,244],[158,245],[192,246],[159,247],[160,2],[161,248],[162,249],[163,250],[164,251],[165,252],[166,253],[167,254],[168,255],[169,256],[170,256],[171,257],[172,2],[173,258],[174,259],[176,260],[175,261],[177,262],[178,263],[179,264],[180,265],[181,266],[182,267],[183,268],[184,269],[185,270],[186,271],[187,272],[188,273],[189,274],[95,2],[96,2],[97,2],[136,275],[137,2],[138,2],[190,276],[191,277],[196,278],[460,206],[197,279],[195,280],[462,281],[461,282],[193,283],[458,2],[194,284],[79,2],[81,285],[457,206],[227,206],[1788,286],[1789,2],[1790,2],[1791,2],[1792,287],[1015,2],[1793,2],[942,2],[909,2],[910,288],[911,289],[914,290],[913,2],[759,2],[770,291],[765,292],[768,293],[783,294],[772,2],[775,295],[774,296],[786,296],[773,297],[912,2],[767,298],[769,298],[761,299],[764,300],[780,299],[766,301],[760,2],[699,302],[98,2],[837,303],[836,304],[835,2],[1650,305],[80,2],[1200,306],[1179,307],[1276,2],[1180,308],[1116,306],[1117,306],[1118,306],[1119,306],[1120,306],[1121,306],[1122,306],[1123,306],[1124,306],[1125,306],[1126,306],[1127,306],[1128,306],[1129,306],[1130,306],[1131,306],[1132,306],[1133,306],[1112,2],[1134,306],[1135,306],[1136,2],[1137,306],[1138,306],[1140,306],[1139,306],[1141,306],[1142,306],[1143,306],[1144,306],[1145,306],[1146,306],[1147,306],[1148,306],[1149,306],[1150,306],[1151,306],[1152,306],[1153,306],[1154,306],[1155,306],[1156,306],[1157,306],[1158,306],[1159,306],[1161,306],[1162,306],[1163,306],[1160,306],[1164,306],[1165,306],[1166,306],[1167,306],[1168,306],[1169,306],[1170,306],[1171,306],[1172,306],[1173,306],[1174,306],[1175,306],[1176,306],[1177,306],[1178,306],[1181,309],[1182,306],[1183,306],[1184,310],[1185,311],[1186,306],[1187,306],[1188,306],[1189,306],[1192,306],[1190,306],[1191,306],[1114,2],[1193,306],[1194,306],[1195,306],[1196,306],[1197,306],[1198,306],[1199,306],[1201,312],[1202,306],[1203,306],[1204,306],[1206,306],[1205,306],[1207,306],[1208,306],[1209,306],[1210,306],[1211,306],[1212,306],[1213,306],[1214,306],[1215,306],[1216,306],[1218,306],[1217,306],[1219,306],[1220,2],[1221,2],[1222,2],[1369,313],[1223,306],[1224,306],[1225,306],[1226,306],[1227,306],[1228,306],[1229,2],[1230,306],[1231,2],[1232,306],[1233,306],[1234,306],[1235,306],[1236,306],[1237,306],[1238,306],[1239,306],[1240,306],[1241,306],[1242,306],[1243,306],[1244,306],[1245,306],[1246,306],[1247,306],[1248,306],[1249,306],[1250,306],[1251,306],[1252,306],[1253,306],[1254,306],[1255,306],[1256,306],[1257,306],[1258,306],[1259,306],[1260,306],[1261,306],[1262,306],[1263,306],[1264,2],[1265,306],[1266,306],[1267,306],[1268,306],[1269,306],[1270,306],[1271,306],[1272,306],[1273,306],[1274,306],[1275,306],[1277,314],[1465,315],[1370,308],[1372,308],[1373,308],[1374,308],[1375,308],[1376,308],[1371,308],[1377,308],[1379,308],[1378,308],[1380,308],[1381,308],[1382,308],[1383,308],[1384,308],[1385,308],[1386,308],[1387,308],[1389,308],[1388,308],[1390,308],[1391,308],[1392,308],[1393,308],[1394,308],[1395,308],[1396,308],[1397,308],[1398,308],[1399,308],[1400,308],[1401,308],[1402,308],[1403,308],[1404,308],[1406,308],[1407,308],[1405,308],[1408,308],[1409,308],[1410,308],[1411,308],[1412,308],[1413,308],[1414,308],[1415,308],[1416,308],[1417,308],[1418,308],[1419,308],[1421,308],[1420,308],[1423,308],[1422,308],[1424,308],[1425,308],[1426,308],[1427,308],[1428,308],[1429,308],[1430,308],[1431,308],[1432,308],[1433,308],[1434,308],[1435,308],[1436,308],[1438,308],[1437,308],[1439,308],[1440,308],[1441,308],[1443,308],[1442,308],[1444,308],[1445,308],[1446,308],[1447,308],[1448,308],[1449,308],[1451,308],[1450,308],[1452,308],[1453,308],[1454,308],[1455,308],[1456,308],[1113,306],[1457,308],[1458,308],[1460,308],[1459,308],[1461,308],[1462,308],[1463,308],[1464,308],[1278,306],[1279,306],[1280,2],[1281,2],[1282,2],[1283,306],[1284,2],[1285,2],[1286,2],[1287,2],[1288,2],[1289,306],[1290,306],[1291,306],[1292,306],[1293,306],[1294,306],[1295,306],[1296,306],[1301,316],[1299,317],[1300,318],[1298,319],[1297,306],[1302,306],[1303,306],[1304,306],[1305,306],[1306,306],[1307,306],[1308,306],[1309,306],[1310,306],[1311,306],[1312,2],[1313,2],[1314,306],[1315,306],[1316,2],[1317,2],[1318,2],[1319,306],[1320,306],[1321,306],[1322,306],[1323,312],[1324,306],[1325,306],[1326,306],[1327,306],[1328,306],[1329,306],[1330,306],[1331,306],[1332,306],[1333,306],[1334,306],[1335,306],[1336,306],[1337,306],[1338,306],[1339,306],[1340,306],[1341,306],[1342,306],[1343,306],[1344,306],[1345,306],[1346,306],[1347,306],[1348,306],[1349,306],[1350,306],[1351,306],[1352,306],[1353,306],[1354,306],[1355,306],[1356,306],[1357,306],[1358,306],[1359,306],[1360,306],[1361,306],[1362,306],[1363,306],[1364,306],[1115,320],[1365,2],[1366,2],[1367,2],[1368,2],[1016,287],[1573,321],[1574,322],[1539,2],[1547,323],[1541,324],[1548,2],[1570,325],[1545,326],[1569,327],[1566,328],[1549,329],[1550,2],[1543,2],[1540,2],[1571,330],[1567,331],[1551,2],[1568,332],[1552,333],[1554,334],[1555,335],[1544,336],[1556,337],[1557,336],[1559,337],[1560,338],[1561,339],[1563,340],[1558,341],[1564,342],[1565,343],[1542,344],[1562,345],[1546,346],[1553,2],[1572,347],[698,2],[919,348],[921,349],[920,350],[918,351],[917,2],[534,352],[536,352],[533,2],[539,353],[535,354],[876,2],[872,2],[882,355],[877,356],[874,2],[883,357],[881,358],[880,359],[879,360],[878,359],[871,2],[875,361],[873,2],[721,362],[722,363],[537,364],[538,365],[809,366],[811,367],[893,368],[897,369],[887,2],[901,370],[805,371],[813,372],[1786,373],[638,374],[640,375],[641,376],[639,377],[689,197],[690,378],[691,378],[686,378],[679,379],[707,380],[683,381],[684,382],[709,383],[708,384],[677,384],[687,385],[712,386],[685,387],[702,388],[701,389],[710,390],[676,391],[711,392],[693,393],[713,394],[694,395],[706,396],[704,397],[705,398],[682,399],[703,400],[680,401],[692,2],[688,2],[671,2],[700,402],[681,403],[678,404],[695,2],[697,2],[621,405],[540,406],[625,2],[542,407],[618,408],[619,409],[545,2],[549,410],[547,411],[595,412],[594,413],[596,414],[597,415],[546,2],[550,2],[543,2],[544,2],[607,2],[615,2],[634,416],[628,417],[623,418],[581,419],[602,419],[580,419],[558,419],[584,420],[568,421],[565,2],[566,422],[559,419],[562,423],[561,424],[593,425],[564,419],[569,426],[570,419],[574,427],[575,419],[576,428],[577,419],[578,427],[579,419],[587,429],[588,419],[590,430],[591,419],[592,426],[585,420],[573,431],[572,432],[571,419],[586,433],[583,434],[582,420],[567,419],[589,421],[560,419],[601,419],[604,435],[603,436],[635,437],[633,438],[627,439],[629,440],[626,441],[609,442],[630,443],[622,444],[614,445],[541,446],[616,447],[611,448],[610,449],[624,450],[631,451],[632,443],[617,452],[598,453],[612,454],[613,455],[608,456],[620,457],[563,2],[599,458],[606,459],[605,460],[600,461],[548,2],[557,462],[554,197],[663,2],[664,463],[646,464],[658,465],[657,466],[655,467],[665,468],[643,2],[668,469],[650,2],[661,470],[660,471],[662,472],[666,2],[656,473],[649,474],[654,475],[667,476],[652,477],[647,2],[648,478],[669,479],[659,480],[653,476],[644,2],[670,481],[642,466],[645,2],[651,466],[1704,206],[1017,482],[556,483],[555,2],[829,206],[985,2],[1079,206],[483,484],[488,485],[495,486],[478,487],[231,2],[239,488],[379,489],[382,490],[354,2],[367,491],[374,492],[256,2],[356,2],[237,2],[353,493],[399,494],[238,2],[229,495],[381,496],[383,497],[384,498],[455,499],[348,500],[301,501],[361,502],[362,503],[360,504],[359,2],[355,505],[380,506],[240,507],[425,2],[426,508],[267,509],[241,510],[268,509],[304,509],[207,509],[377,511],[376,2],[366,512],[473,2],[216,2],[494,513],[433,514],[434,515],[430,516],[512,2],[331,2],[435,90],[431,517],[517,518],[516,519],[511,2],[282,2],[334,520],[333,2],[510,521],[432,206],[287,522],[294,523],[296,524],[286,2],[291,525],[293,526],[295,527],[290,528],[288,2],[292,529],[513,2],[509,2],[515,530],[514,2],[285,531],[504,532],[507,533],[275,534],[274,535],[273,536],[520,206],[272,537],[261,2],[522,2],[523,206],[524,538],[199,2],[363,539],[364,540],[365,541],[203,2],[368,2],[223,542],[198,2],[447,206],[205,543],[446,544],[445,545],[436,2],[437,2],[444,2],[439,2],[442,546],[438,2],[440,547],[443,548],[441,547],[236,2],[233,2],[234,509],[388,2],[393,549],[394,550],[392,551],[390,552],[391,553],[386,2],[453,90],[228,90],[482,554],[489,555],[493,556],[322,557],[321,2],[316,2],[469,558],[477,559],[349,560],[350,561],[428,562],[338,2],[451,563],[326,206],[343,564],[454,565],[339,2],[342,566],[340,2],[452,567],[449,568],[448,2],[450,2],[346,2],[424,569],[211,570],[324,571],[328,572],[344,573],[347,574],[336,575],[329,576],[476,577],[402,578],[320,579],[208,580],[475,581],[204,582],[395,583],[387,2],[396,584],[413,585],[385,2],[412,586],[87,2],[407,587],[232,2],[427,588],[403,2],[217,2],[219,2],[358,2],[411,589],[235,2],[259,590],[345,591],[265,592],[325,2],[410,2],[389,2],[415,593],[416,594],[357,2],[418,595],[420,596],[419,597],[369,2],[409,580],[422,598],[319,599],[408,600],[414,601],[244,2],[248,2],[247,2],[246,2],[251,2],[245,2],[254,2],[253,2],[250,2],[249,2],[252,2],[255,602],[243,2],[311,603],[310,2],[315,604],[312,605],[314,606],[317,604],[313,605],[224,607],[303,608],[472,609],[470,2],[499,610],[501,611],[465,612],[500,613],[212,614],[209,614],[242,2],[226,615],[225,616],[221,617],[222,618],[230,619],[258,619],[269,619],[305,620],[270,620],[214,621],[213,2],[309,622],[308,623],[307,624],[306,625],[215,626],[456,627],[257,628],[464,629],[429,630],[459,631],[463,632],[352,633],[351,634],[332,635],[318,636],[300,637],[302,638],[299,639],[421,640],[323,2],[487,2],[220,641],[423,642],[471,643],[330,2],[260,644],[337,645],[335,646],[262,647],[397,648],[466,2],[263,649],[398,649],[485,2],[484,2],[486,2],[468,2],[467,2],[400,650],[327,2],[297,651],[218,652],[276,2],[202,653],[264,2],[491,206],[201,2],[503,654],[284,206],[497,90],[283,655],[480,656],[281,654],[206,2],[505,657],[279,206],[280,206],[271,2],[200,2],[278,658],[277,659],[266,660],[341,255],[401,255],[417,2],[405,661],[404,2],[289,531],[210,2],[298,206],[474,542],[481,662],[82,206],[85,663],[86,664],[83,206],[84,2],[378,665],[373,666],[372,2],[371,667],[370,2],[479,668],[490,669],[492,670],[496,671],[498,672],[502,673],[530,674],[506,674],[529,675],[508,676],[518,677],[519,678],[521,679],[525,680],[528,542],[527,2],[526,681],[751,682],[749,683],[750,684],[738,685],[739,683],[746,686],[737,687],[742,688],[752,2],[743,689],[748,690],[754,691],[753,692],[736,693],[744,694],[745,695],[740,696],[747,682],[741,697],[674,698],[675,699],[673,698],[672,681],[553,197],[552,2],[696,197],[1524,700],[1485,701],[1484,702],[1523,703],[1525,704],[1466,206],[1467,206],[1468,206],[1512,705],[1491,706],[1492,706],[1493,707],[1494,206],[1495,206],[1496,708],[1469,709],[1497,206],[1498,206],[1499,710],[1500,206],[1501,206],[1502,206],[1503,206],[1504,206],[1505,206],[1470,709],[1506,206],[1507,206],[1508,709],[1509,206],[1510,206],[1511,710],[1526,707],[1513,700],[1514,700],[1515,700],[1516,700],[1517,700],[1518,2],[1519,700],[1520,711],[1527,712],[1528,713],[1537,714],[1482,715],[1471,716],[1472,700],[1473,716],[1474,700],[1475,2],[1476,700],[1477,2],[1478,700],[1479,700],[1480,700],[1481,700],[1522,700],[1489,717],[1490,718],[1486,719],[1487,720],[1521,721],[1483,206],[1488,722],[1529,716],[1530,716],[1536,723],[1531,700],[1532,716],[1533,716],[1534,700],[1535,716],[1666,2],[1682,724],[1683,724],[1684,724],[1698,725],[1685,726],[1686,726],[1687,727],[1679,728],[1677,729],[1668,2],[1672,730],[1676,731],[1674,732],[1681,733],[1669,734],[1670,735],[1671,736],[1673,737],[1675,738],[1678,739],[1680,740],[1688,726],[1689,726],[1690,726],[1691,724],[1692,726],[1693,726],[1667,726],[1694,2],[1696,741],[1695,726],[1697,724],[1727,2],[1741,742],[1722,206],[1724,743],[1726,744],[1725,745],[1723,2],[1728,2],[1729,2],[1730,2],[1731,2],[1732,2],[1733,2],[1734,2],[1735,2],[1736,2],[1737,746],[1739,747],[1740,747],[1738,2],[1742,748],[1619,749],[1621,750],[1611,751],[1616,752],[1617,753],[1623,754],[1618,755],[1615,756],[1614,757],[1613,758],[1624,759],[1581,752],[1582,752],[1622,752],[1627,760],[1637,761],[1631,761],[1639,761],[1643,761],[1629,762],[1630,761],[1632,761],[1635,761],[1638,761],[1634,763],[1636,761],[1640,206],[1633,752],[1628,764],[1590,206],[1594,206],[1584,752],[1587,206],[1592,752],[1593,765],[1586,766],[1589,206],[1591,206],[1588,767],[1577,206],[1576,206],[1645,768],[1642,769],[1608,770],[1607,752],[1605,206],[1606,752],[1609,771],[1610,772],[1603,206],[1599,773],[1602,752],[1601,752],[1600,752],[1595,752],[1604,773],[1641,752],[1620,774],[1626,775],[1625,776],[1644,2],[1612,2],[1585,2],[1583,777],[729,778],[728,779],[727,2],[406,780],[1755,206],[735,2],[838,2],[784,2],[762,2],[763,781],[1787,2],[77,2],[78,2],[13,2],[14,2],[16,2],[15,2],[2,2],[17,2],[18,2],[19,2],[20,2],[21,2],[22,2],[23,2],[24,2],[3,2],[25,2],[26,2],[4,2],[27,2],[31,2],[28,2],[29,2],[30,2],[32,2],[33,2],[34,2],[5,2],[35,2],[36,2],[37,2],[38,2],[6,2],[42,2],[39,2],[40,2],[41,2],[43,2],[7,2],[44,2],[49,2],[50,2],[45,2],[46,2],[47,2],[48,2],[8,2],[54,2],[51,2],[52,2],[53,2],[55,2],[9,2],[56,2],[57,2],[58,2],[60,2],[59,2],[61,2],[62,2],[10,2],[63,2],[64,2],[65,2],[11,2],[66,2],[67,2],[68,2],[69,2],[70,2],[1,2],[71,2],[72,2],[12,2],[75,2],[74,2],[73,2],[76,2],[114,782],[124,783],[113,782],[134,784],[105,785],[104,786],[133,681],[127,787],[132,788],[107,789],[121,790],[106,791],[130,792],[102,793],[101,681],[131,794],[103,795],[108,796],[109,2],[112,796],[99,2],[135,797],[125,798],[116,799],[117,800],[119,801],[115,802],[118,803],[128,681],[110,804],[111,805],[120,806],[100,807],[123,798],[122,796],[126,2],[129,808],[1660,305],[1580,809],[1598,810],[781,811],[778,812],[779,811],[782,813],[777,2],[758,814],[755,815],[733,816],[734,2],[731,817],[730,2],[732,818],[756,2],[757,819],[790,820],[785,821],[776,822],[771,2],[915,823],[787,824],[916,825],[788,826],[908,827],[907,828],[789,829],[922,830],[869,831],[861,832],[868,833],[863,2],[864,2],[862,834],[865,835],[856,2],[857,2],[858,831],[860,836],[866,2],[867,837],[859,838],[726,839],[884,840],[885,840],[886,840],[906,841],[924,842],[925,842],[926,842],[927,842],[923,843],[928,842],[929,23],[930,844],[931,845],[932,846],[933,847],[934,848],[935,849],[936,850],[937,851],[938,845],[939,852],[940,853],[941,847],[844,23],[846,23],[791,854],[792,854],[793,854]],"semanticDiagnosticsPerFile":[[932,[{"start":1965,"length":7,"code":2322,"category":1,"messageText":"Type '{ name: string; }' is not assignable to type 'never'."}]],[935,[{"start":3592,"length":7,"code":2345,"category":1,"messageText":"Argument of type '{ name: string; }' is not assignable to parameter of type 'never'."},{"start":6952,"length":18,"code":2322,"category":1,"messageText":"Type '{ name: string; }' is not assignable to type 'never'."},{"start":7212,"length":21,"code":2322,"category":1,"messageText":"Type '{ name: string; }' is not assignable to type 'never'."}]]],"affectedFilesPendingEmit":[1772,1770,954,955,963,965,966,967,968,970,971,960,1000,973,1001,961,1002,1003,1004,1005,1011,1010,794,956,1013,818,821,820,822,823,824,825,826,828,1018,1014,1019,1024,1022,1025,1034,1035,1032,1037,1038,1036,1039,1042,1044,1045,1043,1046,1028,1047,1048,1049,1050,948,1051,1058,1060,1059,953,1061,1071,1072,945,1076,1077,1078,959,988,993,990,996,999,995,992,984,974,977,978,982,975,1081,979,976,983,980,998,991,981,986,964,969,972,962,830,994,997,958,1070,1064,1065,1068,1062,1066,1063,1069,1067,1023,1021,1033,987,1041,1040,1031,1029,1030,989,1082,1027,944,952,951,946,1054,1057,1056,1055,1052,1074,1075,1073,1080,947,1085,1090,1091,1094,1098,1053,1099,1103,950,1538,1012,1575,1646,1648,1649,1652,1659,1020,1651,1661,1663,1664,1665,1699,1701,1703,1705,1009,1706,1707,1008,1709,1712,1713,1715,1719,1721,1743,1745,1747,1102,1748,1752,1749,1754,1756,957,1758,1759,1761,1702,840,1762,1766,1765,1751,1767,841,1026,842,843,725,845,847,943,724,814,848,806,849,815,850,855,851,723,808,852,854,853,807,816,819,817,827,839,870,726,884,885,886,906,924,925,926,927,923,928,929,930,931,932,933,934,935,936,937,938,939,940,941,844,846,791,792,793],"version":"5.7.3"} \ No newline at end of file From 98b3811042eb0fe9a23fa28b3ac2f64f0f3a2d13 Mon Sep 17 00:00:00 2001 From: AlpNuhoglu Date: Fri, 22 May 2026 10:21:45 +0300 Subject: [PATCH 08/10] ci: run CI on feature/deployment-setup --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7c9da4b..d3202c6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -2,7 +2,7 @@ name: CI on: push: - branches: [main, develop] + branches: [main, develop, feature/deployment-setup] pull_request: branches: [main, develop] From cb4d770c48d84843db1b0477e52e1b989cdf0348 Mon Sep 17 00:00:00 2001 From: AlpNuhoglu Date: Fri, 22 May 2026 18:59:09 +0300 Subject: [PATCH 09/10] test(firebase): add comprehensive unit tests for adminServices --- tests/unit/adminServices.test.ts | 1402 ++++++++++++++++++++++++++++++ 1 file changed, 1402 insertions(+) create mode 100644 tests/unit/adminServices.test.ts diff --git a/tests/unit/adminServices.test.ts b/tests/unit/adminServices.test.ts new file mode 100644 index 0000000..20e5784 --- /dev/null +++ b/tests/unit/adminServices.test.ts @@ -0,0 +1,1402 @@ +import { describe, it, expect, vi, beforeEach } from "vitest"; +import type { Firestore } from "firebase/firestore"; +import type { Auth } from "firebase/auth"; + +// ─── Hoisted mock refs (must be declared before any vi.mock() calls) ────────── + +const { + addDocMock, + getDocMock, + getDocsMock, + updateDocMock, + setDocMock, + deleteDocMock, + collectionMock, + docMock, + queryMock, + whereMock, + serverTimestampMock, +} = vi.hoisted(() => ({ + addDocMock: vi.fn(), + getDocMock: vi.fn(), + getDocsMock: vi.fn(), + updateDocMock: vi.fn(), + setDocMock: vi.fn(), + deleteDocMock: vi.fn(), + collectionMock: vi.fn((_db: unknown, name: string) => ({ __collection: name })), + docMock: vi.fn((_db: unknown, col: string, id: string) => ({ __doc: `${col}/${id}` })), + queryMock: vi.fn((...args: unknown[]) => ({ __query: args })), + whereMock: vi.fn((...args: unknown[]) => ({ __where: args })), + serverTimestampMock: vi.fn(() => ({ __sentinel: "server" })), +})); + +// Dynamic import inside deleteBoardMember / deleteSupporter / deleteIbanEntry +// — we need deleteDoc from the same mocked module. +vi.mock("firebase/firestore", () => ({ + addDoc: addDocMock, + getDoc: getDocMock, + getDocs: getDocsMock, + updateDoc: updateDocMock, + setDoc: setDocMock, + deleteDoc: deleteDocMock, + collection: collectionMock, + doc: docMock, + query: queryMock, + where: whereMock, + serverTimestamp: serverTimestampMock, +})); + +// ─── Imported after mocks are wired ────────────────────────────────────────── + +import { + getAdminDashboardStats, + getBoardMembers, + createBoardMember, + updateBoardMember, + deleteBoardMember, + getSupporters, + createSupporter, + updateSupporter, + deleteSupporter, + getIbanEntries, + createIbanEntry, + updateIbanEntry, + deleteIbanEntry, + getAdminReports, + createAdminReport, + updateAdminReport, + deleteAdminReport, + getAdminPageBySlug, + getAdminPageDataBySlug, + getAdminPages, + upsertAdminPage, + getAdminSiteSettings, + updateAdminSiteSettings, + getContactMessages, + updateContactMessageStatus, + getPageBlocks, + savePageBlocks, + upsertPageContent, + updateStaffPhotoURL, + getStaffMember, +} from "@/lib/firebase/adminServices"; +import type { PageBlockData } from "@/types/pageBuilder"; + +// ─── Shared fixtures ────────────────────────────────────────────────────────── + +const mockDb = {} as Firestore; + +function makeAuth(uid: string | null = "user-1"): Auth { + return { + currentUser: uid ? { uid } : null, + } as unknown as Auth; +} + +const services = { db: mockDb, auth: makeAuth("user-1") }; +const anonServices = { db: mockDb, auth: makeAuth(null) }; + +/** Build a minimal Firestore QuerySnapshot-like object. */ +function makeSnap(docs: Array<{ id: string; data: Record }>) { + const docObjects = docs.map((d) => ({ + id: d.id, + data: () => d.data, + exists: () => true, + })); + return { + docs: docObjects, + size: docObjects.length, + empty: docObjects.length === 0, + }; +} + +/** Build an empty QuerySnapshot. */ +const emptySnap = { docs: [], size: 0, empty: true }; + +// ─── beforeEach teardown ────────────────────────────────────────────────────── + +beforeEach(() => { + vi.clearAllMocks(); + // Sensible defaults — individual tests override as needed. + addDocMock.mockResolvedValue({ id: "new-doc-id" }); + updateDocMock.mockResolvedValue(undefined); + setDocMock.mockResolvedValue(undefined); + deleteDocMock.mockResolvedValue(undefined); + getDocsMock.mockResolvedValue(emptySnap); + getDocMock.mockResolvedValue({ exists: () => false, data: () => ({}) }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// getAdminDashboardStats +// ═════════════════════════════════════════════════════════════════════════════ + +describe("getAdminDashboardStats", () => { + it("returns zero counts when all queries return empty snapshots", async () => { + getDocsMock.mockResolvedValue(emptySnap); + + const stats = await getAdminDashboardStats(services); + + expect(stats.totalBlogs).toBe(0); + expect(stats.publishedBlogs).toBe(0); + expect(stats.totalEvents).toBe(0); + expect(stats.totalAnnouncements).toBe(0); + expect(stats.pendingMessages).toBe(0); + expect(stats.pendingVolunteers).toBe(0); + }); + + it("counts all blogs and published blogs correctly", async () => { + const blogsSnap = makeSnap([ + { id: "b1", data: { status: "published" } }, + { id: "b2", data: { status: "draft" } }, + { id: "b3", data: { status: "published" } }, + ]); + const countSnap = (size: number) => ({ docs: Array(size).fill({ id: "x", data: () => ({}) }), size, empty: size === 0 }); + + getDocsMock + .mockResolvedValueOnce(blogsSnap) // safeDocs → blogsSnap + .mockResolvedValueOnce(countSnap(4)) // safeCount → totalEvents + .mockResolvedValueOnce(countSnap(2)) // safeCount → totalAnnouncements + .mockResolvedValueOnce(countSnap(7)) // safeCount → pendingMessages + .mockResolvedValueOnce(countSnap(3)); // safeCount → pendingVolunteers + + const stats = await getAdminDashboardStats(services); + + expect(stats.totalBlogs).toBe(3); + expect(stats.publishedBlogs).toBe(2); + expect(stats.totalEvents).toBe(4); + expect(stats.totalAnnouncements).toBe(2); + expect(stats.pendingMessages).toBe(7); + expect(stats.pendingVolunteers).toBe(3); + }); + + it("returns 0 for counts when getDocs rejects (safeCount catch path)", async () => { + getDocsMock.mockRejectedValue(new Error("Firestore error")); + + const stats = await getAdminDashboardStats(services); + + expect(stats.totalBlogs).toBe(0); + expect(stats.publishedBlogs).toBe(0); + expect(stats.totalEvents).toBe(0); + }); + + it("handles blogsSnap being null (safeDocs catch path)", async () => { + // safeDocs returns null on error; safeCount returns 0 on error + getDocsMock.mockRejectedValue(new Error("network")); + + const stats = await getAdminDashboardStats(services); + + expect(stats.totalBlogs).toBe(0); + expect(stats.publishedBlogs).toBe(0); + }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// getBoardMembers +// ═════════════════════════════════════════════════════════════════════════════ + +describe("getBoardMembers", () => { + it("returns an empty array when collection is empty", async () => { + getDocsMock.mockResolvedValue(emptySnap); + const result = await getBoardMembers(services); + expect(result).toEqual([]); + }); + + it("maps and sorts board members by sortOrder", async () => { + const snap = makeSnap([ + { id: "m2", data: { name: "B", title: "VP", bio: "bio2", photoUrl: "p2", sortOrder: 2 } }, + { id: "m1", data: { name: "A", title: "CEO", bio: "bio1", photoUrl: "p1", sortOrder: 1 } }, + ]); + getDocsMock.mockResolvedValue(snap); + + const result = await getBoardMembers(services); + + expect(result[0].id).toBe("m1"); + expect(result[1].id).toBe("m2"); + expect(result[0].name).toBe("A"); + }); + + it("uses empty string defaults for missing fields", async () => { + const snap = makeSnap([{ id: "m1", data: {} }]); + getDocsMock.mockResolvedValue(snap); + + const [member] = await getBoardMembers(services); + + expect(member.name).toBe(""); + expect(member.title).toBe(""); + expect(member.bio).toBe(""); + expect(member.photoUrl).toBe(""); + expect(member.sortOrder).toBe(0); + }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// createBoardMember +// ═════════════════════════════════════════════════════════════════════════════ + +describe("createBoardMember", () => { + const member = { name: "Alice", title: "Director", bio: "Bio", photoUrl: "url", sortOrder: 1 }; + + it("returns new document id", async () => { + addDocMock.mockResolvedValue({ id: "board-42" }); + const id = await createBoardMember(services, member); + expect(id).toBe("board-42"); + }); + + it("writes to boardMembers collection", async () => { + await createBoardMember(services, member); + expect(collectionMock).toHaveBeenCalledWith(mockDb, "boardMembers"); + }); + + it("includes createdBy / updatedBy as the current user uid", async () => { + await createBoardMember(services, member); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.createdBy).toBe("user-1"); + expect(payload.updatedBy).toBe("user-1"); + }); + + it("sets createdBy / updatedBy to null when no authenticated user", async () => { + await createBoardMember(anonServices, member); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.createdBy).toBeNull(); + expect(payload.updatedBy).toBeNull(); + }); + + it("uses serverTimestamp for createdAt and updatedAt", async () => { + await createBoardMember(services, member); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.createdAt).toEqual({ __sentinel: "server" }); + expect(payload.updatedAt).toEqual({ __sentinel: "server" }); + }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// updateBoardMember +// ═════════════════════════════════════════════════════════════════════════════ + +describe("updateBoardMember", () => { + it("calls updateDoc on the correct document reference", async () => { + await updateBoardMember(services, "m-1", { name: "Updated" }); + expect(docMock).toHaveBeenCalledWith(mockDb, "boardMembers", "m-1"); + expect(updateDocMock).toHaveBeenCalledTimes(1); + }); + + it("merges the data fields and updatedBy / updatedAt", async () => { + await updateBoardMember(services, "m-1", { title: "CTO" }); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.title).toBe("CTO"); + expect(payload.updatedBy).toBe("user-1"); + expect(payload.updatedAt).toEqual({ __sentinel: "server" }); + }); + + it("sets updatedBy to null when no authenticated user", async () => { + await updateBoardMember(anonServices, "m-1", { name: "X" }); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.updatedBy).toBeNull(); + }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// deleteBoardMember +// ═════════════════════════════════════════════════════════════════════════════ + +describe("deleteBoardMember", () => { + it("calls deleteDoc on the correct document reference", async () => { + await deleteBoardMember(services, "m-99"); + expect(docMock).toHaveBeenCalledWith(mockDb, "boardMembers", "m-99"); + expect(deleteDocMock).toHaveBeenCalledTimes(1); + }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// getSupporters +// ═════════════════════════════════════════════════════════════════════════════ + +describe("getSupporters", () => { + it("returns empty array when no documents exist", async () => { + getDocsMock.mockResolvedValue(emptySnap); + expect(await getSupporters(services)).toEqual([]); + }); + + it("maps and sorts supporters by sortOrder", async () => { + const snap = makeSnap([ + { id: "s2", data: { name: "B", logoUrl: "l2", websiteUrl: "w2", sortOrder: 2 } }, + { id: "s1", data: { name: "A", logoUrl: "l1", websiteUrl: "w1", sortOrder: 1 } }, + ]); + getDocsMock.mockResolvedValue(snap); + + const result = await getSupporters(services); + expect(result[0].id).toBe("s1"); + expect(result[1].id).toBe("s2"); + }); + + it("fills missing fields with empty string / 0", async () => { + const snap = makeSnap([{ id: "s1", data: {} }]); + getDocsMock.mockResolvedValue(snap); + + const [s] = await getSupporters(services); + expect(s.name).toBe(""); + expect(s.logoUrl).toBe(""); + expect(s.websiteUrl).toBe(""); + expect(s.sortOrder).toBe(0); + }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// createSupporter +// ═════════════════════════════════════════════════════════════════════════════ + +describe("createSupporter", () => { + const supporter = { name: "ACME", logoUrl: "logo.png", websiteUrl: "https://acme.com", sortOrder: 0 }; + + it("returns the new document id", async () => { + addDocMock.mockResolvedValue({ id: "sup-7" }); + expect(await createSupporter(services, supporter)).toBe("sup-7"); + }); + + it("writes to supporters collection", async () => { + await createSupporter(services, supporter); + expect(collectionMock).toHaveBeenCalledWith(mockDb, "supporters"); + }); + + it("sets createdBy / updatedBy to uid", async () => { + await createSupporter(services, supporter); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.createdBy).toBe("user-1"); + expect(payload.updatedBy).toBe("user-1"); + }); + + it("sets createdBy / updatedBy to null when unauthenticated", async () => { + await createSupporter(anonServices, supporter); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.createdBy).toBeNull(); + }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// updateSupporter +// ═════════════════════════════════════════════════════════════════════════════ + +describe("updateSupporter", () => { + it("calls updateDoc on supporters/", async () => { + await updateSupporter(services, "s-1", { name: "New Name" }); + expect(docMock).toHaveBeenCalledWith(mockDb, "supporters", "s-1"); + expect(updateDocMock).toHaveBeenCalledTimes(1); + }); + + it("merges data with updatedBy and updatedAt", async () => { + await updateSupporter(services, "s-1", { logoUrl: "new-logo.png" }); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.logoUrl).toBe("new-logo.png"); + expect(payload.updatedBy).toBe("user-1"); + }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// deleteSupporter +// ═════════════════════════════════════════════════════════════════════════════ + +describe("deleteSupporter", () => { + it("calls deleteDoc on supporters/", async () => { + await deleteSupporter(services, "s-42"); + expect(docMock).toHaveBeenCalledWith(mockDb, "supporters", "s-42"); + expect(deleteDocMock).toHaveBeenCalledTimes(1); + }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// getIbanEntries +// ═════════════════════════════════════════════════════════════════════════════ + +describe("getIbanEntries", () => { + it("returns empty array for empty collection", async () => { + getDocsMock.mockResolvedValue(emptySnap); + expect(await getIbanEntries(services)).toEqual([]); + }); + + it("maps and sorts IBAN entries by sortOrder", async () => { + const snap = makeSnap([ + { id: "i2", data: { bankName: "B", accountHolder: "H2", iban: "TR2", currency: "USD", sortOrder: 2 } }, + { id: "i1", data: { bankName: "A", accountHolder: "H1", iban: "TR1", currency: "TRY", sortOrder: 1 } }, + ]); + getDocsMock.mockResolvedValue(snap); + + const result = await getIbanEntries(services); + expect(result[0].id).toBe("i1"); + expect(result[1].id).toBe("i2"); + }); + + it("defaults currency to 'TRY' when missing", async () => { + const snap = makeSnap([{ id: "i1", data: {} }]); + getDocsMock.mockResolvedValue(snap); + + const [entry] = await getIbanEntries(services); + expect(entry.currency).toBe("TRY"); + expect(entry.bankName).toBe(""); + expect(entry.accountHolder).toBe(""); + expect(entry.iban).toBe(""); + expect(entry.sortOrder).toBe(0); + }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// createIbanEntry +// ═════════════════════════════════════════════════════════════════════════════ + +describe("createIbanEntry", () => { + const entry = { bankName: "Garanti", accountHolder: "NGO", iban: "TR00", currency: "TRY", sortOrder: 0 }; + + it("returns new document id", async () => { + addDocMock.mockResolvedValue({ id: "iban-3" }); + expect(await createIbanEntry(services, entry)).toBe("iban-3"); + }); + + it("writes to ibanEntries collection", async () => { + await createIbanEntry(services, entry); + expect(collectionMock).toHaveBeenCalledWith(mockDb, "ibanEntries"); + }); + + it("sets createdBy to null when unauthenticated", async () => { + await createIbanEntry(anonServices, entry); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.createdBy).toBeNull(); + }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// updateIbanEntry +// ═════════════════════════════════════════════════════════════════════════════ + +describe("updateIbanEntry", () => { + it("calls updateDoc on ibanEntries/", async () => { + await updateIbanEntry(services, "i-5", { iban: "TR99" }); + expect(docMock).toHaveBeenCalledWith(mockDb, "ibanEntries", "i-5"); + expect(updateDocMock).toHaveBeenCalledTimes(1); + }); + + it("includes updatedBy uid in the payload", async () => { + await updateIbanEntry(services, "i-5", { bankName: "Yapı Kredi" }); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.bankName).toBe("Yapı Kredi"); + expect(payload.updatedBy).toBe("user-1"); + }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// deleteIbanEntry +// ═════════════════════════════════════════════════════════════════════════════ + +describe("deleteIbanEntry", () => { + it("calls deleteDoc on ibanEntries/", async () => { + await deleteIbanEntry(services, "i-99"); + expect(docMock).toHaveBeenCalledWith(mockDb, "ibanEntries", "i-99"); + expect(deleteDocMock).toHaveBeenCalledTimes(1); + }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// getAdminReports +// ═════════════════════════════════════════════════════════════════════════════ + +describe("getAdminReports", () => { + it("returns empty array when no reports exist", async () => { + getDocsMock.mockResolvedValue(emptySnap); + expect(await getAdminReports(services)).toEqual([]); + }); + + it("maps report documents to AdminReport shape", async () => { + const snap = makeSnap([ + { + id: "r1", + data: { + title: "Annual Report 2023", + excerpt: "Summary", + year: "2023", + categoryId: "cat-1", + coverImageUrl: "file.pdf", + featured: true, + }, + }, + ]); + getDocsMock.mockResolvedValue(snap); + + const [report] = await getAdminReports(services); + expect(report.id).toBe("r1"); + expect(report.title).toBe("Annual Report 2023"); + expect(report.excerpt).toBe("Summary"); + expect(report.year).toBe("2023"); + expect(report.category).toBe("cat-1"); + expect(report.fileUrl).toBe("file.pdf"); + expect(report.featured).toBe(true); + }); + + it("uses empty string / false defaults for missing report fields", async () => { + const snap = makeSnap([{ id: "r1", data: {} }]); + getDocsMock.mockResolvedValue(snap); + + const [report] = await getAdminReports(services); + expect(report.title).toBe(""); + expect(report.excerpt).toBe(""); + expect(report.year).toBe(""); + expect(report.category).toBe(""); + expect(report.fileUrl).toBe(""); + expect(report.featured).toBe(false); + }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// createAdminReport +// ═════════════════════════════════════════════════════════════════════════════ + +describe("createAdminReport", () => { + const report = { + title: "Policy Report 2024", + excerpt: "An excerpt", + year: "2024", + category: "policy", + fileUrl: "report.pdf", + featured: false, + }; + + it("returns new document id", async () => { + addDocMock.mockResolvedValue({ id: "rep-1" }); + expect(await createAdminReport(services, report)).toBe("rep-1"); + }); + + it("writes to contentItems collection", async () => { + await createAdminReport(services, report); + expect(collectionMock).toHaveBeenCalledWith(mockDb, "contentItems"); + }); + + it("sets type='policy' and status='published'", async () => { + await createAdminReport(services, report); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.type).toBe("policy"); + expect(payload.status).toBe("published"); + }); + + it("generates a slug from the title (lowercase, hyphenated)", async () => { + await createAdminReport(services, { ...report, title: "My Report Title!" }); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.slug).toBe("my-report-title-"); + }); + + it("truncates slug to 80 characters", async () => { + const longTitle = "A".repeat(100); + await createAdminReport(services, { ...report, title: longTitle }); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.slug.length).toBeLessThanOrEqual(80); + }); + + it("maps category → categoryId and fileUrl → coverImageUrl", async () => { + await createAdminReport(services, report); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.categoryId).toBe("policy"); + expect(payload.coverImageUrl).toBe("report.pdf"); + }); + + it("sets createdBy to null when unauthenticated", async () => { + await createAdminReport(anonServices, report); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.createdBy).toBeNull(); + }); + + it("sets deletedAt and archivedAt to null", async () => { + await createAdminReport(services, report); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.deletedAt).toBeNull(); + expect(payload.archivedAt).toBeNull(); + }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// updateAdminReport +// ═════════════════════════════════════════════════════════════════════════════ + +describe("updateAdminReport", () => { + it("calls updateDoc on contentItems/", async () => { + await updateAdminReport(services, "r-1", { title: "Updated" }); + expect(docMock).toHaveBeenCalledWith(mockDb, "contentItems", "r-1"); + expect(updateDocMock).toHaveBeenCalledTimes(1); + }); + + it("only includes defined fields (partial update)", async () => { + await updateAdminReport(services, "r-1", { title: "New Title" }); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.title).toBe("New Title"); + expect("excerpt" in payload).toBe(false); + expect("year" in payload).toBe(false); + }); + + it("maps category → categoryId when provided", async () => { + await updateAdminReport(services, "r-1", { category: "human-rights" }); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.categoryId).toBe("human-rights"); + expect("category" in payload).toBe(false); + }); + + it("maps fileUrl → coverImageUrl when provided", async () => { + await updateAdminReport(services, "r-1", { fileUrl: "new.pdf" }); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.coverImageUrl).toBe("new.pdf"); + }); + + it("includes updatedBy and updatedAt always", async () => { + await updateAdminReport(services, "r-1", {}); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.updatedBy).toBe("user-1"); + expect(payload.updatedAt).toEqual({ __sentinel: "server" }); + }); + + it("handles all optional fields together", async () => { + await updateAdminReport(services, "r-1", { + title: "T", + excerpt: "E", + year: "2025", + category: "cat", + fileUrl: "f.pdf", + featured: true, + }); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.title).toBe("T"); + expect(payload.excerpt).toBe("E"); + expect(payload.year).toBe("2025"); + expect(payload.categoryId).toBe("cat"); + expect(payload.coverImageUrl).toBe("f.pdf"); + expect(payload.featured).toBe(true); + }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// deleteAdminReport (soft delete via updatedAt/deletedAt) +// ═════════════════════════════════════════════════════════════════════════════ + +describe("deleteAdminReport", () => { + it("sets deletedAt and updatedAt on the document (soft delete)", async () => { + await deleteAdminReport(services, "r-1"); + expect(docMock).toHaveBeenCalledWith(mockDb, "contentItems", "r-1"); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.deletedAt).toEqual({ __sentinel: "server" }); + expect(payload.updatedAt).toEqual({ __sentinel: "server" }); + }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// getAdminPageBySlug +// ═════════════════════════════════════════════════════════════════════════════ + +describe("getAdminPageBySlug", () => { + it("returns null when no page found", async () => { + getDocsMock.mockResolvedValue(emptySnap); + expect(await getAdminPageBySlug(services, "about")).toBeNull(); + }); + + it("returns the page when found with a Firestore Timestamp updatedAt", async () => { + const isoDate = "2024-01-15T10:00:00.000Z"; + const snap = makeSnap([ + { + id: "page-1", + data: { + slug: "about", + title: "About Us", + bodyMarkdown: "# About", + status: "published", + updatedAt: { toDate: () => new Date(isoDate) }, + }, + }, + ]); + getDocsMock.mockResolvedValue(snap); + + const page = await getAdminPageBySlug(services, "about"); + expect(page).not.toBeNull(); + expect(page!.id).toBe("page-1"); + expect(page!.slug).toBe("about"); + expect(page!.title).toBe("About Us"); + expect(page!.bodyMarkdown).toBe("# About"); + expect(page!.status).toBe("published"); + expect(page!.updatedAt).toBe(isoDate); + }); + + it("returns empty string for updatedAt when ts has no toDate method", async () => { + const snap = makeSnap([ + { id: "p1", data: { slug: "contact", title: "Contact", bodyMarkdown: "", status: "draft", updatedAt: null } }, + ]); + getDocsMock.mockResolvedValue(snap); + + const page = await getAdminPageBySlug(services, "contact"); + expect(page!.updatedAt).toBe(""); + }); + + it("falls back to slug parameter when data.slug is missing", async () => { + const snap = makeSnap([ + { id: "p1", data: { title: "T", bodyMarkdown: "", status: "draft", updatedAt: null } }, + ]); + getDocsMock.mockResolvedValue(snap); + + const page = await getAdminPageBySlug(services, "my-slug"); + expect(page!.slug).toBe("my-slug"); + }); + + it("defaults status to 'draft' when missing", async () => { + const snap = makeSnap([ + { id: "p1", data: { slug: "s", title: "", bodyMarkdown: "", updatedAt: null } }, + ]); + getDocsMock.mockResolvedValue(snap); + + const page = await getAdminPageBySlug(services, "s"); + expect(page!.status).toBe("draft"); + }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// getAdminPageDataBySlug +// ═════════════════════════════════════════════════════════════════════════════ + +describe("getAdminPageDataBySlug", () => { + it("returns null when no page found", async () => { + getDocsMock.mockResolvedValue(emptySnap); + expect(await getAdminPageDataBySlug(services, "faq")).toBeNull(); + }); + + it("returns pageData when present", async () => { + const pageData = { templateType: "general", sections: [] }; + const snap = makeSnap([{ id: "p1", data: { pageData } }]); + getDocsMock.mockResolvedValue(snap); + + const result = await getAdminPageDataBySlug(services, "faq"); + expect(result).toEqual(pageData); + }); + + it("returns null when pageData field is null/undefined", async () => { + const snap = makeSnap([{ id: "p1", data: { pageData: null } }]); + getDocsMock.mockResolvedValue(snap); + + const result = await getAdminPageDataBySlug(services, "faq"); + expect(result).toBeNull(); + }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// getAdminPages +// ═════════════════════════════════════════════════════════════════════════════ + +describe("getAdminPages", () => { + it("returns empty array when collection is empty", async () => { + getDocsMock.mockResolvedValue(emptySnap); + expect(await getAdminPages(services)).toEqual([]); + }); + + it("maps all page documents correctly", async () => { + const isoDate = "2024-06-01T08:00:00.000Z"; + const snap = makeSnap([ + { + id: "page-1", + data: { + slug: "home", + title: "Home", + bodyMarkdown: "# Home", + status: "published", + updatedAt: { toDate: () => new Date(isoDate) }, + }, + }, + ]); + getDocsMock.mockResolvedValue(snap); + + const pages = await getAdminPages(services); + expect(pages).toHaveLength(1); + expect(pages[0].slug).toBe("home"); + expect(pages[0].updatedAt).toBe(isoDate); + }); + + it("falls back to empty string for updatedAt when ts is missing", async () => { + const snap = makeSnap([ + { id: "p1", data: { slug: "s", title: "T", bodyMarkdown: "", status: "draft", updatedAt: null } }, + ]); + getDocsMock.mockResolvedValue(snap); + + const [page] = await getAdminPages(services); + expect(page.updatedAt).toBe(""); + expect(page.status).toBe("draft"); + }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// upsertAdminPage +// ═════════════════════════════════════════════════════════════════════════════ + +describe("upsertAdminPage", () => { + it("updates the existing document when page is found", async () => { + const snap = makeSnap([{ id: "page-1", data: {} }]); + getDocsMock.mockResolvedValue(snap); + + await upsertAdminPage(services, "about", "About Us", "# About", "published"); + + expect(updateDocMock).toHaveBeenCalledTimes(1); + expect(addDocMock).not.toHaveBeenCalled(); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.title).toBe("About Us"); + expect(payload.bodyMarkdown).toBe("# About"); + expect(payload.status).toBe("published"); + }); + + it("includes publishedAt when status is 'published' (update path)", async () => { + const snap = makeSnap([{ id: "p1", data: {} }]); + getDocsMock.mockResolvedValue(snap); + + await upsertAdminPage(services, "s", "T", "body", "published"); + + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.publishedAt).toEqual({ __sentinel: "server" }); + }); + + it("does NOT include publishedAt when status is 'draft' (update path)", async () => { + const snap = makeSnap([{ id: "p1", data: {} }]); + getDocsMock.mockResolvedValue(snap); + + await upsertAdminPage(services, "s", "T", "body", "draft"); + + const payload = updateDocMock.mock.calls[0][1]; + expect("publishedAt" in payload).toBe(false); + }); + + it("creates a new document when page is not found", async () => { + getDocsMock.mockResolvedValue(emptySnap); + + await upsertAdminPage(services, "new-page", "New Page", "# New", "draft"); + + expect(addDocMock).toHaveBeenCalledTimes(1); + expect(updateDocMock).not.toHaveBeenCalled(); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.type).toBe("page"); + expect(payload.slug).toBe("new-page"); + expect(payload.title).toBe("New Page"); + expect(payload.bodyMarkdown).toBe("# New"); + expect(payload.status).toBe("draft"); + }); + + it("sets publishedAt to serverTimestamp when status='published' (insert path)", async () => { + getDocsMock.mockResolvedValue(emptySnap); + + await upsertAdminPage(services, "slug", "Title", "body", "published"); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.publishedAt).toEqual({ __sentinel: "server" }); + }); + + it("sets publishedAt to null when status='draft' (insert path)", async () => { + getDocsMock.mockResolvedValue(emptySnap); + + await upsertAdminPage(services, "slug", "Title", "body", "draft"); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.publishedAt).toBeNull(); + }); + + it("sets createdBy to null when unauthenticated (insert path)", async () => { + getDocsMock.mockResolvedValue(emptySnap); + + await upsertAdminPage(anonServices, "slug", "T", "body", "draft"); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.createdBy).toBeNull(); + }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// getAdminSiteSettings +// ═════════════════════════════════════════════════════════════════════════════ + +describe("getAdminSiteSettings", () => { + it("returns empty object when document does not exist", async () => { + getDocMock.mockResolvedValue({ exists: () => false, data: () => ({}) }); + const result = await getAdminSiteSettings(services); + expect(result).toEqual({}); + }); + + it("returns mapped settings when document exists", async () => { + getDocMock.mockResolvedValue({ + exists: () => true, + data: () => ({ + ngoName: "My NGO", + tagline: "Helping All", + contactEmail: "info@ngo.org", + contactPhone: "+90 212 000 0000", + addressText: "Istanbul", + socialFacebook: "fb.com/ngo", + socialTwitter: "twitter.com/ngo", + socialInstagram: "ig.com/ngo", + socialLinkedin: "linkedin.com/ngo", + socialYoutube: "youtube.com/ngo", + defaultSeoDescription: "We help people", + }), + }); + + const settings = await getAdminSiteSettings(services); + expect(settings.ngoName).toBe("My NGO"); + expect(settings.tagline).toBe("Helping All"); + expect(settings.contactEmail).toBe("info@ngo.org"); + expect(settings.socialFacebook).toBe("fb.com/ngo"); + expect(settings.defaultSeoDescription).toBe("We help people"); + }); + + it("falls back to legacy siteName field when ngoName is absent", async () => { + getDocMock.mockResolvedValue({ + exists: () => true, + data: () => ({ siteName: "Legacy NGO" }), + }); + + const settings = await getAdminSiteSettings(services); + expect(settings.ngoName).toBe("Legacy NGO"); + }); + + it("falls back to legacy address field when addressText is absent", async () => { + getDocMock.mockResolvedValue({ + exists: () => true, + data: () => ({ address: "Old Address" }), + }); + + const settings = await getAdminSiteSettings(services); + expect(settings.addressText).toBe("Old Address"); + }); + + it("falls back to legacy metaDescription when defaultSeoDescription is absent", async () => { + getDocMock.mockResolvedValue({ + exists: () => true, + data: () => ({ metaDescription: "Old meta" }), + }); + + const settings = await getAdminSiteSettings(services); + expect(settings.defaultSeoDescription).toBe("Old meta"); + }); + + it("uses empty string defaults for all missing fields", async () => { + getDocMock.mockResolvedValue({ exists: () => true, data: () => ({}) }); + + const settings = await getAdminSiteSettings(services); + expect(settings.ngoName).toBe(""); + expect(settings.tagline).toBe(""); + expect(settings.contactEmail).toBe(""); + expect(settings.contactPhone).toBe(""); + expect(settings.addressText).toBe(""); + expect(settings.socialFacebook).toBe(""); + expect(settings.defaultSeoDescription).toBe(""); + }); + + it("reads from SETTINGS/site document path", async () => { + getDocMock.mockResolvedValue({ exists: () => false, data: () => ({}) }); + await getAdminSiteSettings(services); + expect(docMock).toHaveBeenCalledWith(mockDb, "settings", "site"); + }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// updateAdminSiteSettings +// ═════════════════════════════════════════════════════════════════════════════ + +describe("updateAdminSiteSettings", () => { + it("calls setDoc with merge:true", async () => { + await updateAdminSiteSettings(services, { ngoName: "Updated NGO" }); + expect(setDocMock).toHaveBeenCalledTimes(1); + const [, , options] = setDocMock.mock.calls[0]; + expect(options).toEqual({ merge: true }); + }); + + it("includes updatedBy and updatedAt in the payload", async () => { + await updateAdminSiteSettings(services, { tagline: "New tagline" }); + const payload = setDocMock.mock.calls[0][1]; + expect(payload.updatedBy).toBe("user-1"); + expect(payload.updatedAt).toEqual({ __sentinel: "server" }); + expect(payload.tagline).toBe("New tagline"); + }); + + it("sets updatedBy to null when unauthenticated", async () => { + await updateAdminSiteSettings(anonServices, {}); + const payload = setDocMock.mock.calls[0][1]; + expect(payload.updatedBy).toBeNull(); + }); + + it("targets SETTINGS/site document", async () => { + await updateAdminSiteSettings(services, {}); + expect(docMock).toHaveBeenCalledWith(mockDb, "settings", "site"); + }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// getContactMessages +// ═════════════════════════════════════════════════════════════════════════════ + +describe("getContactMessages", () => { + it("returns empty array when no messages exist", async () => { + getDocsMock.mockResolvedValue(emptySnap); + expect(await getContactMessages(services)).toEqual([]); + }); + + it("maps documents to AdminContactMessage shape", async () => { + const isoDate = "2024-03-10T12:00:00.000Z"; + const snap = makeSnap([ + { + id: "msg-1", + data: { + senderName: "Ahmet", + senderEmail: "ahmet@example.com", + senderPhone: "555", + subject: "Hello", + messageBody: "World", + status: "new", + internalNotes: "note", + createdAt: { toDate: () => new Date(isoDate) }, + }, + }, + ]); + getDocsMock.mockResolvedValue(snap); + + const [msg] = await getContactMessages(services); + expect(msg.id).toBe("msg-1"); + expect(msg.senderName).toBe("Ahmet"); + expect(msg.senderEmail).toBe("ahmet@example.com"); + expect(msg.senderPhone).toBe("555"); + expect(msg.subject).toBe("Hello"); + expect(msg.messageBody).toBe("World"); + expect(msg.status).toBe("new"); + expect(msg.internalNotes).toBe("note"); + expect(msg.createdAt).toBe(isoDate); + }); + + it("falls back to String(ts) when ts has no toDate method", async () => { + const snap = makeSnap([ + { id: "m1", data: { createdAt: 1234567890 } }, + ]); + getDocsMock.mockResolvedValue(snap); + + const [msg] = await getContactMessages(services); + expect(msg.createdAt).toBe("1234567890"); + }); + + it("uses empty string when createdAt is null/undefined", async () => { + const snap = makeSnap([{ id: "m1", data: { createdAt: null } }]); + getDocsMock.mockResolvedValue(snap); + + const [msg] = await getContactMessages(services); + expect(msg.createdAt).toBe(""); + }); + + it("sorts messages in descending order by createdAt string", async () => { + const snap = makeSnap([ + { id: "m1", data: { createdAt: { toDate: () => new Date("2024-01-01") } } }, + { id: "m2", data: { createdAt: { toDate: () => new Date("2024-06-01") } } }, + ]); + getDocsMock.mockResolvedValue(snap); + + const msgs = await getContactMessages(services); + expect(msgs[0].id).toBe("m2"); + expect(msgs[1].id).toBe("m1"); + }); + + it("uses empty string defaults for all missing text fields", async () => { + const snap = makeSnap([{ id: "m1", data: {} }]); + getDocsMock.mockResolvedValue(snap); + + const [msg] = await getContactMessages(services); + expect(msg.senderName).toBe(""); + expect(msg.senderEmail).toBe(""); + expect(msg.senderPhone).toBe(""); + expect(msg.subject).toBe(""); + expect(msg.messageBody).toBe(""); + expect(msg.status).toBe("new"); + expect(msg.internalNotes).toBe(""); + }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// updateContactMessageStatus +// ═════════════════════════════════════════════════════════════════════════════ + +describe("updateContactMessageStatus", () => { + it("calls updateDoc on contactMessages/", async () => { + await updateContactMessageStatus(services, "msg-1", "resolved"); + expect(docMock).toHaveBeenCalledWith(mockDb, "contactMessages", "msg-1"); + expect(updateDocMock).toHaveBeenCalledTimes(1); + }); + + it("sets status in the payload", async () => { + await updateContactMessageStatus(services, "msg-1", "spam"); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.status).toBe("spam"); + }); + + it("includes internalNotes when provided", async () => { + await updateContactMessageStatus(services, "msg-1", "inProgress", "Follow up needed"); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.internalNotes).toBe("Follow up needed"); + }); + + it("does NOT include internalNotes when omitted", async () => { + await updateContactMessageStatus(services, "msg-1", "resolved"); + const payload = updateDocMock.mock.calls[0][1]; + expect("internalNotes" in payload).toBe(false); + }); + + it("sets handledBy to uid and handledAt / updatedAt to serverTimestamp", async () => { + await updateContactMessageStatus(services, "msg-1", "resolved"); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.handledBy).toBe("user-1"); + expect(payload.handledAt).toEqual({ __sentinel: "server" }); + expect(payload.updatedAt).toEqual({ __sentinel: "server" }); + }); + + it("sets handledBy to null when unauthenticated", async () => { + await updateContactMessageStatus(anonServices, "msg-1", "resolved"); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.handledBy).toBeNull(); + }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// getPageBlocks +// ═════════════════════════════════════════════════════════════════════════════ + +describe("getPageBlocks", () => { + it("returns null when no page matches the slug", async () => { + getDocsMock.mockResolvedValue(emptySnap); + expect(await getPageBlocks(services, "unknown-page")).toBeNull(); + }); + + it("returns null when pageData is null", async () => { + const snap = makeSnap([{ id: "p1", data: { pageData: null } }]); + getDocsMock.mockResolvedValue(snap); + + expect(await getPageBlocks(services, "page")).toBeNull(); + }); + + it("returns null when pageData.sections is not an array", async () => { + const snap = makeSnap([{ id: "p1", data: { pageData: { sections: "not-an-array" } } }]); + getDocsMock.mockResolvedValue(snap); + + expect(await getPageBlocks(services, "page")).toBeNull(); + }); + + it("returns PageBlockData when pageData has a valid sections array", async () => { + const blockData: PageBlockData = { templateType: "general", sections: [] }; + const snap = makeSnap([{ id: "p1", data: { pageData: blockData } }]); + getDocsMock.mockResolvedValue(snap); + + const result = await getPageBlocks(services, "home"); + expect(result).toEqual(blockData); + }); + + it("returns block data with populated sections", async () => { + const blockData: PageBlockData = { + templateType: "general", + sections: [{ id: "s1", type: "hero", order: 0, data: { title: "Hero" } }], + }; + const snap = makeSnap([{ id: "p1", data: { pageData: blockData } }]); + getDocsMock.mockResolvedValue(snap); + + const result = await getPageBlocks(services, "home"); + expect(result!.sections).toHaveLength(1); + expect(result!.sections[0].type).toBe("hero"); + }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// savePageBlocks +// ═════════════════════════════════════════════════════════════════════════════ + +describe("savePageBlocks", () => { + const blockData: PageBlockData = { templateType: "general", sections: [] }; + + it("updates existing document when page is found", async () => { + const snap = makeSnap([{ id: "p1", data: {} }]); + getDocsMock.mockResolvedValue(snap); + + await savePageBlocks(services, "home", "Home", blockData, "published"); + + expect(updateDocMock).toHaveBeenCalledTimes(1); + expect(addDocMock).not.toHaveBeenCalled(); + }); + + it("sets publishedAt on update when status='published'", async () => { + const snap = makeSnap([{ id: "p1", data: {} }]); + getDocsMock.mockResolvedValue(snap); + + await savePageBlocks(services, "home", "Home", blockData, "published"); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.publishedAt).toEqual({ __sentinel: "server" }); + }); + + it("does not set publishedAt on update when status='draft'", async () => { + const snap = makeSnap([{ id: "p1", data: {} }]); + getDocsMock.mockResolvedValue(snap); + + await savePageBlocks(services, "home", "Home", blockData, "draft"); + const payload = updateDocMock.mock.calls[0][1]; + expect("publishedAt" in payload).toBe(false); + }); + + it("creates new document when page is not found", async () => { + getDocsMock.mockResolvedValue(emptySnap); + + await savePageBlocks(services, "new-page", "New Page", blockData, "draft"); + + expect(addDocMock).toHaveBeenCalledTimes(1); + expect(updateDocMock).not.toHaveBeenCalled(); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.type).toBe("page"); + expect(payload.slug).toBe("new-page"); + expect(payload.title).toBe("New Page"); + expect(payload.pageData).toEqual(blockData); + }); + + it("sets publishedAt to serverTimestamp on insert when status='published'", async () => { + getDocsMock.mockResolvedValue(emptySnap); + + await savePageBlocks(services, "p", "P", blockData, "published"); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.publishedAt).toEqual({ __sentinel: "server" }); + }); + + it("sets publishedAt to null on insert when status='draft'", async () => { + getDocsMock.mockResolvedValue(emptySnap); + + await savePageBlocks(services, "p", "P", blockData, "draft"); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.publishedAt).toBeNull(); + }); + + it("sets createdBy to null when unauthenticated (insert path)", async () => { + getDocsMock.mockResolvedValue(emptySnap); + + await savePageBlocks(anonServices, "p", "P", blockData, "draft"); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.createdBy).toBeNull(); + }); + + it("includes updatedBy uid in update payload", async () => { + const snap = makeSnap([{ id: "p1", data: {} }]); + getDocsMock.mockResolvedValue(snap); + + await savePageBlocks(services, "home", "Home", blockData, "draft"); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.updatedBy).toBe("user-1"); + }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// upsertPageContent +// ═════════════════════════════════════════════════════════════════════════════ + +describe("upsertPageContent", () => { + const pageData = { key: "value" }; + + it("updates existing document when found", async () => { + const snap = makeSnap([{ id: "p1", data: {} }]); + getDocsMock.mockResolvedValue(snap); + + await upsertPageContent(services, "about", pageData); + + expect(updateDocMock).toHaveBeenCalledTimes(1); + expect(addDocMock).not.toHaveBeenCalled(); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.pageData).toEqual(pageData); + expect(payload.status).toBe("published"); + }); + + it("creates new document when page is not found", async () => { + getDocsMock.mockResolvedValue(emptySnap); + + await upsertPageContent(services, "new-content", pageData); + + expect(addDocMock).toHaveBeenCalledTimes(1); + expect(updateDocMock).not.toHaveBeenCalled(); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.type).toBe("page"); + expect(payload.slug).toBe("new-content"); + expect(payload.title).toBe("new-content"); + expect(payload.pageData).toEqual(pageData); + expect(payload.status).toBe("published"); + }); + + it("sets createdBy to uid when authenticated (insert path)", async () => { + getDocsMock.mockResolvedValue(emptySnap); + + await upsertPageContent(services, "slug", pageData); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.createdBy).toBe("user-1"); + }); + + it("sets createdBy to null when unauthenticated (insert path)", async () => { + getDocsMock.mockResolvedValue(emptySnap); + + await upsertPageContent(anonServices, "slug", pageData); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.createdBy).toBeNull(); + }); + + it("sets updatedBy to uid in update payload", async () => { + const snap = makeSnap([{ id: "p1", data: {} }]); + getDocsMock.mockResolvedValue(snap); + + await upsertPageContent(services, "about", pageData); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.updatedBy).toBe("user-1"); + }); + + it("includes serverTimestamp for publishedAt in insert path", async () => { + getDocsMock.mockResolvedValue(emptySnap); + + await upsertPageContent(services, "slug", pageData); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.publishedAt).toEqual({ __sentinel: "server" }); + }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// updateStaffPhotoURL +// ═════════════════════════════════════════════════════════════════════════════ + +describe("updateStaffPhotoURL", () => { + it("calls updateDoc on staff/", async () => { + await updateStaffPhotoURL(services, "staff-uid-1", "https://example.com/photo.jpg"); + expect(docMock).toHaveBeenCalledWith(mockDb, "staff", "staff-uid-1"); + expect(updateDocMock).toHaveBeenCalledTimes(1); + }); + + it("sets photoURL and updatedAt in the payload", async () => { + await updateStaffPhotoURL(services, "staff-uid-1", "https://example.com/photo.jpg"); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.photoURL).toBe("https://example.com/photo.jpg"); + expect(payload.updatedAt).toEqual({ __sentinel: "server" }); + }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// getStaffMember +// ═════════════════════════════════════════════════════════════════════════════ + +describe("getStaffMember", () => { + it("returns staff data when document exists", async () => { + getDocMock.mockResolvedValue({ + exists: () => true, + data: () => ({ photoURL: "photo.jpg", displayName: "Alice", email: "alice@example.com" }), + }); + + const member = await getStaffMember(services, "uid-1"); + expect(member).not.toBeNull(); + expect(member!.photoURL).toBe("photo.jpg"); + expect(member!.displayName).toBe("Alice"); + expect(member!.email).toBe("alice@example.com"); + }); + + it("returns null when document does not exist", async () => { + getDocMock.mockResolvedValue({ exists: () => false, data: () => ({}) }); + const member = await getStaffMember(services, "uid-1"); + expect(member).toBeNull(); + }); + + it("reads from staff/ document path", async () => { + getDocMock.mockResolvedValue({ exists: () => false, data: () => ({}) }); + await getStaffMember(services, "staff-123"); + expect(docMock).toHaveBeenCalledWith(mockDb, "staff", "staff-123"); + }); + + it("returns null and does not throw when getDoc rejects (catch path)", async () => { + getDocMock.mockRejectedValue(new Error("Permission denied")); + const member = await getStaffMember(services, "uid-1"); + expect(member).toBeNull(); + }); +}); From 2ecbb66f773fdb4db7b747d56f353982bea59e53 Mon Sep 17 00:00:00 2001 From: AlpNuhoglu Date: Sat, 23 May 2026 01:43:28 +0300 Subject: [PATCH 10/10] test: expand unit & integration coverage, fix emulator namespace isolation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Unit tests: - Add full test suite for editorServices.ts (162 tests, 100% coverage) - Expand services.test.ts to cover all read functions — getSiteSettings, getPublishedContentByType, getContentBySlug, getPublishedEvents, getCategories, getTags, getPublicMediaAssets, getActiveCampaigns, getPublicIbanEntries, getPublicSupporters (61 tests total) - Add isDbAvailable() tests to getDefaultDb.test.ts to cover lines 27-28 Integration tests: - Fix concurrent clearFirestore() race condition by giving each test file its own emulator namespace via a suite suffix in newEnv(); prevents one file's beforeEach from wiping staff docs seeded by a parallel file, which caused Null value error in isEditor() security rule evaluation --- .gitignore | 3 +- firestore-debug.log | 702 ------- next-env.d.ts | 2 +- tests/integration/blog.flow.test.ts | 2 +- tests/integration/contactMessage.flow.test.ts | 2 +- tests/integration/editor.blocked.test.ts | 2 +- tests/integration/editor.publishFlow.test.ts | 2 +- tests/integration/helpers/emulator.ts | 13 +- tests/integration/unauth.blocked.test.ts | 2 +- tests/unit/editorServices.test.ts | 1605 +++++++++++++++++ tests/unit/getDefaultDb.test.ts | 18 + tests/unit/services.test.ts | 760 +++++++- 12 files changed, 2313 insertions(+), 800 deletions(-) delete mode 100644 firestore-debug.log create mode 100644 tests/unit/editorServices.test.ts diff --git a/.gitignore b/.gitignore index 026782c..8abcdf8 100644 --- a/.gitignore +++ b/.gitignore @@ -25,6 +25,5 @@ docs/PROGRESS.md serviceAccountKey.json *-service-account*.json - +firestore-debug.log coverage/ -firestore-debug.log \ No newline at end of file diff --git a/firestore-debug.log b/firestore-debug.log deleted file mode 100644 index 2615b26..0000000 --- a/firestore-debug.log +++ /dev/null @@ -1,702 +0,0 @@ -May 22, 2026 3:45:40 AM com.google.cloud.datastore.emulator.firestore.websocket.WebSocketServer start -INFO: Started WebSocket server on ws://127.0.0.1:9150 - -API endpoint: http://127.0.0.1:8080 -Database Edition: STANDARD -Database Mode: CLOUD_FIRESTORE - -If you are using a library that supports the FIRESTORE_EMULATOR_HOST environment variable, run: - - export FIRESTORE_EMULATOR_HOST=127.0.0.1:8080 - -If you are running a Firestore in Datastore Mode project, run: - - export DATASTORE_EMULATOR_HOST=127.0.0.1:8080 - -Note: Support for Datastore Mode is in preview. If you encounter any bugs please file at https://github.com/firebase/firebase-tools/issues. -Dev App Server is now running. - -May 22, 2026 3:45:54 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead -INFO: Detected non-HTTP/2 connection. -May 22, 2026 3:45:54 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead -INFO: Detected HTTP/2 connection. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 22, 2026 3:45:55 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead -INFO: Detected non-HTTP/2 connection. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 22, 2026 3:45:55 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead -INFO: Detected HTTP/2 connection. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 22, 2026 3:45:55 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead -INFO: Detected HTTP/2 connection. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 22, 2026 3:45:55 AM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError -WARNING: Operation failed: -evaluation error at L84:24 for 'create' @ L84, false for 'create' @ L84 -com.google.cloud.datastore.core.exception.DatastoreException: -evaluation error at L84:24 for 'create' @ L84, false for 'create' @ L84 - at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:385) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:339) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1243) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1231) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:27) - at io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onMessage(ServerCalls.java:262) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailableInternal(ServerCallImpl.java:334) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailable(ServerCallImpl.java:319) - at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1MessagesAvailable.runInContext(ServerImpl.java:834) - at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) - at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) - -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 22, 2026 3:45:55 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead -INFO: Detected HTTP/2 connection. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 22, 2026 3:45:55 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead -INFO: Detected HTTP/2 connection. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 22, 2026 3:45:55 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead -INFO: Detected HTTP/2 connection. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 22, 2026 3:45:55 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead -INFO: Detected HTTP/2 connection. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 22, 2026 3:45:56 AM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError -WARNING: Operation failed: -false for 'create' @ L148 -com.google.cloud.datastore.core.exception.DatastoreException: -false for 'create' @ L148 - at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:385) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:339) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1243) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1231) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:27) - at io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onMessage(ServerCalls.java:262) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailableInternal(ServerCallImpl.java:334) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailable(ServerCallImpl.java:319) - at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1MessagesAvailable.runInContext(ServerImpl.java:834) - at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) - at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) - -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 22, 2026 3:45:56 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead -INFO: Detected HTTP/2 connection. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 22, 2026 3:45:56 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead -INFO: Detected HTTP/2 connection. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 22, 2026 3:45:56 AM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError -WARNING: Operation failed: -false for 'create' @ L84 -com.google.cloud.datastore.core.exception.DatastoreException: -false for 'create' @ L84 - at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:385) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:339) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1243) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1231) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:27) - at io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onMessage(ServerCalls.java:262) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailableInternal(ServerCallImpl.java:334) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailable(ServerCallImpl.java:319) - at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1MessagesAvailable.runInContext(ServerImpl.java:834) - at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) - at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) - -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 22, 2026 3:45:56 AM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError -WARNING: Operation failed: -false for 'create' @ L202 -com.google.cloud.datastore.core.exception.DatastoreException: -false for 'create' @ L202 - at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:385) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:339) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1243) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1231) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:27) - at io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onMessage(ServerCalls.java:262) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailableInternal(ServerCallImpl.java:334) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailable(ServerCallImpl.java:319) - at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1MessagesAvailable.runInContext(ServerImpl.java:834) - at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) - at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) - -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 22, 2026 3:45:56 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead -INFO: Detected HTTP/2 connection. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 22, 2026 3:45:56 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead -INFO: Detected HTTP/2 connection. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 22, 2026 3:45:56 AM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError -WARNING: Operation failed: -false for 'create' @ L190, false for 'update' @ L190 -com.google.cloud.datastore.core.exception.DatastoreException: -false for 'create' @ L190, false for 'update' @ L190 - at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:385) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:339) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1243) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1231) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:27) - at io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onMessage(ServerCalls.java:262) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailableInternal(ServerCallImpl.java:334) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailable(ServerCallImpl.java:319) - at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1MessagesAvailable.runInContext(ServerImpl.java:834) - at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) - at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) - -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 22, 2026 3:45:56 AM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError -WARNING: Operation failed: -evaluation error at L63:23 for 'create' @ L63, evaluation error at L63:23 for 'update' @ L63, false for 'create' @ L63 -com.google.cloud.datastore.core.exception.DatastoreException: -evaluation error at L63:23 for 'create' @ L63, evaluation error at L63:23 for 'update' @ L63, false for 'create' @ L63 - at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:385) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:339) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1243) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1231) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:27) - at io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onMessage(ServerCalls.java:262) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailableInternal(ServerCallImpl.java:334) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailable(ServerCallImpl.java:319) - at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1MessagesAvailable.runInContext(ServerImpl.java:834) - at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) - at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) - -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 22, 2026 3:45:56 AM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError -WARNING: Operation failed: -evaluation error at L138:24 for 'delete' @ L138, false for 'delete' @ L138 -com.google.cloud.datastore.core.exception.DatastoreException: -evaluation error at L138:24 for 'delete' @ L138, false for 'delete' @ L138 - at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:385) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:339) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1243) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1231) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:27) - at io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onMessage(ServerCalls.java:262) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailableInternal(ServerCallImpl.java:334) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailable(ServerCallImpl.java:319) - at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1MessagesAvailable.runInContext(ServerImpl.java:834) - at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) - at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) - -May 22, 2026 3:46:17 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead -INFO: Detected non-HTTP/2 connection. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 22, 2026 3:46:17 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead -INFO: Detected non-HTTP/2 connection. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 22, 2026 3:46:17 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead -INFO: Detected HTTP/2 connection. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 22, 2026 3:46:17 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead -INFO: Detected HTTP/2 connection. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 22, 2026 3:46:17 AM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError -WARNING: Operation failed: -evaluation error at L84:24 for 'create' @ L84, false for 'create' @ L84 -com.google.cloud.datastore.core.exception.DatastoreException: -evaluation error at L84:24 for 'create' @ L84, false for 'create' @ L84 - at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:385) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:339) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1243) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1231) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:27) - at io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onMessage(ServerCalls.java:262) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailableInternal(ServerCallImpl.java:334) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailable(ServerCallImpl.java:319) - at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1MessagesAvailable.runInContext(ServerImpl.java:834) - at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) - at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) - -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 22, 2026 3:46:17 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead -INFO: Detected HTTP/2 connection. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 22, 2026 3:46:17 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead -INFO: Detected HTTP/2 connection. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 22, 2026 3:46:17 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead -INFO: Detected HTTP/2 connection. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 22, 2026 3:46:17 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead -INFO: Detected HTTP/2 connection. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 22, 2026 3:46:18 AM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError -WARNING: Operation failed: -false for 'create' @ L148 -com.google.cloud.datastore.core.exception.DatastoreException: -false for 'create' @ L148 - at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:385) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:339) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1243) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1231) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:27) - at io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onMessage(ServerCalls.java:262) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailableInternal(ServerCallImpl.java:334) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailable(ServerCallImpl.java:319) - at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1MessagesAvailable.runInContext(ServerImpl.java:834) - at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) - at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) - -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 22, 2026 3:46:18 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead -INFO: Detected HTTP/2 connection. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 22, 2026 3:46:18 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead -INFO: Detected HTTP/2 connection. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 22, 2026 3:46:18 AM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError -WARNING: Operation failed: -false for 'create' @ L84 -com.google.cloud.datastore.core.exception.DatastoreException: -false for 'create' @ L84 - at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:385) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:339) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1243) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1231) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:27) - at io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onMessage(ServerCalls.java:262) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailableInternal(ServerCallImpl.java:334) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailable(ServerCallImpl.java:319) - at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1MessagesAvailable.runInContext(ServerImpl.java:834) - at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) - at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) - -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 22, 2026 3:46:18 AM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError -WARNING: Operation failed: -false for 'create' @ L202 -com.google.cloud.datastore.core.exception.DatastoreException: -false for 'create' @ L202 - at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:385) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:339) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1243) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1231) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:27) - at io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onMessage(ServerCalls.java:262) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailableInternal(ServerCallImpl.java:334) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailable(ServerCallImpl.java:319) - at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1MessagesAvailable.runInContext(ServerImpl.java:834) - at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) - at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) - -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 22, 2026 3:46:18 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead -INFO: Detected HTTP/2 connection. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 22, 2026 3:46:18 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead -INFO: Detected HTTP/2 connection. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 22, 2026 3:46:18 AM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError -WARNING: Operation failed: -false for 'create' @ L190, false for 'update' @ L190 -com.google.cloud.datastore.core.exception.DatastoreException: -false for 'create' @ L190, false for 'update' @ L190 - at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:385) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:339) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1243) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1231) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:27) - at io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onMessage(ServerCalls.java:262) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailableInternal(ServerCallImpl.java:334) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailable(ServerCallImpl.java:319) - at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1MessagesAvailable.runInContext(ServerImpl.java:834) - at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) - at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) - -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 22, 2026 3:46:18 AM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError -WARNING: Operation failed: -evaluation error at L63:23 for 'create' @ L63, evaluation error at L63:23 for 'update' @ L63, false for 'create' @ L63 -com.google.cloud.datastore.core.exception.DatastoreException: -evaluation error at L63:23 for 'create' @ L63, evaluation error at L63:23 for 'update' @ L63, false for 'create' @ L63 - at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:385) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:339) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1243) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1231) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:27) - at io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onMessage(ServerCalls.java:262) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailableInternal(ServerCallImpl.java:334) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailable(ServerCallImpl.java:319) - at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1MessagesAvailable.runInContext(ServerImpl.java:834) - at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) - at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) - -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -Multiple projectIds are not recommended in single project mode. Requested project ID ngo-mg-website-47a1a-test, but the emulator is configured for ngo-mg-website-47a1a. To opt-out of single project mode add/set the '"singleProjectMode": false' property in the firebase.json emulators config. -May 22, 2026 3:46:18 AM com.google.cloud.datastore.emulator.impl.util.WrappedStreamObserver onError -WARNING: Operation failed: -evaluation error at L138:24 for 'delete' @ L138, false for 'delete' @ L138 -com.google.cloud.datastore.core.exception.DatastoreException: -evaluation error at L138:24 for 'delete' @ L138, false for 'delete' @ L138 - at com.google.cloud.datastore.core.exception.DatastoreException$Builder.build(DatastoreException.java:152) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.verboseError(DefaultEmulatorRulesAuthorizer.java:349) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.withVerboseErrors(DefaultEmulatorRulesAuthorizer.java:326) - at com.google.cloud.datastore.emulator.impl.rules.DefaultEmulatorRulesAuthorizer.checkCommit(DefaultEmulatorRulesAuthorizer.java:114) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.commitHelper(FirestoreEmulatorHelper.java:385) - at com.google.cloud.datastore.emulator.impl.firestore.FirestoreEmulatorHelper.internalCommit(FirestoreEmulatorHelper.java:339) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.internalCommit(CloudFirestoreV1.java:1243) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1.write(CloudFirestoreV1.java:1231) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.handleRequest(CloudFirestoreV1WriteStream.java:222) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.write(CloudFirestoreV1WriteStream.java:144) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:99) - at com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1WriteStream.onNext(CloudFirestoreV1WriteStream.java:27) - at io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onMessage(ServerCalls.java:262) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33) - at io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailableInternal(ServerCallImpl.java:334) - at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailable(ServerCallImpl.java:319) - at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1MessagesAvailable.runInContext(ServerImpl.java:834) - at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) - at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) - -*** shutting down gRPC server since JVM is shutting down -*** server shut down diff --git a/next-env.d.ts b/next-env.d.ts index c4b7818..9edff1c 100644 --- a/next-env.d.ts +++ b/next-env.d.ts @@ -1,6 +1,6 @@ /// /// -import "./.next/dev/types/routes.d.ts"; +import "./.next/types/routes.d.ts"; // NOTE: This file should not be edited // see https://nextjs.org/docs/app/api-reference/config/typescript for more information. diff --git a/tests/integration/blog.flow.test.ts b/tests/integration/blog.flow.test.ts index a2af01d..9146265 100644 --- a/tests/integration/blog.flow.test.ts +++ b/tests/integration/blog.flow.test.ts @@ -16,7 +16,7 @@ import type { RulesTestEnvironment } from "@firebase/rules-unit-testing"; let env: RulesTestEnvironment; beforeAll(async () => { - env = await newEnv(); + env = await newEnv("blog"); }); afterAll(async () => { await env.cleanup(); diff --git a/tests/integration/contactMessage.flow.test.ts b/tests/integration/contactMessage.flow.test.ts index b6c5d46..9c6faf9 100644 --- a/tests/integration/contactMessage.flow.test.ts +++ b/tests/integration/contactMessage.flow.test.ts @@ -13,7 +13,7 @@ import type { RulesTestEnvironment } from "@firebase/rules-unit-testing"; let env: RulesTestEnvironment; beforeAll(async () => { - env = await newEnv(); + env = await newEnv("contact"); }); afterAll(async () => { await env.cleanup(); diff --git a/tests/integration/editor.blocked.test.ts b/tests/integration/editor.blocked.test.ts index 1f827a3..8bec463 100644 --- a/tests/integration/editor.blocked.test.ts +++ b/tests/integration/editor.blocked.test.ts @@ -14,7 +14,7 @@ import type { RulesTestEnvironment } from "@firebase/rules-unit-testing"; let env: RulesTestEnvironment; beforeAll(async () => { - env = await newEnv(); + env = await newEnv("editor-blocked"); }); afterAll(async () => { await env.cleanup(); diff --git a/tests/integration/editor.publishFlow.test.ts b/tests/integration/editor.publishFlow.test.ts index 0739b85..bf28e62 100644 --- a/tests/integration/editor.publishFlow.test.ts +++ b/tests/integration/editor.publishFlow.test.ts @@ -15,7 +15,7 @@ import type { RulesTestEnvironment } from "@firebase/rules-unit-testing"; let env: RulesTestEnvironment; beforeAll(async () => { - env = await newEnv(); + env = await newEnv("publish-flow"); }); afterAll(async () => { await env.cleanup(); diff --git a/tests/integration/helpers/emulator.ts b/tests/integration/helpers/emulator.ts index 5cd55dc..e82f150 100644 --- a/tests/integration/helpers/emulator.ts +++ b/tests/integration/helpers/emulator.ts @@ -5,12 +5,19 @@ import { import { readFileSync } from "node:fs"; import { join } from "node:path"; -const PROJECT_ID = "ngo-mg-website-47a1a-test"; +const BASE_PROJECT_ID = "ngo-mg-website-47a1a-test"; -export async function newEnv(): Promise { +/** + * Each call receives a unique project ID derived from the caller's file path. + * This gives every test file its own isolated Firestore namespace on the + * emulator, so concurrent `clearFirestore()` calls in different suites cannot + * wipe each other's staff seed data. + */ +export async function newEnv(suite?: string): Promise { const rules = readFileSync(join(process.cwd(), "firestore.rules"), "utf-8"); + const projectId = suite ? `${BASE_PROJECT_ID}-${suite}` : BASE_PROJECT_ID; return initializeTestEnvironment({ - projectId: PROJECT_ID, + projectId, firestore: { rules, host: "127.0.0.1", port: 8080 }, }); } diff --git a/tests/integration/unauth.blocked.test.ts b/tests/integration/unauth.blocked.test.ts index 17dffc2..8856153 100644 --- a/tests/integration/unauth.blocked.test.ts +++ b/tests/integration/unauth.blocked.test.ts @@ -14,7 +14,7 @@ import type { RulesTestEnvironment } from "@firebase/rules-unit-testing"; let env: RulesTestEnvironment; beforeAll(async () => { - env = await newEnv(); + env = await newEnv("unauth-blocked"); }); afterAll(async () => { await env.cleanup(); diff --git a/tests/unit/editorServices.test.ts b/tests/unit/editorServices.test.ts new file mode 100644 index 0000000..125bcc3 --- /dev/null +++ b/tests/unit/editorServices.test.ts @@ -0,0 +1,1605 @@ +import { describe, it, expect, vi, beforeEach } from "vitest"; +import type { Firestore } from "firebase/firestore"; +import type { Auth } from "firebase/auth"; + +// ─── Hoisted mock refs ──────────────────────────────────────────────────────── + +const { + addDocMock, + getDocsMock, + updateDocMock, + collectionMock, + docMock, + queryMock, + whereMock, + orderByMock, + serverTimestampMock, + timestampFromDateMock, + timestampNowMock, +} = vi.hoisted(() => ({ + addDocMock: vi.fn(), + getDocsMock: vi.fn(), + updateDocMock: vi.fn(), + collectionMock: vi.fn((_db: unknown, name: string) => ({ __collection: name })), + docMock: vi.fn((_db: unknown, col: string, id: string) => ({ __doc: `${col}/${id}` })), + queryMock: vi.fn((...args: unknown[]) => ({ __query: args })), + whereMock: vi.fn((...args: unknown[]) => ({ __where: args })), + orderByMock: vi.fn((...args: unknown[]) => ({ __orderBy: args })), + serverTimestampMock: vi.fn(() => ({ __sentinel: "server" })), + timestampFromDateMock: vi.fn((d: Date) => ({ __ts: d.toISOString() })), + timestampNowMock: vi.fn(() => ({ __ts: "now" })), +})); + +vi.mock("firebase/firestore", () => ({ + collection: collectionMock, + doc: docMock, + getDocs: getDocsMock, + addDoc: addDocMock, + updateDoc: updateDocMock, + query: queryMock, + where: whereMock, + orderBy: orderByMock, + serverTimestamp: serverTimestampMock, + Timestamp: { + fromDate: timestampFromDateMock, + now: timestampNowMock, + }, +})); + +// ─── Subject under test (imported after mocks) ──────────────────────────────── + +import { + tsToDateString, + tsToISOString, + slugify, + attachmentsFromContentItem, + getEditorBlogs, + createEditorBlog, + updateEditorBlog, + deleteEditorBlog, + getEditorEvents, + createEditorEvent, + updateEditorEvent, + deleteEditorEvent, + getEditorMedia, + createEditorMedia, + updateEditorMedia, + deleteEditorMedia, + getEditorAnnouncements, + createEditorAnnouncement, + updateEditorAnnouncement, + deleteEditorAnnouncement, + getEditorNotifications, + markNotificationRead, + getEditorCampaigns, + createEditorCampaign, + updateEditorCampaign, + deleteEditorCampaign, + getEditorCategories, + createEditorCategory, + updateEditorCategory, + deleteEditorCategory, + getEditorTags, + createEditorTag, + updateEditorTag, + deleteEditorTag, +} from "@/lib/firebase/editorServices"; + +import type { + BlogPost, + EventItem, + MediaItem, + AnnouncementItem, + CampaignItem, + CategoryItem, + TagItem, +} from "@/types/editorPanel"; + +// ─── Shared fixtures ────────────────────────────────────────────────────────── + +const mockDb = {} as Firestore; + +function makeAuth(uid: string | null = "user-1"): Auth { + return { currentUser: uid ? { uid } : null } as unknown as Auth; +} + +const services = { db: mockDb, auth: makeAuth("user-1") }; +const anonServices = { db: mockDb, auth: makeAuth(null) }; + +/** Build a minimal Firestore QuerySnapshot. */ +function makeSnap(docs: Array<{ id: string; data: Record }>) { + return { + docs: docs.map((d) => ({ id: d.id, data: () => d.data })), + size: docs.length, + empty: docs.length === 0, + }; +} + +const emptySnap = { docs: [], size: 0, empty: true }; + +/** A Firestore Timestamp-like object with a working toDate(). */ +function makeTs(isoString: string) { + return { toDate: () => new Date(isoString) }; +} + +// ─── afterEach teardown ─────────────────────────────────────────────────────── + +beforeEach(() => { + vi.clearAllMocks(); + addDocMock.mockResolvedValue({ id: "new-id" }); + updateDocMock.mockResolvedValue(undefined); + getDocsMock.mockResolvedValue(emptySnap); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// Pure helpers +// ═════════════════════════════════════════════════════════════════════════════ + +describe("tsToDateString", () => { + it("returns today's date when ts is null", () => { + const today = new Date().toISOString().split("T")[0]; + expect(tsToDateString(null)).toBe(today); + }); + + it("returns today's date when ts is undefined", () => { + const today = new Date().toISOString().split("T")[0]; + expect(tsToDateString(undefined)).toBe(today); + }); + + it("returns the date portion of the timestamp", () => { + const ts = makeTs("2024-03-15T10:30:00.000Z") as never; + expect(tsToDateString(ts)).toBe("2024-03-15"); + }); +}); + +describe("tsToISOString", () => { + it("returns a current ISO string when ts is null", () => { + const before = Date.now(); + const result = tsToISOString(null); + const after = Date.now(); + const resultMs = new Date(result).getTime(); + expect(resultMs).toBeGreaterThanOrEqual(before); + expect(resultMs).toBeLessThanOrEqual(after); + }); + + it("returns a current ISO string when ts is undefined", () => { + const result = tsToISOString(undefined); + expect(() => new Date(result)).not.toThrow(); + }); + + it("converts a valid timestamp to ISO string", () => { + const ts = makeTs("2024-06-01T08:00:00.000Z") as never; + expect(tsToISOString(ts)).toBe("2024-06-01T08:00:00.000Z"); + }); +}); + +describe("slugify", () => { + it("converts a simple English title to a slug", () => { + expect(slugify("Hello World")).toBe("hello-world"); + }); + + it("converts Turkish characters correctly", () => { + expect(slugify("çğıöşü")).toBe("cgiosu"); + expect(slugify("ÇĞİÖŞÜ")).toBe("cgiosu"); + }); + + it("removes special characters", () => { + expect(slugify("Hello! @World#")).toBe("hello-world"); + }); + + it("collapses multiple spaces/hyphens", () => { + expect(slugify("hello world---foo")).toBe("hello-world-foo"); + }); + + it("trims leading/trailing whitespace", () => { + expect(slugify(" trimmed ")).toBe("trimmed"); + }); + + it("truncates to 80 characters", () => { + const long = "a".repeat(100); + expect(slugify(long).length).toBeLessThanOrEqual(80); + }); + + it("returns empty string for an empty input", () => { + expect(slugify("")).toBe(""); + }); +}); + +describe("attachmentsFromContentItem", () => { + it("returns empty array when attachments field is absent", () => { + expect(attachmentsFromContentItem({})).toEqual([]); + }); + + it("returns empty array when attachments is not an array", () => { + expect(attachmentsFromContentItem({ attachments: "not-array" })).toEqual([]); + }); + + it("filters out entries that lack a string url", () => { + const raw = [ + { id: "a1", name: "file.pdf", url: "https://example.com/file.pdf" }, + { id: "a2", name: "bad" }, // no url + null, + 42, + ]; + const result = attachmentsFromContentItem({ attachments: raw }); + expect(result).toHaveLength(1); + expect(result[0].url).toBe("https://example.com/file.pdf"); + }); + + it("returns all valid attachments", () => { + const raw = [ + { id: "a1", name: "f1.pdf", url: "url1" }, + { id: "a2", name: "f2.pdf", url: "url2" }, + ]; + expect(attachmentsFromContentItem({ attachments: raw })).toHaveLength(2); + }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// Blog Posts +// ═════════════════════════════════════════════════════════════════════════════ + +describe("getEditorBlogs", () => { + it("returns empty array when no documents exist", async () => { + expect(await getEditorBlogs(services)).toEqual([]); + }); + + it("maps all document fields to BlogPost shape", async () => { + const snap = makeSnap([ + { + id: "blog-1", + data: { + title: "Test Blog", + categoryId: "cat-1", + publishedAt: makeTs("2024-05-01T00:00:00.000Z"), + status: "published", + authorName: "Alice", + excerpt: "Short summary", + bodyMarkdown: "# Body", + coverImageUrl: "cover.jpg", + attachmentUrl: "doc.pdf", + attachmentName: "doc.pdf", + attachments: [{ id: "a1", name: "f.pdf", url: "f.pdf" }], + }, + }, + ]); + getDocsMock.mockResolvedValue(snap); + + const [blog] = await getEditorBlogs(services); + expect(blog.id).toBe("blog-1"); + expect(blog.title).toBe("Test Blog"); + expect(blog.category).toBe("cat-1"); + expect(blog.status).toBe("published"); + expect(blog.author).toBe("Alice"); + expect(blog.summary).toBe("Short summary"); + expect(blog.bodyMarkdown).toBe("# Body"); + expect(blog.coverImageUrl).toBe("cover.jpg"); + expect(blog.attachmentUrl).toBe("doc.pdf"); + expect(blog.attachmentName).toBe("doc.pdf"); + expect(blog.attachments).toHaveLength(1); + }); + + it("falls back to data.category when categoryId is missing", async () => { + const snap = makeSnap([{ id: "b1", data: { category: "fallback-cat" } }]); + getDocsMock.mockResolvedValue(snap); + + const [blog] = await getEditorBlogs(services); + expect(blog.category).toBe("fallback-cat"); + }); + + it("falls back to data.summary when excerpt is missing", async () => { + const snap = makeSnap([{ id: "b1", data: { summary: "summary text" } }]); + getDocsMock.mockResolvedValue(snap); + + const [blog] = await getEditorBlogs(services); + expect(blog.summary).toBe("summary text"); + }); + + it("uses empty string defaults for all missing fields", async () => { + const snap = makeSnap([{ id: "b1", data: {} }]); + getDocsMock.mockResolvedValue(snap); + + const [blog] = await getEditorBlogs(services); + expect(blog.title).toBe(""); + expect(blog.category).toBe(""); + expect(blog.status).toBe("draft"); + expect(blog.author).toBe(""); + expect(blog.summary).toBe(""); + expect(blog.bodyMarkdown).toBe(""); + expect(blog.coverImageUrl).toBe(""); + expect(blog.attachmentUrl).toBe(""); + expect(blog.attachmentName).toBe(""); + expect(blog.attachments).toEqual([]); + }); + + it("queries contentItems collection with correct filters", async () => { + await getEditorBlogs(services); + expect(collectionMock).toHaveBeenCalledWith(mockDb, "contentItems"); + expect(whereMock).toHaveBeenCalledWith("type", "==", "post"); + expect(whereMock).toHaveBeenCalledWith("deletedAt", "==", null); + expect(orderByMock).toHaveBeenCalledWith("createdAt", "desc"); + }); +}); + +describe("createEditorBlog", () => { + const blog: Omit = { + title: "My Blog", + category: "news", + publishedAt: "2024-01-01", + status: "published", + author: "Bob", + summary: "A summary", + bodyMarkdown: "# Content", + coverImageUrl: "cover.png", + attachmentUrl: "file.pdf", + attachmentName: "file.pdf", + attachments: [], + }; + + it("returns the new document id", async () => { + addDocMock.mockResolvedValue({ id: "blog-new" }); + expect(await createEditorBlog(services, blog)).toBe("blog-new"); + }); + + it("writes to contentItems collection with type='post'", async () => { + await createEditorBlog(services, blog); + expect(collectionMock).toHaveBeenCalledWith(mockDb, "contentItems"); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.type).toBe("post"); + }); + + it("generates a slug from the title", async () => { + await createEditorBlog(services, blog); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.slug).toBe("my-blog"); + }); + + it("sets publishedAt to serverTimestamp when status='published'", async () => { + await createEditorBlog(services, blog); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.publishedAt).toEqual({ __sentinel: "server" }); + }); + + it("sets publishedAt to null when status='draft'", async () => { + await createEditorBlog(services, { ...blog, status: "draft" }); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.publishedAt).toBeNull(); + }); + + it("sets createdBy and updatedBy to uid", async () => { + await createEditorBlog(services, blog); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.createdBy).toBe("user-1"); + expect(payload.updatedBy).toBe("user-1"); + }); + + it("sets createdBy and updatedBy to null when unauthenticated", async () => { + await createEditorBlog(anonServices, blog); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.createdBy).toBeNull(); + expect(payload.updatedBy).toBeNull(); + }); + + it("sets deletedAt and archivedAt to null", async () => { + await createEditorBlog(services, blog); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.deletedAt).toBeNull(); + expect(payload.archivedAt).toBeNull(); + }); + + it("defaults bodyMarkdown to empty string when not provided", async () => { + const { bodyMarkdown: _, ...blogWithout } = blog; + await createEditorBlog(services, blogWithout as Omit); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.bodyMarkdown).toBe(""); + }); +}); + +describe("updateEditorBlog", () => { + it("always sets updatedAt and updatedBy", async () => { + await updateEditorBlog(services, "b-1", {}); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.updatedAt).toEqual({ __sentinel: "server" }); + expect(payload.updatedBy).toBe("user-1"); + }); + + it("updates title and regenerates slug", async () => { + await updateEditorBlog(services, "b-1", { title: "New Title" }); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.title).toBe("New Title"); + expect(payload.slug).toBe("new-title"); + }); + + it("does not include title/slug when title is undefined", async () => { + await updateEditorBlog(services, "b-1", { author: "Ed" }); + const payload = updateDocMock.mock.calls[0][1]; + expect("title" in payload).toBe(false); + expect("slug" in payload).toBe(false); + }); + + it("updates summary as both excerpt and summary fields", async () => { + await updateEditorBlog(services, "b-1", { summary: "New summary" }); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.excerpt).toBe("New summary"); + expect(payload.summary).toBe("New summary"); + }); + + it("updates category as both categoryId and category fields", async () => { + await updateEditorBlog(services, "b-1", { category: "tech" }); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.categoryId).toBe("tech"); + expect(payload.category).toBe("tech"); + }); + + it("sets publishedAt when status is updated to 'published'", async () => { + await updateEditorBlog(services, "b-1", { status: "published" }); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.status).toBe("published"); + expect(payload.publishedAt).toEqual({ __sentinel: "server" }); + }); + + it("does not set publishedAt when status is 'draft'", async () => { + await updateEditorBlog(services, "b-1", { status: "draft" }); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.status).toBe("draft"); + expect("publishedAt" in payload).toBe(false); + }); + + it("updates author as authorName", async () => { + await updateEditorBlog(services, "b-1", { author: "New Author" }); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.authorName).toBe("New Author"); + }); + + it("updates bodyMarkdown, coverImageUrl, attachmentUrl, attachmentName, attachments", async () => { + const updates = { + bodyMarkdown: "# New", + coverImageUrl: "new.jpg", + attachmentUrl: "new.pdf", + attachmentName: "new.pdf", + attachments: [{ id: "a1", name: "n", url: "u" }], + }; + await updateEditorBlog(services, "b-1", updates); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.bodyMarkdown).toBe("# New"); + expect(payload.coverImageUrl).toBe("new.jpg"); + expect(payload.attachmentUrl).toBe("new.pdf"); + expect(payload.attachmentName).toBe("new.pdf"); + expect(payload.attachments).toHaveLength(1); + }); + + it("calls updateDoc on contentItems/", async () => { + await updateEditorBlog(services, "b-99", {}); + expect(docMock).toHaveBeenCalledWith(mockDb, "contentItems", "b-99"); + }); +}); + +describe("deleteEditorBlog", () => { + it("sets deletedAt and updatedAt (soft delete)", async () => { + await deleteEditorBlog(services, "b-1"); + expect(docMock).toHaveBeenCalledWith(mockDb, "contentItems", "b-1"); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.deletedAt).toEqual({ __sentinel: "server" }); + expect(payload.updatedAt).toEqual({ __sentinel: "server" }); + }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// Events +// ═════════════════════════════════════════════════════════════════════════════ + +describe("getEditorEvents", () => { + it("returns empty array when no events exist", async () => { + expect(await getEditorEvents(services)).toEqual([]); + }); + + it("maps all Firestore status values to EventItem statuses", async () => { + const statusMap: Array<[string, EventItem["status"]]> = [ + ["draft", "planned"], + ["published", "active"], + ["canceled", "cancelled"], + ["archived", "done"], + ["unknown", "planned"], // unknown falls back to planned + ]; + + for (const [fsStatus, expectedStatus] of statusMap) { + vi.clearAllMocks(); + const snap = makeSnap([ + { id: "e1", data: { status: fsStatus, startsAt: makeTs("2024-01-01T00:00:00.000Z") } }, + ]); + getDocsMock.mockResolvedValue(snap); + const [event] = await getEditorEvents(services); + expect(event.status).toBe(expectedStatus); + } + }); + + it("maps document fields to EventItem shape", async () => { + const snap = makeSnap([ + { + id: "e1", + data: { + title: "Conference", + startsAt: makeTs("2024-06-15T09:00:00.000Z"), + endsAt: makeTs("2024-06-16T17:00:00.000Z"), + locationName: "Istanbul", + city: "Istanbul", + venue: "ICC", + eventType: "conference", + capacity: 500, + isOnline: false, + status: "published", + attachmentUrl: "agenda.pdf", + attachmentName: "agenda.pdf", + }, + }, + ]); + getDocsMock.mockResolvedValue(snap); + + const [event] = await getEditorEvents(services); + expect(event.id).toBe("e1"); + expect(event.title).toBe("Conference"); + expect(event.date).toBe("2024-06-15"); + expect(event.endDate).toBe("2024-06-16"); + expect(event.location).toBe("Istanbul"); + expect(event.city).toBe("Istanbul"); + expect(event.venue).toBe("ICC"); + expect(event.type).toBe("conference"); + expect(event.capacity).toBe(500); + expect(event.isOnline).toBe(false); + expect(event.status).toBe("active"); + expect(event.attachmentUrl).toBe("agenda.pdf"); + }); + + it("omits endDate when endsAt is falsy", async () => { + const snap = makeSnap([ + { id: "e1", data: { startsAt: makeTs("2024-01-01T00:00:00.000Z"), endsAt: null } }, + ]); + getDocsMock.mockResolvedValue(snap); + const [event] = await getEditorEvents(services); + expect(event.endDate).toBeUndefined(); + }); + + it("uses default values for missing fields", async () => { + const snap = makeSnap([{ id: "e1", data: { startsAt: makeTs("2024-01-01T00:00:00.000Z") } }]); + getDocsMock.mockResolvedValue(snap); + + const [event] = await getEditorEvents(services); + expect(event.title).toBe(""); + expect(event.location).toBe(""); + expect(event.city).toBe(""); + expect(event.venue).toBe(""); + expect(event.type).toBe(""); + expect(event.capacity).toBe(0); + expect(event.isOnline).toBe(false); + expect(event.attachmentUrl).toBe(""); + expect(event.attachmentName).toBe(""); + }); +}); + +describe("createEditorEvent", () => { + const event: Omit = { + title: "Workshop", + date: "2024-07-10", + endDate: "2024-07-11", + location: "Ankara", + city: "Ankara", + venue: "Convention Center", + type: "workshop", + capacity: 100, + isOnline: false, + status: "planned", + attachmentUrl: "brief.pdf", + attachmentName: "brief.pdf", + }; + + it("returns the new document id", async () => { + addDocMock.mockResolvedValue({ id: "event-42" }); + expect(await createEditorEvent(services, event)).toBe("event-42"); + }); + + it("writes to events collection", async () => { + await createEditorEvent(services, event); + expect(collectionMock).toHaveBeenCalledWith(mockDb, "events"); + }); + + it("converts EventItem status to Firestore status (planned→draft)", async () => { + await createEditorEvent(services, event); // status: "planned" + const payload = addDocMock.mock.calls[0][1]; + expect(payload.status).toBe("draft"); + }); + + it("converts all EventItem statuses to Firestore equivalents", async () => { + const statusMap: Array<[EventItem["status"], string]> = [ + ["planned", "draft"], + ["active", "published"], + ["cancelled", "canceled"], + ["done", "archived"], + ]; + for (const [editorStatus, fsStatus] of statusMap) { + vi.clearAllMocks(); + addDocMock.mockResolvedValue({ id: "x" }); + await createEditorEvent(services, { ...event, status: editorStatus }); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.status).toBe(fsStatus); + } + }); + + it("converts date string to Timestamp.fromDate", async () => { + await createEditorEvent(services, event); + expect(timestampFromDateMock).toHaveBeenCalled(); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.startsAt).toEqual({ __ts: new Date("2024-07-10").toISOString() }); + }); + + it("uses Timestamp.now() when date is not provided", async () => { + const eventWithoutDate = { ...event, date: "" }; + await createEditorEvent(services, eventWithoutDate); + expect(timestampNowMock).toHaveBeenCalled(); + }); + + it("converts endDate string to Timestamp when provided", async () => { + await createEditorEvent(services, event); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.endsAt).toEqual({ __ts: new Date("2024-07-11").toISOString() }); + }); + + it("sets endsAt to null when endDate is not provided", async () => { + const { endDate: _, ...eventWithout } = event; + await createEditorEvent(services, eventWithout); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.endsAt).toBeNull(); + }); + + it("generates slug from title", async () => { + await createEditorEvent(services, event); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.slug).toBe("workshop"); + }); + + it("sets createdBy to null when unauthenticated", async () => { + await createEditorEvent(anonServices, event); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.createdBy).toBeNull(); + }); +}); + +describe("updateEditorEvent", () => { + it("always sets updatedAt and updatedBy", async () => { + await updateEditorEvent(services, "e-1", {}); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.updatedAt).toEqual({ __sentinel: "server" }); + expect(payload.updatedBy).toBe("user-1"); + }); + + it("updates title and regenerates slug", async () => { + await updateEditorEvent(services, "e-1", { title: "New Event" }); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.title).toBe("New Event"); + expect(payload.slug).toBe("new-event"); + }); + + it("converts date to Timestamp when provided", async () => { + await updateEditorEvent(services, "e-1", { date: "2024-09-01" }); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.startsAt).toEqual({ __ts: new Date("2024-09-01").toISOString() }); + }); + + it("converts endDate to Timestamp when provided", async () => { + await updateEditorEvent(services, "e-1", { endDate: "2024-09-02" }); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.endsAt).toEqual({ __ts: new Date("2024-09-02").toISOString() }); + }); + + it("sets endsAt to null when endDate is empty string", async () => { + await updateEditorEvent(services, "e-1", { endDate: "" }); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.endsAt).toBeNull(); + }); + + it("maps all optional fields correctly", async () => { + await updateEditorEvent(services, "e-1", { + location: "Izmir", + city: "Izmir", + venue: "Hall A", + type: "seminar", + capacity: 200, + isOnline: true, + status: "active", + attachmentUrl: "new.pdf", + attachmentName: "new.pdf", + }); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.locationName).toBe("Izmir"); + expect(payload.city).toBe("Izmir"); + expect(payload.venue).toBe("Hall A"); + expect(payload.eventType).toBe("seminar"); + expect(payload.capacity).toBe(200); + expect(payload.isOnline).toBe(true); + expect(payload.status).toBe("published"); // active → published + expect(payload.attachmentUrl).toBe("new.pdf"); + expect(payload.attachmentName).toBe("new.pdf"); + }); + + it("calls updateDoc on events/", async () => { + await updateEditorEvent(services, "e-99", {}); + expect(docMock).toHaveBeenCalledWith(mockDb, "events", "e-99"); + }); +}); + +describe("deleteEditorEvent", () => { + it("soft-deletes by setting deletedAt and updatedAt", async () => { + await deleteEditorEvent(services, "e-1"); + expect(docMock).toHaveBeenCalledWith(mockDb, "events", "e-1"); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.deletedAt).toEqual({ __sentinel: "server" }); + expect(payload.updatedAt).toEqual({ __sentinel: "server" }); + }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// Media Assets +// ═════════════════════════════════════════════════════════════════════════════ + +describe("getEditorMedia", () => { + it("returns empty array when no media exists", async () => { + expect(await getEditorMedia(services)).toEqual([]); + }); + + it("maps document fields to MediaItem shape", async () => { + const snap = makeSnap([ + { + id: "m1", + data: { + pageKey: "home", + altText: "Cover photo", + description: "desc", + tags: ["tag1"], + visibility: "public", + featured: true, + downloadUrl: "https://example.com/img.jpg", + createdAt: makeTs("2024-04-01T00:00:00.000Z"), + status: "published", + }, + }, + ]); + getDocsMock.mockResolvedValue(snap); + + const [media] = await getEditorMedia(services); + expect(media.id).toBe("m1"); + expect(media.pageKey).toBe("home"); + expect(media.title).toBe("Cover photo"); + expect(media.description).toBe("desc"); + expect(media.tags).toEqual(["tag1"]); + expect(media.visibility).toBe("public"); + expect(media.featured).toBe(true); + expect(media.imageUrl).toBe("https://example.com/img.jpg"); + expect(media.status).toBe("published"); + }); + + it("falls back to originalFilename when altText is missing", async () => { + const snap = makeSnap([{ id: "m1", data: { originalFilename: "photo.jpg" } }]); + getDocsMock.mockResolvedValue(snap); + const [media] = await getEditorMedia(services); + expect(media.title).toBe("photo.jpg"); + }); + + it("uses default values for all missing fields", async () => { + const snap = makeSnap([{ id: "m1", data: {} }]); + getDocsMock.mockResolvedValue(snap); + const [media] = await getEditorMedia(services); + expect(media.pageKey).toBe(""); + expect(media.title).toBe(""); + expect(media.description).toBe(""); + expect(media.tags).toEqual([]); + expect(media.visibility).toBe("public"); + expect(media.featured).toBe(false); + expect(media.imageUrl).toBe(""); + expect(media.status).toBe("published"); + }); +}); + +describe("createEditorMedia", () => { + const baseItem: Omit = { + pageKey: "gallery", + title: "Photo", + description: "A photo", + tags: ["nature"], + visibility: "public", + featured: false, + imageUrl: "https://example.com/photo.jpg", + createdAt: "2024-01-01T00:00:00.000Z", + status: "published", + mimeType: "image/jpeg", + byteSize: 1024, + }; + + it("returns the new document id", async () => { + addDocMock.mockResolvedValue({ id: "media-5" }); + expect(await createEditorMedia(services, baseItem)).toBe("media-5"); + }); + + it("writes to mediaAssets collection", async () => { + await createEditorMedia(services, baseItem); + expect(collectionMock).toHaveBeenCalledWith(mockDb, "mediaAssets"); + }); + + it("sets kind='image' for image mimeType", async () => { + await createEditorMedia(services, baseItem); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.kind).toBe("image"); + }); + + it("sets kind='document' for application/pdf mimeType", async () => { + await createEditorMedia(services, { ...baseItem, mimeType: "application/pdf" }); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.kind).toBe("document"); + }); + + it("sets kind='other' for unrecognised mimeType", async () => { + await createEditorMedia(services, { ...baseItem, mimeType: "video/mp4" }); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.kind).toBe("other"); + }); + + it("defaults mimeType to 'application/octet-stream' when absent", async () => { + const { mimeType: _, ...itemWithout } = baseItem; + await createEditorMedia(services, itemWithout); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.mimeType).toBe("application/octet-stream"); + expect(payload.kind).toBe("other"); + }); + + it("defaults byteSize to 0 when absent", async () => { + const { byteSize: _, ...itemWithout } = baseItem; + await createEditorMedia(services, itemWithout); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.byteSize).toBe(0); + }); + + it("defaults status to 'published' when absent", async () => { + const { status: _, ...itemWithout } = baseItem; + await createEditorMedia(services, itemWithout); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.status).toBe("published"); + }); + + it("sets uploadedBy to null when unauthenticated", async () => { + await createEditorMedia(anonServices, baseItem); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.uploadedBy).toBeNull(); + }); + + it("sets deletedAt to null", async () => { + await createEditorMedia(services, baseItem); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.deletedAt).toBeNull(); + }); +}); + +describe("updateEditorMedia", () => { + it("always sets updatedAt", async () => { + await updateEditorMedia(services, "m-1", {}); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.updatedAt).toEqual({ __sentinel: "server" }); + }); + + it("updates altText and originalFilename when title is provided", async () => { + await updateEditorMedia(services, "m-1", { title: "New Title" }); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.altText).toBe("New Title"); + expect(payload.originalFilename).toBe("New Title"); + }); + + it("maps imageUrl to downloadUrl", async () => { + await updateEditorMedia(services, "m-1", { imageUrl: "new.jpg" }); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.downloadUrl).toBe("new.jpg"); + }); + + it("updates all optional fields when provided", async () => { + await updateEditorMedia(services, "m-1", { + pageKey: "about", + description: "desc", + tags: ["a", "b"], + visibility: "private", + featured: true, + status: "draft", + }); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.pageKey).toBe("about"); + expect(payload.description).toBe("desc"); + expect(payload.tags).toEqual(["a", "b"]); + expect(payload.visibility).toBe("private"); + expect(payload.featured).toBe(true); + expect(payload.status).toBe("draft"); + }); + + it("calls updateDoc on mediaAssets/", async () => { + await updateEditorMedia(services, "m-99", {}); + expect(docMock).toHaveBeenCalledWith(mockDb, "mediaAssets", "m-99"); + }); +}); + +describe("deleteEditorMedia", () => { + it("soft-deletes by setting deletedAt and updatedAt", async () => { + await deleteEditorMedia(services, "m-1"); + expect(docMock).toHaveBeenCalledWith(mockDb, "mediaAssets", "m-1"); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.deletedAt).toEqual({ __sentinel: "server" }); + expect(payload.updatedAt).toEqual({ __sentinel: "server" }); + }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// Announcements +// ═════════════════════════════════════════════════════════════════════════════ + +describe("getEditorAnnouncements", () => { + it("returns empty array when no announcements exist", async () => { + expect(await getEditorAnnouncements(services)).toEqual([]); + }); + + it("maps document fields to AnnouncementItem shape", async () => { + const snap = makeSnap([ + { + id: "ann-1", + data: { + title: "Notice", + content: "Content here", + audience: "members", + publishedAt: makeTs("2024-02-01T00:00:00.000Z"), + status: "published", + pinned: true, + }, + }, + ]); + getDocsMock.mockResolvedValue(snap); + + const [ann] = await getEditorAnnouncements(services); + expect(ann.id).toBe("ann-1"); + expect(ann.title).toBe("Notice"); + expect(ann.content).toBe("Content here"); + expect(ann.audience).toBe("members"); + expect(ann.publishedAt).toBe("2024-02-01"); + expect(ann.status).toBe("published"); + expect(ann.pinned).toBe(true); + }); + + it("uses default values for missing fields", async () => { + const snap = makeSnap([{ id: "a1", data: {} }]); + getDocsMock.mockResolvedValue(snap); + const [ann] = await getEditorAnnouncements(services); + expect(ann.title).toBe(""); + expect(ann.content).toBe(""); + expect(ann.audience).toBe("all"); + expect(ann.status).toBe("draft"); + expect(ann.pinned).toBe(false); + }); + + it("queries announcements collection with correct filters", async () => { + await getEditorAnnouncements(services); + expect(collectionMock).toHaveBeenCalledWith(mockDb, "announcements"); + expect(whereMock).toHaveBeenCalledWith("deletedAt", "==", null); + expect(orderByMock).toHaveBeenCalledWith("createdAt", "desc"); + }); +}); + +describe("createEditorAnnouncement", () => { + const item: Omit = { + title: "Important Notice", + content: "Please read carefully", + audience: "all", + publishedAt: "2024-03-01", + status: "published", + pinned: false, + }; + + it("returns the new document id", async () => { + addDocMock.mockResolvedValue({ id: "ann-new" }); + expect(await createEditorAnnouncement(services, item)).toBe("ann-new"); + }); + + it("converts publishedAt string to Timestamp when provided", async () => { + await createEditorAnnouncement(services, item); + expect(timestampFromDateMock).toHaveBeenCalledWith(new Date("2024-03-01")); + }); + + it("uses serverTimestamp for publishedAt when it is empty/falsy", async () => { + await createEditorAnnouncement(services, { ...item, publishedAt: "" }); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.publishedAt).toEqual({ __sentinel: "server" }); + }); + + it("writes to announcements collection", async () => { + await createEditorAnnouncement(services, item); + expect(collectionMock).toHaveBeenCalledWith(mockDb, "announcements"); + }); +}); + +describe("updateEditorAnnouncement", () => { + it("always sets updatedAt", async () => { + await updateEditorAnnouncement(services, "a-1", {}); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.updatedAt).toEqual({ __sentinel: "server" }); + }); + + it("updates all provided fields", async () => { + await updateEditorAnnouncement(services, "a-1", { + title: "Updated", + content: "New content", + audience: "volunteers", + status: "draft", + pinned: true, + }); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.title).toBe("Updated"); + expect(payload.content).toBe("New content"); + expect(payload.audience).toBe("volunteers"); + expect(payload.status).toBe("draft"); + expect(payload.pinned).toBe(true); + }); + + it("converts publishedAt string to Timestamp when provided", async () => { + await updateEditorAnnouncement(services, "a-1", { publishedAt: "2024-04-01" }); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.publishedAt).toEqual({ __ts: new Date("2024-04-01").toISOString() }); + }); + + it("sets publishedAt to null when publishedAt is empty string", async () => { + await updateEditorAnnouncement(services, "a-1", { publishedAt: "" }); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.publishedAt).toBeNull(); + }); + + it("calls updateDoc on announcements/", async () => { + await updateEditorAnnouncement(services, "a-99", {}); + expect(docMock).toHaveBeenCalledWith(mockDb, "announcements", "a-99"); + }); +}); + +describe("deleteEditorAnnouncement", () => { + it("soft-deletes by setting deletedAt and updatedAt", async () => { + await deleteEditorAnnouncement(services, "a-1"); + expect(docMock).toHaveBeenCalledWith(mockDb, "announcements", "a-1"); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.deletedAt).toEqual({ __sentinel: "server" }); + expect(payload.updatedAt).toEqual({ __sentinel: "server" }); + }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// Notifications +// ═════════════════════════════════════════════════════════════════════════════ + +describe("getEditorNotifications", () => { + it("returns empty array immediately when no user is authenticated", async () => { + const result = await getEditorNotifications(anonServices); + expect(result).toEqual([]); + expect(getDocsMock).not.toHaveBeenCalled(); + }); + + it("queries notifications filtered by staffId when user is authenticated", async () => { + getDocsMock.mockResolvedValue(emptySnap); + await getEditorNotifications(services); + expect(whereMock).toHaveBeenCalledWith("staffId", "==", "user-1"); + expect(orderByMock).toHaveBeenCalledWith("createdAt", "desc"); + }); + + it("maps document fields to NotificationItem shape", async () => { + const snap = makeSnap([ + { + id: "n1", + data: { + title: "New message", + isRead: false, + createdAt: makeTs("2024-07-01T12:00:00.000Z"), + }, + }, + ]); + getDocsMock.mockResolvedValue(snap); + + const [notif] = await getEditorNotifications(services); + expect(notif.id).toBe("n1"); + expect(notif.title).toBe("New message"); + expect(notif.isRead).toBe(false); + expect(notif.createdAt).toBe("2024-07-01T12:00:00.000Z"); + }); + + it("uses empty string and false defaults for missing fields", async () => { + const snap = makeSnap([{ id: "n1", data: {} }]); + getDocsMock.mockResolvedValue(snap); + + const [notif] = await getEditorNotifications(services); + expect(notif.title).toBe(""); + expect(notif.isRead).toBe(false); + }); +}); + +describe("markNotificationRead", () => { + it("sets isRead=true on notifications/", async () => { + await markNotificationRead(services, "n-1"); + expect(docMock).toHaveBeenCalledWith(mockDb, "notifications", "n-1"); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.isRead).toBe(true); + }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// Campaigns +// ═════════════════════════════════════════════════════════════════════════════ + +describe("getEditorCampaigns", () => { + it("returns empty array when no campaigns exist", async () => { + expect(await getEditorCampaigns(services)).toEqual([]); + }); + + it("maps document fields to CampaignItem shape", async () => { + const snap = makeSnap([ + { + id: "c1", + data: { + title: "Fund Drive", + description: "Annual fundraiser", + goalAmount: 50000, + currency: "TRY", + raisedAmount: 12000, + status: "active", + startsAt: makeTs("2024-01-01T00:00:00.000Z"), + endsAt: makeTs("2024-12-31T00:00:00.000Z"), + coverImageUrl: "banner.jpg", + featured: true, + }, + }, + ]); + getDocsMock.mockResolvedValue(snap); + + const [campaign] = await getEditorCampaigns(services); + expect(campaign.id).toBe("c1"); + expect(campaign.title).toBe("Fund Drive"); + expect(campaign.description).toBe("Annual fundraiser"); + expect(campaign.goalAmount).toBe(50000); + expect(campaign.currency).toBe("TRY"); + expect(campaign.raisedAmount).toBe(12000); + expect(campaign.status).toBe("active"); + expect(campaign.startDate).toBe("2024-01-01"); + expect(campaign.endDate).toBe("2024-12-31"); + expect(campaign.coverImageUrl).toBe("banner.jpg"); + expect(campaign.featured).toBe(true); + }); + + it("uses default values for missing fields", async () => { + const snap = makeSnap([{ id: "c1", data: { startsAt: null, endsAt: null } }]); + getDocsMock.mockResolvedValue(snap); + const [campaign] = await getEditorCampaigns(services); + expect(campaign.title).toBe(""); + expect(campaign.description).toBe(""); + expect(campaign.goalAmount).toBe(0); + expect(campaign.currency).toBe("TRY"); + expect(campaign.raisedAmount).toBe(0); + expect(campaign.status).toBe("draft"); + expect(campaign.coverImageUrl).toBe(""); + expect(campaign.featured).toBe(false); + }); +}); + +describe("createEditorCampaign", () => { + const campaign: Omit = { + title: "Spring Drive", + description: "Help the cause", + goalAmount: 10000, + currency: "TRY", + raisedAmount: 0, + status: "draft", + startDate: "2024-03-01", + endDate: "2024-05-31", + coverImageUrl: "spring.jpg", + featured: false, + }; + + it("returns the new document id", async () => { + addDocMock.mockResolvedValue({ id: "camp-1" }); + expect(await createEditorCampaign(services, campaign)).toBe("camp-1"); + }); + + it("writes to campaigns collection", async () => { + await createEditorCampaign(services, campaign); + expect(collectionMock).toHaveBeenCalledWith(mockDb, "campaigns"); + }); + + it("generates a slug from the title", async () => { + await createEditorCampaign(services, campaign); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.slug).toBe("spring-drive"); + }); + + it("converts startDate and endDate to Timestamps", async () => { + await createEditorCampaign(services, campaign); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.startsAt).toEqual({ __ts: new Date("2024-03-01").toISOString() }); + expect(payload.endsAt).toEqual({ __ts: new Date("2024-05-31").toISOString() }); + }); + + it("sets startsAt and endsAt to null when dates are absent", async () => { + await createEditorCampaign(services, { ...campaign, startDate: "", endDate: "" }); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.startsAt).toBeNull(); + expect(payload.endsAt).toBeNull(); + }); + + it("always sets raisedAmount to 0", async () => { + await createEditorCampaign(services, { ...campaign, raisedAmount: 9999 }); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.raisedAmount).toBe(0); + }); + + it("sets createdBy to null when unauthenticated", async () => { + await createEditorCampaign(anonServices, campaign); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.createdBy).toBeNull(); + }); + + it("sets deletedAt to null", async () => { + await createEditorCampaign(services, campaign); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.deletedAt).toBeNull(); + }); +}); + +describe("updateEditorCampaign", () => { + it("always sets updatedAt and updatedBy", async () => { + await updateEditorCampaign(services, "c-1", {}); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.updatedAt).toEqual({ __sentinel: "server" }); + expect(payload.updatedBy).toBe("user-1"); + }); + + it("updates title and regenerates slug", async () => { + await updateEditorCampaign(services, "c-1", { title: "Summer Drive" }); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.title).toBe("Summer Drive"); + expect(payload.slug).toBe("summer-drive"); + }); + + it("updates description, goalAmount, currency, status, featured", async () => { + await updateEditorCampaign(services, "c-1", { + description: "Updated", + goalAmount: 20000, + currency: "USD", + status: "active", + featured: true, + }); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.description).toBe("Updated"); + expect(payload.goalAmount).toBe(20000); + expect(payload.currency).toBe("USD"); + expect(payload.status).toBe("active"); + expect(payload.featured).toBe(true); + }); + + it("converts startDate to Timestamp when provided", async () => { + await updateEditorCampaign(services, "c-1", { startDate: "2025-01-01" }); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.startsAt).toEqual({ __ts: new Date("2025-01-01").toISOString() }); + }); + + it("sets startsAt to null when startDate is empty", async () => { + await updateEditorCampaign(services, "c-1", { startDate: "" }); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.startsAt).toBeNull(); + }); + + it("converts endDate to Timestamp when provided", async () => { + await updateEditorCampaign(services, "c-1", { endDate: "2025-06-30" }); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.endsAt).toEqual({ __ts: new Date("2025-06-30").toISOString() }); + }); + + it("sets endsAt to null when endDate is empty", async () => { + await updateEditorCampaign(services, "c-1", { endDate: "" }); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.endsAt).toBeNull(); + }); + + it("sets both coverImageUrl and imageUrl when coverImageUrl is provided", async () => { + await updateEditorCampaign(services, "c-1", { coverImageUrl: "new-banner.jpg" }); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.coverImageUrl).toBe("new-banner.jpg"); + expect(payload.imageUrl).toBe("new-banner.jpg"); + }); + + it("calls updateDoc on campaigns/", async () => { + await updateEditorCampaign(services, "c-99", {}); + expect(docMock).toHaveBeenCalledWith(mockDb, "campaigns", "c-99"); + }); +}); + +describe("deleteEditorCampaign", () => { + it("soft-deletes by setting deletedAt and updatedAt", async () => { + await deleteEditorCampaign(services, "c-1"); + expect(docMock).toHaveBeenCalledWith(mockDb, "campaigns", "c-1"); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.deletedAt).toEqual({ __sentinel: "server" }); + expect(payload.updatedAt).toEqual({ __sentinel: "server" }); + }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// Categories +// ═════════════════════════════════════════════════════════════════════════════ + +describe("getEditorCategories", () => { + it("returns empty array when no categories exist", async () => { + expect(await getEditorCategories(services)).toEqual([]); + }); + + it("queries without type filter when type is omitted", async () => { + await getEditorCategories(services); + expect(whereMock).not.toHaveBeenCalledWith("type", "==", expect.anything()); + expect(whereMock).toHaveBeenCalledWith("deletedAt", "==", null); + expect(orderByMock).toHaveBeenCalledWith("sortOrder", "asc"); + }); + + it("queries with type filter when type is provided", async () => { + await getEditorCategories(services, "post"); + expect(whereMock).toHaveBeenCalledWith("type", "==", "post"); + }); + + it("maps document fields to CategoryItem shape", async () => { + const snap = makeSnap([ + { id: "cat-1", data: { name: "News", slug: "news", type: "post", sortOrder: 1 } }, + ]); + getDocsMock.mockResolvedValue(snap); + + const [cat] = await getEditorCategories(services); + expect(cat.id).toBe("cat-1"); + expect(cat.name).toBe("News"); + expect(cat.slug).toBe("news"); + expect(cat.type).toBe("post"); + expect(cat.sortOrder).toBe(1); + }); + + it("uses default values for missing fields", async () => { + const snap = makeSnap([{ id: "c1", data: {} }]); + getDocsMock.mockResolvedValue(snap); + const [cat] = await getEditorCategories(services); + expect(cat.name).toBe(""); + expect(cat.slug).toBe(""); + expect(cat.type).toBe(""); + expect(cat.sortOrder).toBe(0); + }); +}); + +describe("createEditorCategory", () => { + const category: Omit = { + name: "Technology", + slug: "technology", + type: "post", + sortOrder: 5, + }; + + it("returns the new document id", async () => { + addDocMock.mockResolvedValue({ id: "cat-new" }); + expect(await createEditorCategory(services, category)).toBe("cat-new"); + }); + + it("writes to categories collection", async () => { + await createEditorCategory(services, category); + expect(collectionMock).toHaveBeenCalledWith(mockDb, "categories"); + }); + + it("uses provided slug when present", async () => { + await createEditorCategory(services, category); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.slug).toBe("technology"); + }); + + it("generates slug from name when slug is empty", async () => { + await createEditorCategory(services, { ...category, slug: "" }); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.slug).toBe("technology"); + }); + + it("sets createdBy to uid", async () => { + await createEditorCategory(services, category); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.createdBy).toBe("user-1"); + }); + + it("sets createdBy to null when unauthenticated", async () => { + await createEditorCategory(anonServices, category); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.createdBy).toBeNull(); + }); + + it("sets deletedAt to null", async () => { + await createEditorCategory(services, category); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.deletedAt).toBeNull(); + }); +}); + +describe("updateEditorCategory", () => { + it("always sets updatedAt and updatedBy", async () => { + await updateEditorCategory(services, "cat-1", {}); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.updatedAt).toEqual({ __sentinel: "server" }); + expect(payload.updatedBy).toBe("user-1"); + }); + + it("updates all provided fields", async () => { + await updateEditorCategory(services, "cat-1", { + name: "Science", + slug: "science", + type: "event", + sortOrder: 3, + }); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.name).toBe("Science"); + expect(payload.slug).toBe("science"); + expect(payload.type).toBe("event"); + expect(payload.sortOrder).toBe(3); + }); + + it("does not include fields that were not provided", async () => { + await updateEditorCategory(services, "cat-1", { name: "Only name" }); + const payload = updateDocMock.mock.calls[0][1]; + expect("slug" in payload).toBe(false); + expect("type" in payload).toBe(false); + expect("sortOrder" in payload).toBe(false); + }); + + it("calls updateDoc on categories/", async () => { + await updateEditorCategory(services, "cat-99", {}); + expect(docMock).toHaveBeenCalledWith(mockDb, "categories", "cat-99"); + }); +}); + +describe("deleteEditorCategory", () => { + it("soft-deletes with deletedAt, updatedAt, and updatedBy", async () => { + await deleteEditorCategory(services, "cat-1"); + expect(docMock).toHaveBeenCalledWith(mockDb, "categories", "cat-1"); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.deletedAt).toEqual({ __sentinel: "server" }); + expect(payload.updatedAt).toEqual({ __sentinel: "server" }); + expect(payload.updatedBy).toBe("user-1"); + }); + + it("sets updatedBy to null when unauthenticated", async () => { + await deleteEditorCategory(anonServices, "cat-1"); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.updatedBy).toBeNull(); + }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// Tags +// ═════════════════════════════════════════════════════════════════════════════ + +describe("getEditorTags", () => { + it("returns empty array when no tags exist", async () => { + expect(await getEditorTags(services)).toEqual([]); + }); + + it("queries without type filter when type is omitted", async () => { + await getEditorTags(services); + expect(whereMock).not.toHaveBeenCalledWith("type", "==", expect.anything()); + expect(whereMock).toHaveBeenCalledWith("deletedAt", "==", null); + }); + + it("queries with type filter when type is provided", async () => { + await getEditorTags(services, "post"); + expect(whereMock).toHaveBeenCalledWith("type", "==", "post"); + }); + + it("maps document fields to TagItem shape", async () => { + const snap = makeSnap([ + { id: "t1", data: { name: "React", slug: "react", type: "tech" } }, + ]); + getDocsMock.mockResolvedValue(snap); + + const [tag] = await getEditorTags(services); + expect(tag.id).toBe("t1"); + expect(tag.name).toBe("React"); + expect(tag.slug).toBe("react"); + expect(tag.type).toBe("tech"); + }); + + it("uses empty string defaults for missing fields", async () => { + const snap = makeSnap([{ id: "t1", data: {} }]); + getDocsMock.mockResolvedValue(snap); + const [tag] = await getEditorTags(services); + expect(tag.name).toBe(""); + expect(tag.slug).toBe(""); + expect(tag.type).toBe(""); + }); +}); + +describe("createEditorTag", () => { + const tag: Omit = { name: "TypeScript", slug: "typescript", type: "tech" }; + + it("returns the new document id", async () => { + addDocMock.mockResolvedValue({ id: "tag-7" }); + expect(await createEditorTag(services, tag)).toBe("tag-7"); + }); + + it("writes to tags collection", async () => { + await createEditorTag(services, tag); + expect(collectionMock).toHaveBeenCalledWith(mockDb, "tags"); + }); + + it("uses provided slug when present", async () => { + await createEditorTag(services, tag); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.slug).toBe("typescript"); + }); + + it("generates slug from name when slug is empty", async () => { + await createEditorTag(services, { ...tag, slug: "" }); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.slug).toBe("typescript"); + }); + + it("sets createdBy to uid", async () => { + await createEditorTag(services, tag); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.createdBy).toBe("user-1"); + }); + + it("sets createdBy to null when unauthenticated", async () => { + await createEditorTag(anonServices, tag); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.createdBy).toBeNull(); + }); + + it("sets deletedAt to null", async () => { + await createEditorTag(services, tag); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.deletedAt).toBeNull(); + }); +}); + +describe("updateEditorTag", () => { + it("always sets updatedAt and updatedBy", async () => { + await updateEditorTag(services, "t-1", {}); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.updatedAt).toEqual({ __sentinel: "server" }); + expect(payload.updatedBy).toBe("user-1"); + }); + + it("updates all provided fields", async () => { + await updateEditorTag(services, "t-1", { name: "JS", slug: "js", type: "lang" }); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.name).toBe("JS"); + expect(payload.slug).toBe("js"); + expect(payload.type).toBe("lang"); + }); + + it("does not include fields that were not provided", async () => { + await updateEditorTag(services, "t-1", { name: "Only name" }); + const payload = updateDocMock.mock.calls[0][1]; + expect("slug" in payload).toBe(false); + expect("type" in payload).toBe(false); + }); + + it("calls updateDoc on tags/", async () => { + await updateEditorTag(services, "t-99", {}); + expect(docMock).toHaveBeenCalledWith(mockDb, "tags", "t-99"); + }); +}); + +describe("deleteEditorTag", () => { + it("soft-deletes with deletedAt, updatedAt, and updatedBy", async () => { + await deleteEditorTag(services, "t-1"); + expect(docMock).toHaveBeenCalledWith(mockDb, "tags", "t-1"); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.deletedAt).toEqual({ __sentinel: "server" }); + expect(payload.updatedAt).toEqual({ __sentinel: "server" }); + expect(payload.updatedBy).toBe("user-1"); + }); + + it("sets updatedBy to null when unauthenticated", async () => { + await deleteEditorTag(anonServices, "t-1"); + const payload = updateDocMock.mock.calls[0][1]; + expect(payload.updatedBy).toBeNull(); + }); +}); diff --git a/tests/unit/getDefaultDb.test.ts b/tests/unit/getDefaultDb.test.ts index ed03aa5..31928fb 100644 --- a/tests/unit/getDefaultDb.test.ts +++ b/tests/unit/getDefaultDb.test.ts @@ -16,6 +16,24 @@ beforeEach(async () => { getOrInitMock.mockReset(); }); +// ── isDbAvailable ───────────────────────────────────────────────────────────── + +describe("isDbAvailable", () => { + it("returns true when NEXT_PUBLIC_FIREBASE_PROJECT_ID is set", async () => { + vi.stubEnv("NEXT_PUBLIC_FIREBASE_PROJECT_ID", "my-project"); + const { isDbAvailable } = await import("@/lib/firebase/getDefaultDb"); + expect(isDbAvailable()).toBe(true); + vi.unstubAllEnvs(); + }); + + it("returns false when NEXT_PUBLIC_FIREBASE_PROJECT_ID is absent", async () => { + vi.stubEnv("NEXT_PUBLIC_FIREBASE_PROJECT_ID", ""); + const { isDbAvailable } = await import("@/lib/firebase/getDefaultDb"); + expect(isDbAvailable()).toBe(false); + vi.unstubAllEnvs(); + }); +}); + // ── getDefaultDb ────────────────────────────────────────────────────────────── describe("getDefaultDb", () => { diff --git a/tests/unit/services.test.ts b/tests/unit/services.test.ts index 46488fa..a4702e2 100644 --- a/tests/unit/services.test.ts +++ b/tests/unit/services.test.ts @@ -1,162 +1,748 @@ import { describe, it, expect, vi, beforeEach } from "vitest"; -// vi.hoisted() runs before module hoisting so these refs are safe to use in vi.mock(). -const { addDocMock, collectionMock, serverTimestampMock } = vi.hoisted(() => ({ +// ─── Hoisted mock refs ──────────────────────────────────────────────────────── +// vi.hoisted() executes before module hoisting so these refs are always safe to +// reference inside vi.mock() factory functions. + +const { + addDocMock, + getDocMock, + getDocsMock, + collectionMock, + docMock, + queryMock, + whereMock, + orderByMock, + serverTimestampMock, +} = vi.hoisted(() => ({ addDocMock: vi.fn(), + getDocMock: vi.fn(), + getDocsMock: vi.fn(), collectionMock: vi.fn((_db: unknown, name: string) => ({ __collection: name })), + docMock: vi.fn((_db: unknown, col: string, id: string) => ({ __doc: `${col}/${id}` })), + queryMock: vi.fn((...args: unknown[]) => ({ __query: args })), + whereMock: vi.fn((...args: unknown[]) => ({ __where: args })), + orderByMock: vi.fn((...args: unknown[]) => ({ __orderBy: args })), serverTimestampMock: vi.fn(() => ({ __sentinel: "server" })), })); vi.mock("firebase/firestore", () => ({ addDoc: addDocMock, + getDoc: getDocMock, + getDocs: getDocsMock, collection: collectionMock, + doc: docMock, + query: queryMock, + where: whereMock, + orderBy: orderByMock, serverTimestamp: serverTimestampMock, - getDoc: vi.fn(), - getDocs: vi.fn(), - doc: vi.fn(), - query: vi.fn(), - where: vi.fn(), - orderBy: vi.fn(), - updateDoc: vi.fn(), })); -import { submitContactMessage, submitVolunteerApplication } from "@/lib/firebase/services"; +// ─── Imports after mocks ────────────────────────────────────────────────────── + +import { + getSiteSettings, + getPublishedContentByType, + getContentBySlug, + getPublishedEvents, + getCategories, + getTags, + getPublicMediaAssets, + getActiveCampaigns, + getPublicIbanEntries, + getPublicSupporters, + submitVolunteerApplication, + submitContactMessage, +} from "@/lib/firebase/services"; import type { Firestore } from "firebase/firestore"; -// Minimal stub — service functions only use it as a pass-through to collection() -// which is already mocked above. +// ─── Shared fixtures ────────────────────────────────────────────────────────── + const mockDb = {} as Firestore; +/** Build a minimal Firestore QuerySnapshot. */ +function makeSnap(docs: Array<{ id: string; data: Record }>) { + return { + docs: docs.map((d) => ({ id: d.id, data: () => d.data })), + size: docs.length, + empty: docs.length === 0, + }; +} + +const emptySnap = { docs: [], size: 0, empty: true }; + +// ─── beforeEach teardown ────────────────────────────────────────────────────── + beforeEach(() => { - addDocMock.mockReset(); + vi.clearAllMocks(); addDocMock.mockResolvedValue({ id: "doc-123" }); - collectionMock.mockClear(); - serverTimestampMock.mockClear(); + getDocsMock.mockResolvedValue(emptySnap); + getDocMock.mockResolvedValue({ exists: () => false, data: () => ({}) }); + // Restore default collection mock behaviour after clearAllMocks resets the impl. + collectionMock.mockImplementation((_db: unknown, name: string) => ({ __collection: name })); + serverTimestampMock.mockReturnValue({ __sentinel: "server" }); }); -// ── submitContactMessage ────────────────────────────────────────────────────── +// ═════════════════════════════════════════════════════════════════════════════ +// getSiteSettings +// ═════════════════════════════════════════════════════════════════════════════ -describe("submitContactMessage", () => { - const input = { - senderName: "Ali Veli", - senderEmail: "ali@example.com", - subject: "Test", - messageBody: "Hello there, this is a test message.", +describe("getSiteSettings", () => { + it("returns null when the settings document does not exist", async () => { + getDocMock.mockResolvedValue({ exists: () => false, data: () => ({}) }); + + const result = await getSiteSettings(mockDb); + + expect(result).toBeNull(); + }); + + it("returns the site settings data when the document exists", async () => { + const settings = { + ngoName: "Helping Hands", + ngoLegalName: "Helping Hands Foundation", + contactEmail: "info@hh.org", + }; + getDocMock.mockResolvedValue({ exists: () => true, data: () => settings }); + + const result = await getSiteSettings(mockDb); + + expect(result).toEqual(settings); + }); + + it("reads from settings/site document path", async () => { + getDocMock.mockResolvedValue({ exists: () => false, data: () => ({}) }); + + await getSiteSettings(mockDb); + + expect(docMock).toHaveBeenCalledWith(mockDb, "settings", "site"); + }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// getPublishedContentByType +// ═════════════════════════════════════════════════════════════════════════════ + +describe("getPublishedContentByType", () => { + it("returns an empty array when no documents match", async () => { + const result = await getPublishedContentByType(mockDb, "post"); + expect(result).toEqual([]); + }); + + it("returns documents with id injected via fromDoc", async () => { + const snap = makeSnap([ + { id: "ci-1", data: { title: "First Post", type: "post", status: "published" } }, + { id: "ci-2", data: { title: "Second Post", type: "post", status: "published" } }, + ]); + getDocsMock.mockResolvedValue(snap); + + const result = await getPublishedContentByType(mockDb, "post"); + + expect(result).toHaveLength(2); + expect(result[0].id).toBe("ci-1"); + expect(result[0].title).toBe("First Post"); + expect(result[1].id).toBe("ci-2"); + }); + + it("queries contentItems collection with correct filters", async () => { + await getPublishedContentByType(mockDb, "news"); + + expect(collectionMock).toHaveBeenCalledWith(mockDb, "contentItems"); + expect(whereMock).toHaveBeenCalledWith("type", "==", "news"); + expect(whereMock).toHaveBeenCalledWith("status", "==", "published"); + expect(whereMock).toHaveBeenCalledWith("deletedAt", "==", null); + expect(orderByMock).toHaveBeenCalledWith("publishedAt", "desc"); + }); + + it("works for every supported content type", async () => { + const types = ["post", "news", "faq", "policy", "page"] as const; + for (const type of types) { + vi.clearAllMocks(); + getDocsMock.mockResolvedValue(emptySnap); + await getPublishedContentByType(mockDb, type); + expect(whereMock).toHaveBeenCalledWith("type", "==", type); + } + }); + + it("preserves all document fields alongside the injected id", async () => { + const data = { + title: "Policy Doc", + type: "policy", + status: "published", + excerpt: "Summary", + featured: true, + }; + const snap = makeSnap([{ id: "doc-99", data }]); + getDocsMock.mockResolvedValue(snap); + + const [item] = await getPublishedContentByType(mockDb, "policy"); + + expect(item.id).toBe("doc-99"); + expect(item.title).toBe("Policy Doc"); + expect(item.featured).toBe(true); + }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// getContentBySlug +// ═════════════════════════════════════════════════════════════════════════════ + +describe("getContentBySlug", () => { + it("returns null when no document matches the slug", async () => { + getDocsMock.mockResolvedValue(emptySnap); + + const result = await getContentBySlug(mockDb, "missing-slug"); + + expect(result).toBeNull(); + }); + + it("returns the first matching document with id injected", async () => { + const snap = makeSnap([ + { id: "page-1", data: { slug: "about-us", title: "About Us", type: "page" } }, + ]); + getDocsMock.mockResolvedValue(snap); + + const result = await getContentBySlug(mockDb, "about-us"); + + expect(result).not.toBeNull(); + expect(result!.id).toBe("page-1"); + expect(result!.slug).toBe("about-us"); + expect(result!.title).toBe("About Us"); + }); + + it("queries contentItems with slug, published status, and non-deleted filter", async () => { + getDocsMock.mockResolvedValue(emptySnap); + + await getContentBySlug(mockDb, "my-slug"); + + expect(collectionMock).toHaveBeenCalledWith(mockDb, "contentItems"); + expect(whereMock).toHaveBeenCalledWith("slug", "==", "my-slug"); + expect(whereMock).toHaveBeenCalledWith("status", "==", "published"); + expect(whereMock).toHaveBeenCalledWith("deletedAt", "==", null); + }); + + it("returns only the first document when multiple match", async () => { + const snap = makeSnap([ + { id: "first", data: { slug: "dup", title: "First" } }, + { id: "second", data: { slug: "dup", title: "Second" } }, + ]); + getDocsMock.mockResolvedValue(snap); + + const result = await getContentBySlug(mockDb, "dup"); + + expect(result!.id).toBe("first"); + }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// getPublishedEvents +// ═════════════════════════════════════════════════════════════════════════════ + +describe("getPublishedEvents", () => { + it("returns an empty array when no published events exist", async () => { + expect(await getPublishedEvents(mockDb)).toEqual([]); + }); + + it("returns events with id injected", async () => { + const snap = makeSnap([ + { id: "ev-1", data: { title: "Annual Conference", status: "published" } }, + { id: "ev-2", data: { title: "Workshop", status: "published" } }, + ]); + getDocsMock.mockResolvedValue(snap); + + const result = await getPublishedEvents(mockDb); + + expect(result).toHaveLength(2); + expect(result[0].id).toBe("ev-1"); + expect(result[0].title).toBe("Annual Conference"); + }); + + it("queries events collection filtered by published status ordered by startsAt asc", async () => { + await getPublishedEvents(mockDb); + + expect(collectionMock).toHaveBeenCalledWith(mockDb, "events"); + expect(whereMock).toHaveBeenCalledWith("status", "==", "published"); + expect(orderByMock).toHaveBeenCalledWith("startsAt", "asc"); + }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// getCategories +// ═════════════════════════════════════════════════════════════════════════════ + +describe("getCategories", () => { + it("returns an empty array when no categories exist", async () => { + expect(await getCategories(mockDb)).toEqual([]); + }); + + it("returns categories with id injected", async () => { + const snap = makeSnap([ + { id: "cat-1", data: { name: "Technology", slug: "technology" } }, + { id: "cat-2", data: { name: "Health", slug: "health" } }, + ]); + getDocsMock.mockResolvedValue(snap); + + const result = await getCategories(mockDb); + + expect(result).toHaveLength(2); + expect(result[0].id).toBe("cat-1"); + expect(result[0].name).toBe("Technology"); + expect(result[1].id).toBe("cat-2"); + }); + + it("queries categories collection filtered by deletedAt==null", async () => { + await getCategories(mockDb); + + expect(collectionMock).toHaveBeenCalledWith(mockDb, "categories"); + expect(whereMock).toHaveBeenCalledWith("deletedAt", "==", null); + }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// getTags +// ═════════════════════════════════════════════════════════════════════════════ + +describe("getTags", () => { + it("returns an empty array when no tags exist", async () => { + expect(await getTags(mockDb)).toEqual([]); + }); + + it("returns tags with id injected", async () => { + const snap = makeSnap([ + { id: "tag-1", data: { name: "React", slug: "react" } }, + ]); + getDocsMock.mockResolvedValue(snap); + + const result = await getTags(mockDb); + + expect(result).toHaveLength(1); + expect(result[0].id).toBe("tag-1"); + expect(result[0].name).toBe("React"); + expect(result[0].slug).toBe("react"); + }); + + it("queries tags collection filtered by deletedAt==null", async () => { + await getTags(mockDb); + + expect(collectionMock).toHaveBeenCalledWith(mockDb, "tags"); + expect(whereMock).toHaveBeenCalledWith("deletedAt", "==", null); + }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// getPublicMediaAssets +// ═════════════════════════════════════════════════════════════════════════════ + +describe("getPublicMediaAssets", () => { + it("returns an empty array when no public media assets exist", async () => { + expect(await getPublicMediaAssets(mockDb)).toEqual([]); + }); + + it("returns media assets with id injected", async () => { + const snap = makeSnap([ + { + id: "asset-1", + data: { originalFilename: "photo.jpg", visibility: "public", kind: "image" }, + }, + ]); + getDocsMock.mockResolvedValue(snap); + + const result = await getPublicMediaAssets(mockDb); + + expect(result).toHaveLength(1); + expect(result[0].id).toBe("asset-1"); + expect(result[0].originalFilename).toBe("photo.jpg"); + }); + + it("queries mediaAssets with visibility=public, deletedAt==null, ordered by createdAt desc", async () => { + await getPublicMediaAssets(mockDb); + + expect(collectionMock).toHaveBeenCalledWith(mockDb, "mediaAssets"); + expect(whereMock).toHaveBeenCalledWith("visibility", "==", "public"); + expect(whereMock).toHaveBeenCalledWith("deletedAt", "==", null); + expect(orderByMock).toHaveBeenCalledWith("createdAt", "desc"); + }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// getActiveCampaigns +// ═════════════════════════════════════════════════════════════════════════════ + +describe("getActiveCampaigns", () => { + it("returns an empty array when no active campaigns exist", async () => { + expect(await getActiveCampaigns(mockDb)).toEqual([]); + }); + + it("returns campaigns with id injected", async () => { + const snap = makeSnap([ + { id: "camp-1", data: { title: "Spring Drive", status: "active", raisedAmount: 500 } }, + { id: "camp-2", data: { title: "Winter Aid", status: "active", raisedAmount: 1200 } }, + ]); + getDocsMock.mockResolvedValue(snap); + + const result = await getActiveCampaigns(mockDb); + + expect(result).toHaveLength(2); + expect(result[0].id).toBe("camp-1"); + expect(result[0].title).toBe("Spring Drive"); + expect(result[1].raisedAmount).toBe(1200); + }); + + it("queries campaigns with status=active and deletedAt==null", async () => { + await getActiveCampaigns(mockDb); + + expect(collectionMock).toHaveBeenCalledWith(mockDb, "campaigns"); + expect(whereMock).toHaveBeenCalledWith("status", "==", "active"); + expect(whereMock).toHaveBeenCalledWith("deletedAt", "==", null); + }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// getPublicIbanEntries +// ═════════════════════════════════════════════════════════════════════════════ + +describe("getPublicIbanEntries", () => { + it("returns an empty array when no IBAN entries exist", async () => { + getDocsMock.mockResolvedValue(emptySnap); + expect(await getPublicIbanEntries(mockDb)).toEqual([]); + }); + + it("maps document fields to PublicIbanEntry shape", async () => { + const snap = makeSnap([ + { + id: "iban-1", + data: { + bankName: "Garanti BBVA", + accountHolder: "My NGO", + iban: "TR00 0000 0000 0000 0000 00", + currency: "TRY", + sortOrder: 1, + }, + }, + ]); + getDocsMock.mockResolvedValue(snap); + + const result = await getPublicIbanEntries(mockDb); + + expect(result).toHaveLength(1); + expect(result[0].id).toBe("iban-1"); + expect(result[0].bankName).toBe("Garanti BBVA"); + expect(result[0].accountHolder).toBe("My NGO"); + expect(result[0].iban).toBe("TR00 0000 0000 0000 0000 00"); + expect(result[0].currency).toBe("TRY"); + expect(result[0].sortOrder).toBe(1); + }); + + it("uses empty string defaults for missing string fields", async () => { + const snap = makeSnap([{ id: "iban-1", data: {} }]); + getDocsMock.mockResolvedValue(snap); + + const [entry] = await getPublicIbanEntries(mockDb); + + expect(entry.bankName).toBe(""); + expect(entry.accountHolder).toBe(""); + expect(entry.iban).toBe(""); + }); + + it("defaults currency to 'TRY' when missing", async () => { + const snap = makeSnap([{ id: "iban-1", data: {} }]); + getDocsMock.mockResolvedValue(snap); + + const [entry] = await getPublicIbanEntries(mockDb); + + expect(entry.currency).toBe("TRY"); + }); + + it("defaults sortOrder to 0 when missing", async () => { + const snap = makeSnap([{ id: "iban-1", data: {} }]); + getDocsMock.mockResolvedValue(snap); + + const [entry] = await getPublicIbanEntries(mockDb); + + expect(entry.sortOrder).toBe(0); + }); + + it("sorts entries in ascending order by sortOrder", async () => { + const snap = makeSnap([ + { id: "iban-3", data: { sortOrder: 3 } }, + { id: "iban-1", data: { sortOrder: 1 } }, + { id: "iban-2", data: { sortOrder: 2 } }, + ]); + getDocsMock.mockResolvedValue(snap); + + const result = await getPublicIbanEntries(mockDb); + + expect(result[0].id).toBe("iban-1"); + expect(result[1].id).toBe("iban-2"); + expect(result[2].id).toBe("iban-3"); + }); + + it("reads from ibanEntries collection directly (no query filter)", async () => { + await getPublicIbanEntries(mockDb); + + expect(collectionMock).toHaveBeenCalledWith(mockDb, "ibanEntries"); + expect(queryMock).not.toHaveBeenCalled(); + }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// getPublicSupporters +// ═════════════════════════════════════════════════════════════════════════════ + +describe("getPublicSupporters", () => { + it("returns an empty array when no supporters exist", async () => { + getDocsMock.mockResolvedValue(emptySnap); + expect(await getPublicSupporters(mockDb)).toEqual([]); + }); + + it("maps document fields to PublicSupporter shape", async () => { + const snap = makeSnap([ + { + id: "sup-1", + data: { + name: "ACME Corp", + logoUrl: "https://acme.com/logo.png", + websiteUrl: "https://acme.com", + sortOrder: 2, + }, + }, + ]); + getDocsMock.mockResolvedValue(snap); + + const result = await getPublicSupporters(mockDb); + + expect(result).toHaveLength(1); + expect(result[0].id).toBe("sup-1"); + expect(result[0].name).toBe("ACME Corp"); + expect(result[0].logoUrl).toBe("https://acme.com/logo.png"); + expect(result[0].websiteUrl).toBe("https://acme.com"); + expect(result[0].sortOrder).toBe(2); + }); + + it("uses empty string defaults for missing string fields", async () => { + const snap = makeSnap([{ id: "sup-1", data: {} }]); + getDocsMock.mockResolvedValue(snap); + + const [supporter] = await getPublicSupporters(mockDb); + + expect(supporter.name).toBe(""); + expect(supporter.logoUrl).toBe(""); + expect(supporter.websiteUrl).toBe(""); + }); + + it("defaults sortOrder to 0 when missing", async () => { + const snap = makeSnap([{ id: "sup-1", data: {} }]); + getDocsMock.mockResolvedValue(snap); + + const [supporter] = await getPublicSupporters(mockDb); + + expect(supporter.sortOrder).toBe(0); + }); + + it("sorts supporters in ascending order by sortOrder", async () => { + const snap = makeSnap([ + { id: "sup-3", data: { sortOrder: 3 } }, + { id: "sup-1", data: { sortOrder: 1 } }, + { id: "sup-2", data: { sortOrder: 2 } }, + ]); + getDocsMock.mockResolvedValue(snap); + + const result = await getPublicSupporters(mockDb); + + expect(result[0].id).toBe("sup-1"); + expect(result[1].id).toBe("sup-2"); + expect(result[2].id).toBe("sup-3"); + }); + + it("reads from supporters collection directly (no query filter)", async () => { + await getPublicSupporters(mockDb); + + expect(collectionMock).toHaveBeenCalledWith(mockDb, "supporters"); + expect(queryMock).not.toHaveBeenCalled(); + }); +}); + +// ═════════════════════════════════════════════════════════════════════════════ +// submitVolunteerApplication +// ═════════════════════════════════════════════════════════════════════════════ + +describe("submitVolunteerApplication", () => { + const baseInput = { + fullName: "Ayşe Kaya", + email: "ayse@example.com", + motivation: "I want to help the community.", }; - it("writes to contactMessages collection", async () => { - await submitContactMessage(mockDb, input); - expect(collectionMock).toHaveBeenCalledWith( - expect.anything(), - "contactMessages" - ); + it("writes to volunteerApplications collection", async () => { + await submitVolunteerApplication(mockDb, baseInput); + + expect(collectionMock).toHaveBeenCalledWith(mockDb, "volunteerApplications"); }); - it("returns the new doc id", async () => { - const id = await submitContactMessage(mockDb, input); - expect(id).toBe("doc-123"); + it("returns the new document id", async () => { + addDocMock.mockResolvedValue({ id: "vol-55" }); + + const id = await submitVolunteerApplication(mockDb, baseInput); + + expect(id).toBe("vol-55"); }); it("sets status to 'new'", async () => { - await submitContactMessage(mockDb, input); + await submitVolunteerApplication(mockDb, baseInput); + const payload = addDocMock.mock.calls[0][1]; expect(payload.status).toBe("new"); }); - it("sets handledBy and handledAt to null", async () => { - await submitContactMessage(mockDb, input); - const payload = addDocMock.mock.calls[0][1]; - expect(payload.handledBy).toBeNull(); - expect(payload.handledAt).toBeNull(); - }); + it("passes required fields through correctly", async () => { + await submitVolunteerApplication(mockDb, baseInput); - it("sets deletedAt to null", async () => { - await submitContactMessage(mockDb, input); const payload = addDocMock.mock.calls[0][1]; - expect(payload.deletedAt).toBeNull(); + expect(payload.fullName).toBe("Ayşe Kaya"); + expect(payload.email).toBe("ayse@example.com"); + expect(payload.motivation).toBe("I want to help the community."); }); - it("passes senderName, senderEmail, subject, messageBody through", async () => { - await submitContactMessage(mockDb, input); + it("defaults phone to null when omitted", async () => { + await submitVolunteerApplication(mockDb, baseInput); + const payload = addDocMock.mock.calls[0][1]; - expect(payload.senderName).toBe("Ali Veli"); - expect(payload.senderEmail).toBe("ali@example.com"); - expect(payload.subject).toBe("Test"); - expect(payload.messageBody).toBe("Hello there, this is a test message."); + expect(payload.phone).toBeNull(); }); - it("defaults senderPhone to null when omitted", async () => { - await submitContactMessage(mockDb, input); + it("keeps phone value when provided", async () => { + await submitVolunteerApplication(mockDb, { ...baseInput, phone: "+90 555 111 22 33" }); + const payload = addDocMock.mock.calls[0][1]; - expect(payload.senderPhone).toBeNull(); + expect(payload.phone).toBe("+90 555 111 22 33"); }); - it("keeps senderPhone string when provided", async () => { - await submitContactMessage(mockDb, { ...input, senderPhone: "+90 555 000 00 00" }); + it("defaults city to null when omitted", async () => { + await submitVolunteerApplication(mockDb, baseInput); + const payload = addDocMock.mock.calls[0][1]; - expect(payload.senderPhone).toBe("+90 555 000 00 00"); + expect(payload.city).toBeNull(); }); - it("uses serverTimestamp for createdAt and updatedAt", async () => { - await submitContactMessage(mockDb, input); + it("keeps city value when provided", async () => { + await submitVolunteerApplication(mockDb, { ...baseInput, city: "Istanbul" }); + const payload = addDocMock.mock.calls[0][1]; - expect(payload.createdAt).toEqual({ __sentinel: "server" }); - expect(payload.updatedAt).toEqual({ __sentinel: "server" }); + expect(payload.city).toBe("Istanbul"); }); - it("sets userAgent from navigator (happy-dom provides one)", async () => { - await submitContactMessage(mockDb, input); + it("uses serverTimestamp for createdAt", async () => { + await submitVolunteerApplication(mockDb, baseInput); + const payload = addDocMock.mock.calls[0][1]; - expect(typeof payload.userAgent).toBe("string"); + expect(payload.createdAt).toEqual({ __sentinel: "server" }); }); }); -// ── submitVolunteerApplication ──────────────────────────────────────────────── +// ═════════════════════════════════════════════════════════════════════════════ +// submitContactMessage +// ═════════════════════════════════════════════════════════════════════════════ -describe("submitVolunteerApplication", () => { - const input = { - fullName: "Ayşe Kaya", - email: "ayse@example.com", - motivation: "I want to help the community.", +describe("submitContactMessage", () => { + const baseInput = { + senderName: "Ali Veli", + senderEmail: "ali@example.com", + subject: "Test Subject", + messageBody: "Hello there, this is a test message.", }; - it("writes to volunteerApplications collection", async () => { - await submitVolunteerApplication(mockDb, input); - expect(collectionMock).toHaveBeenCalledWith( - expect.anything(), - "volunteerApplications" - ); + it("writes to contactMessages collection", async () => { + await submitContactMessage(mockDb, baseInput); + + expect(collectionMock).toHaveBeenCalledWith(mockDb, "contactMessages"); }); - it("returns the new doc id", async () => { - const id = await submitVolunteerApplication(mockDb, input); - expect(id).toBe("doc-123"); + it("returns the new document id", async () => { + addDocMock.mockResolvedValue({ id: "msg-77" }); + + const id = await submitContactMessage(mockDb, baseInput); + + expect(id).toBe("msg-77"); }); it("sets status to 'new'", async () => { - await submitVolunteerApplication(mockDb, input); + await submitContactMessage(mockDb, baseInput); + const payload = addDocMock.mock.calls[0][1]; expect(payload.status).toBe("new"); }); - it("defaults phone and city to null when omitted", async () => { - await submitVolunteerApplication(mockDb, input); + it("passes all required string fields through correctly", async () => { + await submitContactMessage(mockDb, baseInput); + const payload = addDocMock.mock.calls[0][1]; - expect(payload.phone).toBeNull(); - expect(payload.city).toBeNull(); + expect(payload.senderName).toBe("Ali Veli"); + expect(payload.senderEmail).toBe("ali@example.com"); + expect(payload.subject).toBe("Test Subject"); + expect(payload.messageBody).toBe("Hello there, this is a test message."); }); - it("passes fullName, email, motivation through", async () => { - await submitVolunteerApplication(mockDb, input); + it("defaults senderPhone to null when omitted", async () => { + await submitContactMessage(mockDb, baseInput); + const payload = addDocMock.mock.calls[0][1]; - expect(payload.fullName).toBe("Ayşe Kaya"); - expect(payload.email).toBe("ayse@example.com"); - expect(payload.motivation).toBe("I want to help the community."); + expect(payload.senderPhone).toBeNull(); }); - it("uses serverTimestamp for createdAt", async () => { - await submitVolunteerApplication(mockDb, input); + it("keeps senderPhone when provided", async () => { + await submitContactMessage(mockDb, { ...baseInput, senderPhone: "+90 555 000 00 00" }); + + const payload = addDocMock.mock.calls[0][1]; + expect(payload.senderPhone).toBe("+90 555 000 00 00"); + }); + + it("sets handledBy and handledAt to null", async () => { + await submitContactMessage(mockDb, baseInput); + + const payload = addDocMock.mock.calls[0][1]; + expect(payload.handledBy).toBeNull(); + expect(payload.handledAt).toBeNull(); + }); + + it("sets internalNotes and ipAddress to null", async () => { + await submitContactMessage(mockDb, baseInput); + + const payload = addDocMock.mock.calls[0][1]; + expect(payload.internalNotes).toBeNull(); + expect(payload.ipAddress).toBeNull(); + }); + + it("sets deletedAt to null", async () => { + await submitContactMessage(mockDb, baseInput); + + const payload = addDocMock.mock.calls[0][1]; + expect(payload.deletedAt).toBeNull(); + }); + + it("uses serverTimestamp for createdAt and updatedAt", async () => { + await submitContactMessage(mockDb, baseInput); + const payload = addDocMock.mock.calls[0][1]; expect(payload.createdAt).toEqual({ __sentinel: "server" }); + expect(payload.updatedAt).toEqual({ __sentinel: "server" }); + }); + + it("sets userAgent from navigator when available (happy-dom provides one)", async () => { + await submitContactMessage(mockDb, baseInput); + + const payload = addDocMock.mock.calls[0][1]; + // happy-dom environment exposes navigator.userAgent as a non-empty string + expect(typeof payload.userAgent).toBe("string"); + }); + + it("sets userAgent to null when navigator is not defined", async () => { + // Temporarily remove navigator from the global scope to simulate a server env. + const original = globalThis.navigator; + Object.defineProperty(globalThis, "navigator", { value: undefined, configurable: true }); + + await submitContactMessage(mockDb, baseInput); + const payload = addDocMock.mock.calls[0][1]; + expect(payload.userAgent).toBeNull(); + + Object.defineProperty(globalThis, "navigator", { value: original, configurable: true }); }); });